Commit graph

91 commits

Author SHA1 Message Date
Riccardo Pittau
371033d170 Run metal3 integration job using UEFI boot (default)
The fix for UEFI boot on ubuntu noble in metal3-dev-env [1]
has merged, we should be able to run it now with no
changes.

[1] https://github.com/metal3-io/metal3-dev-env/pull/1497

Change-Id: I5563d79540ce0ab1e299161a1fc9f484ba7cdf7f
Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
2025-10-24 10:45:41 +02:00
Dmitry Tantsur
e57e4c2d7c
Run the ironic-standalone-operator tests as non-voting job
Unlike the existing Metal3 job, this one covers a large number of
different Ironic configurations and is also sensitive to performance
regressions on the API layer.

Claude Code was used for the initial pass of converting the existing
Github workflow to Ansible.

Assisted-By: Claude Code
Change-Id: I80490c4ca89ab40d3cdc4ced7964d3dc06cd9a05
Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com>
2025-09-08 17:01:27 +02:00
Julia Kreger
72c208f765 ci: Expand the multinode job -- remove tinyipa usage
This change moves multinode jobs to be leveraged across multiple
"compute" nodes with an increased amount of memory, which increases
the overall test resources available and limits controller node
hot spotting for deployment operations.

This effectively chagnes multinode jobs from being a single
compute node with a single controller node, to two compute
nodes and a single controller node. The controller node's
hosted virtual machines is also dialed back.

This was done to eliminate usage of tinyipa in favor of a more
realistic Centos based IPA ramdisk, and also removes fallback
logic to use tinyipa on more limited resource nodes.

Change-Id: Ib52f7039072901ce72ac96e660d35a10cca59737
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-06-02 12:16:53 -07:00
Riccardo Pittau
241d296b5f [CI] Fix libvirt network names in metal3 job logs collection
Change-Id: Ic874873375860a79cb6d052a131da968bedc3f29
2025-05-27 09:22:41 +02:00
Riccardo Pittau
fbb5d5a41f metal3: Use zuul user for logs, fix remote node ip, reduce timeout
The job usually takes 30-40 minutes to run if successfull, it
does not make sense to have a 3 hours timeout value.
Also there is no metal3 user so just using zuul for remote logs
collection, also fixing the ip of the remote node.

Change-Id: Ie738195f38a547cf03d94e7cc5d78f7c2b8d4539
2025-03-20 15:07:23 +01:00
Riccardo Pittau
b25a3cad60 [CI] Use bigger partition as work dir for metal3 job
In Rackspace env a bigger partition is available and configured
as /dev/xvde1 but not mounted.
We should use that as working dir for the metal3 job as the
standard one is too small and the job fails regularly when
running there.

This allows to make the metal3 job voting again.

Change-Id: I4d50b9c07367a5b1ad25887d87cf2e29ac6b4257
2025-03-11 13:34:34 +00:00
Riccardo Pittau
3925c90a66 [CI] Fix libvirt logs collection in metal3 job
When the metal3 job fails the libvirt logs can't be collected
causing the entire log collection process to fail, de facto
making any troubleshooting process very difficult if not
impossible.
We need to ignore the error form the libvirt logs collection
task to allow the logs collection to finish correctly.

Change-Id: Ibbbb86457cbcf6c28392baad52478dc232d160bd
2025-03-11 13:34:24 +00:00
Riccardo Pittau
fef0cfec78 [CI] metal3 integration: reduce total time between node check
The default total value is 2400 seconds, so 40 minutes, which
is proved to be too long especially in case of failures.
We reduce it to 1800 seconds, 30 minutes, for the time being.

Change-Id: I533e6411fb55fa6e4a609c50bb385279dddcc3d3
2025-03-10 13:23:42 +00:00
Riccardo Pittau
209c8a9969 Add lsblk output to metal3 logs
Change-Id: I0dbf20d6aaf7637acb8d4227cd5968d34aee4f0f
2025-01-23 16:39:43 +01:00
Riccardo Pittau
23e486a1ba Force legacy boot for metal3 integration job
Recently metal3-dev-env moved from bios to UEFI boot mode [1]
but the integration job on the metal3 CI still runs on
ubuntu jammy.
The location of the libvirt loader is different between
jammy and noble so we temporary use this workaround until
we support UEFI on ubuntu noble in metal3-dev-env.

[1] https://github.com/metal3-io/metal3-dev-env/pull/1326

Change-Id: I89caf341ac7078182e836f0fdd9bf08376837b20
2025-01-21 09:18:58 +01:00
Riccardo Pittau
f41504a41d Use quay.io registry image for metal3 job
As alternative to docker registry image.
This is to avoid issues related to dockerhub rate limits.

Change-Id: Ia0b543aaedc03d4030e0335236b9b336ef0ce355
2024-11-21 18:02:26 +01:00
Jay Faulkner
42bd2a069a Use the correct command to fetch ovs state
Typo fix: s/osv/ovs/ in the command name.

Change-Id: I5c42accf5e020ad3ecf652bcabdb8b8521f95907
2024-08-28 08:49:21 -07:00
Julia Kreger
631f50d21b CI: set tftp folder permission
In trying to chase down why the raw tftp boot of grub is not
happy, I determined that the tftp folder being created had the
wrong permissions out of the box. Ironic has an optional knob for
this, so we're going to set it by default.

Change-Id: If2a0e5e47163a3525ecd245e8b54cacea9a615de
2024-07-09 23:13:25 +00:00
Riccardo Pittau
d738df5aa0 Add df logs to metal3 integration job
Change-Id: Ic785cbc8d21e346ce4ddac13cd8d525d588c4682
2024-01-09 17:29:00 +01:00
Julia Kreger
3f77091c63 Enable OVN CI
Adds basic testing for PXE/iPXE boot secenarios where the OVN
DHCP service is used instead of dnsmasq.

Also adds a release note and documentation to cover the details
and caveats of using ovn as we have discovered through this process.

Change-Id: I28cd20a7f271220d8ca335895ca9e302452fd069
2023-10-03 14:24:34 +00:00
Riccardo Pittau
5268c50a78 Run metal3 integration with ironic-image from source
The metal3 integration job now builds the ironic container image
using the ironic code in the tested patch and run
metal3-dev-env with it.

Change-Id: I0f339ad6931264875b32e11dff79c02a252d04b1
2023-04-06 15:29:42 +00:00
Riccardo Pittau
d0448ea200 Use main branch of metal3-dev-env to run metal3 integration job
Set libvirt domain to qemu for compatibility with openstack CI infra

Change-Id: Icf6dfa9603ec35c0b0527ac5358252cbb4842e6d
2023-03-21 11:06:57 +00:00
Dmitry Tantsur
a6d87a608c Add a non-voting metal3 CI job
We'll use only one node as we're limited in resources but that
should suffice for a basic test.

Change-Id: I8e845d46ba0e13027aa1e628b0ad45eb24f9b387
2023-03-06 12:16:27 +01:00
Julia Kreger
8c95131d81 CI: Save routing table information for troubleshooting
Presently, we don't save the state of the routing table,
which means troubleshooting the ipv6 job failures is difficult
because we just have no way of knowing what is truly going on
with the traffic flow.

Possibly, we may be encountering a case where router
advertisements are overrriding route table entries, and
the only way to know is to see the final state of the table.

Change-Id: Ib15cd21e47e3b884bae2cb956f9113e73034391b
2022-07-20 11:02:39 -07:00
Ian Wienand
22b4f74690 ci-workarounds/get_extra_logging.yaml : avoid grep failure
If this grep doesn't match, the task returns a failure and it causes
the job to abort with POST_FAILURE.  I think more info is generally
helpful and you can always grep "netstat" on the file manually; thus
remove the grep to avoid suprious failure.

Change-Id: I189a0a8be25cb12e946d8ac58667b287f9698064
2021-07-29 16:39:19 +10:00
Julia Kreger
d44b3b6fec CI: Collect a snapshot of network connections
A recent magnum bug (https://storyboard.openstack.org/#!/story/2008494)
when running with uwsgi has yielded an interesting question if Ironic
is orphaning rpc clients or not. Ironic's code is slightly different
but also very similar, and similar bugs have been observed in the past
where the python garbage collection never cleans up the old connection
objects and effectively orphans the connection.

So we should likely at least try to collect some of the information
so we can determine if this is the case in our CI jobs. Hence this
change and attempt to collect that data after running CI.

Change-Id: I4e80c56449c0b3d07b160ae6c933a7a16c63c5c5
2021-01-12 13:50:14 -08:00
Iury Gregory Melo Ferreira
1f0174bb41 Native zuulv3 grenade multinode multitenant
Based on the native 'grenade-multinode' job

Change-Id: I4d0a23c371bc42c5bf18e79ea7920bd77b066154
2020-09-16 23:33:42 +02:00
Riccardo Pittau
df5bb921b8 Collect tftpd info from journald
This patch adds a post run playbook that collects info about the
tftpd daemon from journald to be available at the end of the
CI process.

Change-Id: I1dd11a8804b976e3abc42a43102c1b52fbe03f5a
2020-05-19 09:23:32 +02:00
Iury Gregory Melo Ferreira
90777c1277 Native zuulv3 grenade job for ironic
Based on the native 'grenade' job

Change-Id: Ia51b32a6499b5e1d37197e6d21556344a85d3b5e
2020-05-04 13:59:23 +02:00
Julia Kreger
1bb5e80ae4 Add ironic-python-agent-builder to grenade projects and use netboot
It appears that grenade now requires ironic-python-agent-builder
to be in the projects list in order for clone operations to take
place.

Also switch to netboot as the default boot option is local now.

Change-Id: Ibf66351137d9f4221c9c191b4d9a4b2272f0f516
2020-04-29 13:42:57 +02:00
Julia Kreger
deca07de3c Signal agent token is required
The agent needs to be able to understand
if the agent token is supported and is a
mandatory feature of the ironic deployment
as that can alter some of the behavior of
the agent itself.

Also adds documentation on the subject for
administrators.

Story: 2007025
Task: 37821

Change-Id: Ic635e0ed6d378d6a34a4a82e66ca647eee33bc26
2020-03-20 17:26:51 +00:00
Julia Kreger
d0d221361d Tell the multinode subnode and grenade to use /opt
It was changed on the primary node, but not the subnode
of the standard mutlinode job, and not updated on our
grenade job.

Changes subnode and grenade configuration to use it.

Change-Id: I8f67e3e3423e72944d22d65b788af5792ee900f9
2019-12-17 06:10:35 -08:00
Iury Gregory Melo Ferreira
2c6722199f Switch legacy jobs to Py3
Our legacy jobs were running on py2.7, let's switch to py3
before dropping py2.7

Change-Id: I60a7e8ae62543304cff87eeb3c7006444899a2d2
2019-11-13 13:44:50 +01:00
Dmitry Tantsur
3dfce5f2de CI: stop using pyghmi from git master
It's just a library we consume, there is no reason to use its
git head. Currently 1.4.0 is breaking us.

Story: #2006301
Task: #36014
Change-Id: Ib1b1e32bc60d7ec271098dcd17086f79518c09df
2019-07-29 17:52:49 +02:00
Julia Kreger
bda02c43fb Direct bridge to be setup
The multinode jobs are failing because the br-infra bridge
is not being setup. It is not being setup because somewhere
in the infra, the multi-node-bridge role is never established
as a requirement. Realistically, only ironic does this, but
we need to ensure it is present.

Change-Id: Ia1dcc68d7e75a931e01829ce23da36c978a70765
2019-04-23 16:47:24 +00:00
OpenDev Sysadmins
d0e6c6cb10 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:40:53 +00:00
Ian Wienand
228dfe308a Replace openstack.org git:// URLs with https://
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.

This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.

This update should result in no functional change.

For more information see the thread at

 http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html

Change-Id: Ie1be8a026e88eba235bce29fe0504e35e03afe8e
2019-03-24 20:33:50 +00:00
Derek Higgins
d6c9d6caed Replace use of Q_USE_PROVIDERNET_FOR_PUBLIC
This is being removed from devstack in
I23e1b98bd2839b79226b55700ee404a8fda83f83

Change-Id: I81b8cc348900837b876216065d7a2bf4a3665b8b
2019-01-18 13:26:03 +00:00
Zuul
5e0496ceb3 Merge "Change multinode jobs to default to local boot" 2018-12-06 15:45:41 +00:00
Zuul
b2c78d74cd Merge "Slim down grenade jobs" 2018-12-06 15:35:38 +00:00
Julia Kreger
2f991522e7 Change multinode jobs to default to local boot
When validations occur, we raise an exception internally
which can lead to confusing and misleading log messages
when whole disk images are utilized with the standing
default of network booting on neutron.

We've long discussed changing it, so why not start.

Change-Id: I68bb1b9bf8c14ba686eb1c9d2755badf84481f91
2018-12-05 10:21:38 -08:00
Julia Kreger
74ea2bdf5a Slim down grenade jobs
As we can't extend our grenade job timeout past 3 hours,
and we have some fairly log running jobs, that essentially
means we need to find time that is not absolutely necessary
in the entire test run in order to reduce load.

Disabling cleaning for the grenade tests as well as
setting a regex for the basic server ops as opposed to
basic network ops which can take as much as 3x the amount
of time that the basic test takes.

Change-Id: Ib795e6dc3ad1f484f79bee81a5bcfdb8c3434fa1
2018-11-29 10:52:06 -08:00
Derek Higgins
c67b46e350 Switch ironic-tempest-...-tinyipa-multinode to zuulv3
And rename to ironic-tempest-dsvm-ipa-wholedisk-direct-tinyipa-multinode

Change-Id: I6ab7bfa0343e0c8df5814d26e62864f3c66cf7b1
2018-11-19 16:30:45 +00:00
Matt Riedemann
a77abba198 Revert "Add openstack/placement as a required project for ironic-grenade*"
This reverts commit e1272cb19b.

This is handled generically now with this change and its dependency:

  https://review.openstack.org/#/c/606853/

Change-Id: I8fff93c920bc39202fa12cbff612005cf1339865
2018-10-24 08:47:51 -04:00
Zuul
d2c9bba6f9 Merge "Switch ironic-tempest-dsvm-functional-python3 to zuulv3" 2018-10-04 17:02:02 +00:00
Zuul
f60de6433e Merge "Switch ironic-tempest-dsvm-functional-python2 to zuulv3" 2018-10-01 15:20:52 +00:00
Matt Riedemann
e1272cb19b Add openstack/placement as a required project for ironic-grenade*
In order to get openstack/placement installed as part of the
ironic grenade jobs, we have to list it as a required project.

Needed by https://review.openstack.org/604454/

Change-Id: I3922ef15ef8b4517f653a37ca137ba30c8ca5643
2018-09-30 11:48:17 -04:00
Derek Higgins
f34799b3fa Switch ironic-tempest-dsvm-functional-python3 to zuulv3
Change-Id: Ib9d79e4b9ce770b1eb7e572dffe704e4f3568611
2018-09-25 10:54:09 +01:00
Derek Higgins
86e9c7e0f9 Switch ironic-tempest-dsvm-functional-python2 to zuulv3
Change-Id: I01fadd61b0469512f512026c81f5ce782a3c6dd5
2018-09-25 10:54:05 +01:00
Derek Higgins
e63360caf2 Remove ironic experimental jobs
These have existed since the jobs were migrated into
this repository (almost a year). They don't currently
work and I don't think they are being worked on, so
remove them to avoind trying to port them to zuulv3
native jobs.

Change-Id: Ied056b91d78b5644ac5d87020325b65af1d86ff4
2018-09-24 12:12:52 +01:00
Derek Higgins
9a01311944 Switch ironic-tempest-dsvm-ironic-inspector too zuulv3
Change-Id: I666407340eae5396069697ef026b66c43dc54ec9
2018-08-10 13:02:37 +01:00
Derek Higgins
e1ab512274 Switch ironic-tempest-dsvm-bfv too zuulv3
Change-Id: I6a70780f77a4c6a806b81deea600ac4b551a1bd2
2018-08-10 13:02:37 +01:00
Derek Higgins
253ce25ef2 Switch ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3
Switch ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3
to zuulv3 native.

Also ensure phygmi and virtualbmc are always installed with python2
as pyghmi is still not compatible with python3.

Depends-On: I413ea7ec5db3316f985c38900aa46b8cdfd5d138
Change-Id: I11ad26c354bcbc2a0ed8e2bc78c9403dbcf85326
2018-07-31 09:20:35 +01:00
Derek Higgins
90f7a89016 Switch ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
Switch ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
to zuulv3 native

Change-Id: I5235edb4e0e98d255fa4787493c96ffcf7c8b33a
2018-07-26 10:35:41 +01:00
Derek Higgins
7ea0ff45bd Switch ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_snmp-tinyipa
Switch ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_snmp-tinyipa
to zuulv3 native.

Change-Id: I0daef9b62cedc5de50d5b51d6ae79046160750d1
2018-07-26 10:35:30 +01:00