Merge "Add exceptions to cluster db to show failures"

This commit is contained in:
Jenkins authored and Gerrit Code Review committed 2016-09-15 12:06:22 +00:00
commit c4cf7d7bcc
2 files changed
+21 -11

No files matched your search

@@ -164,9 +164,9 @@ class Handler(object):
created_stack = _create_stack(context, osc, cluster,
create_timeout)
except Exception as e:
cert_manager.delete_certificates_from_cluster(cluster,
context=context)
trust_manager.delete_trustee_and_trust(osc, context, cluster)
cluster.status = fields.ClusterStatus.CREATE_FAILED
cluster.status_reason = six.text_type(e)
cluster.create()
conductor_utils.notify_about_cluster_operation(
context, taxonomy.ACTION_CREATE, taxonomy.OUTCOME_FAILURE)
@@ -232,6 +232,7 @@ class TestHandler(db_base.DbTestCase):
mock_openstack_client_class,
mock_cert_manager,
mock_trust_manager,
mock_cluster_create,
expected_exception,
is_create_cert_called=True,
is_create_trust_called=True):
@@ -256,11 +257,9 @@ class TestHandler(db_base.DbTestCase):
ctat.assert_called_once_with(osc, self.cluster)
else:
ctat.assert_not_called()
mock_cluster_create.assert_called_once_with()
mock_cert_manager.delete_certificates_from_cluster(self.cluster)
mock_trust_manager.delete_trustee_and_trust.assert_called_once_with(
osc, self.context, self.cluster)
@patch('magnum.objects.Cluster.create')
@patch('magnum.conductor.handlers.cluster_conductor.trust_manager')
@patch('magnum.conductor.handlers.cluster_conductor.cert_manager')
@patch('magnum.conductor.handlers.cluster_conductor._create_stack')
@@ -268,13 +267,15 @@ class TestHandler(db_base.DbTestCase):
def test_create_handles_bad_request(self, mock_openstack_client_class,
mock_create_stack,
mock_cert_manager,
mock_trust_manager):
mock_trust_manager,
mock_cluster_create):
mock_create_stack.side_effect = exc.HTTPBadRequest
self._test_create_failed(
mock_openstack_client_class,
mock_cert_manager,
mock_trust_manager,
mock_cluster_create,
exception.InvalidParameterValue
)
@@ -289,12 +290,14 @@ class TestHandler(db_base.DbTestCase):
self.assertEqual(
taxonomy.OUTCOME_FAILURE, notifications[1].payload['outcome'])
@patch('magnum.objects.Cluster.create')
@patch('magnum.conductor.handlers.cluster_conductor.trust_manager')
@patch('magnum.conductor.handlers.cluster_conductor.cert_manager')
@patch('magnum.common.clients.OpenStackClients')
def test_create_with_cert_failed(self, mock_openstack_client_class,
mock_cert_manager,
mock_trust_manager):
mock_trust_manager,
mock_cluster_create):
e = exception.CertificatesToClusterFailed(cluster_uuid='uuid')
mock_cert_manager.generate_certificates_to_cluster.side_effect = e
@@ -302,6 +305,7 @@ class TestHandler(db_base.DbTestCase):
mock_openstack_client_class,
mock_cert_manager,
mock_trust_manager,
mock_cluster_create,
exception.CertificatesToClusterFailed
)
@@ -312,6 +316,7 @@ class TestHandler(db_base.DbTestCase):
self.assertEqual(
taxonomy.OUTCOME_FAILURE, notifications[0].payload['outcome'])
@patch('magnum.objects.Cluster.create')
@patch('magnum.conductor.handlers.cluster_conductor.trust_manager')
@patch('magnum.conductor.handlers.cluster_conductor.cert_manager')
@patch('magnum.conductor.handlers.cluster_conductor._create_stack')
@@ -319,7 +324,8 @@ class TestHandler(db_base.DbTestCase):
def test_create_with_trust_failed(self, mock_openstack_client_class,
mock_create_stack,
mock_cert_manager,
mock_trust_manager):
mock_trust_manager,
mock_cluster_create):
e = exception.TrusteeOrTrustToClusterFailed(cluster_uuid='uuid')
mock_trust_manager.create_trustee_and_trust.side_effect = e
@@ -327,6 +333,7 @@ class TestHandler(db_base.DbTestCase):
mock_openstack_client_class,
mock_cert_manager,
mock_trust_manager,
mock_cluster_create,
exception.TrusteeOrTrustToClusterFailed,
False
)
@@ -338,6 +345,7 @@ class TestHandler(db_base.DbTestCase):
self.assertEqual(
taxonomy.OUTCOME_FAILURE, notifications[0].payload['outcome'])
@patch('magnum.objects.Cluster.create')
@patch('magnum.conductor.handlers.cluster_conductor.trust_manager')
@patch('magnum.conductor.handlers.cluster_conductor.cert_manager')
@patch('magnum.conductor.handlers.cluster_conductor._create_stack')
@@ -346,7 +354,8 @@ class TestHandler(db_base.DbTestCase):
mock_openstack_client_class,
mock_create_stack,
mock_cert_manager,
mock_trust_manager):
mock_trust_manager,
mock_cluster_create):
error_message = six.u("""Invalid stack name 测试集群-zoyh253geukk
must contain only alphanumeric or "_-."
characters, must start with alpha""")
@@ -356,6 +365,7 @@ class TestHandler(db_base.DbTestCase):
mock_openstack_client_class,
mock_cert_manager,
mock_trust_manager,
mock_cluster_create,
exception.InvalidParameterValue
)