SSL errors when communicating with iDRAC

Bug #1691272 reported by Christopher Dearborn
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-dracclient
Fix Released
Undecided
Christopher Dearborn

Bug Description

When communicating with an iDRAC, an SSLError or ConnectionError may intermittently occur. If this happens at an inopportune time, it can kill an entire overcloud deployment when using tripleo.

Retry logic should be added to wsman.py so that it will recover when intermittent communication issues with the iDRAC occur.

Changed in python-dracclient:
assignee: nobody → Christopher Dearborn (cdearbor)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-dracclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/465656

Changed in python-dracclient:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on python-dracclient (master)

Change abandoned by Christopher Dearborn (<email address hidden>) on branch: master
Review: https://review.openstack.org/465656
Reason: Accidentally submitted from master branch. Resubmitting.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-dracclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/466313

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-dracclient (master)

Reviewed: https://review.openstack.org/466313
Committed: https://git.openstack.org/cgit/openstack/python-dracclient/commit/?id=d6edaac2a1fc0fbb3cfc943a3a1845c74fc57c4f
Submitter: Jenkins
Branch: master

commit d6edaac2a1fc0fbb3cfc943a3a1845c74fc57c4f
Author: Christopher Dearborn <email address hidden>
Date: Fri May 19 11:05:38 2017 -0400

    Fix immediate failure on SSL errors

    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

Changed in python-dracclient:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to python-dracclient (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/482371

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to python-dracclient (master)

Reviewed: https://review.openstack.org/482371
Committed: https://git.openstack.org/cgit/openstack/python-dracclient/commit/?id=c75969dd8dee4924374f53983b12881dfb705282
Submitter: Jenkins
Branch: master

commit c75969dd8dee4924374f53983b12881dfb705282
Author: Richard Pioso <email address hidden>
Date: Fri Jul 7 19:28:02 2017 -0400

    Parameterize iDRAC is ready retries at class level

    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

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.