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 = dea.get_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.debug('Configure environment\n')
39 if os.path.exists(self.yaml_config_dir):
40 LOG.debug('Deleting existing config directory %s\n'
41 % self.yaml_config_dir)
42 shutil.rmtree(self.yaml_config_dir)
43 LOG.debug('Creating new config directory %s\n' % self.yaml_config_dir)
44 os.makedirs(self.yaml_config_dir)
46 LOG.debug('Creating environment %s release %s, mode ha, network-mode '
47 'neutron, net-segment-type vlan\n'
48 % (self.env_name, self.release_id))
49 exec_cmd('fuel env create --name %s --release %s --mode ha '
50 '--network-mode neutron --net-segment-type vlan'
51 % (self.env_name, self.release_id))
53 if not self.env_exists(self.env_name):
54 err("Failed to create environment %s\n" % self.env_name)
55 self.config_settings()
59 def config_settings(self):
60 settings = ConfigureSettings(self.yaml_config_dir, self.env_id,
62 settings.config_settings()
64 def config_network(self):
65 network = ConfigureNetwork(self.yaml_config_dir, self.env_id, self.dea)
66 network.config_network()
68 def config_nodes(self):
69 nodes = ConfigureNodes(self.yaml_config_dir, self.env_id,
70 self.node_id_roles_dict, self.dea)