Public bug reported: Steps to reproduce ==================
1. Create flavor A that permits ephemeral storage. For example, an optional 200 GB ephemeral root disk. 2. Create flavor B that does not permit ephemeral storage. 3. Ensure that the DiskFilter is configured. 4. Use flavor A both with and without ephemeral storage in quantity, until the sum of the possible ephemeral storage usage exceeds the capacity of the machine. This can eventually be the state of every hypervisor. 5. Try to schedule a virtual machine with flavor B. Expected result =============== The DiskFilter should permit the scheduler to use any hypervisor whether or not it has available local storage, as the flavor does not require or require any ephemeral storage, so over commitment of ephemeral storage should not be a factor. Actual result ============= The DiskFilter will prevent the scheduler from using any hypervisor where the sum of the possible ephemeral storage usage exceeds the capacity of the machine. The virtual machine does not get scheduled, and a vague error is provided to the user. Environment =========== Nova 14.0.2 (Newton) Libvirt + KVM Ephemeral storage is local QCOW2. Analysis ======== The DiskFilter expects the used local storage to be less than the capacity, even if scheduling a virtual machine which does not require local storage. In some cases, the used local storage calculation can exceed the capacity calculation, and this results in a negative "available storage" calculation. The check for available storage should be bypassed if no storage is being requested. ** Affects: nova Importance: Undecided Assignee: MarkMielke (mark-mielke) Status: In Progress ** Patch added: "nova.patch" https://bugs.launchpad.net/bugs/1662432/+attachment/4814529/+files/nova.patch ** Description changed: Steps to reproduce ================== 1. Create flavor A that permits ephemeral storage. For example, an optional 200 GB ephemeral root disk. 2. Create flavor B that does not permit ephemeral storage. 3. Ensure that the DiskFilter is configured. 4. Use flavor A both with and without ephemeral storage in quantity, until the sum of the possible ephemeral storage usage exceeds the capacity of the machine. This can eventually be the state of every hypervisor. 5. Try to schedule a virtual machine with flavor B. Expected result =============== The DiskFilter should permit the scheduler to use any hypervisor whether - or not it has available local storage, as the flavor does not require - ephemeral storage, so over commitment of ephemeral storage should not be - a factor. - + or not it has available local storage, as the flavor does not require or + require any ephemeral storage, so over commitment of ephemeral storage + should not be a factor. Actual result ============= The DiskFilter will prevent the scheduler from using any hypervisor where the sum of the possible ephemeral storage usage exceeds the capacity of the machine. The virtual machine does not get scheduled, and a vague error is provided to the user. Environment =========== Nova 14.0.2 (Newton) Libvirt + KVM Ephemeral storage is local QCOW2. Analysis ======== The DiskFilter expects the used local storage to be less than the capacity, even if scheduling a virtual machine which does not require local storage. In some cases, the used local storage calculation can exceed the capacity calculation, and this results in a negative "available storage" calculation. The check for available storage should be bypassed if no storage is being requested. -- 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/1662432 Title: DiskFilter incorrectly filters hosts that are over committed even when no disk allocation is required Status in OpenStack Compute (nova): In Progress Bug description: Steps to reproduce ================== 1. Create flavor A that permits ephemeral storage. For example, an optional 200 GB ephemeral root disk. 2. Create flavor B that does not permit ephemeral storage. 3. Ensure that the DiskFilter is configured. 4. Use flavor A both with and without ephemeral storage in quantity, until the sum of the possible ephemeral storage usage exceeds the capacity of the machine. This can eventually be the state of every hypervisor. 5. Try to schedule a virtual machine with flavor B. Expected result =============== The DiskFilter should permit the scheduler to use any hypervisor whether or not it has available local storage, as the flavor does not require or require any ephemeral storage, so over commitment of ephemeral storage should not be a factor. Actual result ============= The DiskFilter will prevent the scheduler from using any hypervisor where the sum of the possible ephemeral storage usage exceeds the capacity of the machine. The virtual machine does not get scheduled, and a vague error is provided to the user. Environment =========== Nova 14.0.2 (Newton) Libvirt + KVM Ephemeral storage is local QCOW2. Analysis ======== The DiskFilter expects the used local storage to be less than the capacity, even if scheduling a virtual machine which does not require local storage. In some cases, the used local storage calculation can exceed the capacity calculation, and this results in a negative "available storage" calculation. The check for available storage should be bypassed if no storage is being requested. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1662432/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp