← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2122466] [NEW] Live migration ignores image traits for volume-backed instances

 

Public bug reported:

When creating a volume-backed instance from an image (e.g. --boot-from-
volume), Nova correctly considers the image metadata (including traits
such as trait:CUSTOM_LICENSE_WINDOWS_SERVER=required) during scheduling.

However, when performing a live migration of such an instance, the image
traits are not enforced. As a result, the instance can migrate to a host
that does not satisfy the original image requirements (e.g. licensing
traits for Windows).

This leads to a violation of licensing requirements and inconsistent
behavior between initial scheduling and live migration.


Steps to reproduce:

1. Create a flavor without traits.

2. Upload a Windows image with property
trait:CUSTOM_LICENSE_WINDOWS_SERVER=required.

3. Boot a server from volume using that image.

4. Verify that the instance is scheduled only to hosts with the required
trait.

5. Attempt a live migration to a host without the
CUSTOM_LICENSE_WINDOWS_SERVER trait.

6. Observe that migration succeeds, even though the destination host
does not have the required trait.

Expected result:
Live migration should respect the same scheduling constraints as initial boot. Specifically, traits derived from the image metadata (and stored in the root volume’s volume_image_metadata) should be enforced.

Actual result:
Live migration ignores the image traits for volume-backed instances because instance.image_ref is None, so no image metadata is passed to the scheduler/Placement.

** Affects: nova
     Importance: Undecided
         Status: New

-- 
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/2122466

Title:
  Live migration ignores image traits for volume-backed instances

Status in OpenStack Compute (nova):
  New

Bug description:
  When creating a volume-backed instance from an image (e.g. --boot-
  from-volume), Nova correctly considers the image metadata (including
  traits such as trait:CUSTOM_LICENSE_WINDOWS_SERVER=required) during
  scheduling.

  However, when performing a live migration of such an instance, the
  image traits are not enforced. As a result, the instance can migrate
  to a host that does not satisfy the original image requirements (e.g.
  licensing traits for Windows).

  This leads to a violation of licensing requirements and inconsistent
  behavior between initial scheduling and live migration.

  
  Steps to reproduce:

  1. Create a flavor without traits.

  2. Upload a Windows image with property
  trait:CUSTOM_LICENSE_WINDOWS_SERVER=required.

  3. Boot a server from volume using that image.

  4. Verify that the instance is scheduled only to hosts with the
  required trait.

  5. Attempt a live migration to a host without the
  CUSTOM_LICENSE_WINDOWS_SERVER trait.

  6. Observe that migration succeeds, even though the destination host
  does not have the required trait.

  Expected result:
  Live migration should respect the same scheduling constraints as initial boot. Specifically, traits derived from the image metadata (and stored in the root volume’s volume_image_metadata) should be enforced.

  Actual result:
  Live migration ignores the image traits for volume-backed instances because instance.image_ref is None, so no image metadata is passed to the scheduler/Placement.

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