Add libvirt helpers

This commit is contained in:
Neill Cox 2023-09-20 12:02:40 +10:00
parent f4e9b627f8
commit 6a5b1e8451
4 changed files with 108 additions and 0 deletions

View file

@ -0,0 +1,54 @@
import argparse
import pathlib
import subprocess
MD_PATH = "./meta-data"
UD_PATH = "./user-data"
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("--password", required=True)
parser.add_argument("--public-key", required=True, type=open)
parser.add_argument("--local-hostname", default="aio3.gpslab.cbr.redhat.com")
parser.add_argument("--user-data", default="./user-data.tpl", type=open)
parser.add_argument("--meta-data", default="./meta-data.tpl", type=open)
parser.add_argument("--instance-id", default="aio3")
args = parser.parse_args()
args.public_key = args.public_key.read()
args.user_data = args.user_data.read()
args.user_data = args.user_data.format(data=args)
args.meta_data = args.meta_data.read()
args.meta_data = args.meta_data.format(data=args)
return args
def write_user_data(user_data):
with open(UD_PATH, "w", encoding="utf-8") as user_data_file:
user_data_file.write(user_data)
def write_meta_data(meta_data):
with open(MD_PATH, "w", encoding="utf-8") as meta_data_file:
meta_data_file.write(meta_data)
def delete_meta_data():
pathlib.Path.unlink(MD_PATH)
def delete_user_data():
pathlib.Path.unlink(UD_PATH)
def main():
args = parse_args()
print(args)
write_meta_data(args.meta_data)
write_user_data(args.user_data)
delete_meta_data()
delete_user_data()
if __name__ == '__main__':
main()