summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CI: Patch to fix CI jobs in bugfix/stable branchesstein-em12.1.6Julia Kreger2020-09-233-5/+9
| | | | | | | | | | | | | | | | | | Composite of effective changes from: I36f8fc8130ed914e8a2c2a11c9679144d931ad73 Ia6dac22081c92bbccc803f233dd53740f6b48abb I820bba1347954b659fd7469ed542f98ef0a6eaf0 Ultimately to reduce CI VM count in terms of memory utilization and disk utilization in order to get consumption into a safe range to prevent out of memory and out of disk space conditions. Also disables automated erasure on one of the jobs where it was disabled on other branches as it is already tested elsewhere in the gate. Change-Id: Ic9f3ddc9cd48c5a973996a4136d9832f869c0b08
* Merge "Remove locks before RPC bus is started" into stable/steinZuul2020-08-116-6/+54
|\
| * Remove locks before RPC bus is startedJulia Kreger2020-08-046-6/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A partner performing some testing recognized a case where if a request is sent to the Ironic Conductor while it is in the process of starting, and the request makes it into be processed, yet latter the operation fails with errors such as NodeNotLocked exception. Notably they were able to reproduce this by requesting the attachment or detachment of a VIF at the same time as restarting the conductor. In part, this condition is due to to the conductor being restarted where the conductors table includes the node being restarted and the webserver has not possibly had a chance to observe that the conductor is in the process of restarting as the hash ring is still valid. In short - Incoming RPC requests can come in during the initialization window and as such we should not remove locks while the conductor could possibly already be receiving work. As such, we've added a ``prepare_host`` method which initializes the conductor database connection and removes the stale locks. Under normal operating conditions, the database client is reused. rhbz# 1847305 Change-Id: I8e759168f1dc81cdcf430f3e33be990731595ec3 (cherry picked from commit b8e4aba1ec06885c9b377d5ad659a13fea41049d) (cherry picked from commit a54376cef0e8dd32c670fb359a5f7bd525c2c92e)
* | Merge "Clean up nodes in DELETING on conductor restart" into stable/steinZuul2020-08-085-4/+9
|\ \
| * | Clean up nodes in DELETING on conductor restartDmitry Tantsur2020-07-065-4/+9
| | | | | | | | | | | | | | | Change-Id: Iad6cb02ee4f17b7c5987719b3a0603df210c840d (cherry picked from commit 4f6374a209dcf96ecf7d55da4999b045ae4061ef)
* | | Pin ironic-tempest-pluginIury Gregory Melo Ferreira2020-08-053-9/+15
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit pins ironic-tempest-plugin to 1.5.1 since stein needs to support py2 and py3 Also marks the multinode multi-tenant CI job as non-voting as it is presently failing due to Netmiko authentication errors which is ultimately unrelated to the CI jobs in general. Aug 04 19:03:58.573739 ubuntu-bionic-rax-ord-0019094462 neutron-server[475]: ERROR neutron.plugins.ml2.managers GenericSwitchNetmikoConnectError: Netmiko connection error: {'username': 'ngs_ovs_manager', 'ip': 'localhost', 'key_file': '/opt/stack/.ssh/id_rsa', 'device_type': 'ovs_linux'}, error: Authentication failure: unable to connect ovs_linux localhost:22 Aug 04 19:03:58.573739 ubuntu-bionic-rax-ord-0019094462 neutron-server[475]: ERROR neutron.plugins.ml2.managers ('Bad authentication type', [u'publickey']) (allowed_types=[u'publickey']) Aug 04 19:03:58.573739 ubuntu-bionic-rax-ord-0019094462 neutron-server[475]: ERROR neutron.plugins.ml2.managers Aug 04 19:03:58.575548 ubuntu-bionic-rax-ord-0019094462 neutron-server[475]: ERROR neutron.plugins.ml2.managers [req-11a4a82d-af43-40c3-8dc0-0596f74e68d4 req-5ec06868-2d81-4e4a-bfa6-ee141df712a6 dem Change-Id: I110017d0b9c26551bf66c0aeefdd84ba0dd34bcc
* | Pin the python-ibmcclient upper bounds due to six usageJulia Kreger2020-07-221-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) (cherry picked from commit 3904d0202fa70942da5b85aa68477851ca234b75)
* Merge "Move ipmi logging to a separate option" into stable/stein12.1.5Zuul2020-05-134-5/+25
|\
| * Move ipmi logging to a separate optionJulia Kreger2020-04-034-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) (cherry picked from commit 3e5816e10a18d3d001aeb73ecb3595e9488e764d)
* | Merge "Fix issue where server fails to reboot" into stable/steinZuul2020-04-274-19/+134
|\ \
| * | Fix issue where server fails to rebootChristopher Dearborn2020-04-224-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. Conflicts: ironic/drivers/modules/drac/power.py Change-Id: I4c95959090423ff1929700f0fce596510447ac1c Story: 2007487 Task: 39206 (cherry picked from commit 95a3e1bdfd12b8b579c0dd6ff8e12d80d4214117)
* | Merge "Make deploy step failure logging indicate the error" into stable/steinZuul2020-04-272-1/+10
|\ \
| * | Make deploy step failure logging indicate the errorJulia Kreger2020-04-062-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)
* | Merge "Fix SpanLength calculation for DRAC RAID configuration" into stable/steinZuul2020-04-242-1/+8
|\ \
| * | Fix SpanLength calculation for DRAC RAID configurationAija Jaunteva2020-04-212-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 (cherry picked from commit 27a0b54b6c5d5af19a3888a5d3348cac4ba9ffb0)
* | Workaround for uefi job with ubuntu bionicRiccardo Pittau2020-04-232-7/+11
|/ | | | | | | | | | | | | | In ubuntu bionic, the UEFI provided in the ovmf package version 0~20180205.c0d9813c-2, EFI v2.70 by EDK II, seems broken and causes kernel panic. To be able to boot using uefi, we download and install the old working version 2.60 from the multiverse repository. Story: 2004604 Task: 28500 Change-Id: I1a5b4a6544621316f71203282f7418d2001ad357 (cherry picked from commit 6f22c00149e2a3688051d72e2d461507c5ee2a53)
* 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)
* Merge "Don't require root partition when installing a whole disk image" into ↵12.1.4Zuul2020-03-203-7/+53
|\ | | | | | | stable/stein
| * Don't require root partition when installing a whole disk imageBob Fournier2020-02-133-7/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the change to find the bootloader on disk (https://review.opendev.org/#/c/696914/) install_bootloader should now be invoked when doing an iscsi_deploy even if the root partition cannot be found. Fixed Conflicts: - ironic/drivers/modules/agent_base_vendor.py - ironic/tests/unit/drivers/modules/test_agent_base_vendor.py Depends-On: I7167e71e5d2352a045565289b200e5530d0ba11d Change-Id: I4f2cecdc0af366364b18232dbd8ea4ffdd3165d2 (cherry picked from commit d614d86eef0db7fd9784f4d81a3369841c5a9eb3)
* | Merge "Revamp grenade jobs" into stable/steinZuul2020-03-181-0/+4
|\ \
| * | Revamp grenade jobsRiccardo Pittau2020-03-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Grenade job has been fixed for stein in [1] so adding the related jobs back again. [1] https://review.opendev.org/#/c/713014/ Change-Id: Id9763481961f20f11f129398ed9813e9ccc0f33e
* | | Merge "tell reno to ignore the kilo branch" into stable/steinZuul2020-03-161-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)
* | Disable grenade jobs from SteinJulia Kreger2020-03-091-4/+0
|/ | | | | | | | | Rocky is heading into Extended maintenance which means shouldn't really be worrying about upgrade jobs anymore. As such, removing the grenade jobs from testing. Change-Id: Ica0ea37acea44d5b5e6a1927be5d9c51b8f5bba6
* [stable] consume virtualbmc from pip packagesDmitry Tantsur2020-01-034-8/+0
| | | | | | | | | | The virtualbmc master has dropped support for Python 2, breaking stable CI jobs. Since we expect this to be a one-time breakage, limit the existing stable branches to virtualbmc in upper-constraints by removing it from required projects in the CI jobs. Change-Id: I15464410c9e74b915a647bffbaac02770d15f6b2 (cherry picked from commit 7c993afb1f1a4389a5a7582925f6ff6a2e9b3b81)
* Add timeout when querying agent's command statusesVladyslav Drok2019-11-283-1/+17
| | | | | | | | | | | Otherwise the node can get locked up for a significant amount of time. It conforms to the behaviour of all other (POST) HTTP requests done to agent. Story: 2006946 Task: 37626 Change-Id: I968606a300bc43675d7bd07f73de37967ef80c26 (cherry picked from commit 33a84d94eb4d495312e3ba750b194213737a8933)
* Pass correct flags during PXE cleanup in iPXEBootVladyslav Drok2019-11-206-10/+26
| | | | | | | | | | | They were not handled correctly and ipxe-related configs were left after node tear down. Story: 2006907 Task: 37549 Change-Id: I1ee6727d2fc52619544e327a10a62ae8a7e6f7fe (cherry picked from commit 8e39fe9d44ea79b7df6d6f0b903c2806624c4e92) (cherry picked from commit 24fc7894628ed10d2587982f30aa898c10e5416e)
* Merge "Change MTU logic to allow for lower MTUs automatically" into stable/steinZuul2019-10-232-3/+5
|\
| * Change MTU logic to allow for lower MTUs automaticallyJulia Kreger2019-10-232-3/+5
| | | | | | | | | | | | | | | | Conflicts: zuul.d/ironic-jobs.yaml Change-Id: I40d357e716b589585493824cfd963fd5f579bd81 (cherry picked from commit cf074202e50426365c761326c8d2ccfcce4ad916)
* | Merge "Do not ignore 'fields' query parameter when building next url" into ↵12.1.3Zuul2019-10-2320-9/+200
|\ \ | |/ |/| | | stable/stein
| * Do not ignore 'fields' query parameter when building next urlArun S A G2019-10-2220-9/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an user calls the GET on an ironic resource it returns MAX_LIMIT number of resources at a time along with a next url. The default MAX_LIMIT is 1000. If the user requested specific set of fields from ironic API using the fields query parameter (eg: /v1/resource?fields=f1,f2,f3) The next url returned by the API ignores fields query parameter. This results in fields missing from the results after MAX_LIMIT is reached. This change fixes this problem by passing the fields as parameter to collections.get_next method and using the fields argument to build the query parameter. Change-Id: I62b59e8148171c72de0ccf63a1517e754b520c76 Story: 2006721 Task: 37093 (cherry picked from commit e36f72d36da53ff5439d0e5a19561bed9e792b06)
* | Merge "Mask secrets when logging in json_rpc" into stable/steinZuul2019-10-224-4/+63
|\ \ | |/ |/|
| * Mask secrets when logging in json_rpcDmitry Tantsur2019-10-224-4/+63
| | | | | | | | | | | | | | | | | | Otherwise passwords are displayed in plain text in the DEBUG logs. Change-Id: I4210492bc7cb42b205d2b93a018bfaa25bfe5752 Story: #2006744 Task: #37216 (cherry picked from commit 3ab93f0c84a5a8e2551f31c7f6ea24fc62ae79a9)
* | Read in non-blocking fashion when starting consoleVladyslav Drok2019-10-183-23/+108
|/ | | | | | | | | | | | | | As PID file is created by daemon, it might happen that although the return code is 0, the PID file does not exist yet. And afterwards, communicate() call might hang for some reason. As there is no way to put timeout on communicate call in python2, and in order to make this change more backportable, this patch uses non-blocking read to get the values of stdout and stderr of the call. Story: 2006514 Task: 36511 Change-Id: I0bf38321b0135ea17439d35081b5727fd4d827c8 (cherry picked from commit efc2d5fcd3e4c3d8e24801b45f61f7f747b7f340)
* grub configuration should use user kernel & ramdiskshenjiatong2019-10-083-4/+9
| | | | | | | | | | compared with pxe_config.template, ramdisk boot with grub should use aki_path and ari_path Change-Id: Ibedf375cfeeb20917f06e52b1e86a6990a3c494b Story: 2006639 Task: 36855 (cherry picked from commit 2364c8b247899f8ac9fb42b53a070db2ea50a2e0)
* Change log level based on node statusRiccardo Pittau2019-10-041-6/+14
| | | | | | | | | | | While the status node change message is purely informational, it can contain also failed states transitions. Moving the level from INFO to ERROR if the provision_state is 'failed' can help in detecting the transition message when troubleshooting issues. Change-Id: I79ff7cb8b9d33bc2837d41126fba269a5d4b1cda (cherry picked from commit b8fa188a29481b11b2f3117cdeecfd920a8f5a0e)
* Fix typo in handling of exception FailedToGetIPAddressOnPortJan Horstmann2019-09-162-3/+4
| | | | | | | | | | | Function create_pxe_config in ironic/common/pxe_utils.py tried to handle exception FailedToGetIPaddressesOnPort. However, the raised exception is called FailedToGetIPAddressOnPort. Change-Id: I33e51f064daa0a0d70dd87e163d401c0e7b922bc Story: 2006478 Task: 36419 (cherry picked from commit 22db498ea1d02119d7662f566e299d04a09e9ae5)
* Do not wait for console being started on timeoutVladyslav Drok2019-08-283-14/+48
| | | | | | | | | | | | | Current logic tries to call communicate on Popen object when starting shellinabox console even if console.subprocess_timeout is hit. This blocks until the command is finished, with timeout having no effect on it. It means that node lock is not released until communicate call finishes. Story: 2006429 Task: 36333 Change-Id: Ic7b878cd432990218a3d87047905ce0828b8da2a (cherry picked from commit 1ad73338b83ac0bf1e3a48298fe00a922bd571a2)
* Asynchronous out of band deploy steps fails to executeShivanand Tendulker2019-08-2011-10/+213
| | | | | | | | | | | | | | | Asynchronous out of band steps in a deploy template fails to execute. This commit fixes that issue. Asynchronous steps can set 'skip_current_deploy_step' flag to False in 'driver_internal_info' to make sure that upon reboot same step is re-executed. Also it can set 'deployment_reboot' flag to True in 'driver_internal_info' to signal that it has rebooted the node. Co-Authored-By: Mark Goddard <mark@stackhpc.com> Change-Id: If6217afb5453c311d5ca71ba37458a9b97c18395 Story: 2006342 Task: 36095 (cherry picked from commit 8f907886a1ed0de70c34aef84ba892c3e6a5cd49)
* Merge "Check for deploy.deploy deploy step in heartbeat" into stable/steinZuul2019-08-163-14/+175
|\
| * Check for deploy.deploy deploy step in heartbeatMark Goddard2019-08-143-14/+175
| | | | | | | | | | Change-Id: Id160e37348c940055c312fbfdb05a27d13012f52 (cherry picked from commit b5e34e16731b47d1930bcdc99d184b1319493f1a)
* | Merge "RAID creation fails with 'ilo5' RAID interface" into stable/steinZuul2019-08-153-30/+28
|\ \
| * | RAID creation fails with 'ilo5' RAID interfaceShivanand Tendulker2019-08-053-30/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RAID interface methods do not clear driver_internal_info properly leads to failure of RAID operation when they are attempted again. Change-Id: I3cd133fb700ec4946471d9e4cbebeab4bded4540 Story: 2006321 Task: 36052 (cherry picked from commit 6305ea70077f031f5033e7bb33b9321178f0c413)
* | | Merge "Fixes power-on failure for 'ilo' hardware type" into stable/steinZuul2019-08-143-6/+59
|\ \ \
| * | | Fixes power-on failure for 'ilo' hardware typeShivanand Tendulker2019-08-033-6/+59
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Server fails to return success for power-on operation if no bootable device is found. (Note) Two tescases are added as testcases modified in master branch cannot be modified here. This was required as the configuration parameter [ilo]power_retry which was marked for obsolescence in Stein release has been removed in Train release. Change-Id: I0e6ab307ecd0caaf7b79edff67373be3490bfed7 Story: 2006288 Task: 35997 (cherry picked from commit 49140989d185a021bc346ea55d7a63b91541baac)
* | | Merge "iLO firmware update fails with 'update_firmware_sum' clean step" into ↵Zuul2019-08-133-4/+29
|\ \ \ | |_|/ |/| | | | | stable/stein
| * | iLO firmware update fails with 'update_firmware_sum' clean stepShivanand Tendulker2019-08-053-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware update using 'update_firmware_sum' clean step fails with an error stating that unable to connect to iLO address due to authentication failure. The 'update_firmware_sum' is an inband clean step wherein the firmware ISO was inserted from IPA ramdisk. As part of security fix to ironic the BMC credentials are no more passed to the IPA ramdisk. The attempt to connect to iLO from IPA ramdisk fails. The fix has been made to insert the firmware ISO from the conductor. Change-Id: I866330c5fc98b1c5bc042c296c3b6e76ed9fd57d Story: 2006223 Task: 35821 (cherry picked from commit 50bfd9067fdeebcc89117ddab4fdd1573dba565e)
* | | Merge "Fixing broken links" into stable/steinZuul2019-08-094-7/+14
|\ \ \
| * | | Fixing broken linksAlexandra Settle2019-08-094-7/+14
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie3b699a0010c88366a0814db28fc7cbac123a8b2 Backport: stein rocky
* | | | Merge "Enable testing adoption in the CI" into stable/steinZuul2019-08-091-1/+5
|\ \ \ \ | |/ / / |/| | |