Commit Graph

117 Commits

Author SHA1 Message Date
Artem Goncharov b0d98dbba1 Rework zuul config
Current zuul.yaml file is simply way to big to be able to navigate in it
easily. We are going to add some more acceptance jobs which bring quite
big secrets and this will make it even less maintainable.

Split .zuul.yaml into few zuul.d/* entries using Zuul capability to have
few "project" entries and get them merged.

Change-Id: I9c6a85d4d6f1cdfcb5a339bca4293d54d5cf8746
2023-03-31 10:22:38 +02:00
Artem Goncharov 50711b4662 Prepare acceptance tests for real clouds
- reworked job not to use custom modules, but rather send direct API
  requests (due to mess with ensuring openstacksdk availability for
  Ansible).
- add exclude for pre-commit-config to stop it from complaining on
  zuul.yaml
- removed too verbose logging from functests with list of images and
  flavors (on real clouds this is simply too much).

Change-Id: I555127f410b696e1584dc07cafac25597ab1abeb
2023-03-31 09:28:17 +02:00
Artem Goncharov 43ab59d8b3 Implement acceptance test job
Implement acceptance tests. Those jobs will run in the post-review
pipeline requiring access to secrets containing credentials of friendly
public clouds to test sdk with them.
Base job is generating a token from the given credentials and writes
clouds.yaml file with the token inside instead of password. As a post
step the token is physically revoked. This is done to prevent potential
leakage of real credentials from the test jobs/logs.

Since devstack is not a real cloud we do not use zuul secrets.

Change-Id: I95af9b81e6abd51af2a7dd91cae14b56926a869c
2023-03-15 14:49:27 +01:00
Goutham Pacha Ravi 74f8869fd9 Remove "feature/r1" override from manila job
This was cruft left over from the merge of "feature/r1" to
the "master" branch. Currently manila jobs are failing since
a bindep fix [1] that's present in the "master" branch aren't
present in the "feature/r1" branch.

[1] https://review.opendev.org/c/openstack/openstacksdk/+/863839

Change-Id: Iecd6434a8b3eb92180e463f984e7982ed97ad61f
2023-02-15 16:58:46 -08:00
Jakob Meng 9a17781629 Added Ansible OpenStack Collection to Bifrost's job.required-projects
Job bifrost-integration-openstacksdk-src installs the latest code of
openstacksdk's master branch because it has openstacksdk's repo listed
in its job.required-projects. It also has to pull the latest code of
Ansible OpenStack Collection, because Bifrost jobs pin the former to
older releases which is compatible to openstacksdk <0.99.0 only.

Change-Id: I6c674ff968088960ee68e2f6dd187f77e97d0755
2022-10-05 10:57:12 +02:00
Zuul e07522aa4b Merge "Actually use openstacksdk from source in the Bifrost job" 2022-09-14 13:54:35 +00:00
OpenStack Release Bot e1c59b6344 Add Python3 antelope unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I44ee171d1f5a4995c92175320737d5390d1d6b54
2022-09-09 11:21:25 +00:00
Dmitry Tantsur 354903d7dd Actually use openstacksdk from source in the Bifrost job
Depends-On: https://review.opendev.org/c/openstack/bifrost/+/849563
Change-Id: I5bbbb3ffe715331186eb48ffb0640c0e7c3694ce
2022-08-23 16:22:11 +02:00
Artem Goncharov 9eaab818a2 Make nodepool jobs non voting
We ended up in dead loop with Zuul needed to pin older SDK version due
to some found issues, nodepool not able to cope with pin on its own and
sdk not able to merge any fixes for that. Make nodepool jobs non voting
for now unless we get out of problems.

Squash increasing of swap for devstack 
https://review.opendev.org/c/openstack/openstacksdk/+/844010 to get things
rolling

Change-Id: Ie8af2690f309df01022843a6fa934f0c548f32c3
2022-06-02 15:21:19 +00:00
Zuul fa750233bb Merge "Run nodepool job" 2022-04-28 15:04:20 +00:00
Artem Goncharov 358ddcd394 Run nodepool job
The recent changes have broken nodepool's use of openstacksdk.  This
job brings up a cloud environment with devstack, then a nodepool
instance that talks to it.  It then builds an image with dib and
attempts to have nodepool upload, boot and talk to the instance in the
devstack cloud.

The place to see the error in this test is from the nodepool-launcher
container, that is trying to talk to the devstack cloud.  This logfile
is

https://zuul.opendev.org/t/openstack/build/e60e7cd382834a679b22f419947a4c93/log/docker/nodepool_nodepool-launcher_1.txt#10470

The error is

2022-01-25 21:37:18,590 WARNING openstack.resource: The option [maxPersonalitySize] has been deprecated. Please avoid using it.
[e: cf61304adeff45358d97a1b30552125c] [node_request: 900-0000000000] Declining node request due to exception in NodeRequestHandler:
  Traceback (most recent call last):
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/__init__.py", line 660, in run
      self._runHandler()
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/__init__.py", line 566, in _runHandler
      elif not self.hasProviderQuota(self.request.node_types):
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/openstack/handler.py", line 383, in hasProviderQuota
      cloud_quota = self.manager.estimatedNodepoolQuota()
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/utils.py", line 315, in estimatedNodepoolQuota
      nodepool_quota = self.getProviderLimits()
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/openstack/provider.py", line 102, in getProviderLimits
      return QuotaInformation.construct_from_limits(limits)
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/utils.py", line 219, in construct_from_limits
      instances=bound_value(limits.max_total_instances),
    File "/usr/local/lib/python3.9/site-packages/openstack/resource.py", line 641, in __getattribute__
      raise e
    File "/usr/local/lib/python3.9/site-packages/openstack/resource.py", line 630, in __getattribute__
      return object.__getattribute__(self, name)
  AttributeError: 'Limits' object has no attribute 'max_total_instances'

Since nodepool just keeps trying to talk to the cloud and start an
instance that never appears, the job ends up timing out.

We have had some discussion over this @

 https://meetings.opendev.org/irclogs/%23opendev/%23opendev.2022-01-26.log.html#t2022-01-26T17:06:12

Traditionally we've co-gated these projects as nodepool has had a very
close relationship with shade and now openstacksdk.  For now nodepool
is just testing against released openstacksdk; but the dependent
change reverts this and thus should exibit this issue.

Depends-On: https://review.opendev.org/c/zuul/nodepool/+/826541
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/826924
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/826920

Change-Id: I04050988e97b834ce38b3ed1d67555d7df90b60d
2022-03-16 17:32:16 +00:00
OpenStack Release Bot 53e81c1692 Add Python3 zed unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for zed.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ie75ef94457e1e0ccf70de7f0c05e72d38c8d1e8c
2022-03-04 17:01:27 +00:00
Dr. Jens Harbott 1b479f0b51 Revive legacy job
The job against newton hasn't been running for five years, switch to run
against some oldish, but still supported stable branch.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I89b38cb67deed0a2cdd7ce62c1e3e068de59cec1
2022-01-28 20:34:10 +01:00
Artem Goncharov 0ce0ff092f Merge remote-tracking branch 'origin/master' into feature/r1
Change-Id: I8808a93898c2c51dbba694608bacef26c8be4cc0
2021-12-22 12:28:06 +01:00
Dr. Jens Harbott 4246811205 Keep creating keystone admin endpoint for heat
Heat still depends on an keystone admin endpoint being present although
it has no functional difference anymore from the other endpoints with the
v3 API. Make devstack create one.

Change-Id: Icd786e89aba5b593feee165226010b25f8627efd
(cherry picked from commit 9ed215d444)
2021-11-05 08:20:33 +00:00
Zuul 0948ee52dd Merge "Keep creating keystone admin endpoint for heat" 2021-11-03 22:10:22 +00:00
Dr. Jens Harbott 9ed215d444
Keep creating keystone admin endpoint for heat
Heat still depends on an keystone admin endpoint being present although
it has no functional difference anymore from the other endpoints with the
v3 API. Make devstack create one.

Change-Id: Icd786e89aba5b593feee165226010b25f8627efd
2021-11-03 15:30:48 +01:00
OpenStack Release Bot 6c42203f18 Add Python3 yoga unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for yoga.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Id2e70a6b264f528a083e2dbd136c7df348022a7b
2021-09-10 14:35:15 +00:00
Goutham Pacha Ravi 21795acff6 Add a manila functional check job
This job can be non-voting. Also fix up the functional
tests to use a configurable cloud profile, so we can
set the desired api microversion to be tested.

Change-Id: I952b0590ac571aff220b2285d3dc0b5c5bc99816
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2021-08-26 07:14:47 +00:00
Artem Goncharov e0372b72af Temporarily disable nodepool job
nodepool job is blocking us for quite some time with timeouts. Let us
disable it for now and rather fix issues later (on a separate branch
anyway) rather then continue waiting.

Change-Id: Id76a13b41ffcf6fdaff58ddce6597dc1b1ea347b
2021-07-27 17:44:00 +01:00
Artem Goncharov ccc6478ccb Temporarily disable nodepool job
nodepool job is blocking us for quite some time with timeouts. Let us
disable it for now and rather fix issues later (on a separate branch
anyway) rather then continue waiting.

Change-Id: I4802c37276cc5e9b5ec8930d69205a1e11ea87a0
2021-06-11 16:49:49 +02:00
Dmitry Tantsur 6a237bcc1d Increase RAM for the Ironic CI jobs
And decrease the number of testing VMs since we don't need so many.

Change-Id: I4a49116db8e67329fb1f099b5a3806b07d47e5d4
2021-05-03 15:33:04 +02:00
Zuul 5f892ab13a Merge "Switch to openstack-python3-xena-jobs template" 2021-04-24 10:55:14 +00:00
Artem Goncharov 60ed1fa5e0 Switch to openstack-python3-xena-jobs template
We somehow missed to update the template jobs. Do this now and switch
directly to xena.

Change-Id: I2c6a42d481a533b522198127dc6d318d1d2d3752
2021-04-23 16:28:23 +02:00
Artem Goncharov ad82856bea Drop jobs failing for too long
There are 2 jobs failing for a very long time and nobody taking care of
fixing them. Disable them for now while still keeping job definitions.

Change-Id: I99abe18e3d91d52fc580a3d75146d04ec3de775a
2021-04-23 16:18:57 +02:00
Zuul b6f4485fb5 Merge "Drop lower-constraints job" 2021-04-22 05:36:40 +00:00
wu.shiming d783b5889f Drop lower-constraints job
We facing errors related to the new pip resolver, this
topic was discussed on the ML and QA team proposed to
to test lower-constraints [1].

I propose to drop this job because the complexity and recurring pain needed
to maintain that now exceeds the benefits provided by this mechanismes, and
We need to drop the lower-constraints.txt file as well as the corresponding
tox target

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019390.html

Change-Id: Ib0ef1fadf4fe44f1d6af2f7d542b8af919652501
2021-04-16 15:15:18 +08:00
Artem Goncharov 97ccea4683 Change nodepool job to build CentOS-8-stream (unblock gate)
Due to the recent renaming of the CentOS packages the job is currently
failing and requires fix in the diskimage-builder to be merged and
released. In the long run CentOS-8 as a standalone release is abandoned,
therefore verify building of the stream image instead.

Related-Bug: https://review.opendev.org/c/openstack/diskimage-builder/+/765963

Change-Id: I2aca89ce8bd27e920b0f80a66d6ed22d2277d05a
2020-12-15 16:05:55 +01:00
Riccardo Pittau 256e25e321 Migrate ironic job to focal
Depends-On: https://review.opendev.org/758201
Change-Id: Ife258aa7229afed0099036bb2051be73f695b547
2020-10-29 10:59:58 +00:00
Iury Gregory Melo Ferreira abccf3a6cf Disable dstat on ironic job
Change-Id: I4a7742e5621a3571000b991d49a935d6517cbbe3
2020-10-13 12:05:59 +02:00
Iury Gregory Melo Ferreira 05f79d1d72 Increase IRONIC_VM_SPECS_RAM to avoid KP
In ironic jobs with tinyipa we should be using 512 not 384.

Change-Id: Ifcca4482d4539056bc5112851024812fa92c45a4
2020-09-13 01:01:37 +02:00
Ian Wienand 5db7d5573a Switch nodepool test to containers
The nodepool-functional-container-openstack-siblings builds nodepool
container images (with openstacksdk and other "siblings" of nodepool
from source) and runs the build/boot tests with that.

The container builds of these tools are what OpenDev uses in
production, so this is more practical testing than installing by parts
on a bare Bionic system.  This allows us to remove the job duplication
in nodepool.

Change-Id: I91345ebf509238ca1f800cb595818c023cc56b0d
2020-08-31 10:09:36 +10:00
Lucas Alvares Gomes c9f6b1043d Functional tests to explicitly use ML2/OVS
The Neutron project is changing DevStack to default to the ML2/OVN
mechanism driver by default [0] but, a handful of functinal tests
for openstacksdk is not backend agnostic (see the Story linked with this
patch) and needs to be adapted or skipped when running with ML2/OVN. As
a first step, just to unblock the DevStack gate this patch is explicitly
configuring the functional tests to run against ML2/OVS.

[0] ML2/OVS is and will be still full supported by the community.

Change-Id: I374b03130310e17b01d2b992eebe70658617e297
Story: 2007919
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-07-13 15:40:07 +01:00
Monty Taylor 3ee25df9e7 Drop python3.5 support
Now that we released ussuri, we have a stable release that supports
3.5. That means if needed we can backport changes needed for
zuul and nodepool, so it should be safe to go ahead and drop 3.5
support.

Change-Id: Iaa761cb6f6ab30fa26f6587ac29f11274702e1a3
2020-06-25 07:36:36 -05:00
Slawek Kaplonski b23928b68e Remove neutron-fwaas from the jobs' required project
Neutron-fwaas is going to be deprecated in master branch with [1].

[1] https://review.opendev.org/#/c/735828/

Depends-On: https://review.opendev.org/737731
Change-Id: Ifca2676ef89a81d373e3bebf58c3c25880ed1905
2020-06-24 10:18:08 +00:00
Hervé Beraud 632db25246 Refresh python versions
Introduce support of python 3.8 and move tox and jobs to py38.

jsonschema 3.2.0 [1] support python 3.8

[1] https://github.com/Julian/jsonschema/pull/627

Change-Id: Ibcfa044dd0f3b29fd290559795ea1d98e194e886
2020-05-26 10:36:06 +02:00
Zuul a53edeeaac Merge "Add ansible stable-2.9 job and run 2.8 and 2.9" 2020-04-08 19:32:10 +00:00
Monty Taylor 01bfb89f3e Re-add nodepool functional test
With the requires-python fix landed, we can re-add this test
and wait for it to start passing again.

Change-Id: Ia93a8685f7381e773e1139ca3f804ea354089eb3
2020-03-28 11:05:09 -05:00
Monty Taylor 185e55bd77 Add python-requires entry indicating 3.5 is required
We require 3.5 now but we didn't add the metadata. Add it.

While OpenStack broadly only supports 3.6, openstacksdk
has a wider audience, including nodepool which still uses
3.5. So add the 3.5 unit tests back.

Use lower-constraints for py35 unit tests because the
upper-constraints have versions of things that have
droppped py35 support already.

Depends-On: https://review.opendev.org/#/c/715467/
Change-Id: I680e0bab5ba3af7be5e914ece64c6bd25d1f2191
2020-03-27 12:13:24 -05:00
Monty Taylor 8e5893f0ad Revert "Switch to futurist for concurrency"
This partially reverts commit b6a22e3749.

The addition of futurist as a hard depend broke python2, and at the
same time didn't mark the release as having done so. In looking at the
issue we realized that we don't actually need the hard depend.

Change-Id: I2d874f618f5b3f66d49cd2e964c6e05655f22c0f
2020-03-26 10:50:26 -05:00
Monty Taylor cbda44137d Add ansible stable-2.9 job and run 2.8 and 2.9
We need to run master of openstacksdk against the stable ansible
branches that have openstack modules.

This partially reverts commit 666381d6e4.

We no longer are running jobs against devel of ansible, so we don't
need to do the failure job.

Change-Id: Ic783cfd564001a0bd00182725d26928ae6422c3f
2020-03-24 08:43:10 -05:00
Zuul 7c19b166de Merge "Fail a job for ansible modules with message" 2020-01-28 12:30:32 +00:00
Sagi Shnaidman 666381d6e4 Fail a job for ansible modules with message
In order prevent merging patches to Openstack Ansible modules
via Github fail the CI job that runs there with appropriate
message about movign the code.
Remove all ansible bits
Add a new job from collections to check changes.

Depends-On: https://review.opendev.org/#/c/704332/
Change-Id: Id1aafe59775f7d59ea88e4ac9deef952abbdeda1
2020-01-27 14:42:01 +00:00
Dmitry Tantsur a5368985ac Use the bifrost bionic CI job
The Xenial one is non-functional because of the Python 2 deprecation.

Change-Id: Ia11ffcf309786edb67c2b53d84795f7a842f85fb
2020-01-22 08:03:22 +01:00
Monty Taylor 94585b8114 Switch stable ansible job to 2.8
Ansible 2.6 is EOL. Run tests with 2.8.

Change-Id: I9695af073a855dd0284fc5e8161df79db09cf313
2019-12-16 11:00:36 -05:00
Monty Taylor 3bebbd385b Remove extra python2 test jobs
Once these are not used elsewhere we can remove them here.

Change-Id: I1e3ec3a39a43f08bd932312a6dd4616f8a973b36
2019-12-16 11:00:36 -05:00
Monty Taylor e9107c190b Stop supporting python2
We're peeling python2 from libraries now, so Stop running python2
versions of test jobs. Leaving removing the test jobs themselves
for the moment as they're still used in other repos.

Change-Id: Ic6d56e3636b757201d83649f075005ed3ae1e1a6
2019-12-16 11:00:22 -05:00
Monty Taylor 57308719f0 Remove python2 from project-template
We're unwinding python2 testing. As part of doing that, remove
python2 from our zuul project-template which other people are
using to add tips jobs to their project.

Change-Id: I7d4b3f54cfd09d6a39b707f4a9a0bf4b2b9bca69
2019-12-15 10:18:21 -05:00
Sagi Shnaidman fc0465ce75 Remove duplicate job definition
Change-Id: I38f45664e9d9027c8a25f6a2a215169ef39606ff
2019-12-09 20:22:54 +02:00
Zuul c71c555f14 Merge "CI: add ironic-python-agent-builder to the ironic job" 2019-10-28 19:57:58 +00:00