IPA may not find partition created by conductor

Bug #1739421 reported by Nikolay Fedotov
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ironic-lib
Fix Released
High
Julia Kreger

Bug Description

Sometimes IPA could not find partition created by conductor.

See attached log. Conductor found the partition UUID and gave it to API but could not find it. In fact there so no such partition.

The issue mentioned here https://bugs.launchpad.net/ironic-python-agent/+bug/1736386 But proposed fix did not help.

Revision history for this message
Nikolay Fedotov (nfedotov) wrote :
Revision history for this message
Nikolay Fedotov (nfedotov) wrote :

It looks like there is a race condition somewhere between "destroying metadata"<->"exposing disk to conductor"->"do partitioning on conductor side".
Reproduced manually using commands collected in attached file. The commands are pulled from agent/agent-lib/conductor source code

Revision history for this message
Nikolay Fedotov (nfedotov) wrote :

Proposed fix https://review.openstack.org/#/c/529325/
Do not know why it is not linked here

Dmitry Tantsur (divius)
affects: ironic-python-agent → ironic-lib
Changed in ironic-lib:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Nikolay Fedotov (nfedotov)
status: Triaged → In Progress
Changed in ironic-lib:
assignee: Nikolay Fedotov (nfedotov) → Julia Kreger (juliaashleykreger)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic-lib (master)

Reviewed: https://review.openstack.org/529325
Committed: https://git.openstack.org/cgit/openstack/ironic-lib/commit/?id=0d65451cfc7c96f735143c0d2e593abb80beb731
Submitter: Zuul
Branch: master

commit 0d65451cfc7c96f735143c0d2e593abb80beb731
Author: Nikolay Fedotov <email address hidden>
Date: Fri Dec 15 15:05:03 2017 +0300

    Add wait_for_disk to destroy_disk_metadata function

    * Move _wait_for_disk_to_become_available function
      from DiskPartitioner class to utils.py
    * Call the wait_for_disk_to_become_available during
      the destroy_disk_metadata metadata to ensure that
      nothing is using disk and preventing metadata
      from being destroyed.

    Change-Id: I9134b4cfdf15ba9610b4d1f844e64858d69713a5
    Closes-Bug: #1739421

Changed in ironic-lib:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/ironic-lib 2.12.0

This issue was fixed in the openstack/ironic-lib 2.12.0 release.

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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