Recently networking-baremetal got a patch to leverage a relatively new
rpc call against neutron called report_state. However... in late 2024
neutron's RPC executions were split from the API, and grenade never
learned to restart the new service.. and that may also be intentional.
Until there is clarity on that front, the path is clear... to restart
the service.
This should clear up the overall grenade job execution failure.
Closes-Bug: 2118780
Related-Bug: 2117227
Change-Id: I9f942df892783a85387e6feb3a8bdb5396103e15
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
Log steps performed during step-based flows in Node History
at the beginning and at completion (or abort).
Closes-Bug: #2106758
Change-Id: Ieffacf174180036d6a2418a8faf72a94eea74fb8
Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
It doesn't make sense to return a HTTP 500 in production and after
everything has actually been processed just because schema validation
failed. Instead, we should only do this in test environments. Make it
so via a new config option which is now set by default in unit and
integration tests.
Change-Id: I3cac41e024d569dfe05f21767d90d585f54e3eac
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Adds an advanced operations standalone test which utilizes a new proposed
tempest test to execute against the API which exerises the dhcp-less
virtual media path AND passes the node through the rebuild scenario case
which has been identified as problematic in the past.
With this, we know it works, so \o/.
Presently as non-voting.
Change-Id: Ibb6f9228672966c3708227e37bead6a45648e177
We've long ago pruned out the rest of the explicit partition image
testing, so explicitly remove build process to save CI time and
resources while also making the logs a bit more straight forward.
Change-Id: I93dcce21bffe473fa2d708d7dc6439db8a042e50
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
- Make DHCP setup compatible with q-dhcp or neutron-dhcp
- Fix restacking when dnsmasq package has already been installed
(without the explicit removal of dnsmasq; the dnsmasq-base removal
errors due to dependencies)
Change-Id: I7eafc34ff71b84a0ae5199db95cb89bdd7abbf29
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>
We long ago moved past use of baremetal_admin and baremetal_observer
roles in our interactions. At this point, they just make sense to
remove from devstack since otherwise the code path is outdated.
Change-Id: I14caae1fc81512bebbc150da8a965449fcae63cf
Our CI broke this morning with an error around start_neutron_api
function not existing. That function was removed from devstack
in Nov 2022 in a52041cd3f067156e478e355f5712a60e12ce649.
Upon further research, is_service_enabled neutron-api appears to have
been returning false, even for neutron-enabled jobs, for a long time. A
recent fix to this behavior in devstack exposed this dead code and the
lurking breakage which we've now experienced.
I'm making the assumption that since our CI has been fine for 2.5 years
without this code block running, it'll be fine for now too. We likely
want to follow up on if missing these calls have a side effect.
This change also disables voting for the
ironic-tempest-ovn-uefi-ipxe-ipv6 CI job which is in a similar state
as the other CI jobs which use networking-generic-switch.
This is a side-effect due to a lack of the uwsgi launched neutron having
the configuration files to load plugins. That issue is being worked
separately and once networking-generic-switch is fixed, the job will
be returned to voting status.
Change-Id: If47e74751ba66a1296f16d9c43433033c04beffb
This change involves:
- Moves ironic-standalone jobs to use 32GB nodes which is a
relatively simple change.
- Changes other jobs excluding multinode jobs to use DIB image
builds by default.
- Changes one of job names to remove tinyipa from the name.
- Also notes a job which can be removed, but removal will be in
a later change... and adds a release note in case anyone looks.
Change-Id: If9110c8f5041428df3e59f40fe0cb71bcf8580a8
Turns out some of the standalone jobs, anaconda in particular,
can reference some artifacts on disk in such a way which causes
the security logic to block the request. This is an easy fix.
Change-Id: I79204117cdbffab1f619981767471475870b4571
The SNMP driver uses pysnmp-lextudio, we'll be lucky if it works through
the deprecation period. If by the start of the 2026.2 cycle it's not
been migrated to a different library, it will need to be removed.
In order to keep CI running on an unsupported driver, I've added an
option to the devstack plugin to skip failing on upgrade check.
Related-Bug: 2106674
Generated-By: Jetbrains Junie
Change-Id: Ibe5576d04fc3ca1cc102f126853ed3d1e8c404d2
Allow to deploy virtual environment with port groups by using
following environment variables:
IRONIC_USE_PORT_GROUP: boolean to enable port group usage
IRONIC_PORT_GROUP_MODE: the mode for port group, by default is
balance-rr.
Related-Bug: #1718481
Change-Id: I9cc8e54cf94ecc65ac93d01671f8778be2f6dc78
Adds basic suppot to spin up a SONiC VM instance as a switch to have
wired to the switch VM to enable command behavior verification.
Also fixes some related issues due to an earlier rebase need on
the switch test VMs where the interface name was changed and
ultimately a different field need to be extracted for the
later commands to execute properly in order to provide data
to later callers for actions such as creating ports in ironic.
Change-Id: Ie4a2ac4da08359d20b5aa35faf741c5307bef6e0
Adds additional basic simulator support to stand up a virtual
Cisco Nexus 9000 switch for testing in devstack to faciltate
development and testing.
Change-Id: Id66e6bcc646a6d35a2caa5ecbc6b8cd881adb7aa
Adds necessary logic to support spinning up a local network simulator
for Dell Force10 OS10 switches which is a Linux based operating system
image as opposed to the former force10 OS 9 switches.
This change takes a *very* similar approach to OS9 support, but there
are several differences between OS9 and OS10, mainly in configuration
formatting, commands, access control, and even the overall virtual
machine installation process which leverages ONIE and multiple
"disk" artifacts.
Change-Id: Iab3c69031eeff1f612e254d099539c8fc146b553
In order to test NGS compatability and generally move the state forward
we need to be able to wire in switch simulators.
This is *not* intended to be run in CI, due to known performance issues.
This first pass hooks up Dell Force10 switches with OS version 9.13, and
does so we can configure the switch as part of the setup.
This makes the prior behavior of configure-vm.py and the VM templates
to be able to execute as it did before
I0ef1ad1b2e50cb26839c618a1367704d51ed8a4d to enable the simulator attachments
because we can't exercise network switch simulators with dynamic
post-vm start network attachments, becuase the attachment to the switch sim
must be done in advance of switch VM launch.
Change-Id: I4addd71adea0b3f6e56b967db848546b5c56561e
Delete the deploy kernel, ramdisk, and ISO files during cleanup
to trigger rebuild on the subsequent stack.sh run.
Closes-Bug: #2076358
Change-Id: I6600b67c9b3455d8191126b24a1941ae7c384e36
We still need a custom dnsmasq, but due to recent ubuntu upgrades and
devstack changes we always fail the version check and skip the install
of newer dnsmasq. Instead, now we use a sentinel file.
Change-Id: Iefde1721d4ab24521dc2b8f1fe46bf8bd4519f6f
The files in tools/vnc-container allow a container image to be built
which supports Ironic's graphical console functionality.
For each node with an enabled graphical console, the service ironic-novncproxy
(or nova-novncproxy) will connect to a VNC server exposed by a container
running this image.
If the devstack ir-novnc serivce is enabled then this container image
will be built locally and ironic configured to used it for the systemd
console container provider.
This makes a devstack environment functional in accessing graphical
consoles for Dell, HPE and Supermicro.
Related-Bug: 2086715
Change-Id: I0842570cca22ac0e67d358c30225e8e08561f459
A new entry point ``ironic.console.container`` is added to determine how
console containers are orchestrated when ``ironic.conf``
``[vnc]enabled=True``. By default the ``fake`` provider is specified by
``[vnc]container_provider`` which performs no orchestration. The only
functional implementation included is ``systemd`` which manages
containers as Systemd Quadlet containers. These containers run as user
services and rootless podman containers. Having ``podman`` installed is
also a dependency for this provider. See ``ironic.conf`` ``[vnc]``
options to see how this provider can be configured.
The ``systemd`` provider is opinionated and will not be appropriate for
some Ironic deployment methods, especially those which run Ironic inside
containers. External implementations of ``ironic.console.container`` are
encouraged to integrate with other deployment / management methods.
Related-Bug: 2086715
Change-Id: Ib890c3c7be91ddd78a43b9c5261dd1d8c1054c04
Wraps `wget` commands with sleep and mutiple retry support
for resilient network downloads.
Partial-Bug: #2098417
Change-Id: Id3e083cc97b71211e5080ad21e2c09d04d8559fa
By default, nova's tempest code checks every second for the status of
an instance being built. But for baremetal, this can take longer. Much
longer because the many steps in a sequence of action to facilitate
deployment.
As such, changing the timer to 10 second will reduce the amount
of logging generated by CI test jobs, which presently can fail
with too much data to be logged causing subunit to fail and rendering
logging lost.
Change-Id: I1f7e0198b61717ffaaeb471dfcb200a5ab58c506
This is a forklift of the nova novncproxy service to act as the noVNC
front-end to graphical consoles.
The service does the following:
- serves noVNC web assets for the browser based VNC client
- creates a websocket to proxy VNC traffic to an actual VNC server
- decouples authentication traffic so that the source server can have
a different authentication method than the browser client
The forklifted code has been adapted to Ironic conventions, including:
- [vnc] config options following Ironic conventions and using existing
config options where appropriate
- Removing the unnecessary authentication method VeNCrypt, leaving only
the None auth method.
- Adapting the ironic-novncproxy command to use Ironic's service launch
approach, allowing it to be started as part of the all-in-one ironic
- Replace Nova's approach of looking up the instance via the token.
Instead the node UUID is included in the websocket querystring
alongside the token
- Removing cookie fallback when token is missing from querystring
- Removing expected protocol validation in the websocket handshake
- Removing internal access path support
- Removing enforce_session_timeout as this will be done at the
container level
Related-Bug: 2086715
Change-Id: I575a8671e2262408ba1d690cfceabe992c2d4fef