12619 Commits

Author SHA1 Message Date
Dmitry Tantsur
2bb653a52e Trivial: attach versions to release series
Also fix an incorrect version in the release notes.

Change-Id: If57f34357c03e64188c493f3a1bdc072954c2541
2023-09-19 11:47:24 +02:00
Dmitry Tantsur
88fd22de79 Remove most prints for unit tests
Generally, print should not be used for unit tests, it may pollute
the output stream. Right now, our internal build system is facing

    BlockingIOError: [Errno 11] write could not complete without blocking

on prints. Especially ACL tests seem to be a big offender because they
are vary numerous and each may print several times. Many prints in other
tests are cryptic and probably just leftover from debugging.

I only leave the API unit tests where the output is arguably useful.
But I reduce it to one print per call since the input is already known.

Change-Id: Ic5aaf9624f86b39609e2db6157c98cf8e35712fc
2023-09-15 14:58:57 +02:00
Zuul
22918bde84 Merge "[releasenotes] Prelude for 2023.2/bobcat" 2023-09-15 08:58:03 +00:00
Jay Faulkner
d115a52b20 [releasenotes] Prelude for 2023.2/bobcat
Prelude entry for 2023.2 release.

Change-Id: Ib78dca723d3aa9a3458ce452124657ad0be55a63
2023-09-14 09:54:35 -07:00
Zuul
3d4cd28f89 Merge "devstack - configurable ipv6 address mode" 2023-09-14 10:43:23 +00:00
Zuul
f0fde6c22d Merge "CI: Remove ubuntu focal job" 2023-09-13 05:18:29 +00:00
Harald Jensås
a8ede77e3e devstack - configurable ipv6 address mode
Add variable to define ipv6-address-mode and ipv6-ra-mode
in the devstack plugin.

Change-Id: I0a145bafc2ea37065b0e0fa7445837ded7bd8e46
2023-09-12 18:56:06 +00:00
Zuul
eae2b1260a Merge "Fix minor grammar issues in the help for new inspector options" 2023-09-12 14:45:24 +00:00
likui
065b4bfc12 CI: Remove ubuntu focal job
Ubuntu focal was in testing runtime as best effort
testing in 2023.1 cycle. In 2023.2, we do not need to
test the focal as such. Removing its testing to more
focus on making Jammy testing more stable.

[0] https://review.opendev.org/c/openstack/tempest/+/884952

Change-Id: Ia3a9bfb6287fd283c3eeb49b43d2c0d12420596d
2023-09-11 10:52:15 +08:00
Zuul
ac28e54071 Merge "DB: Only re-query for a lock holder if we cannot lock" 2023-09-08 19:58:52 +00:00
Zuul
bc80399b3f Merge "Fix two places that can cause issues under SQLite" 2023-09-08 19:58:47 +00:00
Zuul
c00a262d26 Merge "Update proliantutils driver requirements for bobcat" 2023-09-08 09:13:13 +00:00
Zuul
40728f39f7 Merge "PXE: Remove DHCP option 210 from being set" 2023-09-07 18:33:02 +00:00
Dmitry Tantsur
7b9007375e Fix two places that can cause issues under SQLite
In both places, we may potentially iterate over a result set after
closing the read transaction.

Change-Id: I0afce854287a4375c525c19c49ed0ec01bac76b1
2023-09-07 17:03:39 +02:00
Julia Kreger
985c7fdf21 [CI] Unblock CI by fixing job regex and non-voting snmp
Two issues have occcured:

1) Zuul has decided some syntax is deprecated and generates an error.
   The exlcusionary nature of the syntax is just not supported by RE2
   which is the new requirement, so explicitly matching "^master$"
   as opposed to "not stable branches".

2) Marking the snmp job as non-voting, the root issue appears to be ipxe
or the VMs, unknown as of yet.

Change-Id: I68aa95eb1ed80a0fde1c29d708ebd606393481aa
2023-09-07 03:58:34 +00:00
Nisha Agarwal
ec2a5cc7c6 Update proliantutils driver requirements for bobcat
Change-Id: I3230a8fd446126d294cbf837a65b07e497d4031c
2023-09-06 14:07:50 +00:00
Julia Kreger
bb02c49def DB: Only re-query for a lock holder if we cannot lock
Dbapi method _reserve_node_place_lock is a bit of a special
method. It has both a decorator to retry sqlite "database is locked"
issues, and an outer synchronized process fair lock
(from oslo.concurrency.lockutils), which ensures only *one* thread
is working on locks at a time.

Thing is, we can build contention when a stack of heartbeats
come in, because they are forced to execute in serialized fashion.

And whil investigating some metal3 logs, we could see some lock
interactions are basically instant, and when things begin to
get backed up, we start seeing 10+ second gaps where we are
trying to get ahold of the database, and can't lock the node.

And looking at the code for the method, I realized we were *always*
re-querying the node, but never returning it after updating the node.
Apparently, so we can just log *if* there was an issue.

Instead, just consult the result set and then re-query if we must
to determine *who* holds the lock, we now only do so *if* we are
operating without SQLite, because if we are then we can safely
assume the lock came from another thread.

Change-Id: Ie606439670be21cf267eb541ce864711d2097207
2023-09-05 10:47:54 -07:00
Zuul
0eb3f40f10 Merge "Add service steps and initial docs" 2023-09-01 23:15:27 +00:00
Zuul
907465eceb Merge "Log an exception from heartbeat" 2023-09-01 21:57:16 +00:00
Julia Kreger
646d452d66 Add service steps and initial docs
Adds service steps on a variety of internal interfaces,
and begins to tie documentation together to provide clarity
on the use and purpose of service steps.

Change-Id: Ifd7241f06648c8d73c1b97fcf08673496f049f45
2023-09-01 20:30:48 +00:00
Zuul
bcfddda517 Merge "log the version of the conductor starting" 2023-09-01 05:36:57 +00:00
Zuul
dffcc69e89 Merge "Fully monkey patch eventlet for consistent behavior" 2023-08-31 18:28:54 +00:00
Julia Kreger
3cd492d775 Log an exception from heartbeat
So it seems we can have weirdness here which
can get lost in the mix because heartbeat operations
get called with spawn_after on the task, and without
an error handler. The net effect seems to be we can
eat errors, which maybe we should log.

Logs a warning now and returns to the caller which will
exit the task.

Change-Id: I8d052e5d26396737bc7d807cbafdc317cfd2f21f
2023-08-31 10:13:10 -07:00
Zuul
e7ec8e46dc Merge "Correct bindep.txt entries for bookworm" 2023-08-31 16:12:03 +00:00
Julia Kreger
6d2243b916 log the version of the conductor starting
Julia, who has been looking at Metal3 container logs a lot, is tired of
not being able to easily figure out when on the timeline of the git repo
that the container's source code was running from. So instead of guessing
and having to figure out based upon behavior/logs, just log the version
the software believes itself to be using the existing version info,
similar to how we do it with IPA.

Change-Id: I3c76ddfb89b92d3d4bc29b7ccab4362604775568
2023-08-31 14:22:23 +00:00
Zuul
a335e42b32 Merge "Add missing release mappings for 22.0 and 22.1" 2023-08-31 12:06:20 +00:00
Zuul
ab76ff12e1 Merge "Utilize the JSON-RPC port" 2023-08-31 04:45:05 +00:00
Julia Kreger
980611186e PXE: Remove DHCP option 210 from being set
Ages ago we supported pxelinux. Now, not really since it is long EOL.

And while troubleshooting bug # 2033430, we discovered we had option
210 in the DHCP payload from the server, which ended up being the
folder base path for a tftp client to self reference the structure,
but only with OVN.

Further troubleshooting with the neutron-dhcp-agent and dnsmasq
revealed we never actaully really sent that option to clients.

In other words, meaning it was always redundant. Since excess
information could be part of the problem with grub, we're removing
it.

Change-Id: Iaa2f174b6082fadcab6635ca874fc5fae2fb4842
2023-08-30 13:27:54 -07:00
Jay Faulkner
69bdbfb6e9 Fully monkey patch eventlet for consistent behavior
Eventlet expects to have green versions of every module loaded, including OS. The reasons we originally did not patch os are lost
to time, but there have been many releases of eventlet since, and we should return to a reasonable baseline.

Change-Id: Ia4113124b415bd647e3c984e587828eb5b612eee
2023-08-30 20:08:54 +00:00
Julia Kreger
30e4881c9e Add missing release mappings for 22.0 and 22.1
Just adds the entries in case anyone needs to pin and upgrade
with those releases.

Change-Id: I55cb0c9735b1b9c0d365bdd6262fdc48b0ac03c9
2023-08-30 11:04:38 -07:00
Jay Faulkner
a2919f7a75 Correct bindep.txt entries for bookworm
Debian bookworm is where our unit tests run for py3.11. This change
permits them to configure and run.

Change-Id: Ic51ca8df82552b9a8b6765cc0237f84e468e2fd8
2023-08-30 09:30:50 -07:00
Julia Kreger
c84fe147a3 Utilize the JSON-RPC port
Adds storage of the json-rpc port number to the conductor hostname
to enable rpc clients to understand which rpc servies they need to
connect to.

Depends-On: https://review.opendev.org/c/openstack/ironic-lib/+/879211
Change-Id: I6021152c83ab5025a9a9e6d8d24c64278c4c1053
2023-08-30 08:56:17 -07:00
Harald Jensås
aa2dad9f75
devstack - fix IPv6 ping
Remove the $ in the condition so that we don't attept to
execute the output from ping (i.e PING - unknown command)

Change-Id: Ic90f7c93d9a7b86fbf3f2cdef46bc1b2bbea489d
2023-08-30 12:45:44 +02:00
Zuul
c56440cc2f Merge "Revert "Move metal3 integration job to non-voting temporarily"" 2023-08-29 21:16:50 +00:00
Zuul
1bbc67c1b6 Merge "Add inspection (processing) hooks" 2023-08-29 16:45:16 +00:00
Zuul
9f7218243b Merge "Permit Ironic to notify IPA it can support MD5" 2023-08-29 12:32:54 +00:00
Zuul
3d2601cd01 Merge "Remove instance image after deployment" 2023-08-29 11:54:59 +00:00
Riccardo Pittau
570fad96d8 Revert "Move metal3 integration job to non-voting temporarily"
This reverts commit b5cdd1881588199ddd1910974aaf8151983b5b85.

Change-Id: Ib0b0bc8668ec3151c11cf5be1949523f95511d26
2023-08-29 10:39:57 +02:00
Zuul
9c6ad7478d Merge "Revamp Ironic dev-quickstart documentation" 2023-08-29 04:11:38 +00:00
Zuul
120ccf50cc Merge "Add service steps call to agent logic" 2023-08-29 04:11:35 +00:00
Zuul
8be7efdeab Merge "Introduce default kernel/ramdisks by arch" 2023-08-29 04:11:32 +00:00
Zuul
f4c44dd1b3 Merge "Update iRMC driver vendor library version" 2023-08-29 02:56:25 +00:00
Zuul
f7dfc13c94 Merge "Adds service steps" 2023-08-29 02:56:22 +00:00
Zuul
201cdb7226 Merge "Fail on node lookup if it is locked" 2023-08-28 23:04:34 +00:00
Julia Kreger
e1a0864635 Add service steps call to agent logic
While the prior sevice steps patch had a huge portion of the
needed code already due to copy-pasta, this change finishes
wiring in the ability for the agent to be launched for service
steps and heartbeat to occur, combined with support to retrieve
service steps from the running agent, ultimately to enable
operators to take a deployed node, and ask Ironic to make changes,
or my more favorite use case, go benchmark it for a while.

Also edits the service steps release note to remove the outstanding
issue, and makes some minor corrections in the code which was copied
but didn't quite have testing wired up yet.

Change-Id: Ibfe42037b520a76539234cf1a5e19afd335ce8a8
2023-08-28 20:57:43 +00:00
Bifrost
3c5e05a8a4 Introduce default kernel/ramdisks by arch
Introduce config to allow setting default ramdisks per-architecture.
The hierarchy of the parameters is:
Node config > config by architecture > general config

Change-Id: I95dfece3e8f7bcd3121ac808985cb61997877a51
2023-08-28 17:25:37 +01:00
Riccardo Pittau
fc29073b1d Use sparkingly new metalsmith cs9 job
Instead of the old dusty cs8 one.

Change-Id: Ieb515ddcc1c919e2e5c79784b13dd1a7ec815aab
2023-08-28 12:22:44 +02:00
Riccardo Pittau
b5cdd18815 Move metal3 integration job to non-voting temporarily
It's currently broken

Change-Id: I326b0e4bf43b104144b6cc1cff6261bbbd4b8070
2023-08-25 16:46:37 +02:00
Vanou Ishii
04707edfe4 Update iRMC driver vendor library version
Update version requirement of python-scciclient
to greater than or equal to 0.15.0.
Since this version 0.15.0, python-scciclient uses
pysnmp lextudio.

Change-Id: I736707027002578ab87577c94b5e6c45ba1c5f72
2023-08-25 09:51:21 -04:00
Mahnoor Asghar
e6360bc84b Add inspection (processing) hooks
Adds inspection hooks in the agent inspect interface for processing
data received from the ramdisk at the /v1/continue_inspection
endpoint. The four default configuration hooks 'ramdisk-error',
'validate-interfaces', 'ports' and 'architecture' are added.
(The remaining inspection hooks will be added in further patches.)

Change-Id: I2cf1be465ba7a93fd66881b14972e960acd4dd4e
Story: #2010275
2023-08-25 09:38:39 -02:00