* Adds support for provisioning a Multi Node AIO using
CentOS 7.
* Cleans up older MNAIO/Compute/Infra image configs
* Increases LB/Logging/Swift VM ram to allow for CentOS rootfs
to load into RAM. (1GB to 2GB)
* Uses systemd-network networking for configuring network/bridges
* Adds keymap to kvm configuration to alleviate keyboard issues in
virt-manager
Change-Id: I54d903e7c1c70882e8b20a9cef4eafb42be46770
To resolve the warnings, we:
1. Use import_playbook instead of include for the conditional
playbook inclusions in site.yml. TIL that using include_playbook
does not work with conditionals.
2. Use include_tasks instead of include for the openstack-image-setup
task set inclusion.
3. Switch to using 'is' instead of '|' for tests.
Change-Id: I6d68bd4fecda122a77f7934842c3479a4c0792fd
This patch implements the following style changes:
1. The 'environment' argument is placed in the same
location for all plays, making sure it's easier
to find.
2. The play tags are located in the same place, also
making sure they're easier to find.
3. The line breaks between tasks and plays are set
to be consistently 1 between tasks and 2 between
plays.
4. Given that there are no roles being used, the use
of pre/post tasks is converted to only using tasks.
Change-Id: I2e22c8360d65256b8e44ca1e310e0668a651196d
Instead of using the shell module, we use the file module. It
achieves the same result idempotently.
Change-Id: I84adb76ee5d5a9e7dd56c15f7cdf8e220b841b23
To improve the chances of success during builds, retries
are added to the package install tasks. Also, given that
we're using Ansible > 2.1.x, we forgo the with_items loop
for the package installs and just give the package module
the list so that it installs them all at once. Finally,
we ensure that the 'name' argument is used for all package
lists rather than the 'pkg' argument which is for apt only.
Change-Id: I5f27ea0b05c70f6c5396bd41dfe3cce54579ccb3
Now expects a base URL that looks for iPXE files. Uses
boot.ipxe.org by default but the base URL can be overridden to
point to custom compiled versions of ipxe.lkrn, ipxe.efi,
and undionly.kpxe.
Change-Id: Ib2c10c4817eaf9a78326f3de00aed0c16f8df776
Adds support for iPXE scripting. Allows for the
operator to specify a remote iPXE kernel to pull in
newer iPXE kernel features and specify a remote
default iPXE script for customizing the multi node
for other types of deployments.
Switches the installations to use netboot installer kernels
instead of ISO retrival and extraction.
Restructures directory to allow for future multi node configs
instead of just debian based installs.
Change-Id: Ie97f021dbd33ad3d852132b0b2850f54d4e13476
This includes:
- removing two bad /etc/default/tftpd-hpa tasks
- relocating the good /etc/default/tftpd-hpa task
to the pre-tasks area of the broken configs.
- Removing OPTIONS from /etc/default/tftpd-hpa as they
were causing duplicate -s config errors. The -l is
taken care of in the init script as well.
Change-Id: Ie474fceb116c921a373f5711194e222594095e51
Closes-Bug: 1746354
This change makes it possible to deploy ACNG within a physical
host NOT automatically tied to an MNAIO installation. This also
adds an infra preseed file which can be used to provision physical
hosts.
By default the domain name is now passed into the server boot params
which is useful when setting up an environment in support of
RFC-1034/5.
Ubuntu 16.04 has an issue with the options "quiet splash" being passed
in which cause it to have no usable console. See [Related-Issue] for
more.
Related-Issue: #1656605
Change-Id: I731dfb70e4b5d676d8c22082da77c0d22d5afb58
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
Adding even more dynamic user config options and a compute preseed.
Change-Id: Ieccbd61a45a77b7dff9e228fc6fdaf92df852abb
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
* added ip alias for interfaces
* Update settings and improve vm performance
* Change the VG name in VMs. The VG name was changed so that the volume
which is being used by VMs can be mounted on a physical host, and not
conflict, with standard volume group naming. This is usful when a VM
is DOA and a deployer wants to disect the instance.
Change-Id: If4d10165fe08f82400772ca88f8490b01bad5cf8
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This change allows the MNAIO to really be used as a stand alone kick
system which has the potential to be developed into a stand alone
project. At the very least this change improves playbook performance
by scoping variables.
The inventory has been converted into a typical Ansible inventory and
the "servers" used in the MNAIO are now simply host_vars
which will trigger specific VM builds when instructed to do so. This
gives the MNAIO the ability to serve as a stand alone kick system which
could be used for physical hosts as well as MNAIO testing all through
the same basic set of playbooks. Should a deployer want to use this with
physical servers they'd need to do nothing more than define their basic
inventory and where the the required pieces of infrastructure needed to
PXE boot their machines.
Change-Id: I6c47e02ecfbe8ee7533e77b11041785db485a1a9
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
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>