def test_k8s_get_params(self, mock_get_output, mock_get_params, mock_get_discovery_url): mock_context = mock.MagicMock() mock_baymodel = mock.MagicMock() mock_bay = mock.MagicMock() mock_scale_manager = mock.MagicMock() removal_nodes = ['node1', 'node2'] mock_scale_manager.get_removal_nodes.return_value = removal_nodes mock_get_discovery_url.return_value = 'fake_discovery_url' k8s_def = tdef.AtomicK8sTemplateDefinition() k8s_def.get_params(mock_context, mock_baymodel, mock_bay, scale_manager=mock_scale_manager) expected_kwargs = { 'extra_params': { 'minions_to_remove': removal_nodes, 'discovery_url': 'fake_discovery_url' } } mock_get_params.assert_called_once_with(mock_context, mock_baymodel, mock_bay, **expected_kwargs)
def test_swarm_get_discovery_url_not_found(self, mock_get): mock_resp = mock.MagicMock() mock_resp.text = '' mock_get.return_value = mock_resp fake_bay = mock.MagicMock() fake_bay.discovery_url = None self.assertRaises(exception.InvalidDiscoveryURL, tdef.AtomicK8sTemplateDefinition().get_discovery_url, fake_bay)
def test_k8s_get_params_insecure(self, mock_get_output, mock_get_params, mock_get_discovery_url, mock_osc_class): mock_context = mock.MagicMock() mock_context.auth_token = 'AUTH_TOKEN' mock_baymodel = mock.MagicMock() mock_baymodel.tls_disabled = True mock_baymodel.registry_enabled = False mock_bay = mock.MagicMock() mock_bay.uuid = '5d12f6fd-a196-4bf0-ae4c-1f639a523a52' del mock_bay.stack_id mock_scale_manager = mock.MagicMock() mock_osc = mock.MagicMock() mock_osc.magnum_url.return_value = 'http://127.0.0.1:9511/v1' mock_osc.cinder_region_name.return_value mock_osc_class.return_value = mock_osc removal_nodes = ['node1', 'node2'] mock_scale_manager.get_removal_nodes.return_value = removal_nodes mock_get_discovery_url.return_value = 'fake_discovery_url' mock_context.auth_url = 'http://192.168.10.10:5000/v3' mock_context.user_name = 'fake_user' mock_context.tenant = 'fake_tenant' flannel_cidr = mock_baymodel.labels.get('flannel_network_cidr') flannel_subnet = mock_baymodel.labels.get('flannel_network_subnetlen') flannel_backend = mock_baymodel.labels.get('flannel_backend') k8s_def = tdef.AtomicK8sTemplateDefinition() k8s_def.get_params(mock_context, mock_baymodel, mock_bay, scale_manager=mock_scale_manager) expected_kwargs = { 'extra_params': { 'minions_to_remove': removal_nodes, 'discovery_url': 'fake_discovery_url', 'flannel_network_cidr': flannel_cidr, 'flannel_network_subnetlen': flannel_subnet, 'flannel_backend': flannel_backend, 'username': '******', 'tenant_name': 'fake_tenant', 'magnum_url': mock_osc.magnum_url.return_value, 'region_name': mock_osc.cinder_region_name.return_value, 'loadbalancing_protocol': 'HTTP', 'kubernetes_port': 8080 } } mock_get_params.assert_called_once_with(mock_context, mock_baymodel, mock_bay, **expected_kwargs)
def test_k8s_get_discovery_url_fail(self, mock_get): cfg.CONF.set_override('etcd_discovery_service_endpoint_format', 'http://etcd/test?size=%(size)d', group='bay') mock_get.side_effect = Exception() mock_bay = mock.MagicMock() mock_bay.master_count = 10 mock_bay.discovery_url = None k8s_def = tdef.AtomicK8sTemplateDefinition() self.assertRaises(exception.GetDiscoveryUrlFailed, k8s_def.get_discovery_url, mock_bay)
def test_k8s_get_params(self, mock_get_output, mock_get_params, mock_get_discovery_url, mock_osc_class): mock_context = mock.MagicMock() mock_context.auth_token = 'AUTH_TOKEN' mock_baymodel = mock.MagicMock() mock_baymodel.tls_disabled = False mock_bay = mock.MagicMock() mock_bay.uuid = 'bay-xx-xx-xx-xx' del mock_bay.stack_id mock_scale_manager = mock.MagicMock() mock_osc = mock.MagicMock() mock_osc.magnum_url.return_value = 'http://127.0.0.1:9511/v1' mock_osc_class.return_value = mock_osc removal_nodes = ['node1', 'node2'] mock_scale_manager.get_removal_nodes.return_value = removal_nodes mock_get_discovery_url.return_value = 'fake_discovery_url' mock_context.auth_url = 'http://192.168.10.10:5000/v3' mock_context.user_name = 'fake_user' mock_context.tenant = 'fake_tenant' flannel_cidr = mock_baymodel.labels.get('flannel_network_cidr') flannel_subnet = mock_baymodel.labels.get('flannel_network_subnetlen') flannel_vxlan = mock_baymodel.labels.get('flannel_use_vxlan') k8s_def = tdef.AtomicK8sTemplateDefinition() k8s_def.get_params(mock_context, mock_baymodel, mock_bay, scale_manager=mock_scale_manager) expected_kwargs = { 'extra_params': { 'minions_to_remove': removal_nodes, 'discovery_url': 'fake_discovery_url', 'flannel_network_cidr': flannel_cidr, 'flannel_use_vxlan': flannel_subnet, 'flannel_network_subnetlen': flannel_vxlan, 'auth_url': 'http://192.168.10.10:5000/v2', 'username': '******', 'tenant_name': 'fake_tenant', 'magnum_url': mock_osc.magnum_url.return_value, 'user_token': mock_context.auth_token } } mock_get_params.assert_called_once_with(mock_context, mock_baymodel, mock_bay, **expected_kwargs)
def test_k8s_get_discovery_url(self, mock_get): cfg.CONF.set_override('etcd_discovery_service_endpoint_format', 'http://etcd/test?size=%(size)d', group='bay') expected_discovery_url = 'http://etcd/token' mock_resp = mock.MagicMock() mock_resp.text = expected_discovery_url mock_get.return_value = mock_resp mock_bay = mock.MagicMock() mock_bay.master_count = 10 mock_bay.discovery_url = None k8s_def = tdef.AtomicK8sTemplateDefinition() discovery_url = k8s_def.get_discovery_url(mock_bay) mock_get.assert_called_once_with('http://etcd/test?size=10') self.assertEqual(expected_discovery_url, mock_bay.discovery_url) self.assertEqual(expected_discovery_url, discovery_url)
def test_k8s_get_heat_param(self): k8s_def = tdef.AtomicK8sTemplateDefinition() heat_param = k8s_def.get_heat_param(bay_attr='node_count') self.assertEqual('number_of_minions', heat_param)