7 from configure_settings import ConfigureSettings
8 from configure_network import ConfigureNetwork
14 exec_cmd = common.exec_cmd
18 class ConfigureEnvironment(object):
20 def __init__(self, dea, yaml_config_dir):
23 self.yaml_config_dir = yaml_config_dir
24 self.env_name = dea.get_environment_name()
26 def env_exists(self, env_name):
27 env_list = parse(exec_cmd('fuel env --list'))
29 if env[E['name']] == env_name and env[E['status']] == 'new':
33 def get_env_id(self, env_name):
34 env_list = parse(exec_cmd('fuel env --list'))
36 if env[E['name']] == env_name:
39 def configure_environment(self, dea):
40 exec_cmd('fuel env -c --name %s --release %s --mode ha --net neutron '
41 '--nst vlan' % (self.env_name,
42 self.supported_release[R['id']]))
44 self.env_id = self.get_env_id(self.env_name)
45 if not self.env_exists(self.env_name):
46 err("Failed to create environment %s" % self.env_name)
48 self.config_settings()
51 def config_settings(self):
52 if os.path.exists(self.yaml_config_dir):
53 shutil.rmtree(self.yaml_config_dir)
54 os.makedirs(self.yaml_config_dir)
56 settings = ConfigureSettings(self.yaml_config_dir, self.env_id)
57 settings.config_settings()
60 def config_network(self):
61 network_yaml=self.yaml_config_dir + '/network_%s.yaml' % self.env_id
62 os.remove(network_yaml)
64 network = ConfigureNetwork(self.yaml_config_dir, network_yaml,
65 self.env_id, self.dea)
66 network.config_network()