diff options
author | Michael Drake <michael.drake@codethink.co.uk> | 2014-09-11 15:50:52 +0100 |
---|---|---|
committer | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2014-10-27 09:08:52 +0000 |
commit | 1e0771efd2313d6a07f0f088e0bf4660154054fd (patch) | |
tree | 108061e04e71e41a8dba94fe676edb1709f6d4a2 /distbuild.configure | |
parent | 6b9c0c1ba8b23741349c535adf426a9e8a41d3c1 (diff) | |
download | definitions-1e0771efd2313d6a07f0f088e0bf4660154054fd.tar.gz |
Mason: Provide moving parts needed for testing on OpenStack
Testing currently involves building a Baserock devel system,
deploying it as a VM and testing that that deployed VM can
build Baserock successfully.
Originally Mason used scripts/release-test to do testing on
a kvm host. In this patch the bits needed to do testing on
an OpenStack host are provided.
The new scripts/release-test-os script is based on the old
scripts/release-test, and it uses `nova` to boot/delete/etc
images and instances on OpenStack.
The mason script, `mason.sh` is updated to optionally run
either scripts/release-test-os or scripts/release-test,
depending on whether TEST_INFRASTRUCTURE_TYPE is set to
'openstack' or 'kvmhost' in the Mason's mason.conf.
The `os.conf` file is sourced by `mason.sh`, and should
be updated to contain the relevant credentials and details
for the OpenStack tenancy to be used for test deployments.
When Mason creates a test OpenStack instance, there is
potential for a race condition depending on whether ssh
comes up before the cloud-init has finished resizing the
instance's disc. If morph running on the test instance
tries to build before the disc size is increased, it will
fail complaining of insufficient free space.
To eliminate this race, the cloud init script
`os-init-script` is passed to `nova boot`. This touches
a file after the disc is resized, which Mason checks for
before it runs a `morph build`.
The `os.conf` and `os-init-script` files must both be
placed in the Mason system's `/root/` directory before
the system is deployed. This should happen in the
`mason.configure` configuration extension.
The `mason.configure` configuration extension should also
be updated to handle adding two extra variables to the
`mason.conf` file. These are the aforementioned
TEST_INFRASTRUCTURE_TYPE and OPENSTACK_NETWORK_ID, which is
the ID for the configured OpenStack network that test
instances should use.
Diffstat (limited to 'distbuild.configure')
0 files changed, 0 insertions, 0 deletions