Commit Graph

14 Commits

Author SHA1 Message Date
Kevin Carter a94f0a9026 Combine our two multi-node-aio processes into one
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>
2017-07-28 15:35:23 +00:00
Weezer Su 56e888a375 add deploy node into mn-aio-xenial
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
2017-07-21 09:21:30 -05:00
Weezer Su 8c98c87885 Fix a typo in all seed files
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
2017-06-30 16:58:31 -05:00
Weezer Su 9fcdd4ca7c Fixed ip confliction.
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
2017-06-23 10:37:21 -05:00
Matthew Thode a22b573223
make services persistant across reboots
also switch to systemctl commands

Change-Id: I26c7dec1512f88be4faa8800199cf8e92dc678ba
2017-05-24 11:57:37 -05:00
Matthew Thode 70c4538671
make the default base network match variables.sh
fix SSHKEY usage as is optional to run setup-host.sh

Change-Id: I61a0ddfd2fe0415912688742a03a51d9d9b391cc
2017-05-22 14:53:26 -05:00
d34dh0r53 e398389342 Updates and bug fixes
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
2017-03-31 08:21:45 -05:00
Rick Box 3b2c7ad457 Adds in scripts from multinode-aio - Ansible Xenial Deploy
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
2017-02-23 16:47:52 +00:00
Rick Box 116867f117 Adds in Playbook and inventory for Ubuntu 16.04 roles
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
2017-02-13 08:09:35 +00:00
Rick Box a8a44e2002 Adds in proxy role - Ubuntu 16.04
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
2017-02-13 08:09:15 +00:00
Rick Box f8fef621cb Adds in TFTP Configure role - Ubuntu 16.04
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
2017-02-03 04:19:39 +00:00
Rick Box 088d941d22 Adds in DHCPD role - Ubuntu 16.04
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
2017-02-03 04:16:44 +00:00
Rick Box e0381502e3 Adds in Apache2 role - Ubuntu 16.04
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
2017-02-03 04:10:12 +00:00
Rick Box 49ccdbeb2c Adds in ATFTPD role - Ubuntu 16.04
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
2017-02-02 13:13:53 +00:00