33 Commits

Author SHA1 Message Date
Mark Goddard
b46b2b72bb Use OpenStack Stein release
Switch all dependencies to use the OpenStack Stein release.

This commit should be reverted on the master branch once the
Kayobe stable/stein branch has been cut and RC1 released.

Change-Id: I50a39994c8ffa0c7d65e026ae765973541423476
2019-05-29 17:20:25 +01:00
Andreas Jaeger
f1e02e9367 Remove duplicate docs job
Both docs-on-readthedocs and build-openstack-sphinx-docs contain a build
job - a different one: the current openstack-tox-docs and the obsolete
build-openstack-sphinx-docs. Remove the obsolete template and thus
avoid building docs twice for each change.

Change-Id: I358641d29304815eec6c699ae7e20da1e069443d
2019-05-25 17:55:51 +02:00
Zuul
9890e4bbc1 Merge "DRY out Zuul job configuration" 2019-05-21 15:53:29 +00:00
Mark Goddard
6c5fbcf942 Remove release notes readthedocs webhook job
This was found not to work, and prevents releases from being made.

The cause of the issue is that the trigger-readthedocs-webhook job (in
project-config) is marked as 'final', meaning that a non-trusted Zuul
config source can't override its variables. Instead, you're supposed to
use the trigger-readthedocs-webhook project template, but only one
instance of this can be instantiated by design.

Let's revert to manually updating the release notes for now.

Change-Id: I271c972c7fdde23085f3026137806bb1e3048e5e
2019-05-20 15:41:05 +01:00
Mark Goddard
ca3b5a7701 DRY out Zuul job configuration
Adds a new abstract parent job for the following kayobe deploy jobs:

kayobe-overcloud-centos
kayobe-overcloud-upgrade-centos
kayobe-seed-centos
kayobe-seed-upgrade-centos

This parent includes commonly used variables, and pre-run and post-run
playbooks for preparing and executing diagnostics, plus other
initialisation.

Change-Id: I9ab89fbc49bb32d86af56d50ec3914740e65d0f8
2019-05-07 15:59:25 +00:00
Zuul
cada311d4c Merge "Add python 3.6 jobs" 2019-04-26 17:57:36 +00:00
OpenDev Sysadmins
a65511a3d8 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:50:44 +00:00
Mark Goddard
eda8246b7b Use master version of dependencies
Use master branch of:

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

Also, use the infra docker registry mirror at port 8082 which does not
have any path component in its URL, and so works with Docker CE.

Depends-On: https://review.openstack.org/#/c/651254/
Change-Id: Icdb62aa0083d9272a08421138719cf5f6b52ec5a
Story: 2001864
Task: 14316
2019-04-09 16:55:02 +00:00
Mark Goddard
da8059644c Add python 3.6 jobs
Also change to use the py3 tox environment rather than specifying a
version explicitly.

Change-Id: I05d5d6f5718b39dc95b40efe44e9ebb3fb5b1311
Story: 2004959
Task: 30035
2019-03-15 13:00:40 +00:00
Mark Goddard
4f5e87dbf2 Update release notes for stable/rocky
Also updates the release.sh script to support tagging release candidates
and development milestones. Adds zuul configuration to trigger a
Readthedocs webhook for the release notes.

Change-Id: Ia784b34fb0b740998de72599d4921f9303e41cac
2019-02-15 11:23:43 +00:00
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
Mark Goddard
09bcc6f28d Make seed deploy job voting again
The upstream fix to bifrost is now included in the rocky kolla images.

Change-Id: I0ca2e0a2d07a7be7d570ed63fceb2e82cf2d6173
2018-12-07 16:18:10 +00:00
Mark Goddard
0e329810a6 Bump zuul job timeouts
We are seeing a few overcloud deploy/upgrade jobs timing out. The jobs
appear to be progressing, so killing them isn't particularly helping.
Minimal random sampling suggests this affects the OVH cloud.

Change-Id: Ibce5457edf7a5f06e834aa587b5d4b5b6c69b8b6
2018-11-21 19:02:12 +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
Zuul
72cff1bef8 Merge "Add a zuul template to update readthedocs" 2018-11-02 17:20:03 +00:00
Mark Goddard
1244dc79b5 Improve irrelevant-files for Zuul jobs
Change-Id: I35a54f48bc8234425dda639af37c4029536d9666
2018-11-02 11:02:30 +00:00
Mark Goddard
01a00ec569 Add a zuul template to update readthedocs
This only affects the kayobe documentation, not the release notes.

A webhook is configured for the kayobe readthedocs project which has ID
50407.

See
http://lists.openstack.org/pipermail/openstack-dev/2018-August/132836.html
for further information.

Change-Id: Ibfccf30f51ab2f63743bf6e2b61bf9a3883cff23
2018-10-10 19:26:05 +01:00
Zuul
fa681dc2c1 Merge "Include kayobe in zuul project list" 2018-10-09 16:34:55 +00:00
Andreas Jaeger
9f3e8997fa Cleanup zuul jobs
Use templates instead of individual jobs.

Remoe usage of releasenotes templates since it publishes content to
docs.o.o and only official OpenStack projects can publish there, use
instead just the build jobs.

Change-Id: I3046569efd586707150fb4cc753fd55979470946
2018-09-29 19:15:52 +02:00
Mark Goddard
dd9266f5b8 Include kayobe in zuul project list
This ensures other projects can use zuul jobs defined in kayobe.

Change-Id: Ie8a3dc3dfba1ce0bd78ac676e3c4553461f45a05
2018-09-28 12:06:36 +01:00
Mark Goddard
f7badb2b37 Use openstack-hosted development config
The Kayobe development configuration has moved to
openstack/kayobe-config-dev. It was previously hosted at
stackhpc/dev-kayobe-config on Github.

This change updates the Zuul configuration and development documentation
to use the new location. It also uses a location for the kayobe source
code that works when kayobe is not the repository against which the code
review is targetted. This allows us to run kayobe jobs for
kayobe-config-dev changes.

Configuration for the seed VM and seed hypervisor development
environments is not yet supported by kayobe-config-dev, so the
documentation references a branch in my personal fork on Github.

Change-Id: I621324093b8dff0ac52a648539cd91bc12da4862
2018-09-24 10:25:48 +01:00
Mark Goddard
7ad3be5351 Add kolla project dependencies to Zuul configuration
This allows us to use the Depends-On syntax in commit messages to depend
on changes in kolla, kolla-ansible, and requirements.

Change-Id: I0c863d46f65de24c04ba9ea445473436b146c424
2018-08-02 10:41:48 +01:00
Mark Goddard
1c376f071e Build release notes using reno
The current approach of adding release notes to a single file means that
we end up with merge conflicts every time a change is merged. This is
wasteful of time and resources.

Change-Id: I19f956e4e3991e39252eaa3a1b97a3b2812858d2
Story: 2001637
Task: 6649
2018-05-04 15:11:23 +01:00
Mark Goddard
f86c0ff48f Use queens version of dependencies
Use queens release of:

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

Changes to kolla inventory files were made by comparing the multinode
inventory in kolla-ansible with the overcloud-services and
overcloud-components templates.

Kolla ansible added the concept of inner-compute and external-compute,
and these groups have been added to the top-level inventory.

We also synchronise globals.yml and kolla enablement flags.

Change-Id: I87b052f777567226e41294b955f736040e55e102
Story: 2001863
Task: 14315
2018-05-02 11:40:46 +01:00
Mark Goddard
d385b32382 Add CI job for molecule tests
Adds the following zuul job:

kayobe-tox-molecule

It runs ansible role tests using the molecule framework.

Note that we are currently running tox as root to work around issues
with applying docker group membership in the Zuul CI environment.

The ubuntu-1604 platform has been removed because the job takes a long
time to run even on one platform.

Change-Id: I8be24be828c0e124d822d7b39a02169c92b81eb3
Story: #2001637
Task: #6646
2018-04-10 12:28:27 +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
Zuul
b17a1e5b42 Merge "Add overcloud deployment job" 2018-03-16 14:06:50 +00:00
Mark Goddard
4cdf71f5a1 Add overcloud deployment job
Adds a Zuul job to perform deployment of an OpenStack control plane
consisting of a single node. Currently no tests are run against the
resulting control plane.

Change-Id: I2728421cb5dbd1dc370a3aa7d37d913c90ba38a5
Story: #2001655
Task: #6682
2018-03-15 10:47:54 +00:00
Mark Goddard
048fd82bef Use stestr for running unit tests, add a coverage environment
stestr [1] is a fork of the testrunner python test runner.

Coverage tests can be run using 'tox -e cover'.

Adds a job for checking coverage to Zuul check and gate.

[1] http://stestr.readthedocs.io/en/latest/

Change-Id: I25cd407677a4013d022f87d124c6db43ab6bb2e0
Story: #2001637
Task: #6648
2018-03-08 16:37:08 +00:00
Mark Goddard
ab5938065f Fix py35 python tests
In python3, dict.values() is a dictview, which cannot be indexed.

This change also makes the tox py35 job voting and adds it to the gate
jobs.

Change-Id: I925e53c2e20a75fef1a942003f5e61f6bfeedcdc
Story: #2001637
Task: #6646
2018-03-08 16:37:08 +00:00
Mark Goddard
dc71c91d73 Add initial in-repo Zuul jobs
This change ensures parity with the CI jobs run by TravisCI on the
legacy StackHPC github repo.

In addition to the system-required job in infra project-config, the
following jobs are run on check and gate:

- openstack-tox-pep8
- openstack-tox-py27
- build-openstack-sphinx-docs
- kayobe-tox-ansible-syntax
- kayobe-tox-ansible

Ansible molecule tests are not working currently, as they require docker
engine to be running.

Change-Id: Ie95bcdaabb10ab661bc3a01efbaf9143896d6913
Story: #2001637
Task: #6646
2018-03-08 16:37:08 +00:00