The 2024.1 release will support direct upgrade from 2023.1, so this
scenario should be tested in CI.
Change-Id: Idbe56fd0eaa2e4b04ce64051bd706ad7757cddf2
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope. Also,
updating the template name to generic one.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: I7bef657a342fa8b7b08ffcca4459e2831204ee60
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Add release notes and update the python
classifier for the same.
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Co-Authored-By: Ghanshyam Mann <gmann@ghanshyammann.com>
Change-Id: I998b34f884a2869d46ff05a179708a7f775e1615
Periodic stable jobs (one py3 and a docs job) are not running towards
placement. This patch adds the template to .zuul.yaml
Change-Id: Ia9dce4590d5656f8d5f777e158a1ff67c059c87a
This change intoduces a set of jobs
that will run weekly in the periodic-weekly pipeline.
The intention of these jobs is to check the health
of the placement gate in the absence of frequent patch
submissions to ensure that new lib releases and or changes
in upper constraints or other placment related projects do
not result in broken jobs. The result of these jobs will
be review in our weekly meetings.
Change-Id: I456e44e69e503f2444ce9153aacee5783ea2b2eb
Python 3.8 is now our highest level supported python runtime,
but there are no functional tests run in the gate.
This patch adds the tests to the gate.
Change-Id: Ia81b3983ea3636beadf0e58c1b584d607bd567b4
The integrated gate templates has switched to the new grenade name
(grenade-py3 -> grenade). This repo uses an integrated gate template
but also listed the job for irrelevant files an extra entry.
Rename the job following the template change to avoid duplicate
grenade runs.
Details:
- http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014602.html
Change-Id: I0a981738034468bc8e0ef2944cb8b2b7a68e3851
This is modelled on the similar change in nova [1] but is
simpler because Placement was already using python3 for
"integration" style tests.
The 'train' python3 template is replaced with corresponding 'ussuri'.
The python template is removed (it is 2.7) and the pep8 job that was
included in that template is now listed in check and gate jobs.
.zuul.yaml is updated to not do a generic 'funtional' test,
instead versioned tests only.
setup.cfg removes indications of support for python 2.
A reno is added.
tox.ini is changed to make the functional environment a
base environment for specific functional jobs.
[1] Ie1a0cbd82a617dbcc15729647218ac3e9cd0e5a9
Change-Id: Ifce3b0c0ff11553f32b2d02df07fde81efc34100
Start the process of reporting some concurrency numbers by including
a 500 x 10 'ab' run against the query URL used in each perfload job.
There's duplication removal that could be done here, but we leave
that until we've determined if this is working well.
The PLACEMENT_URL is updated to use 127.0.0.1 instead of localhost;
ab will attempt to use the IPV6 version of localhost if that's the
case, and we've not bound the placement server to that interface.
The timeout on the placement-nested-perfload job has been raised to
1 hour as the default 30 minutes is leading to a timeout. If that's
still not enough we'll explore lowering concurrency.
We will quite likely need to adapt the mysql configuration if we
intend to continue down this road.
Change-Id: Ic0bf2ab666dab546dd7b03955473c246fd0f380a
The integrated-gate-placement adds the tempest-integrated-placement
and grenade-py3 jobs. tempest-integrated-placement runs a subset of
tempest tests which are relevant for placement, e.g. it does not
run keystone tests.
The integrated-gate-py3 template is replaced by this change. It
specified the tempest-full-py3, meaning many tests not relevant
to placement were run.
See the depends-on for more information on the rationale.
Depends-On: https://review.opendev.org/669309
Change-Id: I509ded97085fbae5a0cc55fe66f6e30e638b72bc
As part of Train community goal 'Support IPv6-Only Deployments and Testing'[1],
Tempest has defined the new job 'tempest-ipv6-only'(adding
in Depends-On patch) which will deploy services on IPv6 and run smoke
tests and IPv6 related tests present in Tempest.
This job will be part of Nova, Neutron, Cinder, Keystone, Glance, Swift
gate.
Verification structure will be:
- 'devstack-IPv6' deploy the service on IPv6
- 'devstack-tempest-ipv6' run will verify the IPv6-only setting and listen address
- 'tempest-ipv6-only' will run the smoke + IPv6 related test case.
This commit adds the new job 'tempest-ipv6-only' run on gate.
Story: #2005477
Task: #35919
Depends-On: https://review.opendev.org/#/c/671231/
[1] https://governance.openstack.org/tc/goals/train/ipv6-support-and-testing.html
Change-Id: Iff0e8d91048a4644cca4fd9242535b940b721d3b
This change duplicates the ideas started in with the placement-perfload
job and builds on it to create a set of nested trees that can be
exercised.
In placement-perfload, placeload is used to create the providers. This
proves to be cumbersome for nested topologies so this change starts
a new model: Using parallel [1] plus instrumented gabbi to create
nested topologies in a declarative fashion.
gate/perfload-server.sh sets up placement db and starts a uwsgi server.
gate/perfload-nested-loader.sh is called in the playbook to cause gabbi
to create the nested topology described in
gate/gabbits/nested-perfload.yaml. That topology is intentionally very
naive right now but should be made more realisitc as we continue to
develop nested features.
There's some duplication between perfload.yaml and
nested-perfload.yaml that will be cleared up in a followup.
[1] https://www.gnu.org/software/parallel/ (although the version on
ubuntu is a non-GPL clone)
Story: 2005443
Task: 30487
Change-Id: I617161fde5b844d7f52dc766f85c1b9f1b139e4a
To further refine the tests being run during the nova functional
test job, remove the functional.db tests. These shouldn't be
interacting with placement and because some of them use live
mysql or postgresql services for the migration tests, are more
susceptible to intermittent failures when nodes are being slow.
Change-Id: I2cfc6cb74d3acf78043a20cc7254d1315d6fabf0
The notification sample tests are many and at least some of
them contribute quite a bit of time so may as well not run
them when placement runs the nova functional tests.
In a recent run those tests took ~11.5 minutes to run in total,
with ~6.5 minutes being devoted to the actual tests.
Tuning this to perfection is probably a fools errand but
making tweaks when there are obviously useless (in this
context) time consumers, may as well kill them.
(Not listing a task here as the story has already merged
so the following syntax will operate similar to related-bug.)
Change-Id: I8f762cbf0ce2126609b7c24a8054785e252bdd03
Story: 2005562
This requires some slight adjustsments to the job in nova,
found in the depends-on.
The result of this will be _this_ placement change running
against nova master.
In order to blacklist the api_sample_tests (to save some time)
the job is inherited and some args are added to the tox command.
Story: 2005562
Task: 30746
Depends-On: https://review.opendev.org/657074
Change-Id: I72ae7f552879be13777fea90fa7055e056d309a7
We don't want perfload to run on docs, tox, or test changes, but
because it is based off a very basic job (to avoid weight) there was
no built in irrlevant-files list. This adds one to ensure that the
job only runs on code-related changes.
We need a slightly different list of files from the list used by
integrated gate jobs so do not use the changes made in
Iae26251cb455640fbc74dad326666d2015e7a46c .
Change-Id: I092b5ed19ef51c42a714984127e2fdc91d5c6c70
python3.5 was the only supported python3 version on Xenial. Now that
we have Bionic nodes supporting python3.6 and python3.7, let's also
test with python3.7. Eventually we'd like to remove python 3.5, but not
yet.
See ML discussion here [1] for context.
[1] http://lists.openstack.org/pipermail/openstack-dev/2018-October/135626.html
Change-Id: I78517d8a873ed3d41a8e06b4193fdb677f0705d7
Story: #2004073
Task: #27433
In this job we install placement by hand, based on the
instructions in
https://docs.openstack.org/placement/latest/contributor/quick-dev.html
and run the placeload command against it. This avoids a lot of node
set up time.
* mysql is installed, placement is installed, uwsgi is installed
* the database is synced
* the service started, via uwsgi, which run with 5 processs each
with 25 threads, otherwise writing the resource providers is
very slow and causes errors in placeload. It's an 8 core vm.
* placeload is called
A post.yaml is added to get the generated logs back to zuul.
Change-Id: I93875e3ce1f77fdb237e339b7b3e38abe3dad8f7
This adds the placeload perf output as its own job, using a
very basic devstack set up. It is non-voting. If it reports as
failing it means it was unable to generate the correct number
of resource providers against which to test.
It ought to be possible to do this without devstack, and thus speed
things up, but some more digging in existing zuul playbooks is
needed first, and having some up to date performance info is useful
now.
Change-Id: Ic1a3dc510caf2655eebffa61e03f137cc09cf098
This adds full tempest and grenade runs to placement changes
to ensure placement doesn't break the world. This runs just
py3 jobs to avoid duplication.
The Depends-On are to
* the devstack change which provides an extracted placement.
That change depends on the necessary database and CLI
changes in placement itself.
* addition of grenade-py35 job to the template
* fix to grenade for openstack client + swift under python3
Depends-On: https://review.openstack.org/600162
Depends-On: https://review.openstack.org/617662
Depends-On: https://review.openstack.org/619728
Change-Id: I5ac7c1cdffe2956d3091a6052058068ee1b067da
The api-ref-jobs has been added
since Ia4680f24d78af1260f2f0106a458b78a079c1287.
It includes build-openstack-api-ref jobs in check and gate.
So remove the build-openstack-api-ref job definitions
in .zuul.yaml because they are unnecessary.
Change-Id: I4b612fa87609240bd0a0f838163ee87c45a41a46
Use publish-openstack-docs-pti job instead of
build-openstack-docs-pti job to publish placement documents
as https://docs.openstack.org/placement/latest/ .
Change-Id: I667387ec262680af899a628520c107fa0d4eec24
This will add coverage results to the check results. We don't
necessarily need to care about this, but it is a useful thing
to have and because the tests don't take much time, it's not
very costly.
Change-Id: I1de581dd6921b722d012adfac6181fd7c3f06666
Use templates that run same jobs as they replace to have a "cleaner"
.zuul.yaml file. Sort entries alphabetically.
Change-Id: Ie644b6c8ead6ec7ebe1fa3d10c5256b1aa0d26f9
This patch does pretty much the minimum possible to get `tox -e docs`
building and gating. Much, much more needs to be done to make the
content good.
Also corrects a link in the api-ref which, once these are publishing,
would have pointed to the wrong place.
Change-Id: I5cbc3a3cceeaeaa7be5593658b6a03fa25fb69d0
As placement-api-ref is renamed to api-ref we can use the standard job
for the doc generation. This patch adds a voting api-ref generation job
for both queues
Change-Id: I0d8a2919e6af4bf41385e7d2324cbad72f7f9a7c
We'd like to run tests in py3.6 as well as 3.5 and 2.7. This adds jobs
for doing so. The functional job is new, thus the depends-on.
Depends-On: https://review.openstack.org/599553
Change-Id: Ibd00bdf93c60eae6c1bf686c7f13aaa23bc242d4
In the prior commit pep8 started passing.
In a near future commit these jobs will be switched over to using
templates.
Change-Id: Ide953a393a60ccb3bea41e0936b57c4e3c731c57