Commit Graph

74 Commits

Author SHA1 Message Date
Sharpz7 b7d8446de7 [codespell] Adding CI target for Tox Codespell
Third in a series of commits to add Codespell to Ironic Repos. This commit adds the Tox Target to CI

A future commit could potentially add a git-blame-ignore-revs file if their are lots of spelling mistakes that could clutter git blame.

Change-Id: Ic7afcf11342e9a33d7fb76128a0c9746ab879dca
2024-01-26 04:26:38 +00:00
Julia Kreger b3a79fa0c3 CI: Ask ironic devstack to set node owner
The metalsmith CI job yaml documents contain a default OS_CLOUD,
which is fine, until Ironic sets the new Secure RBAC model to
enforcing by default. At which time, metalsmith jobs are not able
to see or modify nodes they previously could running as a project
scoped admin.

Executing the job as a project scoped admin is fine. The challenge
is the user's project needs to be granted access to see and use
the baremetal ndoe.

And so, to do this, we'll utilize a flag being added to ironic's
devstack script to trigger the node to be configured with an owner
which will allow metalsmith's requests to be serviced (in that the
baremetal node *will* be visible, and can be scheduled upon).

Change-Id: I5248894c824381f4a283b2746102df04962f20b0
2024-01-08 08:57:13 -08:00
Riccardo Pittau 968c9a0608 Remove CentOS Stream 8 jobs
They've been supersided by CS9 jobs

Change-Id: I7382a2868d911c2f7944cbf63ce549d9cec9450c
2023-08-28 15:39:26 +02:00
Riccardo Pittau a3b966de02 Add a CentOS Stream 9 bios job
We should replace the old CentOS 8 job

Change-Id: I56a0473ecbff8ab8fc143954d3c493037765cdf1
2023-08-24 11:10:14 +02:00
Zuul 8812991c56 Merge "Use jammy nodes to run CI jobs" 2023-08-22 09:00:42 +00:00
Riccardo Pittau b63793d34e Use jammy nodes to run CI jobs
This is long due

Change-Id: I9c7fda2fb82c496a9154afd84766cd1989614e52
2023-08-21 16:32:14 +02:00
Riccardo Pittau 97b95f1686 Add centos9 based job
And make centos8 jobs non voting

Change-Id: I0002a53f6e2c3582b6de33d8c3e71101ff474196
2023-08-18 15:04:34 +00:00
Julia Kreger 1a8ec3d05c Reduce retry timeout for Metalsmith CI
Change-Id: I15404a130ca9c6508dca345c3169a0587a651274
2023-05-19 09:16:27 -07:00
Riccardo Pittau a5fffb9242 Remove not used old job
Noone uses it anymore

Change-Id: Ic886d7ec56e94c7424f3a8fc50de117e420e279c
2023-01-05 13:18:08 +01:00
Steve Baker f988377a6a Revert "CI: Force ansible to version 5"
This reverts commit 523cc1d49a.

Change-Id: I4576ec5a623d053a4aa5505e27996c081273d8dd
2022-10-11 14:33:15 +00:00
Jay Faulkner 523cc1d49a CI: Force ansible to version 5
Default ansible version was changed in CI; this change is to validate
and workaround the issue by forcing the older ansible version. We will
still need to update the version before Zuul support for 5 is removed.

Change-Id: I3119055467a4edfdb13c522ce1c81d2f7eb3588d
2022-10-10 13:19:18 -07:00
OpenStack Release Bot cc8fe24d40 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: I81af7f55703046e349c3b7c4bffcf6c6cadb472d
2022-09-08 07:52:30 +00:00
Dmitry Tantsur 77d802f3d6 Deprecate instance network boot
Remove or update the corresponding CI jobs. Use the new custom Cirros
image in the HTTP job to avoid relying on CentOS.

Temporary increase complexity requirements while we have a deprecation
warning in the provisioner.

Change-Id: I5e65f9949ee3b78430309017800b88c1ba21dd02
2022-08-24 13:19:52 +02:00
Riccardo Pittau f234b87bbb Add linters job
Fix lint errors to unblock CI

Change-Id: I02c1d7cc9f2f91e76d1b3edbc340df7ea83d2902
2022-07-12 10:05:31 +02:00
Julia Kreger 98c4c96c33 CI: Extend timeouts for RAX
It appears our jobs end up encountering some performance issues
on some RAX hosts where the overall runtime is already close to
the maximum for the job window.

Ultimately what happens is the performance ends up putting the boot
of the workload VM just a little bit later and we end up failing
the job as the VM is still early in booting up.

Change-Id: I309220d7f61f87b7457668fcf586d4ea152d363b
2022-06-23 09:32:13 -07:00
Dmitry Tantsur a3e205fc05 Add a CentOS job with legacy local boot
When netboot is removed from Ironic, we need a job to cover local boot
in legacy mode. The new job will do it.

Also drop "local" from the job name, it's the default.

Change-Id: I6cad4556d770a733245d12f9a211e8ff7a3d884b
2022-05-16 18:16:26 +02:00
OpenStack Release Bot d06a066813 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: I3757f2ffe3fc521bb1b61512a7228da9d8a69f65
2022-03-07 14:07:55 +00:00
Julia Kreger 347c354d8d CI: Extend metalsmith CI job timeout
Metalsmith has always been a fairly long running job, in part
because it hast to build images, and then deploy them.

It appears, we are seeing increased occurances of the job
timing out due to what appears to be just slightly slower IO
performance. Overall major steps are still executing in an
acceptable amount of time, just towards the further end of
what we typically expect to see in CI.

As such, extend the overall job timeout a little bit to give
it time to hopefully finish. Extends the job timeout 1000 seconds,
which is a bit over sixteen more minutes to allow the job to
complete cleaning.

Change-Id: I5c7928e341ffcbc94f1beb8a33a8d10d89bae8a7
2021-12-09 08:38:19 -08:00
Riccardo Pittau 6c830e048f Use only Yoga tests
TC has decided to keep support for Python 3.6 during the Yoga cycle.
For more info see [1]

[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-December/026164.html

Change-Id: I8e1bd9abcfd91d2230fe33dda781afee22b27fc2
2021-12-03 08:55:57 +01:00
Riccardo Pittau 4a08c3693a Test python 3.6 for distributions compatibility
As discussed during the ironic meeting on 29/11/2021, the community has
decided to continue testing the code against Python 3.6 to keep
compatibility with distributions that have native support for it, such
as CentOS Stream 8, Ubuntu Bionic, Debian 10, and openSuse Leap, at
least until it's possible and reasonable considering the support granted
from other dependencies and libraries, and not beyond the Yoga cycle.

Change-Id: I7f060e816bf91636e5d3890ee8d076574c2ab474
2021-11-30 10:51:09 +01:00
Julia Kreger 7268987813 CI: remove old centos7 job
Depends-On: https://review.opendev.org/c/openstack/ironic-python-agent/+/817472
Change-Id: Idf65adf1364808f57e34d980ea18268626b03262
2021-11-10 11:36:21 -08:00
Riccardo Pittau ab69212fe7 Set explicit boot mode to bios for legacy job
The default boot mode for ironic is now uefi [1]
The legacy jobs should set IRONIC_BOOT_MODE explicitely to bios.

[1] 493b4f0caf

Change-Id: If5c8feb3a829eaff56519846de3e5ccd6bab24c4
2021-10-11 14:46:57 +02:00
OpenStack Release Bot 56cf1fe6f3 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: I90f7a3a50953345db8c288d7ef1a0769801341f7
2021-09-10 14:32:04 +00:00
Julia Kreger e1e6cc367d Set glance limit for baremetal friendly images
The devstack default limit enforcement for glance defaults
to 1GB, and unfortunately this is too small for many to use
larger images such as centos which includes hardware firmware
images for execution on baremetal where drivers need the vendor
blobs in order to load/run.

Sets metalsmith-integration-base to 5GB.

Depends-On: https://review.opendev.org/c/openstack/devstack/+/801309
Change-Id: If3f7cd61ebce5f1724fe4fa56a9bf0e9793d8485
2021-07-19 10:35:30 -07:00
Dmitry Tantsur 048ddb5744 Stop testing the iscsi deploy interface
Change-Id: I8bb6a7c5ca0b8e8092f24eb5fdf6247619fb12dc
2021-04-30 17:21:15 +02:00
OpenStack Release Bot 8cd0f73a49 Add Python3 xena unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for xena.

See also the PTI in governance [1].

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

Change-Id: Idf9bab2536a6dc3f628c33c7ac2d1b5dc19bc256
2021-03-18 10:23:47 +00:00
Julia Kreger 338d798018 Change metalsmith to centos8+uefi job by default
Change-Id: I6615be99cfde4e570514d217ad6af8812f18fc0a
2021-02-02 06:54:15 -08:00
Riccardo Pittau 33c7e7feed Remove lower-constraints job
As discussed during the upstream ironic community meeting on
Monday Dec 14 2020, the lower-constraints job is being removed.

Change-Id: I52ccba571669253010c6c12ede722ce314d9c12b
2020-12-15 18:35:10 +01:00
Zuul 1c06881c32 Merge "Add a Centos8 UEFI based job" 2020-10-31 00:24:11 +00:00
Julia Kreger caf1a4f5ba Add a Centos8 UEFI based job
Turns out we seem to be using bios boot with all of the metalsmith
jobs, but we need to further test UEFI and ensure that we cover
uefi and partition/wholedisk code in the ramdisk... and these
jobs are actually not bad for this purpose.

Since we ultimately want to replace the centos7 job, but centos8.2
has some incompatabilities with our IPA image and bootloader
installation process with partition images, we need to resolve
those issues before making this job voting OR replacing the
centos7 job.

Change-Id: Ibe6c543179c811c3ef43feca173a4e744c7f5671
2020-10-29 12:45:22 +00:00
Zuul b5324ac3f1 Merge "CI: Extend job timeout slightly for metalsmith jobs" 2020-10-08 21:24:10 +00:00
Steve Baker 4de7115247 Handle out-of-tree openstack module_utils
ansible.module_utils.openstack will exist during ansible runtime due
to ansible's runtime package renaming of module_utils. However with
ansible-2.10 the openstack collection[1] is no longer in the ansible
tree, so the unit tests will fail due to the missing package.

This change works around this by handling import failure and adding a
check in main() to fail if the openstack module_utils is not
available.

The unit tests deliberately don't test main() to avoid dealing with
ansible internals.

NOTE: Also explicitly enables the iscsi deployment interface as it has
been deprecated and is no longer enabled by default.

[1] https://opendev.org/openstack/ansible-collections-openstack

Change-Id: I2d03696d673e74f0d4e6609532a8add1c0725f91
2020-10-02 07:25:46 -07:00
Julia Kreger 9ab8994606 CI: Extend job timeout slightly for metalsmith jobs
Change-Id: I9b32464d5aa1fe50cc7ae12295982ef44be19fc0
2020-10-02 07:11:45 -07:00
Zuul 7aaa604749 Merge "Change metalsmith nodeset to Focal" 2020-09-18 11:55:05 +00:00
Zuul 88a6a5b28b Merge "Rework jobs so failed devstack does not retry the job" 2020-09-18 11:55:04 +00:00
Julia Kreger e375251c94 Change metalsmith nodeset to Focal
By default, metalsmith jobs relied upon the devstack
default which would pull in bionic, but as we want to
test UEFI soon, we need to have focal jobs for the working
uefi driver PXE network stack.

Also disables dstat as we don't presently use it and it seems
broken on focal. :\

Change-Id: I411e2bc9c15ee4fb77fba980e1924823fe16ba3f
2020-09-09 18:35:24 +00:00
Julia Kreger e0ed4d2dee Rework jobs so failed devstack does not retry the job
Per clarkb, should any step in pre.yaml fail, zuul presently retries
the entire job up to the built in retry limit which cannot be changed
or disabled on a job basis. In the terms of setting up devstack, this
is not ideal as devstack is not perfect and can often fail for unrelated
reasons such as package mirrors being updated or even another project
or component failing to setup properly.

As such, in order to be good neighbors and minimize the amount of
time it takes to troubleshoot such issues, we need to move the
devstack setup into the main part of the CI job.

Change-Id: I08d6f3132ebc045ba7e2d1295efe39af7c57187c
2020-09-09 11:32:51 -07:00
OpenStack Release Bot 0bd4b6a657 Add Python3 wallaby unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for wallaby.

See also the PTI in governance [1].

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

Change-Id: I1db3bc878724df2a30f0a01ca361faf03b331ef7
2020-09-04 13:04:57 +00:00
Lucas Alvares Gomes 940d2cfa07 Explicitly set jobs to ML2/OVS
Devstack is changing the Neutron default to OVN backend. This patch is
to make sure Ironic (and related projects) gate will not get broken by
this change as currently OVN doesn't support baremetal nodes.

Change-Id: Ib4e1624ef03f4dc73db435bb12bdd9f687dd3c02
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-09-01 16:35:15 +01:00
Dmitry Tantsur ef40180e82 CI: use the direct deploy by default
Change-Id: I9d941bfb096c3b61ab4eab446289faf68ee589b2
2020-08-24 14:18:44 +02:00
Lucas Alvares Gomes ea6d4e6265 Metalsmith to use DevStack's neutron"-legacy" module
In the last PTG the Neutron team discussed and decided to undeprecate
the neutron-legacy module in DevStack because that's the module being
used (almost) everywhere and it works. The lib/neutron was an attempt
to refactor the old module but, in the last few years it hasn't gained
any traction and due to the lack of features and people to work on it,
it's going to be removed from DevStack eventually.

Below is a snippet from the PTG summary email [0] about this topic:

<snippet>
In Devstack there are currently 2 modules which can configure
Neutron. Old one called "lib/neutron-legacy" and the new one called
"lib/neutron". It is like that since many cycles that
"lib/neutron-legacy"
is deprecated. But it is still used everywhwere. New module isn't still
finished and isn't working fine.  This is very confusing for users as
really maintained and recommended is still "lib/neutron-legacy" module.

During the discussion Sean Collins explained us that originally this
new module was created as an attempt to refactor old module, and to
make Neutron in the Devstack better to maintain. But now we see that
this process failed as new module isn't still used and we don't have
any cycles to work on it. So our final conclusion is to "undeprecate"
old "lib/neutron-legacy" and get rid of the new module.
</snippet>

This patch changes the Metalsmith jobs to use the old Neutron module in
DevStack.

[0]
http://lists.openstack.org/pipermail/openstack-discuss/2020-June/015368.html
[1]
http://codesearch.openstack.org/?q=neutron-api%3A%20true&i=nope&files=&repos=

Change-Id: I5a72455729d93b32df11ede7713b16045a395aee
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-07-16 15:59:17 +01:00
Riccardo Pittau 72072cd509 Remove ussuri jobs in favor of victoria
Change-Id: I66d821f3ebaa13c6a5511625a36803ced05b47b9
2020-06-26 14:53:56 +02:00
Iury Gregory Melo Ferreira 8c3f6469db Avoid running functional jobs for non-code changes
We don't need to run functional jobs there is no code change.

Change-Id: I8971068e3fa33d75004e60d036b3c51de480ca3d
2020-06-02 12:11:35 +02:00
Dmitry Tantsur f689cfaf93 CI: increase the swift loopback disk size for the CentOS job
The default size for the swift backend disk is just 2G, we're very
close to running out of space there. Use 4G instead.

Change-Id: If3247aa1d207e0a918e0fcb745f8d78adbfb16e2
2020-04-02 14:19:04 +02:00
Dmitry Tantsur 777ca793c0 Be moderate about disk space in the CI
We're close to the limit on some testing nodes, so, while building
a CentOS image:
1) Delete files as soon as we no longer need them.
2) Do not copy kernel/ramdisk unnecessary

Move the libvirt pool for testing VMs to /opt since some testing
nodes have small root partitions.

Also move irrelevant vars out of zuul definitions.

Change-Id: I2a34b19ee823109899dc21031e663a3ea848a5c5
2020-03-18 15:52:56 +01:00
Dmitry Tantsur ca7cf52dd3 CI: stop running peakmem_tracker
Apparently broken in https://review.opendev.org/#/c/561597/

Change-Id: Ib25d61d7e7238b7bceebad022becad71f3c42074
2020-01-22 07:58:14 +01:00
Iury Gregory Melo Ferreira 33871b187b Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

metalsmith 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://review.opendev.org/#/c/691178/

Change-Id: Icf19488a3f230084faaf2ab5ece626b03495592e
2019-11-25 13:33:37 +01:00
Iury Gregory Melo Ferreira 52b777f98e Switch to Ussuri job
Change-Id: I25219288f1e98fee25b0daefc4eaf7471f230608
2019-10-21 16:37:52 +02:00
Dmitry Tantsur 3d24ba8495 Add ironic-python-agent-builder to required-projects
It's not unconditionally used in the ironic devstack plugin.

Change-Id: Ic9949928d51a442d92913bdd988a7cae4fd75d50
2019-10-17 13:42:26 +02:00
Dmitry Tantsur 249b2ac0cc CI: increase the timeout for the СentOS job
Change-Id: I178ac46df8d58a00c605292dba9b976e5dd1bf71
2019-06-26 15:23:58 +02:00