Persistent storage on nodes is not supported

Bug #1174154 reported by Robert Collins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Medium
Lucas Alvares Gomes
OpenStack Compute (nova)
Fix Released
Medium
Unassigned
tripleo
Fix Released
High
Unassigned

Bug Description

At the moment nova baremetal resets the first disk partition when deploying, and even when that is worked around (e.g. using a second disk) you still can't guarantee the new image lands on a node that had appropriate persistent data (e.g. a swift node).

One long term plan is to teach the baremetal system about cinder volumes and use boot --with-volume to land on the same node. When this is done the partition table will be preserved on rebuilds / new instances.

However in the short term we want to use the ephemeral feature and make it possible to preserve the partition during update - http://lists.openstack.org/pipermail/openstack-dev/2013-October/017707.html

Tags: baremetal
Changed in nova:
status: New → Triaged
importance: Undecided → Medium
description: updated
tags: added: baremetal
aeva black (tenbrae)
Changed in ironic:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/59468
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=a51ba1ce7d5fce7aa1104b7c1558934cb3998f27
Submitter: Jenkins
Branch: master

commit a51ba1ce7d5fce7aa1104b7c1558934cb3998f27
Author: Roman Podoliaka <email address hidden>
Date: Tue Dec 3 18:14:17 2013 +0200

    Let drivers override default rebuild() behaviour

    The rebuild compute method currently makes separate calls to destroy()
    and spawn(), but this introduces race conditions with drivers where
    another compute process could claim the VM resources between destroy
    and spawn. This is a particular problem for baremetal where the
    planned ephemeral preservation feature requires that the rebuild
    happen on the same physical node.

    Partial-Bug: #1174154
    blueprint: baremetal-preserve-ephemeral
    Co-Authored-By: Robert Collins <email address hidden>
    Co-Authored-By: Joe Gordon <email address hidden>

    Change-Id: I5fadc27207ed5725ecf0cf6bc34a52a95af42679

Changed in ironic:
assignee: nobody → Lucas Alvares Gomes (lucasagomes)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/60285
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=c557472496a93b8e7f1c12d3e294cf0bc36b6519
Submitter: Jenkins
Branch: master

commit c557472496a93b8e7f1c12d3e294cf0bc36b6519
Author: Roman Podoliaka <email address hidden>
Date: Thu Dec 5 17:17:36 2013 +0200

    Add preserve_ephemeral option to rebuild

    The preserve_ephemeral option for rebuild will preserve the content of
    the ephemeral partition, making stateful golden image based
    deployments possible even when clouds haven't deployed Cinder, or the
    hypervisor doesn't support Cinder (e.g. BareMetal / Ironic).

    Partial-Bug: #1174154
    blueprint: baremetal-preserve-ephemeral
    Co-Authored-By: Robert Collins <email address hidden>

    Change-Id: Id33d5d4107f89814842a3f0b7f33690dd7e3aadc

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/54308
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=5f5e87af201dd0c1baa639a750453144893c6051
Submitter: Jenkins
Branch: master

commit 5f5e87af201dd0c1baa639a750453144893c6051
Author: Robert Collins <email address hidden>
Date: Wed Oct 30 00:21:53 2013 +1300

    Show bm deploy how to preserve ephemeral content.

    This changes the baremetal deploy helper to be able to preserve the
    ephemeral partition, if the deploy requests that. The next patch in
    the series makes it possible to store that intent in the deploy and
    connects it to the deploy() method.

    Partial-Bug: #1174154
    blueprint: baremetal-preserve-ephemeral
    Change-Id: I6bf01e52589c5894eb043f2b57e915d52e81ebc3

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/59312
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b0d03ffa0c6a38919d52792ba0d0ec54522f86d9
Submitter: Jenkins
Branch: master

commit b0d03ffa0c6a38919d52792ba0d0ec54522f86d9
Author: Robert Collins <email address hidden>
Date: Mon Dec 2 16:21:31 2013 +1300

    Support preserve_ephemeral in baremetal.

    We need to be able to capture the semantic intent of a rebuild with
    ephemeral preservation for the baremetal helper, which means another
    column in bm.modes.

    Partial-Bug: #1174154
    blueprint: baremetal-preserve-ephemeral
    Co-Authored-By: Roman Podoliaka <email address hidden>
    Change-Id: Icf627f38dac02b7d06ff0f1816741e5513a4fcf3

Revision history for this message
Robert Collins (lifeless) wrote :

We are now able to preserve ephemeral. Yay.

Changed in tripleo:
status: Triaged → Confirmed
status: Confirmed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/68236
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=036212f008feaaf80f22cc84fbc588c3e20fe8a0
Submitter: Jenkins
Branch: master

commit 036212f008feaaf80f22cc84fbc588c3e20fe8a0
Author: Lucas Alvares Gomes <email address hidden>
Date: Tue Jan 21 19:52:21 2014 +0000

    Support preserve_ephemeral

    Teach the PXE driver to preserve the ephemeral partition during deploy
    (if requested).

    The patch also improve the exception message for invalid parameter value
    to include the bad value in it and the reason why it failed.

    Docstrings of the deploy() and work_on_disk() functions were also updated
    in this patch.

    Based on: https://review.openstack.org/#/c/59312
              https://review.openstack.org/#/c/54308

    blueprint: preserve-ephemeral
    Partial-Bug: #1174154
    Change-Id: I45f63cd3648eec6776d0716ac26f5be6862f7cfe

aeva black (tenbrae)
Changed in ironic:
status: In Progress → Fix Committed
milestone: none → icehouse-3
Thierry Carrez (ttx)
Changed in ironic:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in ironic:
milestone: icehouse-3 → 2014.1
Joe Gordon (jogo)
Changed in nova:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

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