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, etc.

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 [1].

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.

[1] https://bugs.launchpad.net/nova/+bug/1742102

--

Thanks,

Matt

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to