MAAS providers cloud like provisioning capabilities
for physical server hardware.
It also has an unsupported virsh mode which allows it
to manage KVM virtual machines.
This charm installs MAAS and configures it to work
in the mode providing a fully virtualized testing
MaaS (Metal-as-a-Service) provides a cloud-like way to manage physical servers.
This charm deploys MaaS within a single server to allow simulation of a full
MaaS environment using KVM machines + virsh for power control rather than
actual physical servers.
Using chunky hardware allows for simulation of large environments.
juju deploy virtual-maas
MaaS will be installed and configured to manage KVM instances on an internal
Access to MaaS through the web interfaces is provided at http:///MAAS.
The username and password are ubuntu/ubuntu.
NOTE: Currently the default domain and name for the zone file are not
configured automatically; please login and set both to 'virtual-maas.com'.
A Juju environments file with the correct credentials is created for the ubuntu
~ubuntu/tools/maas-libvirt-utils contains some helper scripts for creating the
KVM instances that MaaS will manage.
The 'register-node' script creates a new KVM instance and registers it into
MaaS; MaaS will then boot the machine and commission it read for use
To create multiple new ‘machines’ run::
sudo ./register-node maaslocal
To delete all machines run::
Note that machines are created with the cache=unsafe option for speed; however
this does mean that a failure of the physical server running this charm will
probably result in corruption of KVM disk files. Just delete them and re-create.
Consoles for each machine can be access through the machine name::
virsh console inst-001
Juju will be installed in the deployed service; run::
to bootstrap a new environment. Environment configurations for quantal (default)
and precise are currently pre-configured.
~ubuntu/tools/juju-deployer contains a deployment tool used to deploy charms
in a specific, ordered way. See the deployments.cfg file for examples.
~ubuntu/tools/openstack-ubuntu-testing contains the tooling used in the
OpenStack QA Lab. Specifically::
Will create a envrc file which can be sourced for use with the openstack
client tools for nova, cinder, glance, swift etc.
SSH public keys can be added from Launchpad to the ubuntu account on the deployed
juju set virtual-maas ssh-keys="usera userb"
Block devices attached to the server can be configured to provide storage for
virtual machines; devices are built into a LVM volume which is mounted under
juju set virtual-maas block-devies="sdb sdc sdd sde sdf"
A forwarding dns-server can also be specified::
juju set virtual-maas dns-server="192.168.77.23"
This will configured the bind instance on the deployed services to forward
dns queries to the outside world rather than directly querying root servers.