reclaim_instance_interval causes dirty attached volume

Bug #1733736 reported by Li Xipeng
70
This bug affects 21 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Li Xipeng

Bug Description

Description

When set reclaim_instance_interval > 0, and we delete an instance which boot from volume with delete_on_termination set as true.
After reclaim_instance_interval time pass, all volumes boot instance will with state: attached and in-use, but attached instances was deleted.

Steps to reproduce

1. set reclaim_instance_interval = 60
2. create a bootable volume
3. boot instance with created bootable volume
4. delete instance, and wait 60 seconds

Expected result

Previous test bootable volume was deleted after reclaim_instance_interval seconds.

Actual result

Previous test bootable volume was in state attached and in-use, attached with deleted instance.

Li Xipeng (lixipeng)
description: updated
Changed in nova:
assignee: nobody → Li Xipeng (lixipeng)
Li Xipeng (lixipeng)
Changed in nova:
status: New → In Progress
Li Xipeng (lixipeng)
summary: - reclaim_instance_interval
+ reclaim_instance_interval case dirty attached volume
Matt Riedemann (mriedem)
tags: added: volumes
Changed in nova:
importance: Undecided → High
summary: - reclaim_instance_interval case dirty attached volume
+ reclaim_instance_interval cause dirty attached volume
Changed in nova:
assignee: Li Xipeng (lixipeng) → Matt Riedemann (mriedem)
Jay Pipes (jaypipes)
summary: - reclaim_instance_interval cause dirty attached volume
+ reclaim_instance_interval causes dirty attached volume
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/522112
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=ca6daf148debb9c9646fcf6db9660c830da5a594
Submitter: Zuul
Branch: master

commit ca6daf148debb9c9646fcf6db9660c830da5a594
Author: lixipeng <email address hidden>
Date: Wed Nov 22 12:03:58 2017 +0800

    Fix bug case by none token context

    When set reclaim_instance_interval > 0, and then delete an
    instance which booted from volume with `delete_on_termination`
    set as true. After reclaim_instance_interval time pass,
    all volumes boot instance will with state: attached and in-use,
    but attached instances was deleted.

    This bug case as admin context from
    `nova.compute.manager._reclaim_queued_deletes` did not have
    any token info, then call cinder api would be failed.

    So add user/project CONF with admin role at cinder group,
    and when determine context is_admin and without token, do
    authenticaion with user/project info to call cinder api.

    Change-Id: I3c35bba43fee81baebe8261f546c1424ce3a3383
    Closes-Bug: #1733736
    Closes-Bug: #1734025
    Partial-Bug: #1736773

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

This issue was fixed in the openstack/nova 17.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/603044

Matt Riedemann (mriedem)
Changed in nova:
assignee: Matt Riedemann (mriedem) → Li Xipeng (lixipeng)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/pike)

Reviewed: https://review.openstack.org/603044
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=4d7148709c5de098141fbee12ad2e78c61e3b174
Submitter: Zuul
Branch: stable/pike

commit 4d7148709c5de098141fbee12ad2e78c61e3b174
Author: lixipeng <email address hidden>
Date: Wed Nov 22 12:03:58 2017 +0800

    Fix bug case by none token context

    When set reclaim_instance_interval > 0, and then delete an
    instance which booted from volume with `delete_on_termination`
    set as true. After reclaim_instance_interval time pass,
    all volumes boot instance will with state: attached and in-use,
    but attached instances was deleted.

    This bug case as admin context from
    `nova.compute.manager._reclaim_queued_deletes` did not have
    any token info, then call cinder api would be failed.

    So add user/project CONF with admin role at cinder group,
    and when determine context is_admin and without token, do
    authenticaion with user/project info to call cinder api.

    Conflicts:
        nova/volume/cinder.py
        nova/tests/unit/test_cinder.py

    NOTE(huanhongda): The conflict is due to not having change
    Ifc01dbf98545104c998ab96f65ff8623a6db0f28 in Pike.

    Change-Id: I3c35bba43fee81baebe8261f546c1424ce3a3383
    Closes-Bug: #1733736
    Closes-Bug: #1734025
    Partial-Bug: #1736773
    (cherry picked from commit ca6daf148debb9c9646fcf6db9660c830da5a594)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 16.1.8

This issue was fixed in the openstack/nova 16.1.8 release.

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.