← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1959186] [NEW] [rbd] VM created from snapshot becomes a child of that RBD image

 

Public bug reported:

When I create an instance from a snapshot, the underlying RBD image of the new instance is actually a child of the snapshot in RBD.
Then I can't delete that snapshot because in Ceph it has children and is protected, thus Glance will throw this error: "Image <ID> could not be deleted because it is in use: The image cannot be deleted because it is in use through the backend store outside of Glance."

Steps to reproduce:
1. Create a server
    $ openstack server create server-1

2. Create a snapshot from that server
    $ openstack server image create $SERVER_1_ID

3. Create a new server from the snapshot
    $ openstack server create --image $SNAPSHOT_ID server-2

4. Try to delete the snapshot, it will throw the above error from Glance (it is in use through the backend store outside of Glance.)
    $ openstack image delete $SNAPSHOT_ID

5. Check the snapshot image in RBD, it will have the new instance's disk as children.
    $ rbd children images/$SNAPSHOT_ID
    > vms/<server-2>_disk

This doesn't happen when creating instances from images uploaded through
glance, but only when using images created with `openstack server image
create`

Environment
- Openstack Xena (Nova 17.6.0)
- Libvirt with KVM virt_type
- RBD for ephemeral storage
- Ceph pacific

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: ceph snapshot

** Description changed:

  When I create an instance from a snapshot, the underlying RBD image of the new instance is actually a child of the snapshot in RBD.
  Then I can't delete that snapshot because in Ceph it has children and is protected, thus Glance will throw this error: "Image <ID> could not be deleted because it is in use: The image cannot be deleted because it is in use through the backend store outside of Glance."
  
  Steps to reproduce:
  1. Create a server
-     $ openstack server create server-1
+     $ openstack server create server-1
  
  2. Create a snapshot from that server
-     $ openstack server image create $SERVER_1_ID
+     $ openstack server image create $SERVER_1_ID
  
  3. Create a new server from the snapshot
-     $ openstack server create --image $SNAPSHOT_ID server-2
+     $ openstack server create --image $SNAPSHOT_ID server-2
  
  4. Try to delete the snapshot, it will throw the above error from Glance (it is in use through the backend store outside of Glance.)
-     $ openstack image delete $SNAPSHOT_ID
+     $ openstack image delete $SNAPSHOT_ID
  
  5. Check the snapshopt image in RBD, it will have the new instance's disk as children.
-     $ rbd children images/$SNAPSHOT_ID
-     > vms/<server-2>_disk
+     $ rbd children images/$SNAPSHOT_ID
+     > vms/<server-2>_disk
  
  This doesn't happen when creating instances from images uploaded through
  glance, but only when using images created with `openstack server image
  create`
  
  Environment
- - Openstack Xena
+ - Openstack Xena (Nova 17.6.0)
  - Libvirt with KVM virt_type
  - RBD for ephemeral storage
  - Ceph pacific

** Description changed:

  When I create an instance from a snapshot, the underlying RBD image of the new instance is actually a child of the snapshot in RBD.
  Then I can't delete that snapshot because in Ceph it has children and is protected, thus Glance will throw this error: "Image <ID> could not be deleted because it is in use: The image cannot be deleted because it is in use through the backend store outside of Glance."
  
  Steps to reproduce:
  1. Create a server
      $ openstack server create server-1
  
  2. Create a snapshot from that server
      $ openstack server image create $SERVER_1_ID
  
  3. Create a new server from the snapshot
      $ openstack server create --image $SNAPSHOT_ID server-2
  
  4. Try to delete the snapshot, it will throw the above error from Glance (it is in use through the backend store outside of Glance.)
      $ openstack image delete $SNAPSHOT_ID
  
- 5. Check the snapshopt image in RBD, it will have the new instance's disk as children.
+ 5. Check the snapshot image in RBD, it will have the new instance's disk as children.
      $ rbd children images/$SNAPSHOT_ID
      > vms/<server-2>_disk
  
  This doesn't happen when creating instances from images uploaded through
  glance, but only when using images created with `openstack server image
  create`
  
  Environment
  - Openstack Xena (Nova 17.6.0)
  - Libvirt with KVM virt_type
  - RBD for ephemeral storage
  - Ceph pacific

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1959186

Title:
  [rbd] VM created from snapshot becomes a child of that RBD image

Status in OpenStack Compute (nova):
  New

Bug description:
  When I create an instance from a snapshot, the underlying RBD image of the new instance is actually a child of the snapshot in RBD.
  Then I can't delete that snapshot because in Ceph it has children and is protected, thus Glance will throw this error: "Image <ID> could not be deleted because it is in use: The image cannot be deleted because it is in use through the backend store outside of Glance."

  Steps to reproduce:
  1. Create a server
      $ openstack server create server-1

  2. Create a snapshot from that server
      $ openstack server image create $SERVER_1_ID

  3. Create a new server from the snapshot
      $ openstack server create --image $SNAPSHOT_ID server-2

  4. Try to delete the snapshot, it will throw the above error from Glance (it is in use through the backend store outside of Glance.)
      $ openstack image delete $SNAPSHOT_ID

  5. Check the snapshot image in RBD, it will have the new instance's disk as children.
      $ rbd children images/$SNAPSHOT_ID
      > vms/<server-2>_disk

  This doesn't happen when creating instances from images uploaded
  through glance, but only when using images created with `openstack
  server image create`

  Environment
  - Openstack Xena (Nova 17.6.0)
  - Libvirt with KVM virt_type
  - RBD for ephemeral storage
  - Ceph pacific

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1959186/+subscriptions



Follow ups