Merge "Fix InternalException raised on stack-show"

This commit is contained in:
Jenkins 2014-03-18 04:50:50 +00:00 committed by Gerrit Code Review
commit 6b07ba9ebd
2 changed files with 22 additions and 1 deletions

View File

@ -606,7 +606,12 @@ class Server(stack_user.StackUser):
if name == 'first_address':
return nova_utils.server_to_ipaddress(
self.nova(), self.resource_id) or ''
server = self.nova().servers.get(self.resource_id)
try:
server = self.nova().servers.get(self.resource_id)
except clients.novaclient.exceptions.NotFound as ex:
logger.warn(_('Instance (%(server)s) not found: %(ex)s') % {
'server': self.resource_id, 'ex': str(ex)})
return ''
if name == 'addresses':
return server.addresses
if name == 'networks':

View File

@ -1845,6 +1845,22 @@ class ServersTest(HeatTestCase):
"file size (10240 bytes).", str(exc))
self.m.VerifyAll()
def test_resolve_attribute_server_not_found(self):
return_server = self.fc.servers.list()[1]
server = self._create_test_server(return_server,
'srv_resolve_attr')
server.resource_id = 1234
self.m.StubOutWithMock(self.fc.client, 'get_servers_1234')
get = self.fc.client.get_servers_1234
get().AndRaise(servers.clients.novaclient.exceptions.NotFound(404))
mox.Replay(get)
self.m.ReplayAll()
self.assertEqual(server._resolve_attribute("accessIPv4"), '')
self.m.VerifyAll()
class FlavorConstraintTest(HeatTestCase):