def test_mesos_get_heat_param(self): mesos_def = mesos_tdef.UbuntuMesosTemplateDefinition() heat_param = mesos_def.get_heat_param(cluster_attr='node_count') self.assertEqual('number_of_slaves', heat_param) heat_param = mesos_def.get_heat_param(cluster_attr='master_count') self.assertEqual('number_of_masters', heat_param)
def test_mesos_get_params(self, mock_get_output, mock_get_params, mock_osc_class): mock_context = mock.MagicMock() mock_context.auth_url = 'http://192.168.10.10:5000/v3' mock_context.user_name = 'mesos_user' mock_context.tenant = 'admin' mock_context.domain_name = 'domainname' mock_cluster_template = mock.MagicMock() mock_cluster_template.tls_disabled = False rexray_preempt = mock_cluster_template.labels.get('rexray_preempt') mesos_slave_isolation = mock_cluster_template.labels.get( 'mesos_slave_isolation') mesos_slave_work_dir = mock_cluster_template.labels.get( 'mesos_slave_work_dir') mesos_slave_image_providers = mock_cluster_template.labels.get( 'image_providers') mesos_slave_executor_env_variables = mock_cluster_template.labels.get( 'mesos_slave_executor_env_variables') mock_cluster = mock.MagicMock() mock_cluster.uuid = '5d12f6fd-a196-4bf0-ae4c-1f639a523a52' del mock_cluster.stack_id mock_osc = mock.MagicMock() mock_osc.cinder_region_name.return_value = 'RegionOne' mock_osc_class.return_value = mock_osc removal_nodes = ['node1', 'node2'] mock_scale_manager = mock.MagicMock() mock_scale_manager.get_removal_nodes.return_value = removal_nodes mesos_def = mesos_tdef.UbuntuMesosTemplateDefinition() mesos_def.get_params(mock_context, mock_cluster_template, mock_cluster, scale_manager=mock_scale_manager) expected_kwargs = { 'extra_params': { 'region_name': mock_osc.cinder_region_name.return_value, 'auth_url': 'http://192.168.10.10:5000/v3', 'username': '******', 'tenant_name': 'admin', 'domain_name': 'domainname', 'rexray_preempt': rexray_preempt, 'mesos_slave_isolation': mesos_slave_isolation, 'mesos_slave_work_dir': mesos_slave_work_dir, 'mesos_slave_executor_env_variables': mesos_slave_executor_env_variables, 'mesos_slave_image_providers': mesos_slave_image_providers, 'slaves_to_remove': removal_nodes } } mock_get_params.assert_called_once_with(mock_context, mock_cluster_template, mock_cluster, **expected_kwargs)
def test_update_outputs(self): mesos_def = mesos_tdef.UbuntuMesosTemplateDefinition() expected_api_address = 'updated_address' expected_node_addresses = ['ex_slave', 'address'] expected_master_addresses = ['ex_master', 'address'] outputs = [ { "output_value": expected_api_address, "description": "No description given", "output_key": "api_address" }, { "output_value": ['any', 'output'], "description": "No description given", "output_key": "mesos_master_private" }, { "output_value": expected_master_addresses, "description": "No description given", "output_key": "mesos_master" }, { "output_value": ['any', 'output'], "description": "No description given", "output_key": "mesos_slaves_private" }, { "output_value": expected_node_addresses, "description": "No description given", "output_key": "mesos_slaves" }, ] mock_stack = mock.MagicMock() mock_stack.to_dict.return_value = {'outputs': outputs} mock_cluster = mock.MagicMock() mock_cluster_template = mock.MagicMock() mesos_def.update_outputs(mock_stack, mock_cluster_template, mock_cluster) self.assertEqual(expected_api_address, mock_cluster.api_address) self.assertEqual(expected_node_addresses, mock_cluster.node_addresses) self.assertEqual(expected_master_addresses, mock_cluster.master_addresses)
def get_template_definition(self): return template_def.UbuntuMesosTemplateDefinition()