diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-07-26 18:07:55 +0200 |
---|---|---|
committer | Jonas Bjurel <jonas.bjurel@ericsson.com> | 2016-08-17 12:24:03 +0000 |
commit | 8b602ad490b427e5b97dd709e4d7905b500579e3 (patch) | |
tree | d1d5f55a18ab0bc8e01fa3540b1f4a5c54579239 /deploy | |
parent | 3ec3fb2d1d316b656a13f9c1ca00cc8a7fcd51de (diff) |
deploy: Allow DEA to override bootstrap config
This commit does not change the current behavior in OPNFV, the
preconfigured fuel_bootstrap_cli.yaml from OPNFV ISO is still
used to replace the default settings / fuel-menu bootstrap cfg.
The only addition is the possibility to override the preconfigured
fuel_bootstrap_cli.yaml info using DEA.
JIRA: FUEL-155
Change-Id: I4e66b789fdf0a5b1af512a3efc84fedb72ce3b05
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'deploy')
-rw-r--r-- | deploy/install_fuel_master.py | 6 | ||||
-rw-r--r-- | deploy/transplant_fuel_settings.py | 17 |
2 files changed, 20 insertions, 3 deletions
diff --git a/deploy/install_fuel_master.py b/deploy/install_fuel_master.py index 5adccefbf..808d0b14c 100644 --- a/deploy/install_fuel_master.py +++ b/deploy/install_fuel_master.py @@ -84,8 +84,8 @@ class InstallFuelMaster(object): log('Wait until Fuel menu is up') fuel_menu_pid = self.wait_until_fuel_menu_up() - log('Inject our own astute.yaml settings') - self.inject_own_astute_yaml() + log('Inject our own astute.yaml and fuel_bootstrap_cli.yaml settings') + self.inject_own_astute_and_bootstrap_yaml() log('Let the Fuel deployment continue') log('Found FUEL menu as PID %s, now killing it' % fuel_menu_pid) @@ -181,7 +181,7 @@ class InstallFuelMaster(object): ret = self.ssh.exec_cmd(cmd, check=check) return ret - def inject_own_astute_yaml(self): + def inject_own_astute_and_bootstrap_yaml(self): with self.ssh as s: s.exec_cmd('rm -rf %s' % self.work_dir, False) s.exec_cmd('mkdir %s' % self.work_dir) diff --git a/deploy/transplant_fuel_settings.py b/deploy/transplant_fuel_settings.py index e57a4fbc6..318c633aa 100644 --- a/deploy/transplant_fuel_settings.py +++ b/deploy/transplant_fuel_settings.py @@ -18,6 +18,7 @@ from common import ( ) ASTUTE_YAML = '/etc/fuel/astute.yaml' +FUEL_BOOTSTRAP_CLI_YAML = '/opt/opnfv/fuel_bootstrap_cli.yaml' def usage(): @@ -47,15 +48,31 @@ def transplant(dea, astute): return astute +def transplant_bootstrap(astute, fuel_bootstrap_cli): + if 'BOOTSTRAP' in astute: + for skey in astute['BOOTSTRAP'].iterkeys(): + # FIXME: astute.yaml repos point to public ones instead of + # local mirrors, this filter should be removed when in sync + if skey != 'repos': + fuel_bootstrap_cli[skey] = astute['BOOTSTRAP'][skey] + return fuel_bootstrap_cli + def main(): dea_file = parse_arguments() check_file_exists(ASTUTE_YAML) + check_file_exists(FUEL_BOOTSTRAP_CLI_YAML) dea = DeploymentEnvironmentAdapter(dea_file) with io.open(ASTUTE_YAML) as stream: astute = yaml.load(stream) transplant(dea, astute) with io.open(ASTUTE_YAML, 'w') as stream: yaml.dump(astute, stream, default_flow_style=False) + # Update bootstrap config yaml with info from DEA/astute.yaml + with io.open(FUEL_BOOTSTRAP_CLI_YAML) as stream: + fuel_bootstrap_cli = yaml.load(stream) + transplant_bootstrap(astute, fuel_bootstrap_cli) + with io.open(FUEL_BOOTSTRAP_CLI_YAML, 'w') as stream: + yaml.dump(fuel_bootstrap_cli, stream, default_flow_style=False) if __name__ == '__main__': |