summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Enables boot modes switching with Anaconda deploy for ilo driverNisha Agarwal2023-03-173-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enables boot modes switching with Anaconda deploy for ilo driver Story: 2010357 Task: 46530 Change-Id: I383cdd5c9d45b074d351ec98b1145fd68e2f3ac3
* | | | | Merge "Use main branch of metal3-dev-env to run metal3 integration job"Zuul2023-03-241-5/+3
|\ \ \ \ \
| * | | | | Use main branch of metal3-dev-env to run metal3 integration jobRiccardo Pittau2023-03-211-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set libvirt domain to qemu for compatibility with openstack CI infra Change-Id: Icf6dfa9603ec35c0b0527ac5358252cbb4842e6d
* | | | | | Merge "Refactoring: clean up inspection data handlers"Zuul2023-03-238-199/+150
|\ \ \ \ \ \
| * | | | | | Refactoring: clean up inspection data handlersDmitry Tantsur2023-03-148-199/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Avoid using the term "introspection". We need to settle on either "inspection" or "introspection", and the Ironic API already uses the former. * Accept (and return) inventory and plugin data separately to reflect the Ironic API (single JSON blobs are an Inspector legacy). * Make sure to mention the container name in error logging. * Use more readable formatting syntax for building Swift names. * Do not mock objects with dicts (in unit tests). * Simplify inventory API tests. Change-Id: Id8c4bc6d35b9634f5a5ac2b345a8fd7f1dba13c0
* | | | | | | Merge "Refactoring: DRY in the root API controller"Zuul2023-03-231-117/+29
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Refactoring: DRY in the root API controllerDmitry Tantsur2023-03-141-117/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I7bba31e73daef7292d0710242e6f88793b7ab357
* | | | | | | Merge "Refactoring: create ironic.conductor.inspection"Zuul2023-03-234-193/+232
|\ \ \ \ \ \ \ | |/ / / / / / | | | | | | / | |_|_|_|_|/ |/| | | | |
| * | | | | Refactoring: create ironic.conductor.inspectionDmitry Tantsur2023-03-144-193/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... to reduce the already frightening size of ironic.conductor.manager and make space for more inspection additions. While here, fix up log messages for clarity and brevity. Change-Id: I5196d58016ae094f17e0aad187a11d9cceaab04b
* | | | | | [CI] Fix port list benchmarkJulia Kreger2023-03-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ifdcf69f605e38f4c56661c8fd3c6b8aac087fc78
* | | | | | Merge "Fixes Secureboot with Anaconda deploy"Zuul2023-03-204-17/+19
|\ \ \ \ \ \ | | |_|/ / / | |/| | / / | |_|_|/ / |/| | | |
| * | | | Fixes Secureboot with Anaconda deployNisha Agarwal2023-03-164-17/+19
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes Secureboot with Anaconda deploy with PXE and iPXE Story:2010356 Task: 46529 Change-Id: Id6262654bb5e41e02c7d90b9a9aaf395e7b6a088
* | | | Merge "Fix auth_protocol and priv_protocol for SNMP v3"Zuul2023-03-175-2/+112
|\ \ \ \ | |/ / / |/| | |
| * | | Fix auth_protocol and priv_protocol for SNMP v3Duc Truong2023-03-015-2/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SNMP driver was using the wrong dictionary key to retrieve auth_protocol and priv_protocol from driver info. As a result, the SNMP client was created with empty strings for both those fields. Any nodes configured to use SNMP v3 with those fields failed because the SNMP driver was unable to perform power related operations due to authentication error. - Use correct keys for snmp auth_protocol and priv_protocol when creating SNMP client - Sanitize snmp auth_key and priv_key in API results Story: 2010613 Task: 47535 Change-Id: I5efd3c9f79a021f1a8e613c3d13b6596a7972672
* | | | Merge "Wipe Agent Token when cleaning timeout occcurs"Zuul2023-03-143-2/+15
|\ \ \ \
| * | | | Wipe Agent Token when cleaning timeout occcursJulia Kreger2023-03-023-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a relatively odd turn of events, should cleaning have started, but then timed out due to lost communications or a hard failure of the machine, an agent token could previously be orphaned preventing re-cleaning. We now explicitly remove the token in this case. Change-Id: I236cdf6ddb040284e9fd1fa10136ad17ef665638
* | | | | Merge "Document [fake] delay config values"Zuul2023-03-141-0/+24
|\ \ \ \ \
| * | | | | Document [fake] delay config valuesSteve Baker2023-02-281-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature was added in the previous commit Change-Id: I30100cd3b2702bf8bb614d45c0f64712656ec15e
* | | | | | Merge "Clean out agent token even if power is already off"Zuul2023-03-133-0/+38
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | |
| * | | | | Clean out agent token even if power is already offJulia Kreger2023-03-023-0/+38
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While investigating a very curious report, I discovered that if somehow the power was *already* turned off to a node, say through an incorrect BMC *or* human action, and Ironic were to pick it up (as it does by default, because it checks before applying the power state, then it would not wipe the token information, preventing the agent from connecting on the next action/attempt/operation. We now remove the token on all calls to conductor utilities node_power_action method when appropriate, even if no other work is required. Change-Id: Ie89e8be9ad2887467f277772445d4bef79fa5ea1
* | | | | Merge "Refactoring: extract some common functions from the inspector code"Zuul2023-03-133-37/+45
|\ \ \ \ \
| * | | | | Refactoring: extract some common functions from the inspector codeDmitry Tantsur2023-03-013-37/+45
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0acc5303c1a38645318fb9be4cb068d069b7fe6a
* | | | | | Merge "Do not recalculate checksum if disk_format is not changed"Zuul2023-03-136-22/+151
|\ \ \ \ \ \
| * | | | | | Do not recalculate checksum if disk_format is not changedDmitry Tantsur2023-03-076-22/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if a glance image is raw, we still recalculate the checksum after "converting" it to raw. This process may take exceptionally long. Change-Id: Id93d518b8d2b8064ff901f1a0452abd825e366c0
* | | | | | | Merge "Restructure the inspector module in preparation for its expansion"Zuul2023-03-108-99/+152
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Restructure the inspector module in preparation for its expansionDmitry Tantsur2023-03-018-99/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Converts ironic.drivers.modules.inspector into a package with two subpackages: client and interface, the latter containing most of the current content. Change-Id: Idbfd275c60a873e3de2e0a34db793619f8c99d85
* | | | | | | Merge "Add a non-voting metal3 CI job"Zuul2023-03-106-0/+321
|\ \ \ \ \ \ \
| * | | | | | | Add a non-voting metal3 CI jobDmitry Tantsur2023-03-066-0/+321
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll use only one node as we're limited in resources but that should suffice for a basic test. Change-Id: I8e845d46ba0e13027aa1e628b0ad45eb24f9b387
* | | | | | | Merge "Update master for stable/2023.1"Zuul2023-03-102-0/+7
|\ \ \ \ \ \ \
| * | | | | | | Update master for stable/2023.1OpenStack Release Bot2023-03-092-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add file to the reno documentation build to show release notes for stable/2023.1. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/2023.1. Sem-Ver: feature Change-Id: Iabfa1f9b492c85be185c6993a016a6dd88ed9f9a
* | | | | | | | Imported Translations from ZanataOpenStack Proposal Bot2023-03-102-10/+160
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I40870112f420690bde769c94740602e29ca34183
* | | | | | | Update release mappings for 21.4 release21.4.0Julia Kreger2023-03-072-4/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mapping allows object version upgrades to be navigated and needs to be updated pre-release otherwise we break the inherent upgrade job to the latest state of the development branch. Also, had to backfill the records for the bugfix branch since, while not required for that version to run, it is required to have to upgrade from that version. Also, lists antelope and 2023.1 as "named" releases, due to the abiguity and configuration, it just seemed better to be on the safe side. Change-Id: I633275caf8c3dc750023fbb27bd8a3f4d23e9fa5
* | | | | | | Merge "Add missing include for inventory API reference"Zuul2023-03-073-3/+8
|\ \ \ \ \ \ \
| * | | | | | | Add missing include for inventory API referenceDmitry Tantsur2023-02-233-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix up the title and make sure the linter checks API ref files. Change-Id: I360fd4fab699e732ac03dc07faab33e18fe2bf13
* | | | | | | | Merge "Fix online upgrades for Bios/Traits"Zuul2023-03-073-12/+62
|\ \ \ \ \ \ \ \
| * | | | | | | | Fix online upgrades for Bios/TraitsJulia Kreger2023-03-073-12/+62
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... And tags, but nobody uses tags since it is not available via the API. Anyhow, the online upgrade code was written under the assumption that *all* tables had an "id" column. This is not always true in the ironic data model for tables which started as pure extensions of the Nodes table, and fails in particular when: 1) A database row has data stored in an ealier version of the object 2) That same object gets a version upgrade. In the case which discovered this, BIOSSetting was added at version 1.0, and later updated to include additional fields which incremented the version to 1.1. When the upgrade went to evaluate and iterate through the fields, the command failed because the table was designed around "node_id" instead of "id". Story: 2010632 Task: 47590 Change-Id: I7bec6cfacb9d1558bc514c07386583436759f4df
* | | | | | | | Merge "Add prelude for OpenStack 2023.1 Ironic release"Zuul2023-03-061-0/+14
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | Add prelude for OpenStack 2023.1 Ironic releaseJay Faulkner2023-03-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need a prelude. I added one. Change-Id: I48a7ca99439ce2ac3f954ec382971c1a4382ac58
* | | | | | | | Merge "Add Yoga versions to release notes"Zuul2023-03-030-0/+0
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | Add Yoga versions to release notesDmitry Tantsur2022-08-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iff987cbe0b1e6e2a00d73f5db6d13a00403abf72
* | | | | | | | Merge "Do not move nodes to CLEAN FAILED with empty last_error"Zuul2023-03-029-27/+80
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | |
| * | | | | | | Do not move nodes to CLEAN FAILED with empty last_errorDmitry Tantsur2023-03-019-27/+80
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cleaning fails, we power off the node, unless it has been running a clean step already. This happens when aborting cleaning or on a boot failure. This change makes sure that the power action does not wipe the last_error field, resulting in a node with provision_state=CLEANFAIL and last_error=None for several seconds. I've hit this in Metal3. Also when aborting cleaning, make sure last_error is set during the transition to CLEANFAIL, not when the clean up thread starts running. While here, make sure to log the current step in all cases, not only when aborting a non-abortable step. Change-Id: Id21dd7eb44dad149661ebe2d75a9b030aa70526f Story: #2010603 Task: #47476
* | | | | | | Merge "Respond to rpc requests on stop until hash ring reset"Zuul2023-02-284-7/+118
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | / | | |_|_|_|/ | |/| | | |
| * | | | | Respond to rpc requests on stop until hash ring resetSteve Baker2023-02-274-7/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when a conductor is stopped, the rpc service stops responding to requests as soon as self.manager.del_host returns. This means that until the hash ring is reset on the whole cluster, requests can be sent to a service which is stopped. This change waits for the remaining seconds to delay stopping until CONF.hash_ring_reset_interval has elapsed. This will improve the reliability of the cluster when scaling down or rolling out updates. This delay only occurs when there is more than one online conductor, to allow fast restarts on single-node ironic installs (bifrost, metal3). Change-Id: I643eb34f9605532c5c12dd2a42f4ea67bf3e0b40
* | | | | | Merge "Fix expired links"Zuul2023-02-281-1/+1
|\ \ \ \ \ \
| * | | | | | Fix expired linksrenliang172023-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update the address for https://e.huawei.com/en/products/computing/kunpeng/accessories/ibmc Change-Id: I7c1ea261b44e2ff7f399942796e54a9277a9b1d5
* | | | | | | Merge "Add configurable delays to the fake drivers"Zuul2023-02-275-0/+187
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | |
| * | | | | | Add configurable delays to the fake driversSteve Baker2022-10-135-0/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simulating workloads with the fake driver currently misses the reality that some operations take time to complete, rather than occuring instantly. This makes it difficult to mock real workloads for performance and functional testing of ironic itself. This change adds configurable random wait times for fake drivers in a new ironic.conf [fake] section. Each supported driver having one configuration option controlling the delay. These delays are applied to operations which typically block in other drivers. The default value of zero continues the existing behaviour of no delay. A single integer value will result in a constant delay in seconds. Two values separated by a comma will result in a triangular distribution weighted by the first value, specifically in python[1]: random.triangular(a, b, a) Change-Id: I7cb1b50d035939e6c4538b3373002a309bfedea4 [1] https://docs.python.org/3/library/random.html#random.triangular
* | | | | | | Merge "Get conductor metric data"Zuul2023-02-2710-63/+348
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | |
| * | | | | | Get conductor metric dataJulia Kreger2023-02-2310-63/+348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds the capability for the ironic-conductor and standalone service process to transmit timer and counter metrics to the message bus notifier which may be consumed by a ceilometer, ironic-prometheus-exporter, or other consumer of metrics event data on to the message bus. This functionality is not presently supported on dedicated API services such as those running as an ``ironic-api`` application process, or Ironic WSGI application. This is due to the lack of an internal trigger mechanism to transmit the data in a metrics update to the message bus and/or notifier plugin. This change requires ironic-lib 5.4.0 to collect and ship metrics via the message bus. Depends-On: https://review.opendev.org/c/openstack/ironic-lib/+/865311 Change-Id: If6941f970241a22d96e06d88365f76edc4683364