Booting instance cause infinite recursion in the case of enough user quota and unlimited project quota
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Rui Chen | ||
Liberty |
Fix Released
|
Medium
|
Jordan Callicoat |
Bug Description
1. code base
$ git log -1
commit e041f3ee625b273
Merge: c310255 bef481b
Author: Jenkins <email address hidden>
Date: Tue Sep 1 21:53:31 2015 +0000
Merge "Fix three typos on nova/pci directory"
2. nova-api.log file:
2015-09-01 18:03:32.490 DEBUG nova.db.
........
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack min_count, allowed)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack min_count, allowed)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack min_count, allowed)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack min_count, allowed)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack min_count, allowed)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack cores=req_cores, ram=req_ram)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return fn(self, *args, **kwargs)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack **deltas)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack user_id=user_id)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack project_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack project_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack user_id)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return IMPL.quota_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return f(*args, **kwargs)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/opt/stack/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack filter_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return list(self)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return self._execute_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack result = conn.execute(
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return meth(self, multiparams, params)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return connection.
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack inline=
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "<string>", line 1, in <lambda>
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return self._compiler(
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return dialect.
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack Compiled.
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack self.string = self.process(
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return obj._compiler_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return meth(self, **kw)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack t = select.
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return meth(self, **kw)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack for c in clauselist.clauses)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack s for s in
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack for c in clauselist.clauses)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return meth(self, **kw)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack for c in clauselist.clauses)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack s for s in
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack for c in clauselist.clauses)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return meth(self, **kw)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return self._generate_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack binary.
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return meth(self, **kw)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack name = self._truncate_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack bind_name = self._truncated
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack anonname = name.apply_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return self % map_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack self[key] = val = self.creator(key)
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack File "/usr/local/
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack return derived + "_" + str(anonymous_
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack RuntimeError: maximum recursion depth exceeded while getting the str of an object
2015-09-01 18:05:34.260 5619 ERROR nova.api.openstack
2015-09-01 18:05:34.310 INFO nova.api.openstack [req-82c1beaa-
3. Reproduce steps:
#Step 1: set project quota to unlimited
$ nova quota-update --instances -1 $tenant
#Step 2: set user quota to 1 (current usage 0)
$ nova quota-update --user $tenantUser --instances 1 $tenant
#Step 3: boot instance
$ nova boot --image cirros-
ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-82c1beaa-
Expected result:
* booting instance success
Actual result:
* booting instance failed
Changed in nova: | |
assignee: | nobody → Rui Chen (kiwik-chenrui) |
description: | updated |
Changed in nova: | |
status: | Fix Committed → Fix Released |
tags: | added: liberty-backport-potential |
Changed in nova: | |
importance: | Undecided → Medium |
Fix proposed to branch: master /review. openstack. org/219596
Review: https:/