|
|
|
@ -135,16 +135,24 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
self._test_extract_template_definition(
|
|
|
|
|
mock_generate_csr_and_key, mock_sign_node_certificate,
|
|
|
|
|
mock_driver, mock_objects_cluster_template_get_by_uuid, mock_get)
|
|
|
|
|
|
|
|
|
|
def _test_extract_template_definition(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get,
|
|
|
|
@ -155,6 +163,9 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
self.cluster_dict[missing_attr] = None
|
|
|
|
|
cluster_template = objects.ClusterTemplate(
|
|
|
|
|
self.context, **self.cluster_template_dict)
|
|
|
|
|
mock_generate_csr_and_key.return_value = {'csr': 'csr',
|
|
|
|
|
'key': 'private_key'}
|
|
|
|
|
mock_sign_node_certificate.return_value = 'signed_cert'
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid.return_value = \
|
|
|
|
|
cluster_template
|
|
|
|
|
expected_result = str('{"action":"get","node":{"key":"test","value":'
|
|
|
|
@ -272,6 +283,8 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
'kubescheduler_options': '--kubescheduler',
|
|
|
|
|
'kubeproxy_options': '--kubeproxy',
|
|
|
|
|
'octavia_enabled': False,
|
|
|
|
|
'kube_service_account_key': 'signed_cert',
|
|
|
|
|
'kube_service_account_private_key': 'private_key',
|
|
|
|
|
}
|
|
|
|
|
if missing_attr is not None:
|
|
|
|
|
expected.pop(mapping[missing_attr], None)
|
|
|
|
@ -289,14 +302,22 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_with_registry(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
self.cluster_template_dict['registry_enabled'] = True
|
|
|
|
|
cluster_template = objects.ClusterTemplate(
|
|
|
|
|
self.context, **self.cluster_template_dict)
|
|
|
|
|
mock_generate_csr_and_key.return_value = {'csr': 'csr',
|
|
|
|
|
'key': 'private_key'}
|
|
|
|
|
mock_sign_node_certificate.return_value = 'signed_cert'
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid.return_value = \
|
|
|
|
|
cluster_template
|
|
|
|
|
expected_result = str('{"action":"get","node":{"key":"test","value":'
|
|
|
|
@ -380,6 +401,8 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
'kubescheduler_options': '--kubescheduler',
|
|
|
|
|
'kubeproxy_options': '--kubeproxy',
|
|
|
|
|
'octavia_enabled': False,
|
|
|
|
|
'kube_service_account_key': 'signed_cert',
|
|
|
|
|
'kube_service_account_private_key': 'private_key',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.assertEqual(expected, definition)
|
|
|
|
@ -395,8 +418,13 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_only_required(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
@ -412,6 +440,9 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
|
|
|
|
|
cluster_template = objects.ClusterTemplate(
|
|
|
|
|
self.context, **self.cluster_template_dict)
|
|
|
|
|
mock_generate_csr_and_key.return_value = {'csr': 'csr',
|
|
|
|
|
'key': 'private_key'}
|
|
|
|
|
mock_sign_node_certificate.return_value = 'signed_cert'
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid.return_value = \
|
|
|
|
|
cluster_template
|
|
|
|
|
expected_result = str('{"action":"get","node":{"key":"test","value":'
|
|
|
|
@ -475,6 +506,8 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
'kubescheduler_options': '--kubescheduler',
|
|
|
|
|
'kubeproxy_options': '--kubeproxy',
|
|
|
|
|
'octavia_enabled': False,
|
|
|
|
|
'kube_service_account_key': 'signed_cert',
|
|
|
|
|
'kube_service_account_private_key': 'private_key',
|
|
|
|
|
}
|
|
|
|
|
self.assertEqual(expected, definition)
|
|
|
|
|
self.assertEqual(
|
|
|
|
@ -659,13 +692,20 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_without_dns(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
mock_driver.return_value = k8s_dr.Driver()
|
|
|
|
|
self._test_extract_template_definition(
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get,
|
|
|
|
@ -674,13 +714,20 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_without_server_image(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
mock_driver.return_value = k8s_dr.Driver()
|
|
|
|
|
self._test_extract_template_definition(
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get,
|
|
|
|
@ -689,13 +736,20 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_without_docker_storage_driver(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
mock_driver.return_value = k8s_dr.Driver()
|
|
|
|
|
self._test_extract_template_definition(
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get,
|
|
|
|
@ -704,13 +758,20 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_without_apiserver_port(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
mock_driver.return_value = k8s_dr.Driver()
|
|
|
|
|
self._test_extract_template_definition(
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get,
|
|
|
|
@ -719,13 +780,20 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_without_node_count(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
mock_driver.return_value = k8s_dr.Driver()
|
|
|
|
|
self._test_extract_template_definition(
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get,
|
|
|
|
@ -734,13 +802,20 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_without_master_count(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get):
|
|
|
|
|
mock_driver.return_value = k8s_dr.Driver()
|
|
|
|
|
self._test_extract_template_definition(
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
mock_get,
|
|
|
|
@ -749,13 +824,21 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
@patch('requests.get')
|
|
|
|
|
@patch('magnum.objects.ClusterTemplate.get_by_uuid')
|
|
|
|
|
@patch('magnum.drivers.common.driver.Driver.get_driver')
|
|
|
|
|
@patch('magnum.conductor.handlers.common.cert_manager'
|
|
|
|
|
'.sign_node_certificate')
|
|
|
|
|
@patch('magnum.common.x509.operations.generate_csr_and_key')
|
|
|
|
|
def test_extract_template_definition_without_discovery_url(
|
|
|
|
|
self,
|
|
|
|
|
mock_generate_csr_and_key,
|
|
|
|
|
mock_sign_node_certificate,
|
|
|
|
|
mock_driver,
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid,
|
|
|
|
|
reqget):
|
|
|
|
|
cluster_template = objects.ClusterTemplate(
|
|
|
|
|
self.context, **self.cluster_template_dict)
|
|
|
|
|
mock_generate_csr_and_key.return_value = {'csr': 'csr',
|
|
|
|
|
'key': 'private_key'}
|
|
|
|
|
mock_sign_node_certificate.return_value = 'signed_cert'
|
|
|
|
|
mock_objects_cluster_template_get_by_uuid.return_value = \
|
|
|
|
|
cluster_template
|
|
|
|
|
cluster_dict = self.cluster_dict
|
|
|
|
@ -833,6 +916,8 @@ class TestClusterConductorWithK8s(base.TestCase):
|
|
|
|
|
'kubescheduler_options': '--kubescheduler',
|
|
|
|
|
'kubeproxy_options': '--kubeproxy',
|
|
|
|
|
'octavia_enabled': False,
|
|
|
|
|
'kube_service_account_key': 'signed_cert',
|
|
|
|
|
'kube_service_account_private_key': 'private_key',
|
|
|
|
|
}
|
|
|
|
|
self.assertEqual(expected, definition)
|
|
|
|
|
self.assertEqual(
|
|
|
|
|