1. 24 Jan, 2022 2 commits
  2. 20 Jan, 2022 1 commit
  3. 18 Jan, 2022 2 commits
  4. 17 Jan, 2022 2 commits
  5. 13 Jan, 2022 1 commit
  6. 12 Jan, 2022 1 commit
    • Harald Jensås's avatar
      Ensure 'port' is up2date after binding:host_id · 9a7bc058
      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)
      9a7bc058
  7. 10 Jan, 2022 1 commit
    • Harald Jensås's avatar
      Add dhcp options for each ip_version once · 2326d868
      Harald Jensås authored
      Currently duplicate DHCP options are added when a port have
      multiple address in the same address familiy. The duplicate
      entries cause an internal server error in neutron.
      
      This fixes the issue by only adding DHCP options for each
      IP-version.
      
      Story: 2009774
      Task: 44255
      Change-Id: I8bef819dc3101f88f4e04ea986e1039e34d917ed
      (cherry picked from commit c4721da2)
      2326d868
  8. 20 Dec, 2021 1 commit
    • Aija Jauntēva's avatar
      Fix redfish update_firmware for newer Sushy · ff375734
      Aija Jauntēva authored
      `TaskMonitor.task_monitor` is deprecated and was removed from sushy
      at Ie48fab19199c0c2f3455d2212d50460a29685eed. Somehow missed to
      update it for `redfish` firmware upgrade steps previously.
      
      Change-Id: Iced8e921335995e1e084d6e632c6e81d3fc9249f
      (cherry picked from commit 9076f185)
      ff375734
  9. 15 Dec, 2021 3 commits
  10. 08 Dec, 2021 4 commits
    • Julia Kreger's avatar
      CI: Lower test VM memory by 200MB · 561630f8
      Julia Kreger authored
      We're seeing OOM events in CI, hopefully this helps.
      
      Change-Id: Id8c0e4830011ca2fa526df461ed5b9b01f769cf9
      561630f8
    • Julia Kreger's avatar
      Remove redfish cache entry upon errors · bb929d50
      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)
      bb929d50
    • Julia Kreger's avatar
      CI: reduce api worker processes to 1 · 1dbec734
      Julia Kreger authored
      CI is memory intensive, and we realistically don't need 2 or
      more API workers running for every single WSGI process which
      does not implement it's own specific override value.
      
      This should reduce the memory footprint by an average of six processes
      which consume 60-90 MB each.
      
      Change-Id: Ia0a986152c2b9fc9c5ff54cf698a351db452fbbd
      1dbec734
    • Zuul's avatar
      2a582961
  11. 07 Dec, 2021 2 commits
    • Julia Kreger's avatar
      Explicitly pin upper sushy version · b3a835bd
      Julia Kreger authored
      Sushy 4.0.0 has breaking changes in it which prevent usage
      with this version of ironic. While the global upper requirements
      is unlikely ever to attempt to increment to 4.0.0, the explicit
      requirements invocation, like what is in place for running
      driver unit tests, was trying to pull in 4.0.0 resulting in test
      failures.
      
      Change-Id: Ief828f139bac9ba00f3250d8ddf4fd3d84a6fa7a
      b3a835bd
    • Dmitry Tantsur's avatar
      Trivial: log current state when continuing cleaning · 2166672c
      Dmitry Tantsur authored
      Change-Id: I02a8ed6802fffee071e94be3c0cab2382b7e60ca
      (cherry picked from commit 3e225d2c)
      2166672c
  12. 29 Nov, 2021 1 commit
    • Julia Kreger's avatar
      Clarify driver load error message · a783ef70
      Julia Kreger authored
      The NoValidDefaultForInterface exception is a little misleading
      in that if one doesn't have the base interface enabled, and they
      attempt to enable a hardware type which requires or only supports
      disabled interfaces, they will also get an exeption. The reality
      is we need to suggest for them to look at enabling the interfaces
      before looking at the default interface overrides, because logically
      the brain jumps to setting a default before checking the interface
      settings.
      
      Change-Id: I50d4381e11da96cb7ae0ee8cbda18534380bd471
      (cherry picked from commit fdc6424d)
      a783ef70
  13. 26 Nov, 2021 1 commit
  14. 23 Nov, 2021 1 commit
    • Dmitry Tantsur's avatar
      Stop relying on explicit values of Redfish constants · 4bdcb2b3
      Dmitry Tantsur authored
      There are a few places in unit tests where we rely on Redfish constants
      having well-known values. Use constants themselves instead.
      
      An even more problematic place is _set_boot_device: it relies on storing
      Redfish constants in driver_internal_info. With the future switch to
      enums, it will no longer be possible. Use Ironic constants and provide a
      compatibility layer.
      
      Change-Id: I8e075f808e013afd778dd7cdc0927fe339309b70
      (cherry picked from commit 93fd147b)
      4bdcb2b3
  15. 22 Nov, 2021 1 commit
    • Julia Kreger's avatar
      Fix some of the SRBAC tests · 51666ed6
      Julia Kreger authored
      In all of the copying/pasting/repeating, some misalignments between
      labels/parameters utilized for the RBAC tests occured.
      
      Nothing serious, everything seems to be just fine.
      
      Change-Id: Ib0ded5a53e586e10006b066241f4b4a92bb2c463
      (cherry picked from commit a249c025)
      51666ed6
  16. 18 Nov, 2021 1 commit
  17. 09 Nov, 2021 1 commit
    • Dmitry Tantsur's avatar
      Avoid handling a deploy failure twice · 31a42a16
      Dmitry Tantsur authored
      In some cases we handle the same exception twice in a row: in agent_base
      and in deployments.do_next_deploy_step. This change avoids it.
      
      Also make deploy step error messages more uniform across the board.
      
      Change-Id: Ic84c04118b1a85b10a761fc58796827583a5b086
      (cherry picked from commit 4f089380)
      31a42a16
  18. 08 Nov, 2021 1 commit
    • Aija Jauntēva's avatar
      Fix idrac-wsman deploy with existing non-BIOS jobs · 4ee49e7b
      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)
      4ee49e7b
  19. 28 Oct, 2021 1 commit
    • Arun S A G's avatar
      Fix various issues in the anaconda deploy interface · c9297ce7
      Arun S A G authored
      
      
      The kickstart template expects a dictionary with 'ks_options'
      as the key. Instead build_kickstart_config_options function
      returns a dict with keys 'liveimg_url', 'agent_token' and
      'heartbeat_url'.
      
      This change fixes this problem by returning a dictionary of
      dict with 'ks_options' as key and the dictionary with
      keys 'liveimg_url', 'agent_token' and heartbeat_url' as
      value.
      
      Fix a bug where the deploy() method of anaconda deploy
      interface where it did not return states.DEPLOYWAIT instead
      it returned 'None' which caused the instance to go straight to
      'active' instead of 'wait call-back'.
      
      Fix issues in the default kickstart template where heartbeat was
      missing 'callback_url' parameter and the HTTP method should be
      'POST' not 'PUT'.
      
      Fix issues with automated cleaning when anaconda deploy interface
      is used.
      
      Anaconda deploy interface could not deploy tarballs as
      the disk image sent to the anaconda interface via liveimg --url
      kickstart command does not include any file extension. When
      no file extension is present the kickstart command liveimg --url
      assumes the disk is a mountable partiton image. We fix this
      problem by enabling the user to specify file extensions using
      a glance image property named 'disk_file_extension' on the OS
      image.
      
      Co-Authored-By: default avatarRuby Loo <opensrloo@gmail.com>
      Change-Id: I556f8c9efbc5ab0941513c3ecaa2aa3ca7f346ae
      c9297ce7
  20. 19 Oct, 2021 1 commit
    • Jacob Anders's avatar
      Do not append filename parameter to image URL when using local file · dd8e6c6c
      Jacob Anders authored
      Currently Ironic always adds a filename parameter to virtual media
      image URL, for example:
      http://localhost/redfish/boot.iso?filename=file.iso. This is useful
      on certain BMCs which require a ".iso" suffix in the image URL
      especially when using swift as the image source.
      This should not be neccessary with file based virtual media images
      and adding this parameter can cause issues in BMCs which do not
      accept special characters such as "=" and "?" in virtual image URL.
      This change alters Ironic's behaviour to only add the filename
      parameter if swift backing store is used for the image.
      
      Story: 2009278
      Task: 43547
      
      Change-Id: I3338bdb6a24d9695ce32d205221183b9b876bcc8
      (cherry picked from commit e05f74c6)
      dd8e6c6c
  21. 18 Oct, 2021 1 commit
  22. 14 Oct, 2021 1 commit
  23. 05 Oct, 2021 2 commits
    • Zhou Hao's avatar
      [iRMC] Set polling after RAID is built · bb02e1ca
      Zhou Hao authored
      
      
      Avoid resume clean before raid is actually configured.
      After creating the RAID, set up polling will notify ironic to wait for the
      RAID configuration to complete before proceeding to the next step instead of check IPA.
      
      Story: #2009231
      Task: #43336
      
      Signed-off-by: default avatarZhou Hao <zhouhao@fujitsu.com>
      Change-Id: I7a551199224c24ca270b8b02d76b39386632c94f
      (cherry picked from commit b617e434)
      bb02e1ca
    • Zhou Hao's avatar
      [iRMC] Avoid repeatedly resuming clean after creating raid configuration · 5155ade3
      Zhou Hao authored
      
      
      Fixed the bug of repeated resume cleaning due to the value of `fgi_status` not being updated correctly when obtaining the
      RAID configuration status of the node managed by the `irmc` hardware type.
      
      ```
      Unexpected error when processing next clean step. TypeError: 'NoneType' object is not subscriptable
      ```
      
      This `NoneType` error occurs because ironic resumes clean without waiting for IPA to get the clean steps, and then it tries to read the
      clean steps which should be a list but actually is none.
      During auto clean, resume clean should be triggered by IPA, but in this case, it is triggered by a iRMC periodic task which checks
      the progress of running raid config.
      This error does not occur every time, sometime raid can be configured, auto clean can complete without error and the node can be deployed successfully.
      
      Story: #2009206
      Task: #43265
      
      Signed-off-by: default avatarZhou Hao <zhouhao@fujitsu.com>
      Change-Id: I5a1c5708bdc1709e928f0faf7e18396e260dc551
      (cherry picked from commit 8a5c672f)
      5155ade3
  24. 29 Sep, 2021 1 commit
  25. 27 Sep, 2021 1 commit
  26. 24 Sep, 2021 2 commits
  27. 23 Sep, 2021 2 commits
    • Julia Kreger's avatar
      Devstack: don't scan /opt, /etc looking for isolinux · 703d88c1
      Julia Kreger authored
      /opt contains a mirror of an insane amount of stuff, and it chews
      disk io to scan it looking for isolinux.bin which should be under
      /usr on... well... every OS we support.
      
      Also, don't scan /etc. That is just weird.
      
      Change-Id: I52f4c1ba8808fea637df69a631eaa1c674dc8e69
      (cherry picked from commit 4775fb3d)
      703d88c1
    • Aija Jauntēva's avatar
      Update iDRAC doc for idrac-redfish RAID · 8e3c146b
      Aija Jauntēva authored
      Note about idrac-redfish physical disk hint support no longer
      applicable as more testing done and bugs in generic `redfish`
      RAID interface fixed.
      
      Change-Id: I824ce9f58b08932167bc98cee9a5323dae34fdab
      (cherry picked from commit eb8657f0)
      8e3c146b
  28. 22 Sep, 2021 1 commit
    • OpenStack Release Bot's avatar
      Update TOX_CONSTRAINTS_FILE for stable/xena · db8e9e75
      OpenStack Release Bot authored
      Update the URL to the upper-constraints file to point to the redirect
      rule on releases.openstack.org so that anyone working on this branch
      will switch to the correct upper-constraints list automatically when
      the requirements repository branches.
      
      Until the requirements repository has as stable/xena branch, tests will
      continue to use the upper-constraints list on master.
      
      Change-Id: I355bf42941bd722b50a78be3e286e17e22d0f4ab
      db8e9e75