summaryrefslogtreecommitdiff
path: root/scripts/release-test
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2014-09-11 14:50:52 (GMT)
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2014-10-27 09:08:52 (GMT)
commit1e0771efd2313d6a07f0f088e0bf4660154054fd (patch)
tree108061e04e71e41a8dba94fe676edb1709f6d4a2 /scripts/release-test
parent6b9c0c1ba8b23741349c535adf426a9e8a41d3c1 (diff)
downloaddefinitions-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 'scripts/release-test')
0 files changed, 0 insertions, 0 deletions