“Ubuntu 16.04 LTS Openstack Cloud Server – part 4/8”


For more informations about Openstack we can view this link:


or we can view this video



As we’ve made for the nodes dedicated to Juju and Landscape we can replicate the same tasks also for this service in way to obtain that

Screen Shot 2017-05-28 at 23.12.12.png


Now we can either to create a new model or use the default, for our lab we’ve decided to create two different model, one for Landscape and the other one for Openstack. To have that we’v to run the following commands

$: juju add-model openstacklab
Added 'openstacklab' model with credential 'richardsith' for user 'admin'

on Juju gui we’ll see that one added

Screen Shot 2017-05-28 at 23.14.33.png

now we run that command to change the controller

$: juju switch openstacklab
maaslab-controller:admin/landscapelab -> maaslab-controller:admin/openstacklab
$: juju status
Model         Controller          Cloud/Region  Version
openstacklab  maaslab-controller  maaslab       2.1.2
App  Version  Status  Scale  Charm  Store  Rev  OS  Notes
Unit  Workload  Agent  Machine  Public address  Ports  Message
Machine  State    DNS               Inst id                  Series  AZ


We can  proceed with the same task used for Landscape also for Openstack, select in Juju gui the bundle of that and deploy it. For our lab we’ve selected Openstack-Base and adding it to our model dedicated to that (openstacklab). Instead of using that bundle we can select also Openstack-Lxd, this bundle deploys an OpenStack Cloud (Mitaka release), configured to use LXD (the lightweight container hypervisor). We can view both case:

Deploy of Openstack Base (ver. Newton)

Screen Shot 2017-05-29 at 12.10.14.png

after that, before to run the deploy we need to make some configuration on our services.

Screen Shot 2017-05-29 at 12.12.09

In particular on Keystone we need to set the password for our admin user, as showed on the picture, sev the changes.

Screen Shot 2017-05-29 at 12.28.21

now we can run the commit and deploy of all services on our nodes

Screen Shot 2017-05-29 at 12.12.15

on Maas the start up of nodes.

Screen Shot 2017-05-29 at 12.16.45.png

while on juju we can see the schema of how the services are deployed on nodes

Screen Shot 2017-05-29 at 12.32.17.png

now we’ve to wait the time needed to complete all the tasks. At the end of that we’ll obtain something like that.

Screen Shot 2017-05-29 at 12.37.09.png

the alert on Ceph-ceph can be resolved modifying the value present on  Ceph-osd in osd-devices (string) from /dev/vdb in /dev/sdb,. Save and commit this change, like that


at the end using the following command we can view the IP address for our Openstack dashbard

$: juju status openstack-dashboard/0
Model         Controller          Cloud/Region  Version
openstacklab  maaslab-controller  maaslab       2.1.3
App                  Version  Status  Scale  Charm                Store       Rev  OS      Notes
openstack-dashboard  9.1.2    active      1  openstack-dashboard  jujucharms  245  ubuntu 
Unit                    Workload  Agent  Machine  Public address  Ports           Message
openstack-dashboard/0*  active    idle   0/lxd/1     80/tcp,443/tcp  Unit is ready
Machine  State    DNS          Inst id              Series  AZ
0        started  e7spde               xenial  default
0/lxd/1  started  juju-595f12-0-lxd-1  xenial 
Relation          Provides             Consumes             Type
identity-service  keystone             openstack-dashboard  regular
cluster           openstack-dashboard  openstack-dashboard  peer

at this point using our browser and point to url we can view that

Screen Shot 2017-05-29 at 12.49.13.png

and with the following credentials we can make the login:

user: admin
password: P@ssword

Deploy of Openstack LXD

Screen Shot 2017-07-21 at 11.48.58

Same tasks above but the result is that

Screen Shot 2017-07-21 at 11.49.27

the fourth part is done.

<- part 3/8 . part 5/8 ->

“cya to the next 1…. Njoy !”
bye dakj

Disclaimer: All the tutorials included on this site are performed in a lab environment to simulate a real world production scenario. As everything is done to provide the most accurate steps to date, we take no responsibility if you implement any of these steps in a production environment.

“We learn from our mistakes”