The Ubuntu OpenStack Autopilot deploys an OpenStack cloud using Juju, MAAS and Landscape. It requires an existing MAAS server. How should I install and configure this server? What are its networking requirements, and how should the nodes be wired together?
Ubuntu – How should I setup MAAS so that it can be used by the Canonical OpenStack Autopilot
cloudlandscapemaasopenstackopenstack-autopilot
Best Answer
These are the networking requirements for a successful OpenStack Autopilot run.
Internet access
MAAS and its nodes will need to be able to reach the internet, or at least these sites (http and https):
If opening holes in a firewall, be mindful that these addresses may resolve to multiple IPs.
Network layout
There are two basic network layouts that we support. Let's call them "flat network" and "split network". In both these models, at least one node needs to have two network interfaces connected to networks that MAAS knows about. We will call them private and public networks.
Keep in mind that OpenStack floating IPs will always come from the public network.
In the following diagrams, the "cloud" that is above the router does not necessarily mean the Internet directly, just that eventually devices on this network can reach the Internet.
Flat network
The flat network model is the most basic one. Here we trick the system and simply say the public and private networks are the same and connect both NICs to it:
OpenStack floating IPs will come from the same network as MAAS node IPs in this scenario.
Split network
In the split network topology, we have two actual distinct networks:
MAAS only manages the private network, for which it will setup DNS and DHCP, but it has to know about the public one. An easy way to handle that automatically is to just hook up a second NIC to the MAAS machine and connect it to the public network as shown. MAAS will then automatically know about it.
Installing MAAS
This is how the MAAS server should be installed:
sudo add-apt-repository ppa:maas-maintainers/stable
sudo apt-get update
sudo apt-get install maas
http://maas.ip/MAAS/
and follow the instructions to create the administrator, then login with those credentialshttp://maas.ip/MAAS/account/prefs/
lxcbr0
orvirbr0
: we don't care about those, only about real physical interfaces.Configuring the MAAS cluster
Where:
Save the changes.
Enlist and commission machines
MAAS networks
Testing things
To make sure juju can drive MAAS and provision machines, let's take it for a spin. It's best to try it out now and fix any issues before more complex services like the Autopilot make use of it.
On the machine being used to drive the installation, run these commands:
sudo add-apt-repository ppa:juju/stable
sudo apt-get update
sudo apt-get install juju-core juju-deployer
The remainder of this document will assume that the MAAS Juju environment you just configured is the default one.
For a simple test, we will deploy Ubuntu to all nodes. On the machine that is driving the installation, run these commands:
juju bootstrap
this will use one of the MAAS nodes to bootstrap juju. It will take a few minutes to completejuju deploy ubuntu -n N
deployubuntu
to all remaining nodes. ReplaceN
with the number of nodes minus one, which was used for the bootstrap above. This command returns after a few seconds, but it just starts the process.juju status
periodically until everything is startedjuju ssh ubuntu/0
andwget http://www.ubuntu.com
from therejuju destroy-environment $(juju env)
MAAS is setup and ready to be used by the OpenStack Autopilot.