Comment 3 for bug 1567655

Revision history for this message
Matt Riedemann (mriedem) wrote :

Per comment 2, this is newton, as mentioned in the description. Newton devstack created on 2016-04-07, so trunk master code as of that day.

The expected behavior is that we don't get a 500. Listing instances should more or less be a database operation, the issue is in the case of using neutron as the network service, we call out to neutron to get security group details per instance. Since neutron-server is down, that API call fails, Nova doesn't handle it and we return a 500 response.

Dan Smith (dansmith in #openstack-nova on freenode IRC) suggested caching the security groups for neutron, in a new column in the instance_info_caches table in the nova database. That is going to be a more complicated change though (requires a database migration, an rpc version change to the InstanceInfoCache object, etc).

As a partial fix we can backport, we should gracefully handle the connection error when trying to talk to neutron API and return a more appropriate response code (503 maybe?).