yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #61279
[Bug 1662432] [NEW] DiskFilter incorrectly filters hosts that are over committed even when no disk allocation is required
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
Follow ups