Skip to content
Snippets Groups Projects
  1. Feb 18, 2018
  2. Sep 19, 2017
    • Christopher Dearborn's avatar
      Increased is-iDRAC-ready timeout · 8f368ed3
      Christopher Dearborn authored
      The current is-iDRAC-ready timeout is set to 24 iterations times a
      delay of 10 seconds, or 4 minutes.  This timeout is too short for 12G
      and 13G hardware as operations against the iDRAC will frequently
      timeout if the iDRAC is not in a ready state.
      
      This patch increases the number of iterations to 48, which bumps the
      timeout up to 8 minutes.  This increased timeout is sufficient for the
      iDRAC on 14G, 13G, and 12G hardware to become ready and therefore avoid
      a timeout exception.
      
      Change-Id: I9dc476d3c28475919404077875f04fd006d4464a
      Closes-Bug: 1718277
      1.3.1
      8f368ed3
  3. Aug 01, 2017
    • Christopher Dearborn's avatar
      Add "Reboot Failed" as terminal job state for 14G · 8e49089d
      Christopher Dearborn authored
      In the 14G iDRAC 9, "Reboot Failed" has been added as a terminal job
      state.  This patch updates the job filter query in list_jobs so that
      jobs with a status of "Reboot Failed" will now be considered a finished
      job.
      
      Change-Id: Icffb22da37f99f8b24fcab405be196eace436785
      Closes-Bug: #1707911
      8e49089d
  4. Jul 28, 2017
    • Richard Pioso's avatar
      Simplify wait_until_idrac_is_ready() calls · bcfe996d
      Richard Pioso authored
      This change simplifies the internal calls to
      dracclient.client.WSManClient.wait_until_idrac_is_ready() by no longer
      passing arguments. That makes the code cleaner and easier to understand.
      It contains no functional change.
      
      The arguments no longer need to be passed, because that function's
      default parameter values are now None, which means use the values that
      were provided when the WSManClient object was created. The default
      values provided at creation are equal to the arguments that were being
      explicitly passed.
      
      Change-Id: I70237bb9eda49a98c55a452b7f534a1e720696bb
      Related-Bug: #1697558
      1.3.0
      bcfe996d
  5. Jul 27, 2017
    • Richard Pioso's avatar
      Simplify get Lifecycle Controller version · 38d863e4
      Richard Pioso authored
      A Dell technical white paper [0], "Lifecycle Controller Integration --
      Best Practices Guide", describes how to determine the Lifecycle
      Controller version. See section 31.4, "Check Version of Lifecycle
      Controller (LC)". It simply enumerates the DCIM_SystemView class. No
      filter query is used to limit the items returned. And notably, that use
      case does not require the LC remote service to be in a "ready" state.
      
      That use case is implemented by the
      dracclient.resource.lifecycle_controller.LifecycleControllerManagement.get_version()
      method. It has used a filter query and waited for the integrated Dell
      Remote Access Controller (iDRAC) to be ready. To align it with best
      practices, this patch eliminates its use of a filter query and wait for
      the iDRAC.
      
      [0]
      http://en.community.dell.com/techcenter/extras/m/white_papers/20442332
      
      Change-Id: I9a499522b59f18282fc9a57227570f54e46dfd3e
      Closes-Bug: #1697558
      38d863e4
  6. Jul 25, 2017
    • Richard Pioso's avatar
      Enumerate operations can wait until iDRAC is ready · 3207d9e1
      Richard Pioso authored
      Web Services Management (WS-Management and WS-Man) Enumerate operations
      can fail or return invalid results when issued to an integrated Dell
      Remote Access Controller (iDRAC) whose Lifecycle Controller remote
      service is not "ready". The following are examples of failures which
      have been observed:
      
      + The result of Enumerate is an error.
      + Enumerate succeeds, but no items are returned when they are known to
      exist.
      + Enumerate succeeds, but items for all those known to exist are not
      returned.
      
      A Dell technical white paper [0], "Lifecycle Controller Integration --
      Best Practices Guide", states that for Lifecycle Controller firmware
      1.5.0 and later "The Lifecycle Controller remote service must be in a
      'ready' state before running any other WSMAN commands." That applies to
      almost all of the workflows and use cases documented by that paper and
      supported by this project, openstack/python-dracclient.
      
      This patch defines a new method in class dracclient.client.WSManClient,
      enumerate(). It extends its base class's implementation by adding a new
      parameter that indicates whether or not it should wait until the iDRAC
      is ready to accept commands before issuing the Enumerate command. When
      it is true, that method waits until the iDRAC is ready before issuing
      the command. Since almost all Enumerate operations require the iDRAC to
      be ready, the new parameter's default value is 'True'.
      
      [0]
      http://en.community.dell.com/techcenter/extras/m/white_papers/20442332
      
      Change-Id: Ied659a4ee45b1dd55cd3a420301d866d52c838fb
      Partial-Bug: #1697558
      Related-Bug: #1691808
      3207d9e1
    • Richard Pioso's avatar
      Invoke operations can wait until iDRAC is ready · deed7d7c
      Richard Pioso authored
      Web Services Management (WS-Management and WS-Man) Invoke operations can
      fail when issued to an integrated Dell Remote Access Controller (iDRAC)
      whose Lifecycle Controller remote service is not "ready".
      
      A Dell technical white paper [0], "Lifecycle Controller Integration --
      Best Practices Guide", states that for Lifecycle Controller firmware
      1.5.0 and later "The Lifecycle Controller remote service must be in a
      'ready' state before running any other WSMAN commands." That applies to
      almost all of the workflows and use cases documented by that paper and
      supported by this project, openstack/python-dracclient. A notable
      exception is the dracclient.client.WSManClient.is_idrac_ready() method,
      which is a chicken and egg situation.
      
      This patch adds a new parameter to the
      dracclient.client.WSManClient.invoke() method that indicates whether or
      not it should wait until the iDRAC is ready to accept commands before
      issuing the Invoke command. When it is true, that method waits until the
      iDRAC is ready before issuing the command. Since almost all Invoke
      operations require the iDRAC to be ready, the new parameter's default
      value is 'True'.
      
      [0]
      http://en.community.dell.com/techcenter/extras/m/white_papers/20442332
      
      Change-Id: Ib5b9fb2a954579be40f47304c70157ab1f00d39c
      Partial-Bug: #1697558
      Related-Bug: #1691808
      deed7d7c
  7. Jul 24, 2017
    • Richard Pioso's avatar
      Parameterize iDRAC is ready retries at class level · c75969dd
      Richard Pioso authored
      Web Services Management (WS-Management and WS-Man) requests/commands can
      fail or return invalid results when issued to an integrated Dell Remote
      Access Controller (iDRAC) whose Lifecycle Controller remote service is
      not "ready". Specifically, that applies to the WS-Man Enumerate and
      Invoke operations.
      
      A Dell technical white paper [0], "Lifecycle Controller Integration --
      Best Practices Guide", states that for Lifecycle Controller firmware
      1.5.0 and later "The Lifecycle Controller remote service must be in a
      'ready' state before running any other WSMAN commands." That applies to
      almost all of the workflows and use cases documented by that paper and
      supported by this project, openstack/python-dracclient. That document
      describes how to determine the readiness of the Lifecycle Controller
      remote service.
      
      This patch parameterizes the iDRAC is ready retry behavior at the class
      level. That makes it possible for consumers of this project, such as
      project openstack/ironic, to configure it library API-wide.
      
      Additionally, this patch improves the names of the parameters to class
      __init__() methods that control the retry behavior on SSL errors, so
      that they are not confused with those added by this patch. Finally, it
      defines constants for the default values of the retry behavior on SSL
      errors and iDRAC is ready retry parameters, and utilizes those new
      constants.
      
      [0]
      http://en.community.dell.com/techcenter/extras/m/white_papers/20442332
      
      Change-Id: Ie866466a8ddf587a24c6d25ab903ec7b24022ffd
      Partial-Bug: #1697558
      Related-Bug: #1691272
      Related-Bug: #1691808
      c75969dd
  8. Jul 13, 2017
  9. Jul 11, 2017
    • Richard Pioso's avatar
      Refactor iDRAC is ready functionality · 10df06f6
      Richard Pioso authored
      Web Services Management (WS-Management and WS-Man) requests/commands can
      fail or return invalid results when issued to an Integrated Dell Remote
      Access Controller (iDRAC) whose Lifecycle Controller remote service is
      not "ready". Specifically, that applies to the WS-Man Enumerate and
      Invoke operations.
      
      A Dell technical white paper [0], "Lifecycle Controller Integration --
      Best Practices Guide", states that for Lifecycle Controller firmware
      1.5.0 and later "The Lifecycle Controller remote service must be in a
      'ready' state before running any other WSMAN commands." That applies to
      almost all of the workflows and use cases documented by that paper and
      supported by this project, openstack/python-dracclient. That document
      describes how to determine the readiness of the Lifecycle Controller
      remote service. A project commit [1] implements that.
      
      This refactors that patch in preparation for changing the internal
      implementation of the project's APIs so that they follow that best
      practice. The implementation of is_idrac_ready() and
      wait_until_idrac_is_ready() have been relocated further down the call
      stack, to the iDRAC specialization of the WS-Man client defined by class
      dracclient.client.WSManClient. Those methods continue to be available
      through the API provided by class dracclient.client.Client.
      
      No changes have been made to this project's APIs nor to any functional
      behavior.
      
      [0]
      http://en.community.dell.com/techcenter/extras/m/white_papers/20442332
      [1]
      https://github.com/openstack/python-dracclient/commit/39253bb272a7d4cfcc161c19708b8c6949a21240
      
      Change-Id: I87996bbca129995f6c84848ebdb0c33cfedeea53
      Partial-Bug: #1697558
      Related-Bug: #1691808
      10df06f6
  10. Jul 06, 2017
  11. Jul 03, 2017
  12. Jun 16, 2017
  13. Jun 07, 2017
    • Vu Cong Tuan's avatar
      Remove support for py34 · c9e0e2fc
      Vu Cong Tuan authored
      The gating on python 3.4 is restricted to <= Mitaka. This is due to
      the change from Ubuntu Trusty to Xenial, where only python3.5 is
      available. There is no need to continue to keep these settings.
      
      Change-Id: I72dd71f8f68b7459593b520ea42e9a8af6aaefba
      c9e0e2fc
  14. Jun 06, 2017
    • Christopher Dearborn's avatar
      Fix immediate failure on SSL errors · d6edaac2
      Christopher Dearborn authored
      This patch adds retry logic to communication with the iDRAC so that
      intermittent SSLErrors or ConnectionErrrors will not cause an immediate
      failure of the operation.
      
      Change-Id: Idc56e961699702eca734cba1da5e56cac0ad4832
      Closes-Bug: 1691272
      d6edaac2
  15. May 30, 2017
  16. Feb 22, 2017
    • Christopher Dearborn's avatar
      Get/Set power state fails · f49efaa1
      Christopher Dearborn authored
      It's possible for iDRACs to get into a state where the Name element is
      not returned when querying DCIM_ComputerSystem.  This results in the
      get_power_state command failing against nodes with iDRACs in this
      state.
      
      This patch removes selecting on the Name element from get_power_state.
      This makes get_power_state work against both nodes with iDRACs in this
      state and iDRACs not in this state.
      
      Change-Id: Ide2d69b695376c777e5c4ee847dd0e481474a09f
      Closes-Bug: #1667088
      1.1.1
      f49efaa1
  17. Feb 15, 2017
  18. Feb 14, 2017
  19. Jan 30, 2017
  20. Jan 25, 2017
    • Christopher Dearborn's avatar
      WSMAN enumerate fails to return all entries · 0c1d56dd
      Christopher Dearborn authored
      When querying an enumeration using the WSMAN enumerate method, not all
      entries are returned if there are more than max_elems (default of 100)
      in the enumeration.
      
      When querying an enumeration, the first response returns <wsman:Items>
      in the body.  Successive pulls, however, contain <wsen:Items>.
      
      The old code always queried for <wsen:Items>, which caused the first
      batch of attributes to be dropped only when the number of entries in
      the enumeration exceeded max_elems.
      
      This patch queries for <wsman:Items> in the first response, and for
      <wsen:Items> in successive responses.
      
      Change-Id: I2e9036b562c7d7ba5af188dd552b6c67388bb02c
      Closes-Bug: #1659052
      0c1d56dd
  21. Jan 16, 2017
  22. Jan 12, 2017
    • Mark Goddard's avatar
      Add constituent physical disks to RAID virtual disk object · 2a80dbb2
      Mark Goddard authored
      This change adds a new attribute - physical_disks - to
      dracclient.resources.raid.VirtualDisk objects. The attribute is a
      list of IDs of the physical disks that a virtual disk is composed of.
      This allows clients of the library to obtain a more complete view of
      the current RAID configuration.
      
      Change-Id: If4f762d3bc115a971d0392af8270f5440ef43913
      Closes-bug: #1651702
      2a80dbb2
  23. Dec 26, 2016
    • gengchc2's avatar
      Removes unnecessary utf-8 coding · efad89ab
      gengchc2 authored
      The file was added redundant utf-8 coding by some editor.
      we can delete it .
      
      Change-Id: I51d76072500a684cc8941528dfc588d3073e34c6
      efad89ab
  24. Nov 25, 2016
  25. Nov 18, 2016
  26. Nov 17, 2016
    • Anish Bhatt's avatar
      Add missing RAID Status · e6310a69
      Anish Bhatt authored
      Not specified in DCIM Library, but is defined in
      DCIM_PhysicalDiskView.mof
      
      Change-Id: If604904aeffaa1fd4199ddb089d7cf5e1636e635
      e6310a69
  27. Nov 14, 2016
  28. Nov 10, 2016
  29. Nov 08, 2016
    • Dmitry Tantsur's avatar
      Raise a specific exception instead of generic AttributeError · aeebdf89
      Dmitry Tantsur authored
      Currently we raise an AttributeError when expected attribute is missing
      from the response. This is not very developer-friendly, so this patch
      creates a new exception (derived from AttributeError for compatibility)
      for this purpose.
      
      Change-Id: If2ac03dcd410d451dc7bbfe7bbd0b145da201c9a
      Related-Bug: #1550328
      aeebdf89
  30. Nov 07, 2016
Loading