20 Commits

Author SHA1 Message Date
Mark Goddard
7593a8b925 Test upgrading seed services in CI
Adds the kayobe-seed-upgrade-centos job, which performs an upgrade of
the seed services from the previous release to the current release.

Change-Id: Ia3eb39cf81cb3618fd94c4456bd576b52098c946
Story: 2004308
Task: 27873
2018-12-21 15:21:47 +00:00
Will Miller
d0e9c50fd2 Add tenks-deploy.sh dev script
tenks-deploy.sh deploys a minimal virtualized baremetal test cluster
locally. It also adds it to the overcloud-base CI job. To make the new
CI job work, we need to configure the firewall on the test machine to
allow the baremetal machines to communicate with the openstack services.

Change-Id: I7487a2606cf0bac71c5c63db41b2b518a6f6398b
Depends-On: https://review.openstack.org/#/c/615939
Depends-On: https://review.openstack.org/#/c/618003
Story: 2004297
Task: 27850
2018-11-20 18:53:09 +00:00
Mark Goddard
935d3cef6a Update dependencies to Rocky
Use stable/rocky branch of:

* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services
* Requirements

Also updates Kolla Ansible inventory template.

The seed deploy job has been made non-voting and non-gating, because we
are waiting for bifrost change https://review.openstack.org/#/c/618740
to merge, be released, and for the kolla bifrost image to use the new
package.

Change-Id: Id5e7fdbd196f96e1e75ffc68bc93aab18fa38aa7
Story: 2001864
Task: 27798
Depends-On: I58e4f951d4a3dd89e0784fd82d8a62dbba374f79
2018-11-19 14:37:33 +00:00
Mark Goddard
6266312fa1 Test upgrades in CI
There is currently no coverage of upgrades in CI, which leaves us open
to regression in this infrequently tested but crucial area. This change
adds the required scripts and Zuul configuration.

A control plane is first deployed using the Kayobe stable/pike branch
and associated default configuration. The control plane is tested by
deploying then deleting a server instance. An upgrade to Queens is
performed, using the Kayobe master branch, or code in review if
applicable. The upgraded control plane is tested by deploying then
deleting a second server instance.

A workaround was required to restart the nova_compute service after the
upgrade, since the SIGHUP sent to it by Kolla Ansible during upgrade
appeared to be putting it into a degraded state.

A future improvement to this test could be to leave a server instance
running during the upgrade.

Change-Id: I0e595524e39d1131fe3ec6aaf2aeec3ff3d6a536
Story: 2003472
Task: 24732
2018-11-05 12:02:31 +00:00
Mark Goddard
7fe53c3d16 Check nova VM status in CI
Previously we were not checking the status of created VMs in CI, meaning
that VM creation failures would be silently ignored. This change checks
the status, requiring it to be ACTIVE for a pass.

Change-Id: Ia559c81b4944c2c6c7dedfca0c6c570db390704b
2018-09-25 19:36:29 +01:00
Doug Szumski
6c2e68a545 Support configuring tunnel network
Support configuring a separate tunnel network for tenant
overlay network traffic.

Change-Id: I74274823d6fe3a42aabcca00c8cd20e1abb3d219
Story: 2003054
Task: 23091
2018-07-20 13:57:03 +01:00
Will Miller
2d5fd703a0 Reconcile all 'Ansible control host' references
Ensure all references to the Ansible control host are worded as such, to
ensure consistency and avoid potential confusion with the OpenStack
controllers.

Change-Id: Id92e537ccbfdd55287b8eae296f649640c70ce17
2018-07-11 17:19:18 +01:00
Mark Goddard
0ec7edffa7 Test nova server (VM) boot in overcloud job
We use the demo script from kolla ansible, init-runonce, to create
resources in the control plane to make it ready for booting a VM. We
then create a nova server, and wait for it to become active. We do not
currently test that the VM boots successfully by accessing it via SSH.

Change-Id: I61be554366565decd9f4ff7805a3969aa37da4b9
2018-05-10 18:39:07 +01:00
Mark Goddard
cd6c366cc6 Add a job for seed deployment
Adds a new CI job, kayobe-seed-centos, that deploys a single VM as a
seed host. The VM provided by Zuul is configured as the seed, rather
than a seed hypervisor that provisions a seed VM using nested virt.

This approach should be more reliable, faster, and easier to get
working, at the expense of not testing the seed hypervisor code paths.

Currently the seed services are deployed, but not tested. A future
change could test discovery and provisioning of an overcloud host using
the seed.

Change-Id: Iefe16215af6f1a9fb8ec78094cd6bd76a82a040a
Story: 2001655
Task: 6683
2018-04-09 12:10:38 +01:00
Nick Jones
450a7a24f8
Fix tilde expansion in development environment function library
Due to how bash expands tildes, the `~` is treated literally here and
results in a folder in the Vagrant user's home directory called `~`.

This commit switches to using the `$HOME` environment variable instead.
2018-03-01 13:17:46 +00:00
Mark Goddard
820f9f2977 Address dev environment review comments
Improves shell script quoting, and adds

set -u
set -o pipefail
2018-02-06 14:08:45 +00:00
Mark Goddard
b3880aa264 Add scripting around the development environment
The following top level scripts are added under dev/:

* overcloud-deploy.sh
* seed-deploy.sh
* seed-hypervisor-deploy.sh

Some amount of configuration is possible via dev/config.sh.
2018-01-31 10:58:19 +00:00
Nick Jones
b8cb373c61
Refactor Vagrantfile to support VMware 2017-11-29 11:30:25 +00:00
Nick Jones
7ef01d1ed5
Add container-image-builders group
Update development environment inventory to include an entry which
enables container image building.
2017-11-28 15:32:49 +00:00
Mark Goddard
cf5c1ce88c Update development configuration for Kayobe 3.0.0 pike release
We no longer need to explicitly set the openstack release, or override the container
image build configuration for ironic.
2017-10-12 11:22:14 +01:00
Mark Goddard
fda941bcbf Add configuration of inspection allocation pool for dev environment
This allows the ironic_dnsmasq container to start successfully.
2017-09-07 20:50:08 +01:00
Mark Goddard
1d9e8fc976 Separate the external network into external and public
Previously, the external network carried both public API traffic and
neutron external network traffic. In some cases is it useful to separate
these networks. The public network now carries the public API traffic,
leaving the external network to carry neutron external network traffic
alone. For backwards compatibility, the public network defaults to the
external network.
2017-08-29 13:12:47 +00:00
John Garbutt
d05b1265df We don't need to set the gateway for aio network
Removing this seemed to stop us getting duplicate network gateways.
2017-08-29 11:42:45 +01:00
Mark Goddard
39a37a1647 Add a value for inspector LLDP interface in development config
Without this registration of inspection rules fails.
2017-08-14 18:48:53 +01:00
Mark Goddard
dc2ea4c1e5 Improve Vagrantfile, add development configuration
Adds commands to install dependencies, and setup a virtualenv with kayobe
installed. Configuration is provided in dev/ for a single controller with
a single network.
2017-08-08 16:23:24 +00:00