← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2054797] [NEW] Unshelve can cause quota over-consumption

 

Public bug reported:

Description
===========
Unshelving a VM can cause an over consumption of a project's quota. I'm not sure if this is a bug or if it's actually intended behaviour, but in my opinion this should not be possible since this will allow users to potentially use a lot more resources than their intended quota.

Steps to reproduce
==================
* Create a project with a quota of i.e. 4 CPUs and 4GB of RAM
* Create server1 with 2 CPUs and 2GB RAM, and shelve it after it successfully spawns
* When server1 in shelved, create server2 with 4 CPUs and 4GB of RAM (effectively using up the entire CPU and RAM quota of the project)
* Unshelve server1

Expected result
===============
I would then expect that unshelving server1 would fail, since the quota was used up by server2

Actual result
=============
Unshelving server1 is completed, and I have now used 6 of 4 CPUs and 6 of 4GB RAM on my project's quota. FWIW this also works if at the time of unshelving the quota is already used up.

Environment
===========
Openstack Yoga
nova-api 3:25.1.1-0ubuntu1~cloud0
nova-scheduler 3:25.1.1-0ubuntu1~cloud0

Running KVM/libvirt on Ubuntu 20.04 and Ceph 17.x

** 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/2054797

Title:
  Unshelve can cause quota over-consumption

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========
  Unshelving a VM can cause an over consumption of a project's quota. I'm not sure if this is a bug or if it's actually intended behaviour, but in my opinion this should not be possible since this will allow users to potentially use a lot more resources than their intended quota.

  Steps to reproduce
  ==================
  * Create a project with a quota of i.e. 4 CPUs and 4GB of RAM
  * Create server1 with 2 CPUs and 2GB RAM, and shelve it after it successfully spawns
  * When server1 in shelved, create server2 with 4 CPUs and 4GB of RAM (effectively using up the entire CPU and RAM quota of the project)
  * Unshelve server1

  Expected result
  ===============
  I would then expect that unshelving server1 would fail, since the quota was used up by server2

  Actual result
  =============
  Unshelving server1 is completed, and I have now used 6 of 4 CPUs and 6 of 4GB RAM on my project's quota. FWIW this also works if at the time of unshelving the quota is already used up.

  Environment
  ===========
  Openstack Yoga
  nova-api 3:25.1.1-0ubuntu1~cloud0
  nova-scheduler 3:25.1.1-0ubuntu1~cloud0

  Running KVM/libvirt on Ubuntu 20.04 and Ceph 17.x

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



Follow ups