The original mnaio was built using a lot of bash and was tailored
specifically for ubuntu 14.04. The new mnaio was built using a mix of
bash and ansible and was tailored specifically for ubuntu 16.04. This
patch takes the two code bases and combines the best things from each
method and wraps it up into a single code path all written using ansible
playbooks and basic variables.
While underlying system has changed the bash environment variable syntax
for overrides remains the same. This allows users to continue with what
has become their normal work-flow while leveraging the new structure and
capabilities.
High level overview:
* The general performance of the VMs running within the MNAIO will now
be a lot better. Before the VMs were built within QCOW2 containers,
while this was flexible and portable it was slower. The new
capabilities will use RAW logical volumes and native IO.
* New repo management starts with preseeds and allows the user to pin
to specific repositories without having to worry about flipping them
post build.
* CPU overhead will be a lot less. The old VM system used an
un-reasonable number of processors per VM which directly translated
to sockets. The new system will use cores and a single socket
allowing for generally better VM performance with a lot less
overhead and resource contention on the host.
* Memory consumption has been greatly reduced. Each VM is now
following the memory restrictions we'd find in the gate, as a MAX.
Most of the VMs are using 1 - 2 GiB of RAM which should be more than
enough for our purposes.
Overall the deployment process is simpler and more flexible and will
work on both trusty and xenial out of the box with the hope to bring
centos7 and suse into the fold some time in the future.
Change-Id: Idc8924452c481b08fd3b9362efa32d10d1b8f707
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
1, add deploy node into mn-aio-xenial
2, change the nic to eth0 because kvm needs it
3, local cache the ubuntu image for faster installation.
Change-Id: I9be2493fc64481c3e6249cb5e2d36c708545ad3d
the auto reboot config should be
d-i finish-install/reboot_in_progress note
not
finish-install finish-install/reboot_in_progress note
Change-Id: Id8e44de5e6376bb576115b0eeca49dc04edf8ed8
The current range can cause tempest tests to
allocate floating IPs to the created test servers
that conflict with the IPs of the host VMs.
Change-Id: Iebde0826de632aa0b2d0199171068048caf97c88
Several minor issues/annoyances fixed
* Changed the http_proxy tests to [ ! -z ] rather than [ -n ]
* Added http_proxy tests to no-cobbler-configure-vms.sh
* Added additional packages that are missing when a trusty OnMetal
is upgraded to Xenial
* The isc-dhcp-server and atftpd services were not coming up so I
have added specific restarts for both services to ensure that they
come up
* Updated variables.sh to respect user set overrides, defaults have
not been altered
Change-Id: I23ee641c2b6a36b18f4486f62af569d1ad28d5dc
Within the multi-node-aio-xenial-ansible folder the multi-node-aio
content has been copied over, Cobbler and Trusty specific parts have
been removed.
The intent here is to replace much of the bash which is present with
Ansible and not support Trusty. To do this a clean separate folder is
required so large changes which are made will not affect the current
working Trusty based install.
Change-Id: Ib64ee168ece4b7a00f950c8d5b1cd6dd4dcd7ba7
Building on from the previous commit https://review.openstack.org/427869
this playbook calls all the roles and contains the required data to
deploy the pxe build environment.
Change-Id: I1a319b68558a4823832693f38f40921a72be783e
Building on from the previous commit https://review.openstack.org/427869
this add in a proxy role which sets up the environment and apt in case
this machine is based behind some form of proxy.
Change-Id: I1f2266f6443354aa954438801c0ddc84e78d6994
Building on from the previous commit https://review.openstack.org/427869
this adds in TFTP configure role which handles all the pre-seed
templates and sets up all the PXEBoot files.
Change-Id: Ibdf7bfac9bc2c5b5cabdc79ce8584112b2ae0678
Building on from the previous commit https://review.openstack.org/427869
this adds in DHCPD role to provide DHCP to the virtual machines which
are booting up and point them towards our TFTP server.
Change-Id: I73649562096a659dee7227b0cfb84f2c4a4f5ec4
Building on from the previous commit https://review.openstack.org/427869
this adds in Apache2 role to host the pre-seed files and some Ubuntu
install files.
Change-Id: Ib0c2469e25f5e7a03c7c79efc201cd51f673966e
We have done an amount of work making the Multinode AIO work with Xenial
on both the deployment host and the booted virtual machines. Sadly
Cobbler was a large complex system which required poking and prodding to
make it work properly on Xenial. Instead we have created a small system
which is a PXE environment with TFTPboot, DHCPD server and various
pre-seeds.
This work is virtually complete and working, this is a first commit of
many to get this merged in. Starting with a small commit to get one of
the few Ansible roles we have in place. After this has been checked over
and merged in, we will push all the rest of the work making sure any
amendments or recommendations are made to the rest of our work.
This first commit is simply an Ansible Role to install and configure
ATFTP on Ubuntu 16.04 deployment host, and does not currently affect
other items.
Change-Id: I9bfd88d81d27d5a6af7b297b9a4426f5e6200baf