5 from configure_settings import ConfigureSettings
6 from configure_network import ConfigureNetwork
7 from configure_nodes import ConfigureNodes
13 exec_cmd = common.exec_cmd
18 class ConfigureEnvironment(object):
20 def __init__(self, dea, yaml_config_dir, release_id, node_id_roles_dict):
23 self.yaml_config_dir = yaml_config_dir
24 self.env_name = self.dea.get_property('environment_name')
25 self.release_id = release_id
26 self.node_id_roles_dict = node_id_roles_dict
27 self.required_networks = []
29 def env_exists(self, env_name):
30 env_list = parse(exec_cmd('fuel env --list'))
32 if env[E['name']] == env_name and env[E['status']] == 'new':
33 self.env_id = env[E['id']]
37 def configure_environment(self):
38 log('Configure environment')
39 if os.path.exists(self.yaml_config_dir):
40 log('Deleting existing config directory %s' % self.yaml_config_dir)
41 shutil.rmtree(self.yaml_config_dir)
42 log('Creating new config directory %s' % self.yaml_config_dir)
43 os.makedirs(self.yaml_config_dir)
45 mode = self.dea.get_property('environment_mode')
46 log('Creating environment %s release %s, mode %s, network-mode neutron'
47 ', net-segment-type vlan' % (self.env_name, self.release_id, mode))
48 exec_cmd('fuel env create --name %s --release %s --mode %s '
49 '--network-mode neutron --net-segment-type vlan'
50 % (self.env_name, self.release_id, mode))
52 if not self.env_exists(self.env_name):
53 err('Failed to create environment %s' % self.env_name)
54 self.config_settings()
58 def config_settings(self):
59 settings = ConfigureSettings(self.yaml_config_dir, self.env_id,
61 settings.config_settings()
63 def config_network(self):
64 network = ConfigureNetwork(self.yaml_config_dir, self.env_id, self.dea)
65 network.config_network()
67 def config_nodes(self):
68 nodes = ConfigureNodes(self.yaml_config_dir, self.env_id,
69 self.node_id_roles_dict, self.dea)