51 Commits

Author SHA1 Message Date
Mark Goddard
0628beaa01 CentOS 8: Enable seed upgrade job
Kolla CentOS 8 Train Bifrost image is now available.

Change-Id: If2b06f80fa2817377ed881aa61ef73e4be38df55
Story: 2006574
Task: 39047
2020-03-25 14:56:57 +00:00
Mark Goddard
a28fd66b6e CentOS 8: Enable overcloud upgrade job
Missing bifrost image for Train, so no seed upgrade job yet.

Depends-On: https://review.opendev.org/711067

Change-Id: I0e88683f775769c1a80879685b0e7a2983599b08
Story: 2006574
Task: 39047
2020-03-23 10:32:57 +00:00
Mark Goddard
b0359e37df CentOS 8: Add seed and overcloud CI jobs, drop CentOS 7 jobs
CentOS 8 removes interfaces from their bridge during ifdown, and removes
the bridge if there are no interfaces left. When Kayobe bounces veth
links plugged into the bridge, it causes the bridge which has the IP we
are using for SSH to be removed. Use a dummy interface in CI to avoid
this problem.

Kolla-ansible has dropped all CentOS 7 jobs on master now, and prechecks
only allow CentOS 7 hosts. Drop all CentOS 7 jobs. We will have to run
without upgrade jobs in place until Train supports CentOS 8.

Depends-On: https://review.opendev.org/695881

Change-Id: I7c1a885b36445e33d4db1b1c8533db28a644b4a1
Story: 2006574
Task: 38870
2020-03-11 16:36:44 +00:00
Mark Goddard
f1a4b8cafc CI: set previous_release to train
This controls which release we are upgrading from.

Change-Id: I6b56a56e94f0b00b042c693a18ec1685724c7683
Depends-On: https://review.opendev.org/709189
2020-02-21 16:42:42 +00:00
Pierre Riteau
c9474bf9b0 Revert "Use OpenStack Train release"
This reverts commit a93b85ba07113a77a6c0db498a59cef3bca15b94.

The local Python executable for Kolla Ansible is changed to Python 3
because Kolla Ansible master no longer supports Python 2.

Change-Id: I768ce8db9cec1c70d94f271997bbcc64d370403e
2020-02-14 14:54:23 +00:00
Ghanshyam Mann
c0a1216afa [ussuri][goal] Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

kayobe is ready with python 3 and ok to drop the
python 2.7 support.

Complete discussion & schedule can be found in
- http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support

Ussuri Communtiy-wide goal:
https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html

Change-Id: Idbbdd96ff23846d29833c5997d1e32e65b5169f2
2020-02-11 10:12:39 +00:00
Zuul
c41b2d714f Merge "CI: Increase job run attempts" 2020-01-06 10:06:14 +00:00
Will Szumski
a93b85ba07 Use OpenStack Train release
Switch all dependencies to use the OpenStack Train release.

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

Change-Id: I6006e14df27a180f1438f9eb01b9ebefdddaff72
2019-12-12 11:55:56 +01:00
Mark Goddard
4e89518d0c CI: Increase job run attempts
Attempts affect pre failures.  This means we can increase stability of
jobs by rejecting nodes that fail pre without failing runs at the same
time (unless we are really unlucky and hit b0rken nodes 5 times in a
row).

This change is adapted from I17b7f878c742fa8db66f738526855a02ab9f1905 in
kolla-ansible.

Change-Id: I010b2fdd7c39e3314a9e1c59072d877f635f7522
2019-10-21 15:53:05 +01:00
Zuul
886fe4fd76 Merge "CI: Remove rocky pin from molecule requirements" 2019-10-02 17:44:58 +00:00
Zuul
185e93d653 Merge "CI: set previous_release to stein" 2019-10-01 17:18:39 +00:00
Andreas Jaeger
aea7117764 Fix after x/kayobe rename
Update .git review and zuul configuration.

Change-Id: I8efee18cf28344a6af44acbe1ca1d4470f7258fe
2019-09-16 16:26:27 +02:00
Mark Goddard
0765c09368 CI: Remove rocky pin from molecule requirements
Change-Id: I6f56ba2d6e3c5e5f91e83bd12d8a09c04845cd62
2019-09-12 10:46:22 +01:00
Mark Goddard
266b087244 CI: set previous_release to stein
This controls which release we are upgrading from.

Change-Id: I76f0db99cbfc0dea8cf16f0db370c8865e7dae03
2019-09-12 10:43:32 +01:00
Zuul
4169f2468f Merge "Revert "Use OpenStack Stein release"" 2019-09-03 18:50:58 +00:00
Mark Goddard
691ddeb614 Execute kayobe in verbose mode in CI
Also refactors the CI job playbooks to create the previous git repo
clones for upgrade jobs in the kayobe-base job.

Change-Id: I10c2b872887a47fab1a373fc0525dcd6fc78f7e2
2019-08-22 14:36:01 +00:00
Mark Goddard
ebe13df6f7 Revert "Use OpenStack Stein release"
This reverts commit b46b2b72bbec2a076a8175fc0aff96cbdefcabff.

Switch dependencies and upper constraints back to master branch for
development after cutting stable/stein branch.

Change-Id: Ie7f588aab59e57efe240a58a3bd0a6f09fbcefb7
2019-08-22 13:52:42 +01:00
Mark Goddard
4286c32299 Publish docs and release notes on openstack.o.o
Kayobe is now a kolla deliverable [1], so should use the official
site for publishing release notes and docs.

Links will be updated once these have been published.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/007250.html

Change-Id: I9cc0bf08aa69386a18278f240c751a4d9956f926
2019-08-03 19:02:20 +01:00
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