[openstack-dev] [cyborg] [nova] Cyborg quotas
mriedemos at gmail.com
Wed May 16 19:25:33 UTC 2018
On 5/16/2018 12:24 PM, Jay Pipes wrote:
> Quota checks happen before Nova's scheduler gets involved, so having a
> scheduler filter handle quota usage checking is pretty much a non-starter.
For server resources yeah, for things like instances quota, CPU and RAM,
Nova does an up-front quota check for ports when creating servers (from
nova-api) based on the number of servers requested vs whether or not
pre-created ports were provided in the server create request.
Nova does *not* do the same up-front quota check for volumes when
booting from volume and nova creates the volume in the nova-compute
service, which could lead to an OverQuota error from Cinder and then we
abort the build .
So what nova does probably depends on what the API interaction is when
creating a server. As far as I know, nova isn't getting passed explicit
cyborg-controlled resources like neutron ports or cinder volumes, right?
I thought the interaction was that the flavor would have required
resource amounts for cyborg resources which the nova-scheduler will
allocate for the instance, and then some magic happens in nova-compute
to hook those things up (like os-brick/os-vif type stuff).
Is nova going to be creating resources in cyborg like it creates ports
in neutron or volumes in cinder? If not, then I don't see why nova would
have anything to do with quota checks on these types of resources.
Also, you should totally start with modeling your limits in keystone
since that's the direction all projects should be going. I believe the
usages are tracked per-project but the limits are meant to be unified in
keystone for all projects.
More information about the OpenStack-dev