diff options
-rw-r--r-- | heat/engine/resources/nova_utils.py | 6 | ||||
-rw-r--r-- | heat/tests/test_nova_utils.py | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/heat/engine/resources/nova_utils.py b/heat/engine/resources/nova_utils.py index 0e9a135f3..91679532a 100644 --- a/heat/engine/resources/nova_utils.py +++ b/heat/engine/resources/nova_utils.py @@ -54,6 +54,12 @@ def refresh_server(server): ''' try: server.get() + except clients.novaclient.exceptions.OverLimit as exc: + msg = _("Server %(name)s (%(id)s) received an OverLimit " + "response during server.get(): %(exception)s") + logger.warning(msg % {'name': server.name, + 'id': server.id, + 'exception': str(exc)}) except clients.novaclient.exceptions.ClientException as exc: if exc.code == 500: msg = _('Server "%(name)s" (%(id)s) received the following ' diff --git a/heat/tests/test_nova_utils.py b/heat/tests/test_nova_utils.py index 89d744b56..8b7d436e2 100644 --- a/heat/tests/test_nova_utils.py +++ b/heat/tests/test_nova_utils.py @@ -14,6 +14,7 @@ # under the License. """Tests for :module:'heat.engine.resources.nova_utls'.""" +import mock import uuid from heat.common import exception @@ -118,6 +119,12 @@ class NovaUtilsRefreshServerTests(HeatTestCase): self.assertIsNone(nova_utils.refresh_server(server)) self.m.VerifyAll() + def test_overlimit_error(self): + server = mock.Mock() + server.get.side_effect = clients.novaclient.exceptions.OverLimit( + 413, "limit reached") + self.assertIsNone(nova_utils.refresh_server(server)) + def test_500_error(self): server = self.m.CreateMockAnything() msg = ("ClientException: The server has either erred or is " |