Commit graph

965 commits

Author SHA1 Message Date
Takashi Kajinami
8200f0f5df Adjust url to pull dnsmasq
It seems http:// is quite unstable while git:// is stable.

Change-Id: Iedd7356eb3777ce829961ee6392fbb677f26ae22
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-12-24 14:45:12 +00:00
Zuul
6b6b932714 Merge "Switch graphical console image to ubuntu by default" 2025-12-05 16:38:12 +00:00
Steve Baker
856238c56a Switch graphical console image to ubuntu by default
The centos Containerfile still exists and the launch scripts have been
adapted to work on both distros.

The ubuntu container has been tested with noble. The container built
in the CI jobs is bound to the version of ubuntu which the host is
running, which will provide functional testing validation when jobs are
moved to newer releases.

Change-Id: I1954e418543acf939bf65189121484e038f3737c
Signed-off-by: Steve Baker <sbaker@redhat.com>
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-12-04 11:24:43 -08:00
Afonne-CID
91159a4394 Drop xinetd/tftpd on CentOS 9
Drop xinetd/tftpd on CentOS 9 to fix TFTP setup failure

Closes-Bug: #2098533
Assisted-by: Claude 4.5 Sonnet
Change-Id: I5ed12279d446839587c512194d1230a27622eb00
Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
2025-12-02 14:49:39 +01:00
Doug Goldstein
3d07fdeee8
fix: grammar Ideall -> Ideally
Change-Id: Icafd006a67c7ce555392078a7d240caad784d190
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2025-11-23 14:06:15 -06:00
Zuul
88c6e21afc Merge "Drop remaining inspector job" 2025-11-22 09:06:24 +00:00
Zuul
936d6f698e Merge "trivial: follow-up on ftp enable/disable flag" 2025-11-22 05:01:45 +00:00
Takashi Kajinami
03cb948c40 Drop remaining inspector job
... because ironic-inspector has been retired.

Change-Id: Id5568cbac8f559821dffd004ab9b6db3e4f4bca6
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-11-18 21:58:28 +09:00
Steve Baker
b2f297d91c Fixes for console containers functional testing
Console containers are run as systemctl --user units with the stack
user. Unlike in the locally running case, in a job there may be no
active user session running to allow these units to run. This change
ensures there is a stack user service running, and "loginctl
enable-linger" will start one again at boot time. These actions are only
taken when ir-novnc is enabled.

This change also installs the package slirp4netns for the required
user-mode networking, and adds fake-graphical to the list of enabled
console interfaces when ir-novnc is enabled. enabled_console_interfaces
is passed to tempest.conf so that tempest can run tests or not based on
whether fake-graphical is enabled.

Additionally the console container will bind to a high port on localhost
instead of a high port on the host IP. This still allows
ironic-novncproxy to connect to the vnc endpoint while avoiding iptables
rules.

Change-Id: Ibcd5b7b05c466d898ba69bff35a1e767be3699a3
Signed-off-by: Steve Baker <sbaker@redhat.com>
2025-10-16 14:28:10 +13:00
Luan Utimura
9375f3bd6c Fix nexthop error when adding route to PUBLIC_SUBNET_IP
The `stack` script has been consistently failing with:

```
Error: Nexthop has invalid gateway.
```

when it comes time to add a route to $PUBLIC_SUBNET_IP [1].

One solution to this is to add the `onlink` flag [2] to the link
mentioned above:

```
onlink pretend that the nexthop is directly attached to
       this link, even if it does not match any interface
       prefix.
```

[1] daf856cd2d/devstack/lib/ironic (L2583)
[2] https://man7.org/linux/man-pages/man8/ip-route.8.html

Change-Id: Ia6363e6b68de344dd82106077efff86143e63d39
Signed-off-by: Luan Utimura <luan.utimura@luizalabs.com>
2025-09-09 21:40:26 -03:00
Julia Kreger
58bcdf1a4a ci: grenade: restart neutron services
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>
2025-08-11 15:42:15 -07:00
Zuul
daf856cd2d Merge "conf: Add '[api] response_validation' option" 2025-08-01 14:48:24 +00:00
Afonne-CID
0125c26aba Log executed steps during cleaning/servicing/deploy
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>
2025-07-28 18:21:18 +01:00
Zuul
d264de34b0 Merge "Advanced vmedia deployment test ops" 2025-07-16 14:34:37 +00:00
Zuul
d4b2ce44fc Merge "Mark SNMP driver unsupported for removal" 2025-06-30 17:43:18 +00:00
Zuul
aa232eb5c2 Merge "Fix minor devstack issues" 2025-06-12 16:37:53 +00:00
Stephen Finucane
5b0134ea95 conf: Add '[api] response_validation' option
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>
2025-06-09 16:39:14 +01:00
Julia Kreger
a2cbb3484c Advanced vmedia deployment test ops
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
2025-06-06 10:53:22 -07:00
Zuul
fb544dc508 Merge "ci: remove the partition image upload" 2025-06-05 22:01:00 +00:00
Zuul
05729a8d85 Merge "ci: Expand the multinode job -- remove tinyipa usage" 2025-06-04 14:55:36 +00:00
Julia Kreger
8f7d5d817e ci: remove the partition image upload
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>
2025-06-03 17:03:51 +00:00
Jay Faulkner
6abe65110c Fix minor devstack issues
- 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
2025-06-03 08:53:08 -07: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
Julia Kreger
d33c981dcf CI: remove legacy devstack baremetal admin and observer role usage
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
2025-05-30 14:12:37 -07:00
Zuul
f1c8d03888 Merge "CI: Reconfigure jobs to minimize tinyipa usage" 2025-05-22 17:59:42 +00:00
Jay Faulkner
56d43ff56d ci: Remove code which has been long-dead
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
2025-05-21 21:02:25 +00:00
Julia Kreger
6c0b015a0d CI: Reconfigure jobs to minimize tinyipa usage
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
2025-05-19 14:09:03 -07:00
Zuul
e468155baa Merge "ci: set a longer nova tempest build interval" 2025-05-19 20:11:08 +00:00
Julia Kreger
42be33b52b CI: Fix anaconda job post OSSA-2025-001
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
2025-05-12 10:51:01 -07:00
Jay Faulkner
dc6cd79a9e Mark SNMP driver unsupported for removal
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
2025-04-20 16:23:53 +00:00
Zuul
d216099cce Merge "Fix default IRONIC_DEFAULT_TRAITS setting" 2025-04-08 22:36:07 +00:00
Zuul
c9090751b0 Merge "devstack: network simulator support for sonic" 2025-04-08 20:49:15 +00:00
Julia Kreger
b88b6dd5ec trivial: follow-up on ftp enable/disable flag
Following up to: https://review.opendev.org/c/openstack/ironic/+/941742

Change-Id: I03fec9f6b96d2902a0cf03a8eff9d6c7d4cb346f
2025-04-08 18:46:54 +00:00
Zuul
c0cf87d4a0 Merge "[devstack] Allow deploy environment with portgroups" 2025-04-04 17:11:57 +00:00
Zuul
b6f8fa969c Merge "devstack bindep - [platform:rpm]" 2025-04-04 09:18:24 +00:00
Vasyl Saienko
55364fcb0f [devstack] Allow deploy environment with portgroups
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
2025-04-01 11:00:40 +03:00
Julia Kreger
47e87d649e devstack: network simulator support for sonic
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
2025-03-31 06:27:18 -07:00
Julia Kreger
e2fa72652d network simulator support for Cisco Nexus 9k
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
2025-03-24 06:49:52 -07:00
Julia Kreger
7ef39b8cc4 Add network simulator support for force10 OS 10
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
2025-03-21 23:20:38 +00:00
Julia Kreger
fe35cb2385 network testing: hooking in an external network simulator
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
2025-03-21 16:09:25 -07:00
Zuul
41707d8ab9 Merge "Remove IPA build on cleanup" 2025-03-18 20:04:10 +00:00
Zuul
fe8f4f1fb2 Merge "Install and run sushy-tools within a virtualenv" 2025-03-18 16:19:19 +00:00
Zuul
d788d94896 Merge "[devstack ]Use tap interfaces for VMs" 2025-03-15 13:12:09 +00:00
cid
0962a07e0c Remove IPA build on cleanup
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
2025-03-13 14:09:23 +01:00
Zuul
9dbfad8131 Merge "centos devstack support: fix VM permissions" 2025-03-10 12:31:02 +00:00
cid
6af973aee6 Install and run sushy-tools within a virtualenv
This ensures gunicorn can find all required packages at runtime.

Closes-Bug: #2098542
Change-Id: I10279575fc1c060dd439d31ae1c07c1267b04342
2025-03-06 10:40:04 +01:00
Zuul
0bf0c9e8db Merge "Add vnc-container image build" 2025-03-05 07:09:00 +00:00
Zuul
d618f946bd Merge "Trivial: Enable disabling tftp setup" 2025-03-05 06:54:41 +00:00
Zuul
eddcfc93ee Merge "Add systemd provider for console containers" 2025-03-05 04:22:08 +00:00
Jay Faulkner
53d93d6d72 Restore recompile of dnsmasq
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
2025-03-04 14:26:44 -08:00