def test_should_not_add_credentials_details_for_lxc_node_definitions(self): single_service_yaml = """ lxc_hello_world: nodes: - template: ubuntu services: [hello_world] type: phoenix.providers.lxc_provider.LXCNodeDefinition node_provider: class_name: LXCNodeProvider host_name: ec2-184-72-150-211.compute-1.amazonaws.com credentials: us-east-ssh start_up_timeout: 60 """ node_def_map = yaml.load(single_service_yaml) node_def = node_config.node_definition_from_map(node_def_map['lxc_hello_world']['nodes'][0], all_credentials) self.assertFalse(hasattr(node_def, 'admin_user')) self.assertFalse(hasattr(node_def, 'path_to_private_key'))
def test_should_add_credentials_details_for_aws_node_definitions(self): single_service_yaml = """ dev: nodes: - ami_id: ami-4dad7424 size: t1.micro credentials_name: test aws_key_name: test services: [mongo, hello_world] type: phoenix.providers.aws_provider.AWSNodeDefinition node_provider: class_name: AWSNodeProvider public_api_key: AKIAIGBFGAGVPGKLVX4Q private_api_key: NAOcwcX3an5hcyLCz3Y4xucwr4Fqxs9ijLn6biqk """ node_def_map = yaml.load(single_service_yaml) node_def = node_config.node_definition_from_map(node_def_map['dev']['nodes'][0], all_credentials) self.assertEqual('ubuntu', node_def.admin_user) self.assertEqual('/some/path/unit-us-east-test.pem', node_def.path_to_private_key)
def environment_definitions_from_yaml(yaml_string, service_definitions=None, env_name=None, all_credentials=None, noop=False): definition_data = yaml.load(yaml_string) definition_map = {} error_list = [] _validate_environment_definitions(definition_data, error_list, all_credentials, service_definitions) for env_template, env_values in definition_data.items(): node_defs = [] for node_def_as_map in env_values['nodes']: node_defs.append(node_definition_from_map(node_def_as_map, all_credentials)) node_provider = _provider(env_values, all_credentials) if noop: node_provider = NoopNodeProvider(node_provider) service_hooks = get_service_lifecycle_hooks(env_values) definition_map[env_template] = EnvironmentDefinition( env_name, node_provider, service_definitions, node_defs, all_credentials, env_template, service_hooks) return definition_map