1. 22 Feb, 2022 1 commit
  2. 21 Feb, 2022 1 commit
  3. 18 Feb, 2022 1 commit
    • Steve Baker's avatar
      Ensure tox.ini is ASCII · acc05b45
      Steve Baker authored
      The left/right single quotation marks cause an ascii decode error in
      some python3.6 environments.
      
      Change-Id: I80d1b3e7f9e2e23ddaca640714a342b63ae3a5fa
      (cherry picked from commit b8ef35a9)
      acc05b45
  4. 17 Feb, 2022 1 commit
    • Dmitry Tantsur's avatar
      CI: use a custom cirros partition image instead of the default · 5194a5b0
      Dmitry Tantsur authored
      Cirros partition images are not compatible with local boot since they
      don't ship grub (nor a normal root partition). This change adds a script
      that builds a partition image with UEFI artifacts present. It still
      cannot be booted in legacy mode, but it's a progress.
      
      Set the tempest plugin's partition_netboot option. We need it to inform
      the tempest plugin about the ability to do local boot. This option
      already exists but is never set.
      
      Also set the new default_boot_option parameter, which will be introduced
      and used in Iaba563a2ecbca029889bc6894b2a7f0754d27b88.
      
      Remove netboot from most of the UEFI jobs.
      
      Conflicts:
      	devstack/files/bindep.txt
      	zuul.d/ironic-jobs.yaml
      
      Change-Id: I15189e7f5928126c6b336b1416ce6408a4950062
      (cherry picked from commit bbceca56)
      5194a5b0
  5. 01 Feb, 2022 1 commit
    • Dmitry Tantsur's avatar
      Avoid non-Stream CentOS, remove Grenade job · c8a02c59
      Dmitry Tantsur authored
      This is a partial cherry-pick of 720b42d5,
      we don't need to disable the standalone job since it's not broken here.
      
      On Victoria we also remove the Grenade job because Ussuri is EM now.
      
      Change-Id: I8bd051ea709d328cb5efa2c2cbd5a226bdb4cfd3
      (cherry picked from commit 720b42d5)
      c8a02c59
  6. 24 Jan, 2022 1 commit
  7. 12 Jan, 2022 1 commit
    • Harald Jensås's avatar
      Ensure 'port' is up2date after binding:host_id · 87f15ec6
      Harald Jensås authored
      On neutron routed provider networks IP allocation is
      deferred until 'binding:host_id' is set. When ironic
      creates neutron ports it first creates the port, then
      updates the port setting binding information.
      
      When using IPv6 networking ironic adds additional address
      allocations to ensure network chain-booting will succeed.
      When address allocation is deferred on port create ironic
      cannot detect that IPv6 is used and does not add the
      required additional addresses.
      
      This change ensures the 'port' object is updated after the
      port update setting the port binding required for neutron
      to allocate the address. This allows ironic to correctly
      detect IPv6 is used, and it will add the required IP
      address allocations.
      
      Story: 2009773
      Task: 44254
      Change-Id: I863dd4ab9615a9ce3b3dcb8798af674ac9966bf2
      (cherry picked from commit 3404dc91)
      87f15ec6
  8. 09 Dec, 2021 1 commit
  9. 07 Dec, 2021 1 commit
    • Julia Kreger's avatar
      Remove redfish cache entry upon errors · 3e3afc32
      Julia Kreger authored
      Some transient errors can ultimately cause the client to need to be
      completely restarted due to cached connection data.
      
      Ironic now explicitly removes the cache entry when a sushy
      AccessError or python AttributeError is detected originating
      from the library. This will now result in the prior cached connection
      object to be discarded, and upon the next attempt to interact with
      the same node, a new connection will be launched.
      
      This will result in new sessions being created, but in all likelihood
      the prior session had already timed out or had been administratively
      removed. Sushy's code, as of
      https://review.opendev.org/c/openstack/sushy/+/820076
      will raise SessionService lookup access errors as AccessErrors.
      Prior to that change, they should have been raised as AttributeError
      as the previous call sould have returned None to be used as an object.
      
      *Also* Includes follow-up change Ia59f774c9340e3a6fa63418afedf12098c709052
      squashed into this change, and necessary backport friendly mock of
      AccessError which had changed since this release of ironic.
      
      Change-Id: Icc6e5dd74d9f15e679a7e764fe49238ed6b8dc1e
      Story: 2009719
      Task: 44107
      (cherry picked from commit 1439af27)
      (cherry picked from commit 01997c8418b9e6ade47437b09dd9412310b90eac)
      (cherry picked from commit e3e7deaf48a5315fe10350e8a87b2fcc4e189406)
      (cherry picked from commit ab5495eecb409b37ad853a679032d6cdb4fefc72)
      (cherry picked from commit e57aa7598b220bb2d1fd8fcc0aab6132926d5cce)
      3e3afc32
  10. 08 Nov, 2021 1 commit
    • Aija Jauntēva's avatar
      Fix idrac-wsman deploy with existing non-BIOS jobs · 969cfefe
      Aija Jauntēva authored
      As with WS-Man iDRAC API setting boot device requires creating BIOS
      job and there can be only 1 open job per subsystem present in iDRAC,
      there is validation to check that the job queue is empty before
      continuing setting boot device. This does not work well for cases when
      using autoupdatescheduler that creates `Repository Update` job that
      stays Scheduled until executed and then followed by new Scheduled
      `Repository Update` job.
      
      This patch allows non-BIOS jobs to be present in the queue when setting
      boot device. This will still fail for cases when there are BIOS jobs
      present. In such cases should consider moving to idrac-redfish that
      does not create BIOS or any other job to set boot device.
      
      Story: 2009251
      Task: 43437
      Change-Id: I91e9ba3024a85897aeead21cede57464294b409b
      (cherry picked from commit b1d08ae8)
      969cfefe
  11. 14 Sep, 2021 1 commit
    • Aija Jauntēva's avatar
      Fix idrac-wsman set_power_state to wait on HW · 0df43f75
      Aija Jauntēva authored
      set_power_state has returned to the caller immediately without
      confirming the system has reached the requested state. This fixes that
      by synchronously waiting until the target state has been read before
      returning.
      
      That bug can cause instance workload deployments to fail on Dell EMC
      PowerEdge server models on which IPA ramdisk soft power off fails and
      ironic employs its OOB fallback strategy. After an otherwise successful
      deployment, the node is active, but is powered off. No error is reported
      in last_error. If the subsequent instance workflow expects the system to
      be powered on into the operating system, it fails.
      
      Story: 2009204
      Task: 43261
      Change-Id: I3112a22149c07e5508f26c79f33d09aeb905c308
      (cherry picked from commit 2a0fd1d1)
      0df43f75
  12. 03 Aug, 2021 1 commit
  13. 29 Jul, 2021 1 commit
  14. 27 Jul, 2021 1 commit
  15. 26 Jul, 2021 1 commit
  16. 05 Jul, 2021 1 commit
    • Dmitry Tantsur's avatar
      Cache AgentClient on Task, not globally · 0cb15a22
      Dmitry Tantsur authored
      
      
      In order to avoid potential cache coherency issues
      when using a globally cached AgentClient, e.g. with
      TSL certificates from the IPA, cache the AgentClient
      on a per task basis.
      
      Co-Authored-By: default avatarArne Wiebalck <arne.wiebalck@cern.ch>
      
      Conflicts:
      	ironic/drivers/modules/agent.py
      	ironic/drivers/modules/agent_base.py
      	ironic/drivers/modules/ansible/deploy.py
      	ironic/drivers/modules/iscsi_deploy.py
      	ironic/tests/unit/drivers/modules/test_agent.py
      
      Story: #2009004
      Task: #42678
      
      Change-Id: I0c458c8d9ae673181beb6d85c2ee68235ccef239
      (cherry picked from commit fcb6a109)
      0cb15a22
  17. 29 Jun, 2021 1 commit
    • Dhuldev Valekar's avatar
      Update the clear job id's constant · 4ac6ad73
      Dhuldev Valekar authored
      Fixes an issue of powering off with the ``idrac-wsman`` management
      interface while the execution of a clear job queue cleaning step is
      proceeding.
      Prior to this fix, the clean step would fail when powering off a node.
      
      Story: 2008988
      Task: 42641
      
      Change-Id: Ib4ab755c806f028d97379b80a8c27d6ade63cba1
      (cherry picked from commit 741a4d8a)
      4ac6ad73
  18. 21 Jun, 2021 1 commit
    • Julia Kreger's avatar
      Fix node detail instance_uuid request handling · 755c75e2
      Julia Kreger authored
      The instance_uuid handling on the detailed node information
      endpoint of the api (/v1/nodes/detail?instance_uuid=<uuid>),
      which is used by services such as Nova for explicit node status
      lookups, previously had special conditional logic surrounding it
      which skipped the inclusion of the API requestor project-id, from
      being incorporated into the database query.
      
      Ultimately, this allowed an authenticated user to obtain a partially
      redacted node entry where sensitive informational fields were scrubbed
      from the response payload.
      
      With this fix, queries for an explicit instance_uuid now follow the
      standard path inside the Ironic API to the database which includes
      inclusion of a requestor Project-ID if required by configured policy.
      
      Change-Id: I9bfa5a54e02c8a1e9c8cad6b9acdbad6ab62bef3
      Story: 2008976
      Task: 42620
      (cherry picked from commit be3c153d)
      755c75e2
  19. 09 Jun, 2021 1 commit
    • Aija Jauntēva's avatar
      Refactor iDRAC OEM extension manager calls · 0bc5265e
      Aija Jauntēva authored
      - Re-usable helper created to avoid duplication.
      - Although there is only one manager for system in known iDRAC systems
      still iterate through collection for future changes.
      - Restructured exception raising and error logging for better feedback.
      - Removed some unit tests to avoid duplication that is covered by
      method specific unit tests
      
      Change-Id: I03fdb48e47c9557c207a20ee876eccf3f3459d9f
      (cherry picked from commit 39cd751a)
      0bc5265e
  20. 02 Jun, 2021 2 commits
  21. 31 May, 2021 1 commit
  22. 19 May, 2021 1 commit
    • LinPeiWen's avatar
      Delete unavailable py2 package · 3258e49a
      LinPeiWen authored
      The openstack Ussuri and Victoria versions no longer support the
      Centos7 and pyrhon2 environment packages. Correct the missing
      problems in the latest document
      
      Change-Id: I60787243fdc6ed2741522355ec79970bdb912f41
      (cherry picked from commit 35dea078)
      (cherry picked from commit 77be4c6c)
      3258e49a
  23. 10 May, 2021 1 commit
    • Riccardo Pittau's avatar
      Point ipa-builder to stable/wallaby · 0df78f60
      Riccardo Pittau authored
      Since ironic-python-agent-bulder has stable branches starting from
      wallaby, we need to point all the older branches to stable/wallaby,
      unless they're already pinned to an older version.
      
      Change-Id: I90a0d4d75fb4581805f11e79ca7185cfdb66f77a
      0df78f60
  24. 07 May, 2021 1 commit
    • Dmitry Tantsur's avatar
      Fix deployment when executing a command fails after the command starts · 67871426
      Dmitry Tantsur authored
      If the agent accepts a command, but is unable to reply to Ironic (which
      sporadically happens before of the eventlet's TLS implementation), we
      currently retry the request and fail because the command is already
      executing. Ironic now detects this situation by checking the list of
      executing commands after receiving a connection error. If the requested
      command is last one, we assume that the command request succeeded.
      
      Ideally, we should pass a request ID to IPA and then compare it. Such
      a change would affect the API contract between the agent and Ironic
      and thus would not be backportable.
      
      Change-Id: I2ea21c9ec440fa7ddf8578cf7b34d6d0ebbb5dc8
      (cherry picked from commit abfe383c)
      67871426
  25. 05 May, 2021 1 commit
  26. 21 Apr, 2021 1 commit
  27. 15 Apr, 2021 2 commits
  28. 14 Apr, 2021 1 commit
  29. 09 Apr, 2021 2 commits
    • Steve Baker's avatar
      Fix ipmitool timing argument calculation · b205a32c
      Steve Baker authored
      Calculating the ipmitool `-N` and `-R` arguments from ironic.conf
      [ipmi] `command_retry_timeout` and `min_command_interval` now takes
      into account the 1 second interval increment that ipmitool adds on
      each retry event.
      
      Failure-path ipmitool run duration will now be just less than
      `command_retry_timeout` instead of much longer.
      
      Change-Id: Ia3d8d85497651290c62341ac121e2aa438b4ac50
      (cherry picked from commit 1de3db3b)
      b205a32c
    • Aija Jauntēva's avatar
      Fix idrac-wsman BIOS step async error handling · 6130dc15
      Aija Jauntēva authored
      Instead of using process_event('fail') use error_handlers,
      otherwise in case of failure node gets stuck and fails
      because of timeout, instead of failing earlier due to
      step failure.
      
      And improve coverage to test this error handling
      and also happy paths.
      
      Story: 2008307
      Task: 41197
      Change-Id: I1e957c2b526abc37920212b6431b11eedc9f89be
      (cherry picked from commit 83ce7c42)
      6130dc15
  30. 01 Apr, 2021 1 commit
    • Bob Fournier's avatar
      Restrict syncing of boot mode to Supermicro · 4fd09934
      Bob Fournier authored
      The fix for https://storyboard.openstack.org/#!/story/2008252 synced
      the boot mode after changing the boot device, because Supermicro nodes
      reset the boot mode if not included in the boot device set. However this
      can cause a problem on Dell nodes when changing the mode uefi->bios or
      bios->uefi. Restrict the syncing of the boot mode to Supermicro.
      
      Story: 2008712
      Task: 42046
      Change-Id: I9f305cb3f33766c1c93cf4347368b1ce025fc635
      (cherry picked from commit 8bd25a98)
      4fd09934
  31. 24 Mar, 2021 1 commit
  32. 23 Mar, 2021 1 commit
  33. 21 Mar, 2021 1 commit
    • Steve Baker's avatar
      Allow unsupported redfish set_boot_mode · 13fc01fe
      Steve Baker authored
      Currently if the baremetal boot mode is unknown and the driver doesn't
      support setting the boot mode then the error is logged and deployment
      continues.
      
      However if the BMC doesn't support getting or setting the boot mode
      then setting the boot mode raises an error which results in the deploy
      failing. This is the case for HPE Gen9 baremetal, which doesn't have a
      'BootSourceOverrideMode' attribute in its system Boot field, and
      raises a 400 iLO.2.14.UnsupportedOperation in response to setting the
      boot mode.
      
      This is raised from set_boot_mode as a RedfishError. This change
      raises UnsupportedDriverExtension exception when the 'mode' attribute
      is missing from the 'boot' field, allowing the deployment to continue.
      
      Change-Id: I360ff8180be252de21f5fcd2208947087e332a39
      (cherry picked from commit 9f221a7d)
      13fc01fe
  34. 15 Mar, 2021 1 commit
  35. 08 Mar, 2021 2 commits
    • Arne Wiebalck's avatar
      Lazy-load node details from the DB · 4ed8ceef
      Arne Wiebalck authored
      In order to reduce the load on the database backend, only lazy-load
      a node's ports, portgroups, volume_connectors, and volume_targets.
      With the power-sync as the main user, this change should reduce the
      number of DB operations by two thirds roughly.
      
      Change-Id: Id9a9a53156f7fd866d93569347a81e27c6f0673c
      (cherry picked from commit 82cab603)
      4ed8ceef
    • Arne Wiebalck's avatar
      [Trivial] Fix testing of volume connector exception · b2b862f5
      Arne Wiebalck authored
      Restore test symmetry.
      
      Change-Id: I54a9fed73e366a30545c3cd1982588d2f544d228
      (cherry picked from commit 61c5b3fd)
      b2b862f5
  36. 05 Mar, 2021 1 commit