yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #30945
[Bug 1438738] Re: Nova boot fails with Error Code 500, if quota_port is < -1 in neutron.conf
I do not believe this is an issue that should be fixed in Nova. -1 has a
well understood 'unlimitted' value in openstack, and neutron definitely
shouldn't ever return a -2 over the network. Any data scrubbing here
should be on the neutron side.
** Also affects: neutron
Importance: Undecided
Status: New
** Changed in: nova
Status: In Progress => Won't Fix
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1438738
Title:
Nova boot fails with Error Code 500, if quota_port is < -1 in
neutron.conf
Status in OpenStack Neutron (virtual network service):
New
Status in OpenStack Compute (Nova):
Won't Fix
Bug description:
I am running a scale environment where I needed to exceed the port
quota count to unlimited.
The neutron.conf documentation for the quota_port parameter states the
following:
# Number of ports allowed per tenant. A negative value means
unlimited.
Looking at this, I had set the value to -2 as:
quota_port = -2
After this, the nova boot started failing with Error code 500.
The error stack is the following:
TRACE nova.api.openstack File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/servers.py", line 1016, in create
TRACE nova.api.openstack server = self._view_builder.create(req, instances[0])
TRACE nova.api.openstack IndexError: list index out of range
TRACE nova.api.openstack
The error is seen because in the /nova/network/neutronv2/api.py -
validate_networks() method, the quota check is very strict in terms
for the unlimited check:
if quotas.get('port', -1) == -1:
# Unlimited Port Quota
return num_instances
else:
free_ports = quotas.get('port') - len(ports)
ports_needed = ports_needed_per_instance * num_instances
if free_ports >= ports_needed:
return num_instances
else:
return free_ports // ports_needed_per_instance
The above code would return free_ports - and that value is negative.
Filing this bug to change the above check to something like:
if quotas.get('port', -1) <= -1:
# Unlimited Port Quota
return num_instances
This will allow nova to react correctly with the documentation in
neutron as well.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1438738/+subscriptions
References