Cannot run "openstack server list" with instance stuck in scheduling state
Bug #1775934 reported by
Jim Rollenhagen
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
Matt Riedemann | ||
Pike |
New
|
Undecided
|
Unassigned | ||
Queens |
In Progress
|
Undecided
|
melanie witt | ||
Rocky |
In Progress
|
Undecided
|
melanie witt | ||
Stein |
Fix Released
|
Undecided
|
melanie witt | ||
Train |
Fix Released
|
Undecided
|
melanie witt |
Bug Description
Seeing this in Ocata at 125dd1f30fdaf50
Running `openstack server list --project 9c28d07207a54c7
RESP BODY: {"computeFault": {"message": "Unexpected API Error. Please report this at http://
Traceback in nova-api: http://
some data on the instance: http://
Looks like lazy-loading the flavor is failing because it's looking in the wrong database.
Same instance data plus instance_extra for the instance from penick: http:// paste.openstack .org/show/ u61jzSxy3y3k9ri 496Ms/
^ Shows that the embedded flavor is present (I was concerned the instance was old and had not had its flavor migrated).
The lazy-load of flavor at the REST API level (in nova/api/ openstack/ compute/ servers. py) failing makes sense in that at the REST API level in Ocata, we are not targeted to any cell and thus lazy-loads like this would fail. HOWEVER, we should be pre-loading attributes like 'flavor' (a join with the instance_extra table) when we get_all instances in the compute/api before this instance. get_flavor( ) call, so the flavor should be cached already and not looked for in the database.
But a lazy-load is definitely happening in the traceback. I don't yet find how this is happening. Continuing to investigate.