Add deploy.sh, change default output location

This commit is contained in:
Neill Cox 2023-09-17 22:14:31 -04:00
parent f01c1d971b
commit 61591542f3
3 changed files with 46 additions and 2 deletions

39
main.py
View file

@ -9,6 +9,9 @@ import yaml
def parse_args():
"""Parse the command line arguments"""
home = os.environ.get('HOME')
parser = argparse.ArgumentParser()
parser.add_argument("-u", "--username", required=True)
parser.add_argument("-p", "--password", required=True)
@ -25,10 +28,14 @@ def parse_args():
parser.add_argument("-g", "--gateway")
parser.add_argument(
"--containers-yaml-out",
default="./containers-prepare-parameters.yaml.gen",
default=f"{home}/containers-prepare-parameters.yaml.gen",
)
parser.add_argument(
"--standalone-yaml-out", default="./standalone_parameters.yaml.gen"
"--standalone-yaml-out", default=f"{home}/standalone_parameters.yaml.gen"
)
parser.add_argument(
"--deploy-script-out",
default=f"{home}/deploy.sh.gen", dest="deploy"
)
args = parser.parse_args()
@ -94,6 +101,30 @@ def build_containers_yaml(args):
return data
def deploy_sh(args):
home = os.environ.get("HOME")
template = (
"sudo openstack tripleo deploy \\\n"
" --templates \\\n"
f" --local-ip={args.address}/{args.netmask} \\\n"
" -e /usr/share/openstack-tripleo-heat-templates/"
"environments/standalone/standalone-tripleo.yaml \\\n"
" -r /usr/share/openstack-tripleo-heat-templates/"
"roles/Standalone.yaml \\\n"
f" -e {home}/containers-prepare-parameters.yaml \\\n"
f" -e {home}/standalone_parameters.yaml \\\n"
f" --output-dir {home} \\\n"
" --standalone\n"
)
return template
def set_hostname(args):
pass
def main():
"""main function"""
args = parse_args()
@ -112,6 +143,10 @@ def main():
parameters_out.write(yaml.dump(standalone_parameters))
print(f"standalone parameters yaml written to {args.standalone_yaml_out}")
with open(args.deploy, "w", encoding="utf-8") as deploy:
deploy.write(deploy_sh(args))
print(f"deploy script written to {args.deploy}")
if __name__ == "__main__":
main()