Commit Graph

2522 Commits

Author SHA1 Message Date
Riccardo Pittau 8de6e03539 Update ironic-lib min required version
The addition of the qemu-img module  that is used in ipa was
introduced in ironic-lib 6.0.0

Change-Id: I65b283d9abcfe2aa961baf9f686391c8dcc71d6b
2024-03-19 14:39:06 +01:00
OpenStack Release Bot 783a0377ad Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.

Sem-Ver: feature
Change-Id: I67ee5ead4aa7f47517c35d1a77d594fcad22cc4c
2024-03-19 11:10:44 +00:00
Zuul ee8340f2cb Merge "Update regex to detect closed branch" 2024-03-18 11:07:10 +00:00
Zuul e28b3e72f7 Merge "Use assert_not_called" 2024-03-15 17:30:21 +00:00
Zuul 815e1f462f Merge "reno: Update master for unmaintained/victoria" 2024-03-14 12:05:39 +00:00
Zuul aa76962b4e Merge "reno: Update master for unmaintained/wallaby" 2024-03-14 12:00:33 +00:00
OpenStack Release Bot 38ba0d8508 reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.

Change-Id: I3bbef10b65dc43596a59eaca5d792f5e451d5d4c
2024-03-14 11:27:13 +00:00
OpenStack Release Bot 5a017ea84a reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.

Change-Id: Iaf279482847d781d7d338c4923a672a5e9337332
2024-03-14 11:22:41 +00:00
OpenStack Release Bot 6ebaf277a6 reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.

Change-Id: I00a9bcb8ee6d5160d2598fbecb8e585885212df7
2024-03-14 11:18:06 +00:00
Takashi Kajinami bffa88acb8 Update regex to detect closed branch
... based on the change made in reno recently[1].

Also the overall regex is updated to be more consistent with the regex
used in ironic.

[1] https://review.opendev.org/c/openstack/reno/+/910547

Change-Id: I362de82fb5478b846df7a343da02a359f5f7dece
2024-03-13 19:40:40 +09:00
Zuul 9b760755ca Merge "Force constraints when installing a package during tox test" 2024-03-13 08:23:06 +00:00
Riccardo Pittau 95b3ed3fed Fix unit tests after ironic-lib changes
Updating tests after change [1] and [2] in ironic-lib.

[1] ae53e8e4b3
[2] 7644196e7d

Change-Id: I880b4f82beb117d8812e60c13040e19476cec32b
2024-03-12 09:13:14 +01:00
Thomas Goirand ca6ff4706b Use assert_not_called
IPA still has 3 occurences of not_called() which are failing for me
when building the Ironic Debian package in Debian Unstable (ie: with
Python 3.12).

This patch uses assert_not_called() instead of not_called(), fixing
the problem.

Change-Id: I8bd27fa706b298b28ef5bef405134a2c9803d757
2024-02-26 11:57:10 +01:00
Riccardo Pittau d4554e4ab5 Force constraints when installing a package during tox test
The tox deps option grants installation of single dependencies and
requirements, optionally pinned using constraints, before installing
a package, therefore not granting installation of the correct
constraint during the package installation.
To fix that tox 4.4.0 has introduced the constrain_package_deps
option [1]

[1] https://tox.wiki/en/4.12.1/faq.html#using-constraint-files

Change-Id: I770e55db5d6f53174c490749d27830f9209e98cc
2024-02-12 14:59:39 +01:00
Zuul df7eccd7f1 Merge "Trivial: avoid deprecated utcnow" 2024-02-08 14:43:41 +00:00
Zuul 6d35c1e949 Merge "Make inspection URL optional if the collectors are provided" 2024-02-07 23:06:34 +00:00
OpenStack Release Bot 614532d2a2 reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.

Change-Id: I0c5ab4348bd293ce77b04180247773412edbe179
2024-02-06 15:03:51 +00:00
Zuul 359ac636f0 Merge "Drop usage of run_as_root" 2024-01-31 16:29:06 +00:00
Dmitry Tantsur 8877e1f319
Trivial: avoid deprecated utcnow
Change-Id: I5dbe3c2be36e23e749fbeebbc448d413d276b401
2024-01-31 10:09:13 +01:00
Zuul c3e3cf2aef Merge "Also retry inspection on HTTP CONFLICT" 2024-01-29 08:50:26 +00:00
Zuul 204381bbd9 Merge "[codespell] Adding git-blame-ignore-revs to clear codespell changes" 2024-01-27 00:17:47 +00:00
Dmitry Tantsur 0010f5c11a
Also retry inspection on HTTP CONFLICT
The new implementation can return it when unable to lock the node.

Other possible errors are 400 and 404 (should not be retried), as well as
5xx (already retried).

Change-Id: I74c2f54a624dc47e8e2d1e67ae4c6a6078e01d2f
2024-01-26 16:21:24 +01:00
Sharpz7 0ef3397bec [codespell] Adding git-blame-ignore-revs to clear codespell changes
Change-Id: Iac9895c78fe68b52521074065c5e6d0b0c15491c
2024-01-25 01:49:11 +00:00
Dmitry Tantsur 9f849472ca
Drop usage of run_as_root
IPA can only be run as root and does not use rootwrap. We need to
eventually remove support for rootwrap from ironic-lib.

Change-Id: Iffd5cae5e3dc8637bc6dd10b3bcc9fe33932b8cf
2024-01-23 14:23:23 +01:00
Zuul 1e107bd625 Merge "Add support for reporting CPU socket number" 2024-01-22 11:52:06 +00:00
Kaifeng Wang 9cafe76225 Add support for reporting CPU socket number
IPA reports a few cpu fields including cores, arch, flags etc.
There is a need that user wants to utilize the physical number in
a baremetal since cores are just a logical representation of the
compute resource.
The socket number is more suitable for the quota control in some
use cases.

Change-Id: I94be86d6b12a3a7e7ca1041d948427a073412a31
2024-01-19 21:24:37 +00:00
Sharpz7 b928b6601c [Codespell] Adding tox target to CI (Non-Voting)
Adding CI for previous codespell tox change

Related Bug: https://bugs.launchpad.net/ironic-python-agent/+bug/2047654

Change-Id: I02f7973c0e6799f7d7b44978009dfebbce3877a4
2024-01-17 17:15:33 +00:00
Zuul be9477179b Merge "Support several API and Inspector URLs" 2024-01-16 19:17:36 +00:00
Zuul 3e066e3f3e Merge "Add missing headers to the inspection callback" 2024-01-16 19:17:35 +00:00
likui dcf12d1b58 Update python classifier in setup.cfg
As per the current release tested runtime, we test
till python 3.11 so updating the same in python
classifier in setup.cfg

Change-Id: I699e08c268040d387b91ccca4e6505184d3d1b59
2024-01-15 14:17:44 +08:00
Zuul 64081ad36b Merge "Remove deprecated pbr options" 2024-01-10 09:32:35 +00:00
Zuul dc33a97221 Merge "Remove unnecessary egg_info options" 2024-01-10 09:04:36 +00:00
Dmitry Tantsur 6cd36a750f
Make inspection URL optional if the collectors are provided
With the new in-band inspection, we can derive the callback URL from
the Ironic URL, there is no need to duplicate it. This change uses
the presence of collectors as a sign to run inspection.

The previous approach of setting an inspection URL, with or without
explicitly setting collectors, still works for compatibility with
ironic-inspector.

Change-Id: Ie4279ee6d2995c9686f1dcdef1d6e5dc1dd20871
2024-01-10 08:55:42 +01:00
Dmitry Tantsur 0d4ae976c2
Support several API and Inspector URLs
Allows nodes with a single IP stack to be deployed from a dual-stack
Ironic.

Detecting advertised address and usable Ironic URLs are done completely
independently which does open some space for a misconfiguration. I hope
it's not likely in the reality, especially since this feature is
targetting advanced standalone users.

Change-Id: Ifa506c58caebe00b37167d329b81c166cdb323f2
Closes-Bug: #2045548
2024-01-09 16:43:23 +01:00
Dmitry Tantsur 2bb74523ae
Add missing headers to the inspection callback
Somehow, it has worked correctly for years, but now I've discovered that
the new inspection is (no longer?) tolerant to the missing header.

While here, copy all headers from the heartbeat code.

Change-Id: I9e5c609eb4435e520bc225dea08aedfdf169744b
2024-01-09 16:38:46 +01:00
Zuul a22d1fc411 Merge "Add tox target and configuration for codespell" 2024-01-08 17:22:04 +00:00
Zuul d298e06b49 Merge "[codespell] Fix spelling issues in IPA" 2024-01-08 17:22:02 +00:00
Zuul f1a4aeb29a Merge "Update to latest pep8/code style versions" 2024-01-03 14:57:53 +00:00
Zuul 7422a27de4 Merge "Reformat and update the section on injecting root credentials" 2023-12-29 22:20:49 +00:00
Jay Faulkner dcaed43ef9 Update to latest pep8/code style versions
Update various linting programs to their latest version, and fix any
issues created by the update.

Change-Id: I014c846560663a76a1663b568ef48659d0ab6d4d
2023-12-28 14:19:27 -08:00
Jay Faulkner 4a1acae5bc Add tox target and configuration for codespell
Adds a tox target for codespell, `tox -e codespell`. Can optionally
be run as `tox -e codespell -- -w` to get automatic spelling fixes
applied where appropriate. Adds small amounts of configuration to
setup.cfg, including an ignore list of words.

Related-bug: #2047654
Change-Id: I98203b02a9c6b6fc36edd6b4bbcc7c92a634da8b
2023-12-28 11:43:10 -08:00
Jay Faulkner 36e5993a04 [codespell] Fix spelling issues in IPA
This fixes several spelling issues identified by codepsell. In some
cases, I may have manually modified a line to make the output more clear
or to correct grammatical issues which were obvious in the codespell
output.

Later changes in this chain will provide the codespell config used to
generate this, as well as adding this commit's SHA, once landed, to a
.git-blame-ignore-revs file to ensure it will not pollute git historys
for modern clients.

Related-Bug: 2047654
Change-Id: I240cf8484865c9b748ceb51f3c7b9fd973cb5ada
2023-12-28 10:54:46 -08:00
Takashi Kajinami 921cf26898 Remove deprecated pbr options
The api_doc_dir option and the autodoc_index_modules option were both
deprecated in pbr 4.2.

The required options for the sphinxcontrib-apidoc extension are already
defined in doc/source/conf.py .

Change-Id: Ifcef9e84ff4febeb01cfdc75bdbd66565d0e8079
2023-12-20 11:41:44 +09:00
Takashi Kajinami d342315a3a Remove unnecessary egg_info options
The tag_svn_revision option was already removed[1]. The values set to
the other two options are effectively same as their defaults.

[1] https://github.com/pypa/setuptools/issues/619

Change-Id: I00c91a4966135a92ee6391b0b7084f2b5b04aaef
2023-12-20 11:37:38 +09:00
Iury Gregory Melo Ferreira 03b6b0a4ab Fix inspector retries to not take a long time
Since we moved to exponential wait we increased the amount of time
to run unit tests, now we can configure the max time to wait

- before: Ran: 33 tests in 22.6581 sec.
- after: Ran: 33 tests in 4.0256 sec.

Change-Id: Ibdcfebacad0489d17183e43ceb0d603fce67e72b
2023-12-19 14:26:59 -03:00
Dmitry Tantsur 91b7ae96c9
Reformat and update the section on injecting root credentials
Change-Id: I49ad9979daad11bf7a54069564c6b7919de0ea7c
2023-12-15 12:34:31 +01:00
Zuul 3a757f721f Merge "docs: improve rootpwd password generation command" 2023-12-15 11:27:03 +00:00
Dmitry Tantsur 2ab8364649
Add a jitter to heartbeat retries
Currently, if heartbeat fails, we reschedule it after 5 seconds.
This is fine for the first retry, but it can cause a thundering herd
problem when a lot of nodes fail to heartbeat at once.

This change adds jitter to the minimum wait of 5 seconds. The jitter is
not applied for forced heartbeats: they still have a minimum wait of
exactly 5 seconds from the last heartbeat.

The code is re-ordered to move the interval calculation to one place.
Bonus: correctly logging the next interval.

The unit tests have been rewritten to test the heartbeat process step by
step and not rely on the exact sequence of the calls.

Closes-Bug: #2038438
Change-Id: I4c4207b15fb3d48b55e340b7b3b54af833f92cb5
2023-12-13 17:34:24 +01:00
Zuul 62041d6d9e Merge "Fix referencing to the raid_device var which is not set" 2023-12-12 17:01:32 +00:00
Iury Gregory Melo Ferreira 801da9ec1f Retry in ProxyError during post inspector data
* ProxyError is derived from ConnectionError, but it's necessary
to check the Response object to identify.

- Added ProxyError in retry_if_exception_type
- Updated _post_to_inspector to proper handle ProxyError
- Updated the wait to use wait_exponential instead of wait_fixed.

Closes-Bug: 2045429
Change-Id: Iefe3fe581cd4e7c91a0da708e6f6d0fdaacab6fe
2023-12-06 12:01:35 -03:00