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>
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>
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>
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
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
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
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
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
As alternative to docker registry image.
This is to avoid issues related to dockerhub rate limits.
Change-Id: Ia0b543aaedc03d4030e0335236b9b336ef0ce355
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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