* Update metalsmith from branch 'master'
to 7f42d1cadf57edf1d7f5c2ee6a2aa87820a809a3
- Use bootloader element instead of grub2
bootloader is recommended since it aims to build a valid grub config
instead of just installing the packages.
Also, mark legacy job as non-voting for the time being
The legacy job is broken because of a know issue with tinycore related
to the glibc library. Moving it to non-voting for the time being while
we evaluate if it's worth trying to fix it or jsut remove it.
Also, install diskimage-builder from the checked-out repo, so that
depends on works as expected.
Change-Id: I642a1579e95dfff2188206313ea6d315b0533a5f
* Update metalsmith from branch 'master'
to 198df8e4bedc61ea9fea1e48bfe256bd1bb80569
- Merge "Update master for stable/2024.1"
- Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.
Sem-Ver: feature
Change-Id: I2953156dd3e3512b78396103afb1550789e806d0
* Update metalsmith from branch 'master'
to cb5094a38a5c5ee77570a02cd382ed9ef850da97
- Merge "reno: Update master for unmaintained/wallaby"
- reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.
Change-Id: I3bf7fc681b07b9552a3405d340b480e22c8fd77d
* Update metalsmith from branch 'master'
to 693d43531aa9fff2735eae0fc5fdd429478da799
- Merge "reno: Update master for unmaintained/xena"
- reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.
Change-Id: I95b12b3f3fa25981b1bab2bb9599aa516256e12b
* Update metalsmith from branch 'master'
to 52329b09dc1274e2ed86e19fed0d69066ef9fbeb
- reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.
Change-Id: I8298474d90ff476bb9b582defc70314b987a86fd
* Update metalsmith from branch 'master'
to 9601b89f74504c59338dfcf3baa437b7fcfc5a3b
- reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.
Change-Id: I44718ad0cfd1fa53a9926aef5f68288c954ac021
* Update metalsmith from branch 'master'
to b7d8446de7a33a1fcbbf377aca17ff684acc8be1
- [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
* Update metalsmith from branch 'master'
to 778403a47be6f7aa800372abe1a9418a78214306
- [codespell] Adding Tox Target for Codespell
First in a series of commits to add Codespell to Ironic Repos. This one adds the command that was used to fix the spelling errors.
Future Commits will add CI support and potentially a git-blame-ignore-revs file if their are lots of spelling mistakes that could clutter git blame.
Change-Id: Ibeb4cd8bd38e6bfe04adb8ce66ce36f30f06eb61
* Update metalsmith from branch 'master'
to b3a79fa0c3a9e26e9fa2f98dcc1994b55a7535e3
- 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
* Update metalsmith from branch 'master'
to 49c8cab613f9903049a55d064746f16e3e3b18fd
- Merge "Document LP as official bugtracker"
- Document LP as official bugtracker
We use launchpad for Ironic projects.
Change-Id: I7156766a575a087697ef15a34aff6e33f887b83d
* Update metalsmith from branch 'master'
to e4fd02fa30164de00bc5a354af954b503f42c89b
- Metalsmith in maintenance mode
As decided at October 2023 vPTG, metalsmith's functionality is to
integrated into mainline Ironic projects and clients. To this end,
we no longer expect to add additional features to metalsmith.
Change-Id: I85ccaa38da58b52fbb483cb0258cce93bf8722ba
* Update metalsmith from branch 'master'
to 71192b16a7d6a1b3b7fee0242e01ae423ec91927
- Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: I585da0c56d9dfe8334ed5de0e853fab663a4b1d1
* Update metalsmith from branch 'master'
to 9c928d300429b04dc3f8daeb60225f67519e2040
- Set role default metalsmith_provisioning_timeout
Job: metalsmith-integration-glance-centos9-legacy
is failing with:
"""
argument 'timeout' is of type <class 'NoneType'> and we
were unable to convert to int: <class 'NoneType'> cannot be
converted to an int
"""
Set metalsmith_provisioning_timeout in role defaults to 3600,
same as the default timout in module: metalsmith_instances
Change-Id: I7b9c70b03c17c631da8e53f70808fed103c95c06
* Update metalsmith from branch 'master'
to 968c9a0608970ef255a6228092159dd7142d8759
- Remove CentOS Stream 8 jobs
They've been supersided by CS9 jobs
Change-Id: I7382a2868d911c2f7944cbf63ce549d9cec9450c
* Update metalsmith from branch 'master'
to a3b966de0287d2bd153a0c43af4010503aa3367b
- Add a CentOS Stream 9 bios job
We should replace the old CentOS 8 job
Change-Id: I56a0473ecbff8ab8fc143954d3c493037765cdf1
* Update metalsmith from branch 'master'
to 8812991c568c8a379b89a9ba74a55f4335eef5c5
- Merge "Use jammy nodes to run CI jobs"
- Use jammy nodes to run CI jobs
This is long due
Change-Id: I9c7fda2fb82c496a9154afd84766cd1989614e52
* Update metalsmith from branch 'master'
to 97b95f16865fe9a563e14f10897c20dca5d9a908
- Add centos9 based job
And make centos8 jobs non voting
Change-Id: I0002a53f6e2c3582b6de33d8c3e71101ff474196
* Update metalsmith from branch 'master'
to 1a8ec3d05ca25ed0c89c8c2c65229e9029b43f19
- Reduce retry timeout for Metalsmith CI
Change-Id: I15404a130ca9c6508dca345c3169a0587a651274
* Update metalsmith from branch 'master'
to 255fdc7709052b322233ee8b714125f27e092cbc
- Update to hacking v6
Updated pin to hacking 6.0.0. No related code changes needed.
Change-Id: I8b36314e6171d5294f2f166b3616a0b96d4dbb62
* Update metalsmith from branch 'master'
to 0e8dd5805578ef4cbff59b57817138385cdbb46e
- Update master for stable/2023.1
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: I1a9dfbee53b41dddb63544bde835acd493f95c7b
* Update metalsmith from branch 'master'
to 45670dfbe809ea26be8ea63ad334b6fad78facb4
- Merge "test_provision: don't assert provision_node call order"
- test_provision: don't assert provision_node call order
provision_node is called from thread pool workers so the call order is
not deterministic. This causes py38 job failures sometimes.
This change asserts that the expected calls are occuring, but not
their order.
Change-Id: Id9f870e35dc9c92f0456d85c087514fb53053b76
* Update metalsmith from branch 'master'
to 364fa239165702d5cedc134666046aa9de1a595b
- list_instances - cache allocations
When listing instances fetch all allocations to a cache,
fetch each nodes allocation from the cache. This is
significantly faster than calling get_allocation for each
node.
time metealsmith list # 250 nodes:
real 0m54.970s vs real 1m45.048s without "cached".
Story: 2010571
Task: 47318
Change-Id: Ic4cef61e338fb57bea5de4f96eb3584386cc5152
* Update metalsmith from branch 'master'
to a71776b8a4a9e95665bcdb1d05668213467b73e8
- Get ports by 'binding:host_id' query filter
By retriving ports from neutron by 'binding:host_id', i.e
ironic node uuid we can remove the list_node_vifs() call
for each node.
Story: 2010571
Task: 47302
Change-Id: I1d85f3341e04ddf969027a6f6839f4a807666258
* Update metalsmith from branch 'master'
to 9c2252ea88e0fb331d25198ba7286680d92d9ac7
- Use a network cache in Instance
When listing NICs for an instance populate a class global
cache of networks by network_id. When listing nodes with VIFs
on the same network this reduces the amount of calls to the
network service.
250 Nodes without patch: real 6m29.342s
250 Nodes with patch: real 5m26.544s
Story: 2010571
Task: 47301
Change-Id: I99a2d8ecab657c8e4c852c73e816a5a8f2856471
* Update metalsmith from branch 'master'
to a5fffb92420eb8ccafc3c55e5171b56d48d94241
- Remove not used old job
Noone uses it anymore
Change-Id: Ic886d7ec56e94c7424f3a8fc50de117e420e279c
* Update metalsmith from branch 'master'
to f1800efeb4f265a6989daf1fb3fda2c17dd51185
- Fixes for tox 4.0
Before this, the config would not parse with tox >=4.0
Change-Id: I687568e85656d984ee69ac62e751c4fcbea7acaa
* Update metalsmith from branch 'master'
to f988377a6ae32a749b92d8717ca0ec4fc713c924
- Revert "CI: Force ansible to version 5"
This reverts commit 523cc1d49a77c8ea6c1136d970de0f6bce2ac55a.
Change-Id: I4576ec5a623d053a4aa5505e27996c081273d8dd
* Update metalsmith from branch 'master'
to ee008f7a79f079df98ec4a8556b3a067f4eb348a
- Allow to use Ansible OpenStack Col. 1.x.x with openstacksdk >=0.99.0
Ansible OpenStack collection 1.x.x is not compatible to openstacksdk
>=0.99.0, only collection series 2.x.x will be. But the latter has
not been released yet.
This incompatibility only affects modules in Ansible OpenStack
Collection but not the functions that metalsmith uses. Those
functions ARE compatible with recent openstacksdk releases and
will most likely not be removed in collection release 2.0.0.
Thus, as a hacky workaround to allow using Ansible OpenStack
collection 1.x.x with openstacksdk >=0.99.0 this patch removes
the MAXIMUM_SDK_VERSION.
Change-Id: Icbcb0f92fc1e4315e81fe9ce0c2f9ce6b39867c2
* Update metalsmith from branch 'master'
to 523cc1d49a77c8ea6c1136d970de0f6bce2ac55a
- 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
* Update metalsmith from branch 'master'
to cc8fe24d40e64e874bc3d4308cd76e50379729d3
- 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
* Update metalsmith from branch 'master'
to 951e6435ccbb9998937b7d5a7d298a96fc4276ca
- Update master for stable/zed
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: If9988dcccb8b6eb7be97955f73a3ffcdeb1c5b3f
* Update metalsmith from branch 'master'
to 77d802f3d6709c98a03813cd55651b4f70fbb805
- 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
* Update metalsmith from branch 'master'
to 6c5e68a4433831e988845d5fca1e6880d169b6b7
- Do a precise node lookup for unprovision
A hostname or name is passed to the unprovision call, and the node is
looked up by allocation name (hostname), falling back to node name.
This can result in the wrong node being unprovisioned in the following
scenario:
* node and hostname naming scheme are identical
* node and hostname names are mixed because allocation placement
doesn't take the node name into account
* a node has already been unprovisioned by hostname (allocation)
lookup
* unprovision is performed a second time, this time matching the
hostname with a different node's name
* the wrong node is unprovisioned
The unprovision_node method can also take a node object instead of a
string identifier, so this change does a precise node lookup before
calling it. This means only hostnames are used for allocation lookups,
and node names for node lookups.
Change-Id: I9507f8d30c871ae62a250148789393695d59183a
Resolves: rhbz#2092444
* Update metalsmith from branch 'master'
to f234b87bbbc3e8ed76247a453faf7421c4d9cfc1
- Add linters job
Fix lint errors to unblock CI
Change-Id: I02c1d7cc9f2f91e76d1b3edbc340df7ea83d2902
* Update metalsmith from branch 'master'
to 3f91201be5fea8b880b27d95c16dc717ba42e1d3
- Merge "metalsmith_instances module, unprovision by hostname"
- metalsmith_instances module, unprovision by hostname
The node lookup for unprovision first attempts the allocation name
(hostname)[1] but the metalsmith_instances unprovision passes the node
name.
This means in cases where the node naming scheme and the allocation
naming scheme are the same, the wrong node may be unprovisioned.
This change switches to passing the hostname for unprovision, only
passing the node name if the hostname is missing from the instances
entry.
[1] https://opendev.org/openstack/metalsmith/src/branch/master/metalsmith/_provisioner.py#L653
Change-Id: Ie6b989f8d67c03606be37310777175cfb8d9303e
Resolves: rhbz#2092444
* Update metalsmith from branch 'master'
to c79aaef1b6e3f4103e9d6696070562127dbf04e2
- Merge "metalsmith_instances module, pass hostname in reserve"
- metalsmith_instances module, pass hostname in reserve
The allocation name/hostname is set during the provision step, but it
is also possible to set it during the reserve step, which is done in
this change.
Setting the name during reservation is more correct, and triggers some
extra sanity checks during provision. But it also enables this change[1]
which attempts to reserve the node with the same name as the
allocation.
[1] https://review.opendev.org/c/openstack/ironic/+/845856
Change-Id: I0da4644a955b8e9fbf509c074b939b97c64739cb
* Update metalsmith from branch 'master'
to 4f3b96884455d3541c24af64a2bd72fbdec0cdf6
- Merge "metalsmith list handle missing port"
- metalsmith list handle missing port
Currently if a port is missing, running metalsmith list will fail with
an error. This change handles missing ports by not showing any IP
address for that VIF, and logging a warning.
Change-Id: I94924ebc81b46a2aa4c3b6f82bd46480f37b3150
Resolves: rhbz#2092444
* Update metalsmith from branch 'master'
to 98c4c96c33269e1419e37fc0a5c2979ff7c1c101
- 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
* Update metalsmith from branch 'master'
to 5816be550b59b70cc62dd16af32b2adc02142e86
- Provide a work around to fix the CI
Somehow, openstacksdk ends up logging to stdout. Strip the log message
before parsing it as JSON.
Change-Id: Id8e635de7bd8a246af7ae1750a556b752dd7dc85
* Update metalsmith from branch 'master'
to a3e205fc059f456a677e42beeb512ef4f389e66b
- 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
* Update metalsmith from branch 'master'
to 018a19c1e89d91d0468ca9a59ca4cf011a90a2ab
- Add a workaround to fix the CI
Change-Id: I9f939d115e0c6d167ab437c4420e06b4b211c66b
* Update metalsmith from branch 'master'
to d06a066813f9c28e952325a069192668270519b2
- 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
* Update metalsmith from branch 'master'
to c0955b12e918a404dde21f4f76b8f76af953a1e7
- Update master for stable/yoga
Add file to the reno documentation build to show release notes for
stable/yoga.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.
Sem-Ver: feature
Change-Id: I8d6d17078ef0df3b6e9c72436336351edcf96b09
* Update metalsmith from branch 'master'
to eefbe08138c9ec7199428972418f866e80b0ad57
- Merge "Ensure tox.ini is ASCII"
- Ensure tox.ini is ASCII
The left/right single quotation marks cause an ascii decode error in
some python3.6 environments.
Change-Id: I1675929d410ab46278fcac001eae4a1aea321126
* Update metalsmith from branch 'master'
to 264836d59ac741424c3fad4d47e51073722c848f
- Allow both 'network' and 'subnet' in NIC
Fixes and issue where a port cannot be created on
a specific subnet if there are multiple subnets
with the same name on different networks.
Allows both 'network' and 'subnet' in NIC information,
when looking up the subnet filter on the network_id when
both 'network' and 'subnet' is provided.
Story: 2009732
Task: 44152
Change-Id: Ied2d16ec33fe71522c3461d3df6e70fbfdd976b2
* Update metalsmith from branch 'master'
to ce81c055481883351d574f5c8a619ad705f4c940
- Avoid non-Stream CentOS 8, it is EOL
Change-Id: I4300568c346ae81f0717584d1dbc9e75450b951b
* Update metalsmith from branch 'master'
to 880d9e47d3fe3f8d6cb83311b0fde3173f92beb4
- Merge "Add unit tests for metalsmith/_nics.py"
- Add unit tests for metalsmith/_nics.py
Add unit tests for metalsmith._nics.detach_and_delete_ports
and metalsmith._nics.NICs.
Change-Id: I767a6981fb960954f53d86475927bb97aa967ed6
* Update metalsmith from branch 'master'
to f656931857eb5708273b9897b0b4346d89952c6c
- Re-add python 3.6/3.7 in classifier
We have updated the yoga testing runtime to keep the
py36 testing.
- https://review.opendev.org/c/openstack/governance/+/820195
Unit tests job template is also updated to keep python
3.6 as a voting job. So with the py3.6 and py3.9 testing as voting
job template, we are keeping python 3.6, 3.7, 3.8, and 3.8 as
tested versions in the Yoga cycle.
- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286
This commit re-add the python 3.6/3.7 versions in setup.cfg classifier.
Change-Id: Ia66c7f6f1475804467b3b8f2df8c1e79a9fa11b6
* Update metalsmith from branch 'master'
to 347c354d8d50ec96ed191a725bcbff32a8591f00
- 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