def generate_certificates_to_cluster(cluster, context=None): """Generate ca_cert and magnum client cert and set to cluster :param cluster: The cluster to set CA cert and magnum client cert :returns: CA cert uuid and magnum client cert uuid """ try: issuer_name = _get_issuer_name(cluster) LOG.debug('Start to generate certificates: %s', issuer_name) ca_cert_ref, ca_cert, ca_password = _generate_ca_cert(issuer_name, context=context) etcd_ca_cert_ref, _, _ = _generate_ca_cert(issuer_name, context=context) fp_ca_cert_ref, _, _ = _generate_ca_cert(issuer_name, context=context) magnum_cert_ref = _generate_client_cert(issuer_name, ca_cert, ca_password, context=context) cluster.ca_cert_ref = ca_cert_ref cluster.magnum_cert_ref = magnum_cert_ref cluster.etcd_ca_cert_ref = etcd_ca_cert_ref cluster.front_proxy_ca_cert_ref = fp_ca_cert_ref except Exception: LOG.exception('Failed to generate certificates for Cluster: %s', cluster.uuid) raise exception.CertificatesToClusterFailed(cluster_uuid=cluster.uuid)
def test_create_with_cert_failed(self, mock_openstack_client_class, mock_cert_manager, mock_trust_manager): e = exception.CertificatesToClusterFailed(cluster_uuid='uuid') mock_cert_manager.generate_certificates_to_cluster.side_effect = e self._test_create_failed(mock_openstack_client_class, mock_cert_manager, mock_trust_manager, exception.CertificatesToClusterFailed) notifications = fake_notifier.NOTIFICATIONS self.assertEqual(1, len(notifications)) self.assertEqual('magnum.bay.create', notifications[0].event_type) self.assertEqual(taxonomy.OUTCOME_FAILURE, notifications[0].payload['outcome'])