summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CI: Mark BFV job non-voting for nowHEADmasterJulia Kreger2023-05-161-2/+11
| | | | | | | | Until we're able to get the BFV job softed, we need to unblock the gate, and as such moving the BFV job to non-voting to allow other contributors to make progress. Change-Id: I045d58afe195f08823af3b1a2fa6eabb6efb63ca
* Merge "Support longer checksums for redfish firmware upgrade"Zuul2023-05-094-3/+47
|\
| * Support longer checksums for redfish firmware upgradeJulia Kreger2023-05-034-3/+47
| | | | | | | | | | | | | | Previoulsy only SHA1 hashes were supported, now we support SHA256 and SHA512 by length. Change-Id: Iddb196faca4008837595a3d0923f55d0e9d2aea5
* | Merge "Remove use of nomodeset by default"Zuul2023-05-0911-18/+48
|\ \
| * | Remove use of nomodeset by defaultJulia Kreger2023-04-2611-18/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The troubleshooting kernel command line option nomodeset unfortunately changes the way framebuffer interactions work with graphics devices which in some cases can result in kernel memory to be used for graphics updates. When this happens on some specific hardware common in rack mount servers with baseboard management controllers, this can cause the memory bus to become locked for a brief time while the graphics update is occuring. This locked memory bus means disk IO can become blocked, and network cards can overflow their buffers resulting in packet loss on top of the latency incurred by the graphics update executing. As such, we've removed the nomodeset option from default usage and added a note describing its removal to the documentation along with a release note. Change-Id: I9084d88c3ec6f13bd64b8707892758fa87dd7f86
* | | Merge "Imported Translations from Zanata"Zuul2023-05-092-163/+48
|\ \ \
| * | | Imported Translations from ZanataOpenStack Proposal Bot2023-05-092-163/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: Ice56ac44161d27ede41fdf53024e62e49c572049
* | | | Merge "Remove autocommit, again."Zuul2023-05-091-3/+1
|\ \ \ \
| * | | | Remove autocommit, again.Julia Kreger2023-05-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch Ic8b1d964f7be5784e01c89bfb6c0277ea82eec2d was developed without the autocommit change in place, which should allow Ironic to operate properly with sqlite, in a single process standalone mode. As such, we shouldn't need to keep autocommit turned on, but we may need to put it back if we identify yet another issue, which is entirely possible with major database refactors. Change-Id: Icde231e9db3b7a9f59205505cd51a4064e41d746
* | | | | Merge "Fix api-ref v1-indicators"Zuul2023-05-091-2/+2
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Fix api-ref v1-indicatorsHarald Jensås2023-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing a GET or PUT on an indicator the indicator specified must use `indicator@component` syntax. For example: indicators/led@system or indicators/led-0@chassis Ref: ironic.api.controllers.v1.node.IndicatorAtComponent Change-Id: I6908544b52be88cbddf537c954dd5e097a0d83e6
* | | | | Merge "Use monotonic time for hashring reset"Zuul2023-05-092-3/+3
|\ \ \ \ \
| * | | | | Use monotonic time for hashring resetKaifeng Wang2023-05-072-3/+3
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | hashring use time.time() to calculate intervals, replace with monotonic so it will not be affected by system time jump. Change-Id: I17569359f4d2c0f2f24ca8b50773c4d210ed8deb
* | | | | CI: Fix another network testJulia Kreger2023-05-081-0/+4
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out more than one test was relying upon the object change determination test. Modifies this test to use the same pattern of behavior so we are avoiding racing. Change-Id: I29ee6cab7320d13fcc2eeda27dae08aeb2d98b00
* | | | CI: Modify dhcp client ID failJulia Kreger2023-05-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test, periodically under certian CI race conditions, may be handled as if there was not a change, which breaks the test as it does not save a modified port, it uses the in-flight list of changes to determine the correct path. The challenge is, the list of changes may not reconize there has been a change with the underlying object/db layer. So instead of re-test the library code, we just force the behavior by replacing the method on the object in the test, as the undrelying method being tested is tested as part of the oslo versioned objects code base. Change-Id: Ic8f9b2384ab2f8f76299afce9806fbe93e350f0e
* | | | Merge "Handle MissingAttributeError when using OOB inspections to fetch MACs"Zuul2023-05-083-1/+29
|\ \ \ \
| * | | | Handle MissingAttributeError when using OOB inspections to fetch MACsJacob Anders2023-05-023-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if an attempt is made to fetch MAC address information using OOB inspection on a Redfish-managed node and EthernetInterfaces attribute is missing on the node, inspection fails due to a MissingAttributeError exception being raised by sushy. This change adds catching and handling this exception. Change-Id: I6f16da05e19c7efc966128fdf79f13546f51b5a6
* | | | | Make rbac enforced test non-voting for the time beingRiccardo Pittau2023-05-051-2/+7
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | We need to fix the tests first, so this needs to pass https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/882312 Change-Id: I5a9536f24103032059f25f9f69fda354e9e38187
* | | | Change wholedisk image checksum to sha256Julia Kreger2023-05-021-1/+1
| |/ / |/| | | | | | | | Change-Id: I0c90ac87ca88329e7fb315385345e8020a59fdd5
* | | Fix DB/Lock session handling issuesJulia Kreger2023-05-017-29/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this fix, we have been unable to run the Metal3 CI job with SQLAlchemy's internal autocommit setting enabled. However that setting is deprecated and needs to be removed. Investigating our DB queries and request patterns, we were able to identify some queries which generally resulted in the underlying task and lock being held longer because the output was not actually returned, which is something we've generally had to fix in some places previously. Doing some of these changes did drastically reduce the number of errors encountered with the Metal3 CI job, however it did not eliminate them entirely. Further investigation, we were able to determine that the underlying issue we were encountering was when we had an external semi-random reader, such as Metal3 polling endpoints, we could reach a situation where we would be blocked from updating the database as to open a write lock, we need the active readers not to be interacting with the database, and with a random reader of sorts, the only realistic option we have is to enable the Write Ahead Log[0]. We didn't have to do this with SQLAlchemy previously because autocommit behavior hid the complexities from us, but in order to move to SQLAlchemy 2.0, we do need to remove autocommit. Additionally, adds two unit tests for get_node_with_token rpc method, which apparently we missed or lost somewhere along the way. Also, adds notes to two Database interactions to suggest we look at them in the future as they may not be the most efficient path forward. [0]: https://www.sqlite.org/wal.html Change-Id: Iebcc15fe202910b942b58fc004d077740ec61912
* | | Merge "Upgrade to latest hacking - v6"Zuul2023-04-304-4/+4
|\ \ \
| * | | Upgrade to latest hacking - v6Jay Faulkner2023-04-214-4/+4
| | |/ | |/| | | | | | | | | | | | | Required minor changes to existing files to comply with new flake rules. Change-Id: Ia0bff27ab4a7ec98c533ea66357a3c0529026102
* | | Merge "Configure docs: we no longer use storyboard"Zuul2023-04-281-1/+1
|\ \ \
| * | | Configure docs: we no longer use storyboardJay Faulkner2023-04-251-1/+1
| |/ / | | | | | | | | | Change-Id: I8a5221b7d8a44d73510efb9ad6a5f16d75a270f5
* | | Merge "[iRMC] Fix typo of Python string format in log message"Zuul2023-04-271-1/+1
|\ \ \
| * | | [iRMC] Fix typo of Python string format in log messageVanou Ishii2023-04-241-1/+1
| |/ / | | | | | | | | | | | | | | | | | | This patch fixes Python string format mistake in log message of iRMC driver. Change-Id: Ib58ae51849cbb06b3dcd6222d5b4ddacd2fbe230
* | | Merge "Remove all references to the "cpus" property"Zuul2023-04-2719-130/+48
|\ \ \
| * | | Remove all references to the "cpus" propertyDmitry Tantsur2023-03-2819-130/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unused by Nova and unlike memory_mb/local_gb also by Ironic (actually, our usage of local_gb is worth double-checking as well, but at the very least it's referenced by inspection implementations). Change-Id: Ie8b0d9f58f4dcd102c183c30ae7f5acf68a5e4c3
* | | | Merge "Set ironic-grenade to wait 120 seconds"Zuul2023-04-271-0/+1
|\ \ \ \
| * | | | Set ironic-grenade to wait 120 secondsJulia Kreger2023-04-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Launching test VMs can take a while, and grenade can fail if the VM's networking is not quite online in under sixty seconds. As such, it is reasonable to use a larger window so the failure rate of ironic-grenade will hopefully decline. Depends-On: https://review.opendev.org/c/openstack/grenade/+/879674 Change-Id: I07aead4b09ccb7e427a0d3d04e7a580cf4b00a95
* | | | | Merge "Add ablity to power off nodes in clean failed"Zuul2023-04-274-0/+51
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | Add ablity to power off nodes in clean failedChris Krelle2023-04-244-0/+51
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | We have seen duplicate ip issues when leaving clean failed nodes powered on. This patch allows operators to power down nodes that enter clean failed state. Change-Id: Iecb402227485fe0ba787a262121c9d6a048b0e13
* | | | tests: Replace invalid UUIDsStephen Finucane2023-04-193-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the warnings that oslo.versionedobjects has been emitting for years now. Change-Id: I53bd78d8b70f276d2ea8569f0ab1e7ce04f52fea Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | | db: Resolve SAWarning warningsStephen Finucane2023-04-192-12/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolve the following SAWarning warning: SELECT statement has a cartesian product between FROM element(s) "foo" and FROM element "bar". Apply join condition(s) between each element to resolve. This was happening because we were filtering instances of ConductorHardwareInterfaces by the state of the Conductor referenced by the 'conductor_id' field *without* joining the Conductor table. By adding the join, we can avoid this cartesian product. Change-Id: I2c20d7a7c1de41d4d0057fabc1d953b5bfb5b216 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | Merge "Always fall back from hard linking to copying files"Zuul2023-04-103-107/+40
|\ \ \
| * | | Always fall back from hard linking to copying filesDmitry Tantsur2023-03-313-107/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current check is insufficient: it passes for Kubernetes shared volumes, although hard-linking between them is not possible. This patch changes the approach to trying a hard link and falling back to copyfile instead. The patch relies on optimizations in Python 3.8 and thus should not be backported beyond the Zed series to avoid performance regression. Change-Id: I929944685b3ac61b2f63d2549198a2d8a1c8fe35
* | | | Merge "Run metal3 integration with ironic-image from source"Zuul2023-04-071-0/+2
|\ \ \ \
| * | | | Run metal3 integration with ironic-image from sourceRiccardo Pittau2023-04-061-0/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Do not log into the template1 database during test-setup"Zuul2023-04-051-1/+1
|\ \ \ \
| * | | | Do not log into the template1 database during test-setupDmitry Tantsur2023-03-311-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Template databases are not designed to run random SQL code. They should only be accessed to modify the template itself. Use postgres instead. Change-Id: Id7d38895d8d04964557447ecbc6ca29f39f626c9
* | | | Merge "Exclude all files starting with . from flake8 tests"Zuul2023-04-051-1/+1
|\ \ \ \
| * | | | Exclude all files starting with . from flake8 testsRiccardo Pittau2023-03-281-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests tool and IDE may create a .local directory inside the repo with virtualenvs for dependencies, other tools may create . directories or files for temporary reports. While they can be removed in a second time, or configured differently, it's advisable to just exclude all file starting with . from the flake8 tests to avoid confusion and possible unexpected errors. Change-Id: I5dc2fd2dec9690c77babe0c2b1dc5d0991413b32
* | | | Merge "On rpc service stop, wait for node reservation release"Zuul2023-04-054-8/+92
|\ \ \ \
| * | | | On rpc service stop, wait for node reservation releaseSteve Baker2023-02-274-8/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of clearing existing reservations at the beginning of del_host, wait for the tasks holding them to go to completion. This check continues indefinitely until the conductor process exits due to one of: - All reservations for this conductor are released - CONF.graceful_shutdown_timeout has elapsed - The process manager (systemd, kubernetes) sends SIGKILL after the configured graceful period Because the default values of [DEFAULT]graceful_shutdown_timeout and [conductor]heartbeat_timeout are the same (60s) no other conductor will claim a node as an orphan until this conductor exits. Change-Id: Ib8db915746228cd87272740825aaaea1fdf953c7
* | | | | Merge "Remove outdated API version information from the enrollment docs"Zuul2023-04-051-16/+10
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | Remove outdated API version information from the enrollment docsDmitry Tantsur2023-04-041-16/+10
| | |/ / | |/| | | | | | | | | | | | | | Change-Id: I846ce901137bede05543a40e4d91930c4fddad41 Closes-Bug: #1753435
* | | | Fix requests calls with timeoutsJulia Kreger2023-04-046-19/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bandit 1.7.5 dropped with logic to check requests invocations. Specifically if a timeout is not explicitly set, then it results in an error. This should cause our bandit job to go green. Closes-Bug: 2015284 Change-Id: I1dcb3075de63aae97bb22012a54736c293393185
* | | | Merge "Add error logging on lookup failures in the API"Zuul2023-04-041-1/+5
|\ \ \ \ | |/ / / |/| | |
| * | | Add error logging on lookup failures in the APIDmitry Tantsur2023-03-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Lookup returns generic 404 errors for security reasons. Logging is the only way of debugging any issues during it. Change-Id: I860ed6b90468a403f0f6cdec9c3d84bc872fda06
* | | | Merge "Enables boot modes switching with Anaconda deploy for ilo driver"Zuul2023-03-273-0/+95
|\ \ \ \