summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* devstack: increase concurrency and worker timeout for sushy-tools13.0.4Dmitry Tantsur2020-06-091-0/+3
| | | | | | | | | | Sometimes sushy-tools hits worker timeout in gunicorn when handing a virtual media ISO, causing a request to be aborted and deployment to fail. Increase the timeout from 30 to 90 seconds and add some concurrency to ensure that more than one deployment can run. Change-Id: I9e951aaaa13981602151bff3f2eebfa338113f6c (cherry picked from commit 7a455a3ff3af8a1542e32578f4f5a1c65d021c3d)
* Merge "redfish: handle hardware that is unable to set persistent boot" into ↵Zuul2020-05-296-24/+258
|\ | | | | | | stable/train
| * redfish: handle hardware that is unable to set persistent bootDmitry Tantsur2020-05-296-24/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | Some hardware has dropped support for continuous boot, see this thread: http://lists.openstack.org/pipermail/openstack-discuss/2020-April/014543.html Work around by falling back to one-time boot device, restoring it on every reboot or power on. Story: #2007527 Task: #39320 Change-Id: I762056dea4f7b8ccdb8f95b2f21e26b45763905d (cherry picked from commit 18a8e2f6e9d80a827acba39a6ace366c13d40e31)
* | Add the noop management interface to the redfish hardware typeDmitry Tantsur2020-05-284-25/+44
| | | | | | | | | | | | | | | | | | | | | | | | Apparently, we're hitting similar problems on some hardware that caused us to add noop to ipmi. Maybe we should make it supported on all hardware types, but right now it would break iLO. To reduce the scope of this (hopefully backportable) patch, I'm limiting it to Redfish. Change-Id: Ia44e5d83a7b2ce660be4822e7908dd75908ccbdd Story: #2007713 Task: #39849 (cherry picked from commit 51eff6010f954efcc87c262f693247bc4c41380a)
* | Collect ramdisk logs also during cleaningDmitry Tantsur2020-05-267-9/+100
| | | | | | | | | | | | | | | | | | | | | | Conflicts: ironic/conductor/cleaning.py ironic/drivers/modules/agent_base.py ironic/tests/unit/conductor/test_cleaning.py ironic/tests/unit/drivers/modules/test_agent_base_vendor.py Change-Id: Ia60996b4198e6fcfba6094af26498869589e175e (cherry picked from commit d31e71a736e18c4ec403d411bd1514808e9529a7)
* | Merge "Revert "Add timeout and retries to JSON RPC client"" into stable/trainZuul2020-05-183-14/+2
|\ \
| * | Revert "Add timeout and retries to JSON RPC client"Riccardo Pittau2020-05-183-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | this requires keystoneauth 3.18.0 which is already part of ironic, but it breaks ironic-staging-drivers This reverts commit 901402d113c6db43b7d0091d8b3e20521c53b2c4. Change-Id: I0c0fa263494af5f2efe77652f56299e3a7b1a4a2
* | | Pin the python-ibmcclient upper bounds due to six usageJulia Kreger2020-05-151-1/+2
| |/ |/| | | | | | | | | | | | | | | | | | | Python-ibmcclient 0.2.0 uses six, which is not installed by default as it is not necessary for python3 only usage. This patch pins the upper bounds until the library can be fixed and a new version released. Change-Id: I06136f3f445b6ee4858697e22e8d63ca3d81c137 (cherry picked from commit f6b9f343581eb430cb339dde09bf97915e2e3a7b)
* | Improve `redfish` set-boot-device behaviourIlya Etingof2020-05-143-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes management interface of `redfish` hardware type not changing current boot frequency if currently set one is the same as the desired one. The goal is to avoid touching potentially faulty BMC option whenever possible. This should hopefully improve interoperability with Redfish BMCs. NOTE: This cherry-pick is part of a modified backport to enable navigating boot device persistance behavior with newer redfish BMCs. Change-Id: I380cd3aae410e05a4519c3764140ced121bf7fe7 Story: 2007355 Task: 38937 (cherry picked from commit aad54c245b195f15b19bbc34a0ca22ea0a3422d4)
* | Improve `redfish` set-boot-mode implementationIlya Etingof2020-05-144-33/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refrain from touching unrelated boot params when setting boot mode through Redfish BMC. This should hopefully improve interoperability with Redfish BMCs. NOTE: This is a backport with mofications to support the newer sushy library and allow older branches and thus users of ironic to have a path to navigate issues centered around the BootModeOverride with UEFI. Change-Id: I461e54012045463b5e97daf26a93eb9dce6f6964 Story: 2007355 Task: 38910 (cherry picked from commit 5be4c4f5c505f4c44028f06ff3d92f791b96aa4c)
* | Merge "Add timeout and retries to JSON RPC client" into stable/trainZuul2020-05-123-2/+14
|\ \ | |/
| * Add timeout and retries to JSON RPC clientDmitry Tantsur2020-05-113-2/+14
| | | | | | | | | | | | | | | | The necessary options are already in keystoneauth, but have empty defaults. This patch changes timeout to 15 and adds 2 retries by default. Change-Id: Idf8cfa54b77be6f5127d2c9d587a427aa0898802 (cherry picked from commit 14524c265b4104bf9cf4eeeae21fbb1eca2cecbc)
* | Silence debug messages from oslo_messagingDmitry Tantsur2020-05-101-0/+2
|/ | | | | | | | We already silence the "oslo.messaging" prefix, but the library also uses "oslo_messsaging" in some cases. Change-Id: Ifa9743c39bbd1424fbb07e2b65f409c9d7ca826a (cherry picked from commit aa43322544d70994ba94c63c0de46a1b80234467)
* Merge "DRAC: Added redfish management interface issue" into stable/trainZuul2020-05-091-0/+21
|\
| * DRAC: Added redfish management interface issueChristopher Dearborn2020-04-271-0/+21
| | | | | | | | | | | | | | | | | | Added a known issue for a bug where using the iDRAC redfish management interface to set the boot device on a server that is configured to UEFI boot results in the iDRAC returning an error. Change-Id: I082563862e326bc292afc897e7a50dec7d084e9f (cherry picked from commit 7f814058f004ce5ca996ce41601c62f6750e9115)
* | redfish: split reboot into power off followed by power onDmitry Tantsur2020-05-083-40/+105
|/ | | | | | | | | | | | | | The current implementation may result in a false positive when the reboot request is ignored completely or when a node stays powered on some time after the request is received. Also make error messages a bit more useful by mentioning the desired power state and avoiding redundant "Redfish". Task: 39679 Story: 2007527 Change-Id: I35984e315948fbbcf216c40b38397953fb9dc699 (cherry picked from commit 8562df092f4286afc1e592951c7006eb56a4bf09)
* Merge "Fix issue where server fails to reboot" into stable/trainZuul2020-04-264-19/+134
|\
| * Fix issue where server fails to rebootChristopher Dearborn2020-04-214-19/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The iDRAC will return a "The command failed to set RequestedState" error if the server is powered off and a reboot is requested. In this situation, convert the requested reboot into a power on to avoid this error. To minimize the chance of a race condition, it is critical to do this check immediately before sending the power state change command. This keeps the window during which the server could change power states without us knowing about it as small as possible. Note that this error is returned in other scenarios as well. Change-Id: I4c95959090423ff1929700f0fce596510447ac1c Story: 2007487 Task: 39206 (cherry picked from commit 95a3e1bdfd12b8b579c0dd6ff8e12d80d4214117)
* | Merge "Add note about UEFI support in Train" into stable/trainZuul2020-04-241-0/+3
|\ \
| * | Add note about UEFI support in TrainDoug Szumski2020-04-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UEFI is not supported in Train, and if a user attempts to deploy a UEFI whole disk image the installation will fail during bootloader installation. Make this clear in the documentation. TrivialFix Change-Id: I29a8cbe249cf571d84a4522fc107ce7a2298653a
* | | Add link to other Redfish parms to iDRAC docAija Jaunteva2020-04-241-0/+2
|/ / | | | | | | | | Change-Id: Ie4d825e5adadc7e569753fd6f5c8a768bd3b5dcf (cherry picked from commit 5cb4bd613eead72c6636826093c1b57c0940a567)
* | Fix RAID configuration with idrac-wsman interfaceAija Jaunteva2020-04-233-12/+33
| | | | | | | | | | | | | | | | | | | | Change check from DracRAID to DracWSManRAID that also covers DracRAID as subclass of DracWSManRAID. Change-Id: Ib9279db88cfe154d693451add57273ec9b449ba5 Story: 2007567 Task: 39458 (cherry picked from commit 519edb48f13c0752c32935852b38c11b93ff180d)
* | Update iDRAC doc about soft power off timeoutAija Jaunteva2020-04-221-0/+14
| | | | | | | | | | | | Change-Id: Ia1b257ede3e96689ce61e3dc6d3c0464a12858da Co-authored-by: Richard Pioso <richard.pioso@dell.com> (cherry picked from commit 3a58d81f6f977158c61f9d8b9281c5a7ec88dd02)
* | Merge "Update iDRAC doc about vendor passthru timeout" into stable/trainZuul2020-04-221-0/+20
|\ \
| * | Update iDRAC doc about vendor passthru timeoutAija Jaunteva2020-04-211-0/+20
| |/ | | | | | | | | Change-Id: I802f1f6c7ddba3079956c4e0fb37405e53457afe (cherry picked from commit b63403606a27cb295c1c0047dbda9f14cdf60054)
* | Merge "Fix enabled_hardware_types from idrac-wsman to idrac" into stable/trainZuul2020-04-211-1/+1
|\ \
| * | Fix enabled_hardware_types from idrac-wsman to idracspranjali2020-04-211-1/+1
| |/ | | | | | | | | | | | | | | While using interface "idrac-wsman", the "idrac" hardware-type should be enabled instead of idrac-wsman. Change-Id: Iefcb48b84c6a9092f62b037daf6abb2226e4d456 (cherry picked from commit 6c6dd2c84b388a205d3bbc6e9249af01b90cb73c)
* | Fix SpanLength calculation for DRAC RAID configurationAija Jaunteva2020-04-202-1/+8
|/ | | | | | | | | | Caused by differences in number division in Python 2 and Python 3, so forcing type to be int instead of float as expected by idrac. Change-Id: I6a20ec52a8c464aaf275583fb21607fffb3b1f3b Story: 2004265 Task: 27804
* Merge "Document deploy_boot_mode and boot_option for standalone deployments" ↵Zuul2020-04-201-0/+22
|\ | | | | | | into stable/train
| * Document deploy_boot_mode and boot_option for standalone deploymentsDmitry Tantsur2020-03-301-0/+22
| | | | | | | | | | | | | | | | Conflicts: doc/source/install/standalone.rst Change-Id: Iad04779cc8c782b20d6636dd2bbb602bc89255b2 (cherry picked from commit 80cdb9abd78f17b5143af6e05c0854264ac0508e)
* | Merge "Do not autoescape all Jinja2 templates" into stable/trainZuul2020-04-172-1/+15
|\ \
| * | Do not autoescape all Jinja2 templatesPavlo Shchelokovskyy2020-04-022-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this breaks pxe config rendering when e.g. quotes are needed (like for values with spaces), replacing them with HTML escape codes. Instead use smart autoescape which by default is only enabled for htm(l) and xml templates. Not specifically setting override for strings as we set the template name for string templates anyway, and matching goes by that name. https://jinja.palletsprojects.com/en/2.11.x/api/#autoescaping Change-Id: I27e63557d4bcd81d583c55315029425bec03fd98 Story: 2005791 Task: 39269
* | | Merge "Additional IP addresses to IPv6 stateful ports" into stable/trainZuul2020-04-104-2/+101
|\ \ \
| * | | Additional IP addresses to IPv6 stateful portsHarald Jensås2020-04-084-2/+101
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When network booting with DHCPv6-stateful we cannot control the CLID/IAID used by the different clients, UEFI, iPXE, Ironic IPA etc. Multiple IP address reservation is required in the DHCPv6 server to avoid NoAddrsAvail issues. A new option to control the number of addresses to allocate for IPv6 stateful ports created by Ironic for provisioning, cleaning, rescuing etc is added. Conflicts: ironic/conf/neutron.py ironic/tests/unit/common/test_neutron.py NOTE: This backport differs from master. In master the default number of addresses is 4. In the train backport the default is 1, this is done to keep the default behaviour of the stable release as-is. Story: 2007315 Task: 38820 Change-Id: I8c595830b8c7974c651a9e524b57a6540e4f3d1f (cherry picked from commit cb3185274a76841b5e99ad0be6e3d8ef8c53f284) (cherry picked from commit 855b654cb4b098d10c4d464fb1b116347af5e3b5)
* | | Make deploy step failure logging indicate the errorJulia Kreger2020-04-032-1/+10
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deploy step logging would previously only log the step to the API user, instead of anything the API user could use to try and determine what is wrong. Example: - Trying to power on a machine as part of deploy.deploy() - Power-on operation fails - Only the deploy step is listed as the error, and no additional information to troubleshoot the issue, which forced the operator to go examine logs and find the error. Change-Id: If60b96dcafa446de090df56089760eda3a21109d (cherry picked from commit 6a1d453ef0dd9536e500ff8c45846826dca40e8b)
* | Move ipmi logging to a separate optionJulia Kreger2020-04-014-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The IPMI verbose output being turned on by the debug option is confusing and misleading, and since many operators run ironic in debug mode anyway, it doesn't make much sense to spam logs with errors and information that can be misleading to a less experienced operator. Also... less logging output. Back-porting per discussion[0] in IRC where we believe this is the best action possible and the verbose ipmitool output tends not to be extremely helpful for operators. [0]: http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2020-04-01.log.html#t2020-04-01T16:02:43 Change-Id: I0fae7bad5613865dfd4d1c663be08d40debe157a (cherry picked from commit 1e514b64404ee668ff0651ffb2ad30217f5b1b81)
* | Extend install_bootloader command timeoutJulia Kreger2020-03-314-6/+38
|/ | | | | | | | | | | | | | Adds a new command_timeout_factor argument to the agent client _command method with a default value of 1, and sets the install_bootloader command to send a value of 2 to extend the timeout factor to give the agent time to complete its work before giving up on installing the bootloader and automatically retrying. Change-Id: Iab72903c3d30b0ae5b80a5115fc635179869eeee Story: 2007483 Task: 39201 (cherry picked from commit 4829df2966190595feb69623792678816bdcd6a2)
* Retry agent get_command_status upon failuresJulia Kreger2020-03-273-1/+31
| | | | | | | | | | | | | | | | | | | The agent command status code lacks any retry mechanism which meant if any intermittent failure such as a dropped packet or an overloaded firewall could potentially begin to cause the entire deployment or cleaning process to derail and fail. This fix addes logic to ensure we retry upon such failures. Worth noting, the exact same logic has been used elsewhere in the agent client code for the exact same problem when issuing commands. Change-Id: I4f6581b7fb895ed2b1d505b9947e363665551b57 Story: 2007470 Task: 39158 (cherry picked from commit 242775ae184582ce51a006e5797e7017133617f3)
* Documentation clarifications for software RAIDDmitry Tantsur2020-03-181-5/+7
| | | | | | | | This change clarifies which options are supported for software RAID and what the defaults are. Change-Id: Ib93d0f564b7ee51ee9beb7f6143635c240f4baf3 (cherry picked from commit 9fd0aa859cd5289822d291dfe405402273f480d3)
* Change force_raw_images to use sha256 if md5 is selectedJulia Kreger2020-03-123-33/+30
| | | | | | | | | | | | | | | | | In order to enable ironic's conductor to execute on nodes set for FIPS 140-2 compliance, we need to not explicitly choose MD5. In the case of forcing images to raw, we were calculating the checksum at least once, if not twice. Now we will honor the original algorithm unless it is MD5, at which point we will default to SHA3-256, and only recalculate the checksum once. Change-Id: I408a2e461bebf1f6d9fa3e350eb7ab1a3544adad Story: 2007306 Task: 38791 (cherry picked from commit 06c59972674f063a84307b2d954f9a6013d66ccb)
* Make reservation checks caselessJulia Kreger2020-03-103-4/+18
| | | | | | | | | | | | | | | | | | | If a conductor hostname is changed while reservations are issued to a conductor with one hostname, such as 'hostName' and then the process is restarted with 'hostname', then the queries would not match the node and effectively the nodes would become inaccessible until the reservation is cleared. This patch changes the queries to use a case insenitive like search, better known as ilike. Special thanks to the nova team for finding a bug in the hash ring calculation in the ironic virt driver where a customer changed their nova-compute hostname, which inspired this patch. Change-Id: Ib7da925ba5ca6a82ba542e0f4ae4cf7f0d070835 (cherry picked from commit ae3a14e65c81f48472040a086075b63ca1ce76ac)
* Merge "Docs: split away user image building and highlight whole disk images" ↵Zuul2020-03-054-57/+91
|\ | | | | | | into stable/train
| * Docs: split away user image building and highlight whole disk imagesDmitry Tantsur2020-03-054-57/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The user image documentation applies to both standalone and glance usage, but we keep it in the glance section. This change creates a new page to talk about user images. We also don't emphasize the difference between partition and whole disk images enough, resulting in users trying whole disk images with kernel/ramdisk set. Make the difference clearer. Conflicts: doc/source/install/standalone.rst Change-Id: I7185679203e0f9aa7ebe9c69971009cd59271b89 (cherry picked from commit 530ec9d0b133fad5c05ebf988320394358fe4ff4)
* | Using loop instead of with_XRiccardo Pittau2020-03-034-3/+14
|/ | | | | | | | | | | | | | | | The loop keyword is the current recommended way to handle loops, and supports filters. It's available since Ansible version 2.5 so changing ansible requirement in driver-requirements. Note on backport: while it's not obvious from the commit message, this change fixes the ansible deploy interface under Python 3. The release note is updated accordingly. Since the oldest supported Ansible release is currently 2.7, bumping the minimum version to 2.5 has been deemed acceptable. Change-Id: Ibff1f07ca00b8f5a5274d73f9e53196f49c33a66 (cherry picked from commit 89c30cb923863c71a88647309cdc605b18caa777)
* Use FIPS-compatible SHA256 for comparing files13.0.3Dmitry Tantsur2020-02-192-2/+6
| | | | | | | | | | | | | On systems in FIPS mode MD5 is not available, just use SHA256. NOTE: I'm not sure if this changes makes ironic fully operational in FIPS mode, merely fixing an immediate issue. Story: 2007306 Task: 38792 Change-Id: I9a9e0286c88ed5a1a05e405d251b46a4708dd556 (cherry picked from commit 8982ef574f28992c4622d98660998fab77ae0238)
* Lower tempest concurrencyIury Gregory Melo Ferreira2020-02-141-1/+1
| | | | | | | | Let's only run 2 concurrency tempest tests to see if we can decrease the failure ratio for ironic-standlone job Change-Id: Ifb6258df26236cf376742a051602321e9b67a52c (cherry picked from commit caa73a1101e5bf1e262f099e81ad25270a549139)
* Merge "tell reno to ignore the kilo branch" into stable/trainZuul2020-02-121-0/+4
|\
| * tell reno to ignore the kilo branchDoug Hellmann2020-02-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When reno 3.x runs under setuptools, it scans all of the branches it can find, including any that look like they're closed and have an -eol tag. The old kilo branch in this repository has a jumbled history that somehow makes it look like it should include tags that it doesn't. We know that there are no release notes in that branch, because reno wasn't adopted while it was open. The releasenotes/source/index.rst links to separate release notes in the wiki. This patch tells reno to ignore that branch so that it doesn't throw an exception when it gets confused about the old tag. Story: #2007274 Task: #38710 Change-Id: I8047d805b0a3da4051a6d618ed9ac40875b8636a Signed-off-by: Doug Hellmann <doug@doughellmann.com> (cherry picked from commit 0f4b9e38a2924a693e17d815b16f19223f16632a)
* | Merge "Fix ipxe interface to perform ipxe boot without ipxe_enabled enabled" ↵Zuul2020-02-126-32/+30
|\ \ | | | | | | | | | into stable/train
| * | Fix ipxe interface to perform ipxe boot without ipxe_enabled enabledKaifeng Wang2020-02-106-32/+30
| |/ | | | | | | | | | | | | | | | | | | | | When ipxe hardware interface is in use, the node should always be boot with iPXE disregards the deprecated configuration option [pxe]ipxe_enabled. Story: 2007003 Task: 37779 Change-Id: Ia658ddc966e13a7ce973eccd9c42e40a3da406f4 (cherry picked from commit f61624e0693a0b2ccba46b271d0fb83e191f5077)