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
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
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
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
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
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
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
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
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
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
As discussed during the upstream ironic community meeting on
Monday Dec 14 2020, the lower-constraints job is being removed.
Change-Id: I52ccba571669253010c6c12ede722ce314d9c12b
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
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
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
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
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>
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>
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
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