Commit Graph

76 Commits

Author SHA1 Message Date
Zuul
8c2dd6166f Merge "Change nova-next tempest test regex" 2019-02-15 02:05:43 +00:00
Zuul
7e3ad4eec6 Merge "Change nova-next job to run with python3" 2019-02-13 18:52:58 +00:00
Matt Riedemann
e209fc5ed0 Change nova-next tempest test regex
Before this change, nova-next ran the same tests
as the tempest-full job which was all non-slow API
and scenario tests.

To avoid running redundant tests on the same nova
change, this patch changes the tempest run regex
to run only compute API tests along with all
scenario tests and includes slow tests (by not
excluding them like tempest-full does).

By removing the non-compute API tests we should
still be able to keep this job running in a reasonable
time even though the slow tests are added.

As discussed in https://review.openstack.org/606978/,
test_volume_swap_with_multiattach will be run again
with this change since it otherwise won't run in
tempest-slow since that is a multi-node job and the
test was blocked from running in multi-node jobs until
bug 1807723 is fixed. In other words, this gives us
volume multi-attach testing of swap volumes again since
nova-next is a single-node job.

Change-Id: Icbc06849dfcc9f41c7aaf7de109e036a993de7c7
2019-02-13 08:22:17 -05:00
Zuul
0bed18ffbb Merge "Fix legacy-grenade-dsvm-neutron-multinode-live-migration" 2019-02-12 23:08:43 +00:00
Zuul
782d742e60 Merge "Drop nova-multiattach job" 2019-02-09 22:46:34 +00:00
Matt Riedemann
f2db43d57a Fix legacy-grenade-dsvm-neutron-multinode-live-migration
Since change I81301eeecc7669a169deeb1e2c5d298a595aab94 in
devstack, nova-cpu.conf is a copy of nova.conf minus
database access. Grenade jobs also run nova-compute with
nova-cpu.conf anyway so we can just drop the conditional
which was otherwise messing up the config file that the
ceph script would write rbd configuration which is why
live block migration tests with ceph were failing.

While in here, the zuul job configuration is updated so
that changes to nova/tests/live_migration/ can be
self-testing.

Change-Id: I902e459093af9b82f9033d58cffcb2a628f5ec39
Closes-Bug: #1813216
2019-02-06 15:44:35 -05:00
Matt Riedemann
e9dd8c0f48 Drop nova-multiattach job
The dependent tempest change enables the volume multiattach
tests in the tempest-full and tempest-slow jobs, on which
nova already gates, which allows us to drop the special
nova-multiattach job which is mostly redundant test coverage
of the other tempest.api.compute.* tests, and allows us to
run one fewer job on nova/cinder/tempest changes in Stein.

The docs are updated to reflect the source of the testing
now.

Also depends on cinder dropping its usage of the nova-multiattach
job before we can drop the job definition from nova.

Depends-On: https://review.openstack.org/606978
Depends-On: https://review.openstack.org/606985
Change-Id: I744afa1df9a6ed8e0eba4310b20c33755ce1ba88
2019-02-05 09:13:02 -05:00
Matt Riedemann
ab72dd4096 Change nova-next job to run with python3
The way of the future is python 3 so it makes sense
that our nova-next job, which is meant to test future
things and advanced configuration, would run under python3.

Change-Id: Ie33efb41de19837b488d175900d9a4666f073bce
2019-02-04 11:36:25 -05:00
Ghanshyam Mann
36efe194fe Switch tempest-slow to be run on python 3
This patch switches tempest-slow to new
tempest-slow-py3 job.

For coverage of tempest-slow tests on py2,
Tempest check pipeline will continue running
this job on check pipeline. As this tempest-slow
job is not from integrated gate template, it is
ok to run only py3 job on project side.

Depends-On: https://review.openstack.org/633983
Change-Id: I614dea09547c8f86f667b1daeb18f69fea7937fb
2019-01-31 11:15:34 +00:00
Iury Gregory Melo Ferreira
ef06819b19 Rename Ironic jobs
-remove dsvm from the name of the jobs to match zuulv3 pattern
-ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
is now ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode

Depends-On: https://review.openstack.org/#/c/629173/
Change-Id: I2a394bc5a3ee94befcce71120e39464370b88455
2019-01-09 15:26:37 +01:00
Matt Riedemann
f54b43c8b9 Run nova-lvm job on nova/privsep/* changes
As seen from bug 1808247, there is something about
the [libvirt]/image_type=lvm configuration that
tickles privsep in ways that our normal integrated
gate jobs don't, so this adds nova/privsep/* to the
whitelist of files to trigger the nova-lvm job.

Change-Id: I18f749e6089f776fcca386daea0e479b5382a44b
Related-Bug: #1808247
2019-01-03 17:21:22 -05:00
Zuul
1dc94d51c5 Merge "Use renamed template 'integrated-gate-py3'" 2018-12-22 01:43:50 +00:00
Zuul
1d8fc8e5ac Merge "Add irrelevant-files for grenade-py3 jobs" 2018-12-21 11:52:05 +00:00
ghanshyam
a6a5dce78c Use renamed template 'integrated-gate-py3'
'integrated-gate-py35' template is going to be
renamed to 'integrated-gate-py3' in https://review.openstack.org/#/c/626078/

Integrated jobs are running on Bionic now where python 3.6 is available.
Which means gate jobs in 'integrated-gate-py35' template are
running on python 3.6 not on 3.5 which makes this template name confusing.

depends on commit rename the 'integrated-gate-py35' to 'integrated-gate-py3'
so that it can convey that template will use available python 3 version
in used distro. For example: 3.5 in xenial and 3.6 in bionic and so on.

This commit starts using the new template name so that old
template name can be removed.

Depends-On: https://review.openstack.org/#/c/626078/
Change-Id: I7f2bc476d0be7994feef781cb254c8b0c53b8b5b
2018-12-19 04:34:36 +00:00
Zuul
22b15df551 Merge "Add py36/py37 functional jobs to the experimental queue" 2018-12-17 17:39:07 +00:00
Zuul
2cf77492ff Merge "Add python 3.7 unit and functional tox jobs" 2018-12-17 16:36:04 +00:00
Matt Riedemann
a4fccaeb29 Add py36/py37 functional jobs to the experimental queue
Change-Id: I2afc65ea0f19a416a878139e238d54287b4b51c4
2018-12-13 10:41:46 -05:00
Chris Dent
2ea552e019 Add python 3.7 unit and functional tox jobs
Without these, if you try to run tox -epy37,functional-py37 you'll
get a successful tox run, but no actual tests are run, which is
rather misleading. Given the generaly availability of python 3.7
this is a bad thing.

Running the tests under python 3.7 identified a few minor tests
failures, also fixed here. Each is a result of a change in behavior in
python 3.7:

* printable unicode changes with a new Unicode 11-based unicodedata
  package
* intentionally raising StopIteration in a generator is now considered a
  RuntimeError, 'return' should be used instead
* an exception message is different beween python 3 and python 2, and the
  guard for it was mapping python 3.5 and 3.6 but not 3.7.

zuul configuration is adjusted to add an experimental job for python 3.7
unit. A functional test job is not added, because we don't have 3.6 yet,
and we probably want to get through that first.

Closes-Bug: #1807976
Closes-Bug: #1807970
Change-Id: I37779a12d3b36eb3dc7e2733d07fe0ed23ab3da6
2018-12-13 10:41:46 -05:00
Ghanshyan Mann
5565dd3636 Add irrelevant-files for grenade-py3 jobs
grenade-py3 job is part of integrated-gate-py35
template now[1]

Adding corresponding irrelevant-files for grenade-py3
also same as for other integrated jobs to avoid
running it on test etc only changes
Example- https://review.openstack.org/#/c/576712/

[1] http://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/zuul.d/project-templates.yaml#n1397

Change-Id: I80580449198698edb9a90f2e3df42f225d7deb51
2018-12-13 22:39:35 +09:00
Chris Dent
787bb33606 Use external placement in functional tests
Adjust the fixtures used by the functional tests so they
use placement database and web fixtures defined by placement
code. To avoid making redundant changes, the solely placement-
related unit and functional tests are removed, but the placement
code itself is not (yet).

openstack-placement is required by the functional tests. It is not
added to test-requirements as we do not want unit tests to depend
on placement in any way, and we enforce this by not having placement
in the test env.

The concept of tox-siblings is used to ensure that the
placement requirement will be satisfied correctly if there is a
depends-on. To make this happen, the functional jobs defined in
.zuul.yaml are updated to require openstack/placement.

tox.ini has to be updated to use a envdir that is the same
name as job. Otherwise the tox siblings role in ansible cannot work.

The handling of the placement fixtures is moved out of nova/test.py
into the functional tests that actually use it because we do not
want unit tests (which get the base test class out of test.py) to
have anything to do with placement. This requires adjusting some
test files to use absolute import.

Similarly, a test of the comparison function for the api samples tests
is moved into functional, because it depends on placement functionality,

TestUpgradeCheckResourceProviders in unit.cmd.test_status is moved into
a new test file: nova/tests/functional/test_nova_status.py. This is done
because it requires the PlacementFixture, which is only available to
functional tests. A MonkeyPatch is required in the test to make sure that
the right context managers are used at the right time in the command
itself (otherwise some tables do no exist). In the test itself, to avoid
speaking directly to the placement database, which would require
manipulating the RequestContext objects, resource providers are now
created over the API.

Co-Authored-By: Balazs Gibizer <balazs.gibizer@ericsson.com>
Change-Id: Idaed39629095f86d24a54334c699a26c218c6593
2018-12-12 18:46:49 +00:00
Zuul
2c7aa78980 Merge "Move nova-cells-v1 to experimental queue" 2018-12-11 01:23:35 +00:00
Matt Riedemann
e02fbb53d5 Move nova-cells-v1 to experimental queue
Cells v1 has been deprecated since Pike. CERN
has been running with cells v2 since Queens.
The cells v1 job used to be the only thing that
ran with nova-network, but we switched the job
to use neutron in Rocky:

  I9de6b710baffdffcd1d7ab19897d5776ef27ae7e

The cells v1 job also suffers from intermittent
test failures, like with snapshot tests.

Given the deprecated nature of cells v1 we should
just move it to the experimental queue so that it
can be run on-demand if desired but does not gate
on all nova changes, thus further moving along its
eventual removal.

This change also updates the cells v1 status doc
and adds some documentation about the different
job queues that nova uses for integration testing.

Change-Id: I74985f1946fffd0ae4d38604696d0d4656b6bf4e
Closes-Bug: #1807407
2018-12-07 10:59:37 -05:00
Takashi NATSUME
311110e81b Remove Placement API reference
The placement project has published the API reference
in its own repository and the related jobs for the nova project
has been removed since Ia4680f24d78af1260f2f0106a458b78a079c1287.

So remove the files and definitions related to
the placement API reference in the nova repository.

Change-Id: Ia43b958a28e7e763e7ecb29e06f8d21d2b9a850f
2018-11-28 03:38:41 +00:00
Matt Riedemann
8327011f91 Add post-test hook for testing evacuate
This adds a post-test bash script to test evacuate
in a multinode job.

This performs two tests:

1. A negative test where we inject a fault by stopping
   libvirt prior to the evacuation and wait for the
   server to go to ERROR status.

2. A positive where we restart libvirt, wait for the
   compute service to be enabled and then evacuate
   the server and wait for it to be ACTIVE.

For now we hack this into the nova-live-migration
job, but it should probably live in a different job
long-term.

Change-Id: I9b7c9ad6b0ab167ba4583681efbbce4b18941178
2018-10-25 16:15:56 -04:00
Zuul
8b627fe68c Merge "Remove the CachingScheduler" 2018-10-25 13:22:53 +00:00
Zuul
7701eefb81 Merge "Rename tempest-nova job to follow conventions" 2018-10-23 11:08:25 +00:00
Zuul
55405ef31e Merge "Convert legacy-tempest-dsvm-neutron-src-oslo.versionedobjects job" 2018-10-23 08:29:39 +00:00
Zuul
f97c1ad1e3 Merge "Remove duplicate legacy-tempest-dsvm-multinode-full job" 2018-10-23 02:24:52 +00:00
Zuul
b9dc5cc1a1 Merge "Zuul: Update barbican experimental job" 2018-10-23 01:37:28 +00:00
Andreas Jaeger
8718c9718f Rename tempest-nova job to follow conventions
Follow the naming conventions from
https://docs.openstack.org/infra/manual/drivers.html#consistent-naming-for-jobs-with-zuul-v3
- a job defined in nova repo needs to start with nova, not tempest.

Thus rename tempest-nova to nova-tempest.

Change-Id: I457c9993d1af8b01503c9d4c61caff6f26951f52
2018-10-22 06:06:55 +02:00
Andreas Jaeger
2cb74d32dd Convert legacy-tempest-dsvm-neutron-src-oslo.versionedobjects job
Migrate experimental job legacy-tempest-dsvm-neutron-src-oslo.versionedobjects
to Zuul v3 native. We can just use the tempest-full job here, adding
required-projects will automatically check out the library from source
instead of installing it from pip.

Since this is the only user of the legacy job, define the job in the
nova repository.

Change-Id: I51155755a565a9a38084906a57407e87083fb362
2018-10-22 06:06:19 +02:00
Zuul
d7e76f8cad Merge "Migrate nova v2.0 legacy job to zuulv3" 2018-10-19 08:19:45 +00:00
Matt Riedemann
25dadb94db Remove the CachingScheduler
The CachingScheduler has been deprecated since Pike [1].
It does not use the placement service and as more of nova
relies on placement for managing resource allocations,
maintaining compabitility for the CachingScheduler is
exorbitant.

The release note in this change goes into much more detail
about why the FilterScheduler + Placement should be a
sufficient replacement for the original justification
for the CachingScheduler along with details on how to migrate
from the CachingScheduler to the FilterScheduler.

Since the [scheduler]/driver configuration option does allow
loading out-of-tree drivers and the scheduler driver interface
does have the USES_ALLOCATION_CANDIDATES variable, it is
possible that there are drivers being used which are also not
using the placement service. The release note also explains this
but warns against it. However, as a result some existing
functional tests, which were using the CachingScheduler, are
updated to still test scheduling without allocations being
created in the placement service.

Over time we will likely remove the USES_ALLOCATION_CANDIDATES
variable in the scheduler driver interface along with the
compatibility code associated with it, but that is left for
a later change.

[1] Ia7ff98ff28b7265058845e46b277317a2bfc96d2

Change-Id: I1832da2190be5ef2b04953938860a56a43e8cddf
2018-10-18 17:55:36 -04:00
ghanshyam
0e14434dbc Remove duplicate legacy-tempest-dsvm-multinode-full job
Experimental job 'legacy-tempest-dsvm-multinode-full'
is duplicate of 'tempest-multinode-full' job which is running
in check pipeline as n-v job.

This commit remove the legacy duplicate job from experimental pipeline.

Change-Id: Id4f51ae3125d6c8e3fa66244673c55693234da5c
2018-10-16 10:46:08 +00:00
ghanshyam
f7a4ba969a Migrate nova v2.0 legacy job to zuulv3
This commit migrate the legacy-tempest-dsvm-nova-v20-api
job to zullv3 native with new job - tempest-nova-v2-api

Change-Id: I6915b7deca20eabb88c231b287586c64cdcf3646
2018-10-15 03:01:10 +00:00
Andreas Jaeger
9eeee27cfa Zuul: Update barbican experimental job
Barbican has now in-tree Zuul v3 native jobs, use
barbican-simple-crypto-devstack-tempest instead of the legacy job.

Change-Id: I9c907a1650b0f24aa39422251c281b2a56dc50cd
2018-10-12 20:53:30 +02:00
Andreas Jaeger
01a08a8cba Use tempest-pg-full
The legacy job legacy-tempest-dsvm-neutron-pg-full is now named
tempest-pg-full - using the new tempest and Zuul v3 frameworks.

Change experimental job to use new job.

Change-Id: I10865188e4a43b2399f647124dfff8ade40b875c
Depends-On: https://review.openstack.org/609530
2018-10-12 10:07:19 +02:00
Andreas Jaeger
ad2ed8b149 Replace openSUSE experimental check with newer version
We're migrating now to openSUSE 15.0 (yes, 15.0 is newer than 42.3),
remove legacy job and replace with native Zuul v3 job running python3.

Change-Id: Ib0b49fead613d06001df348831c022edfe8d0fd1
Depends-On: https://review.openstack.org/609359
2018-10-10 18:00:48 +02:00
Matt Riedemann
75c81b1cd5 Remove redundant irrelevant-files from neutron-tempest-linuxbridge
Since we only run the job on nova/networking and libvirt/vif changes
we can drop the redundant filters for other irrelevant files.

Change-Id: I4f07d957cf6f1fbff49c32ccec95496a105ff5d4
2018-10-01 11:54:28 -04:00
Matt Riedemann
9de4c1befc Fix neutron-tempest-linuxbridge irrelevant-files
Change Ibce77d3442e21bbd5f5ce379c203542f1f31ce9e regressed
the irrelevant-files section of the neutron-tempest-linuxbridge
job which makes it run on all code changes to nova. When we
added the job to nova's check queue runs, we specifically
wanted to minimize its use to only changes in the nova/network
and libvirt/vif modules. This fixes the regression by putting
back the old irrelevant-files for that job and leaving a note
for future reviewers.

Change-Id: I00ec0282fce1a05fd314fd34bf429416a3cc9ace
2018-09-29 16:21:58 -04:00
ghanshyam
e18ed6b00c Follow devstack-plugin-ceph job rename
The devstack-plugin-ceph jobs have migrated to zuul v3
& in-repo and renamed[1], this commit use the new job.

Patch removing old job from openstack-infra/openstack-zuul-jobs[2]
[1] https://review.openstack.org/543048
[2] https://review.openstack.org/#/c/601316/

Change-Id: Ib3c71593a9fad48eb86ccc4f5c0209fbef89edb9
2018-09-12 11:38:11 +00:00
Andreas Jaeger
2785cc791e Cleanup zuul.yaml
Couple of cleanups:
* Use openstack-lower-constraints-template, remove jobs that are part
  of templates.
* Use openstack-tox-cover template, this runs the cover job
  in the check queue only. Remove post job.
* Sort list of jobs and templates
* Use dsvm-irrelevant-files for newly imported jobs

Change-Id: Ibce77d3442e21bbd5f5ce379c203542f1f31ce9e
2018-09-11 06:46:54 +02:00
Doug Hellmann
42975e623b add python 3.6 unit test job
This is a mechanically generated patch to add a unit test job running
under Python 3.6 as part of the python3-first goal.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: If2587dbbbdc88ab01d1fb16ab6b5efe446453957
Story: #2002586
Task: #24315
2018-09-10 21:55:48 +02:00
Doug Hellmann
b3dadd23e4 switch documentation job to new PTI
This is a mechanically generated patch to switch the documentation
jobs to use the new PTI versions of the jobs as part of the
python3-first goal.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: I102d40d5897a4f0963dffe6d4c25186c057fa856
Story: #2002586
Task: #24315
2018-09-10 21:55:48 +02:00
Doug Hellmann
05ab017907 import zuul job settings from project-config
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.

Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.

Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: Id44018e3c19d96f5f2dd104d0ed4d85973cd84e8
Story: #2002586
Task: #24315
2018-09-10 21:55:44 +02:00
Zuul
7ebbca1b22 Merge "Add tempest-slow job to run the tempest slow tests" 2018-08-08 23:57:20 +00:00
ghanshyam
65cdcf4aaa Define irrelevant-files for tempest-full-py3 job
tempest-full-py3 job runs on nova check and gate pipeline
as part of 'integrated-gate-py35' template.

Unlike tempest-full or other job, nova job definition list on
project-config side[1] does not define the irrelevant-files for
tempest-full-py job which leads to run this job on doc/test file
only change also.

This commit defines the irrelevant-files for tempest-full-py3 on
nova's zuul.yaml.

Closes-Bug: #1785425

[1] 57907fbf04/zuul.d/projects.yaml (L9283)

Change-Id: I887177c078a53c53e84289a6b134d7ea357dfbef
2018-08-06 15:05:52 +00:00
Matt Riedemann
f6390f71ff Add tempest-slow job to run the tempest slow tests
By default, tempest-full jobs don't run the "slow" tests
which test useful things like encrypted volumes, swap
volume, etc. The slow tests aren't part of the default
tempest run since they can be, well, slow.

Tempest has tempest-slow job now which run all the slow
tagged tests.[1]

Detailed discussion on ML[2].

[1] http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n146
[2] http://lists.openstack.org/pipermail/openstack-dev/2018-May/130394.html

Change-Id: I5cb829beebcc59de682cba927f5b01793ec70d00
2018-08-06 07:59:03 +00:00
Zuul
07f2fae3e1 Merge "Define common variables for irrelevant-files" 2018-08-01 09:33:51 +00:00
Andreas Jaeger
2d37336b21 Move legacy-tempest-dsvm-nova-os-vif in repo
change https://review.openstack.org/559401 moved
legacy-tempest-dsvm-nova-os-vif to os-vif repo and renamed it to
os-vif-ovs. Move the job from project-config set up to nova, it was
in experimental queue there.

Needed-By: https://review.openstack.org/583024
Change-Id: I86a9863fe3a6a9e132bf451d57349c08e4328ed4
2018-07-16 21:14:20 +02:00