summaryrefslogtreecommitdiff
path: root/ironic/drivers/modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Support longer checksums for redfish firmware upgrade"Zuul2023-05-091-2/+16
|\
| * Support longer checksums for redfish firmware upgradeJulia Kreger2023-05-031-2/+16
| | | | | | | | | | | | | | Previoulsy only SHA1 hashes were supported, now we support SHA256 and SHA512 by length. Change-Id: Iddb196faca4008837595a3d0923f55d0e9d2aea5
* | Merge "Handle MissingAttributeError when using OOB inspections to fetch MACs"Zuul2023-05-081-1/+10
|\ \ | |/ |/|
| * Handle MissingAttributeError when using OOB inspections to fetch MACsJacob Anders2023-05-021-1/+10
| | | | | | | | | | | | | | | | | | | | 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
* | Merge "Upgrade to latest hacking - v6"Zuul2023-04-301-1/+1
|\ \
| * | Upgrade to latest hacking - v6Jay Faulkner2023-04-211-1/+1
| |/ | | | | | | | | | | Required minor changes to existing files to comply with new flake rules. Change-Id: Ia0bff27ab4a7ec98c533ea66357a3c0529026102
* | 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-272-17/+1
|\ \ | |/ |/|
| * Remove all references to the "cpus" propertyDmitry Tantsur2023-03-282-17/+1
| | | | | | | | | | | | | | | | 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
* | Fix requests calls with timeoutsJulia Kreger2023-04-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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 "Enables boot modes switching with Anaconda deploy for ilo driver"Zuul2023-03-271-0/+12
|\ \
| * | Enables boot modes switching with Anaconda deploy for ilo driverNisha Agarwal2023-03-171-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Enables boot modes switching with Anaconda deploy for ilo driver Story: 2010357 Task: 46530 Change-Id: I383cdd5c9d45b074d351ec98b1145fd68e2f3ac3
* | | Merge "Refactoring: clean up inspection data handlers"Zuul2023-03-232-71/+59
|\ \ \ | |_|/ |/| |
| * | Refactoring: clean up inspection data handlersDmitry Tantsur2023-03-142-71/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 "Fixes Secureboot with Anaconda deploy"Zuul2023-03-202-15/+7
|\ \ \ | | |/ | |/|
| * | Fixes Secureboot with Anaconda deployNisha Agarwal2023-03-162-15/+7
| |/ | | | | | | | | | | | | | | | | 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-171-2/+2
|\ \ | |/ |/|
| * Fix auth_protocol and priv_protocol for SNMP v3Duc Truong2023-03-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 "Refactoring: extract some common functions from the inspector code"Zuul2023-03-132-37/+17
|\ \
| * | Refactoring: extract some common functions from the inspector codeDmitry Tantsur2023-03-012-37/+17
| | | | | | | | | | | | Change-Id: I0acc5303c1a38645318fb9be4cb068d069b7fe6a
* | | Merge "Do not recalculate checksum if disk_format is not changed"Zuul2023-03-131-12/+25
|\ \ \ | |/ / |/| |
| * | Do not recalculate checksum if disk_format is not changedDmitry Tantsur2023-03-071-12/+25
| | | | | | | | | | | | | | | | | | | | | 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
* | | Restructure the inspector module in preparation for its expansionDmitry Tantsur2023-03-013-43/+79
|/ / | | | | | | | | | | | | | | 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 configurable delays to the fake drivers"Zuul2023-02-271-0/+63
|\ \
| * | Add configurable delays to the fake driversSteve Baker2022-10-131-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 "Relaxing console pid looking"Zuul2023-02-231-1/+1
|\ \ \
| * | | Relaxing console pid lookingKaifeng Wang2023-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently we hit an issue that the pid file is missing, current logic simply removes pid file if the corresponding process is not found, but if the pid file is lost then the console could never be stopped and futher more, be restarted, regardless if the process is there or not. This patch captures FileNotFound to the exception handling to allow console recovery. Change-Id: I1a0b8347e960c6cff8aca10a22c67b710f7d617e
* | | | Merge "Make metrics names a little more consistent"Zuul2023-02-201-3/+3
|\ \ \ \
| * | | | Make metrics names a little more consistentJulia Kreger2023-01-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of these metrics decorator were unlabeled without a class which would result in semi-confusing structures for the metrics counters. Now, we should be semi-consistent. Change-Id: Ie2795419991dc941f2a2b2bc0c6116b92d285041
* | | | | Merge "Fixes console port conflict occurs in certain path"Zuul2023-02-201-0/+6
|\ \ \ \ \ | |_|_|_|/ |/| | | |
| * | | | Fixes console port conflict occurs in certain pathKaifeng Wang2023-02-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dynamically allocated console port for a node is saved into database and reused on subsequent console operations. In certain code path the port record cann't be trusted and we should do a re-allocation. This patch fixes the issue by ignores previous allocation record. The extra cleanup in the takeover is not required anymore and removed as well. Change-Id: I1a07ea9b30a2c760af7a6a4e39f3ff227df28fff Story: 2010489 Task: 47061
* | | | | Merge "Erase swift inventory entry on node deletion"Zuul2023-02-141-12/+91
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | Erase swift inventory entry on node deletionJakub Jelinek2023-02-141-12/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow-up to Ie174904420691be64ce6ca10bca3231f45a5bc58 which enables storage of inventory in Swift, but does not delete the Swift entry when the node whose inventory is stored is deleted Story: 2010275 Task: 46204 Change-Id: I74b19f7a42c1326d7ec04e6320176e81639ebfb4
* | | | | Merge "Reorganise Inventory Storage"Zuul2023-01-242-57/+89
|\ \ \ \ \ | |/ / / /
| * | | | Reorganise Inventory StorageJakub Jelinek2023-01-212-57/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move functions storing and obtaining introspection data from drivers/modules/inspector.py and api/controllers/v1/node.py to driver/modules/inspect_utils.py Follow-up to change If50f665da5fbb16f7646f3d6195a6e14e7325b0a Story: 2010275 Task: 46204 Change-Id: I2b206670aff6ad3a9f9cc76236453abf42663cad
* | | | | Merge "Create [inventory]"Zuul2023-01-201-3/+3
|\ \ \ \ \ | |/ / / /
| * | | | Create [inventory]Jakub Jelinek2023-01-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create [inventory] to hold CONF parameters for storage of introspection data Story: 2010275 Task: 46204 Change-Id: I06fa4f69160206dd350856e264cbb0842e34fd2a
* | | | | Merge "[iRMC] Handle IPMI incompatibility in iRMC S6 2.x"Zuul2023-01-184-68/+334
|\ \ \ \ \
| * | | | | [iRMC] Handle IPMI incompatibility in iRMC S6 2.xVanou Ishii2023-01-174-68/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since iRMC S6 2.00, iRMC firmware disables IPMI over LAN with default iRMC firmware configuration. To deal with this firmware incompatibility, this commit modifies driver's methods which use IPMI to first try IPMI and, if IPMI fails, try to use Redfish API. Story: 2010396 Task: 46746 Change-Id: I1730279d2225f1248ecf7fe403a5e503b6c3ff87
* | | | | | Merge "[iRMC] identify BMC firmware version"Zuul2023-01-183-0/+325
|\ \ \ \ \ \ | |/ / / / /
| * | | | | [iRMC] identify BMC firmware versionVanou Ishii2023-01-163-0/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since iRMC S6 2.00, iRMC firmware doesn't support HTTP connection to REST API. To deal with this firmware incompatibility, this commit adds verify step to check connection to REST API and adds node vendor passthru to fetch&cache version of iRMC firmware. Story: 2010396 Task: 46745 Change-Id: Ib04b66b0c7b1ef1c4175841689c16a7fbc0b1e54
* | | | | | Merge "Fix selinux context of published image hardlink"Zuul2023-01-171-0/+10
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Fix selinux context of published image hardlinkRiccardo Pittau2023-01-111-0/+10
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the published image is a hardlink, the source selinux context is preserved. This could cause access denied when retrieving the image using its URL. Change-Id: I550dac9d055ec30ec11530f18a675cf9e16063b5
* | | | | API for node inventoryJakub Jelinek2023-01-121-0/+17
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add api to access node inventory Story: 2010275 Task: 46204 Change-Id: If50f665da5fbb16f7646f3d6195a6e14e7325b0a
* | | | Merge "Enable alternative storage for inventory"Zuul2023-01-061-4/+42
|\ \ \ \
| * | | | Enable alternative storage for inventoryJakub Jelinek2022-12-061-4/+42
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ironic inspector allows users to choose between SQL, Swift and NoStore. Ironic should offer similar functionality. Story: 2010275 Task: 46204 Change-Id: Ie174904420691be64ce6ca10bca3231f45a5bc58
* | | | Merge "Fix "'NoneType' object is not iterable" in RAID"Zuul2023-01-051-2/+6
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix "'NoneType' object is not iterable" in RAIDAija Jauntēva2022-12-161-2/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not update `raid_configs` if operation is synchronous. First, it is not needed, second, it will not be cleaned up by async periodics. As the result the data remains on the node and causes errors the next time node is in cleaning state. Story: 2010476 Task: 47037 Change-Id: Ib1850c58d1670c3555ac9b02eb7958a1b440a339
* | | Merge "Fixes anaconda deploy for PXE boot"Zuul2022-12-121-0/+5
|\ \ \ | |/ / |/| |