def setUp(self):
     self.cinder_client_exception = cinder_exceptions.ClientException(404)
     self.glance_client_exception = glance_exceptions.ClientException()
     self.keystone_client_exception = keystone_exceptions.ClientException()
     self.neutron_client_exception = neutron_exceptions.NeutronClientException(
     )
     self.nova_client_exception = nova_exceptions.ClientException(404)
Exemple #2
0
    def test_client_exception_from_glance_client(self):
        t = template_format.parse(test_template_glance_client_exception)
        template = parser.Template(t)
        stack = parser.Stack(self.ctx, 'test_stack', template)

        self.m.StubOutWithMock(self.gc.images, 'list')
        self.gc.images.list().AndRaise(glance_exceptions.ClientException(500))
        self.m.StubOutWithMock(glance.GlanceClientPlugin, '_create')
        glance.GlanceClientPlugin._create().AndReturn(self.gc)
        self.m.ReplayAll()

        self.assertRaises(exception.StackValidationFailed, stack.validate)
        self.m.VerifyAll()
Exemple #3
0
    def test_client_exception_from_glance_client(self):
        t = template_format.parse(test_template_glance_client_exception)
        template = parser.Template(t)
        stack = parser.Stack(self.ctx, 'test_stack', template)

        self.m.StubOutWithMock(self.gc.images, 'list')
        self.gc.images.list().AndRaise(g_exc.ClientException(500))
        self.m.StubOutWithMock(clients.OpenStackClients, 'glance')
        clients.OpenStackClients.glance().MultipleTimes().AndReturn(self.gc)
        self.m.ReplayAll()

        self.assertRaises(exception.StackValidationFailed, stack.validate)
        self.m.VerifyAll()
Exemple #4
0
    def test_get_image_id_glance_exception(self):
        """Test get_image_id when glance raises an exception."""
        # Simulate HTTP exception
        img_name = str(uuid.uuid4())
        self.glance_client.images.list.side_effect = [
            glance_exceptions.ClientException("Error")]

        expected_error = "Error retrieving image list from glance: Error"
        e = self.assertRaises(exception.Error,
                              self.glance_plugin.get_image_id_by_name,
                              img_name)
        self.assertEqual(expected_error, six.text_type(e))
        self.glance_client.images.list.assert_called_once_with(
            filters={'name': img_name})
Exemple #5
0
    def test_get_image_id_glance_exception(self):
        """Test get_image_id when glance raises an exception."""
        # Simulate HTTP exception
        self.glance_client.images = self.m.CreateMockAnything()
        img_name = str(uuid.uuid4())
        filters = {'name': img_name}
        self.glance_client.images.list(filters=filters).AndRaise(
            glance_exceptions.ClientException("Error"))
        self.m.ReplayAll()

        expected_error = "Error retrieving image list from glance: Error"
        e = self.assertRaises(exception.Error,
                              self.glance_plugin.get_image_id_by_name,
                              img_name)
        self.assertEqual(expected_error, six.text_type(e))
        self.m.VerifyAll()
 def wait_image_state(self, image_id, state):
     attempts = 0
     img = self.get_glance().images.get(image_id)
     state = state.lower()
     while (attempts < int(self.params['poll_max'])
            and img.status.lower() != state
            and img.status.lower() != 'error'):
         self.logger.debug("Image '%s' has status '%s', waiting %ds",
                           image_id, img.status,
                           int(self.params['poll_secs']))
         attempts += 1
         time.sleep(int(self.params['poll_secs']))
         img = self.get_glance().images.get(image_id)
     if img.status.lower() != state:
         raise glance_exceptions.ClientException(
             "Image '%s' unexpectedly has status '%s'" %
             (image_id, img.status))
     self.logger.info("Image '%s' has status '%s'", image_id, state)