Ubuntu – Ubuntu OpenStack Autopilot Install Failing

jujulandscapemaasopenstack-autopilotpython-2.7

I am following the steps outlined on the Get OpenStack Autopilot page. I've already deployed MAAS 1.9 on Ubuntu 14.04LTS and have 5 nodes in the Ready state in MAAS. However, when I run openstack-install on the MAAS box the juju bootstrap phase is failing with TLS errors at the point of trying to deploy Landscape on one of the MAAS nodes. See this issue on the Ubuntu Solutions Engineering github page Error deploying Landscape for detailed error logs for ~/.cloud-install/*.log on the MAAS box and /var/log/juju/all-machines.log on the deployed node.

http: TLS handshake error from 10.14.0.1:37540: tls: client offered an unsupported, maximum protocol version of 301

It's been identified that a recent update of python has caused this incompatibility since the juju deployer dropped TLS 1.0 support.

"For security concerns we've removed TLS 1.0 support from Juju in the
1.25 release cycle. The default python 2.7 in Trusty does not support TLS 1.2. You need to update Python in order to have this work
correctly on Trusty."

see Richard Harding's comment on juju-deployer failed on SSL3_READ_BYTES

See this github issue on the Ubuntu Solutions Engineering: Getting install error on juju bootstrap after python update.

It's stated in that issue that it's waiting on addressing the python issue here Support for TLS 1.2 not present (added in 2.7.9).

How can I move forward in this situation?

Best Answer

I had this same issue and never could figure out why. I ended up doing a manual juju boot strap and then deploy the juju-gui. Then deploying landscape on top of that(I used 14.04 LTS).

Creating environments.yaml

Create or modify ~/.juju/environments.yaml with the following content:

environments:
  maas:
    type: maas
    maas-server: 'http://${my-maas-server}:80/MAAS'
    maas-oauth: '${maas-api-key}'
    admin-secret: ${your-admin-secret}
    default-series: trusty

Now deploy juju:

$ sudo apt-get install juju-core
$ juju bootstrap --upload-tools
$ juju status 

Now once the juju bootstrapped node had finished deploy the juju-gui

$ juju deploy juju-gui
$ juju expose juju-gui

To keep track of the progress of the gui keep checking 'juju status' or run 'watch juju staus'. When it is done you will see something like:

enter image description here

Then you can enter that IP into your browser to access the juju gui. After that on the juju going search for the landscape bundle and deploy.