Rearrange for packaging
This commit is contained in:
parent
eb1fbf7eb4
commit
cafecb4d01
10 changed files with 79 additions and 34 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
||||||
venv/
|
venv/
|
||||||
*.gen
|
*.gen
|
||||||
|
*__pycache__*
|
||||||
28
pyproject.toml
Normal file
28
pyproject.toml
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
[build-system]
|
||||||
|
requires = ["hatchling"]
|
||||||
|
build-backend = "hatchling.build"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "tripleo_aio_helpers"
|
||||||
|
version = "0.0.1"
|
||||||
|
authors = [
|
||||||
|
{ name="Neill Cox", email="neill.cox@ingenious.com.au" },
|
||||||
|
]
|
||||||
|
description = "Tools to help with building a tripleo/rhosp aio"
|
||||||
|
readme = "README.md"
|
||||||
|
requires-python = ">=3.7"
|
||||||
|
classifiers = [
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Operating System :: OS Independent",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
"Homepage" = ""
|
||||||
|
"Bug Tracker" = ""
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
create_aio_vm = "tripleo_aio_helpers.create_aio_vm:main"
|
||||||
|
os_migrate_setup = "tripleo_aio_helpers.os_migrate_setup:main"
|
||||||
|
os_migrate_teardown = "tripleo_aio_helpers.os_migrate_teardown:main"
|
||||||
|
prepare_deployment = "tripleo_aio_helpers.prepare_deployment:main"
|
||||||
0
src/tripleo_aio_helpers/__init__.py
Normal file
0
src/tripleo_aio_helpers/__init__.py
Normal file
|
|
@ -6,21 +6,26 @@ MD_PATH = "./meta-data"
|
||||||
UD_PATH = "./user-data"
|
UD_PATH = "./user-data"
|
||||||
ND_PATH = "./network-config"
|
ND_PATH = "./network-config"
|
||||||
|
|
||||||
|
|
||||||
def parse_args():
|
def parse_args():
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("--password", required=True)
|
parser.add_argument("--password", required=True)
|
||||||
parser.add_argument("--public-key", required=True, type=open)
|
parser.add_argument("--public-key", required=True, type=open)
|
||||||
parser.add_argument("--local-hostname", default="aio3.gpslab.cbr.redhat.com")
|
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("--user-data", default="./user-data.tpl", type=open)
|
||||||
parser.add_argument("--meta-data", default="./meta-data.tpl", type=open)
|
parser.add_argument("--meta-data", default="./meta-data.tpl", type=open)
|
||||||
parser.add_argument("--network-data", default="./network-config.tpl", type=open)
|
parser.add_argument(
|
||||||
|
"--network-data", default="./network-config.tpl", type=open
|
||||||
|
)
|
||||||
parser.add_argument("--instance-id", default="aio3")
|
parser.add_argument("--instance-id", default="aio3")
|
||||||
parser.add_argument("--output-image", required=True)
|
parser.add_argument("--output-image", required=True)
|
||||||
parser.add_argument("--image-size", default="100G")
|
parser.add_argument("--image-size", default="100G")
|
||||||
parser.add_argument("--input-image", required=True)
|
parser.add_argument("--input-image", required=True)
|
||||||
parser.add_argument("--os-variant", required=True)
|
parser.add_argument("--os-variant", required=True)
|
||||||
parser.add_argument("--name", required=True)
|
parser.add_argument("--name", required=True)
|
||||||
parser.add_argument("--memory", default=2048) #, type="int")
|
parser.add_argument("--memory", default=2048) # , type="int")
|
||||||
parser.add_argument("--gateway", required=True)
|
parser.add_argument("--gateway", required=True)
|
||||||
parser.add_argument("--cidr-1", required=True)
|
parser.add_argument("--cidr-1", required=True)
|
||||||
parser.add_argument("--cidr-2", required=True)
|
parser.add_argument("--cidr-2", required=True)
|
||||||
|
|
@ -53,18 +58,22 @@ def parse_args():
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
|
||||||
|
|
||||||
def write_user_data(user_data):
|
def write_user_data(user_data):
|
||||||
with open(UD_PATH, "w", encoding="utf-8") as user_data_file:
|
with open(UD_PATH, "w", encoding="utf-8") as user_data_file:
|
||||||
user_data_file.write(user_data)
|
user_data_file.write(user_data)
|
||||||
|
|
||||||
|
|
||||||
def write_meta_data(meta_data):
|
def write_meta_data(meta_data):
|
||||||
with open(MD_PATH, "w", encoding="utf-8") as meta_data_file:
|
with open(MD_PATH, "w", encoding="utf-8") as meta_data_file:
|
||||||
meta_data_file.write(meta_data)
|
meta_data_file.write(meta_data)
|
||||||
|
|
||||||
|
|
||||||
def write_network_data(network_data):
|
def write_network_data(network_data):
|
||||||
with open(ND_PATH, "w", encoding="utf-8") as network_data_file:
|
with open(ND_PATH, "w", encoding="utf-8") as network_data_file:
|
||||||
network_data_file.write(network_data)
|
network_data_file.write(network_data)
|
||||||
|
|
||||||
|
|
||||||
def create_image(args):
|
def create_image(args):
|
||||||
print("creating image")
|
print("creating image")
|
||||||
cmd = f"qemu-img create -f qcow2 -o preallocation=metadata {args.output_image} {args.image_size}"
|
cmd = f"qemu-img create -f qcow2 -o preallocation=metadata {args.output_image} {args.image_size}"
|
||||||
|
|
@ -76,11 +85,12 @@ def create_image(args):
|
||||||
print("Resizing image")
|
print("Resizing image")
|
||||||
cmd = f"virt-resize --expand /dev/sda3 {args.input_image} {args.output_image}"
|
cmd = f"virt-resize --expand /dev/sda3 {args.input_image} {args.output_image}"
|
||||||
|
|
||||||
result= subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
result = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
||||||
|
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
print(result)
|
print(result)
|
||||||
|
|
||||||
|
|
||||||
def virt_install_cmd(args):
|
def virt_install_cmd(args):
|
||||||
cmd = f"""
|
cmd = f"""
|
||||||
sudo virt-install \\
|
sudo virt-install \\
|
||||||
|
|
@ -103,7 +113,7 @@ def virt_install_cmd(args):
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
print(cmd)
|
print(cmd)
|
||||||
|
|
||||||
result =subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
result = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
print(result)
|
print(result)
|
||||||
|
|
||||||
|
|
@ -111,16 +121,21 @@ def virt_install_cmd(args):
|
||||||
def delete_meta_data():
|
def delete_meta_data():
|
||||||
pathlib.Path.unlink(pathlib.Path(MD_PATH))
|
pathlib.Path.unlink(pathlib.Path(MD_PATH))
|
||||||
|
|
||||||
|
|
||||||
def delete_user_data():
|
def delete_user_data():
|
||||||
pathlib.Path.unlink(pathlib.Path(UD_PATH))
|
pathlib.Path.unlink(pathlib.Path(UD_PATH))
|
||||||
|
|
||||||
|
|
||||||
def install_packages(args):
|
def install_packages(args):
|
||||||
cmd = "sudo dnf install -y virt-install virt-viewer qemu-img libguestfs.x86_64"
|
cmd = "sudo dnf install -y virt-install virt-viewer qemu-img libguestfs.x86_64"
|
||||||
|
|
||||||
print("installing needed packages...")
|
print("installing needed packages...")
|
||||||
|
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
print(subprocess.check_output(cmd, shell=True, universal_newlines=True))
|
print(
|
||||||
|
subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
args = parse_args()
|
args = parse_args()
|
||||||
|
|
@ -138,5 +153,6 @@ def main():
|
||||||
delete_meta_data()
|
delete_meta_data()
|
||||||
delete_user_data()
|
delete_user_data()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
@ -29,17 +29,17 @@ def parse_args():
|
||||||
parser.add_argument("-p", "--password", default="secrete123")
|
parser.add_argument("-p", "--password", default="secrete123")
|
||||||
parser.add_argument("-c", "--cloud", default="standalone")
|
parser.add_argument("-c", "--cloud", default="standalone")
|
||||||
parser.add_argument("-g", "--gateway", default="10.76.23.254")
|
parser.add_argument("-g", "--gateway", default="10.76.23.254")
|
||||||
parser.add_argument("-C", "--public-network-cider", default="10.76.23.0/24")
|
parser.add_argument(
|
||||||
|
"-C", "--public-network-cider", default="10.76.23.0/24"
|
||||||
|
)
|
||||||
parser.add_argument("--private-network-cidr", default="192.168.100.0/24")
|
parser.add_argument("--private-network-cidr", default="192.168.100.0/24")
|
||||||
parser.add_argument("--publice-net-start",default="10.76.23.50")
|
parser.add_argument("--publice-net-start", default="10.76.23.50")
|
||||||
parser.add_argument("--publice-net-end", default="10.76.23.52")
|
parser.add_argument("--publice-net-end", default="10.76.23.52")
|
||||||
parser.add_argument("--dns-server", default="10.76.23.245")
|
parser.add_argument("--dns-server", default="10.76.23.245")
|
||||||
|
|
||||||
# export OS_CLOUD=standalone
|
# export OS_CLOUD=standalone
|
||||||
# export STANDALONE_HOST=10.76.23.39
|
# export STANDALONE_HOST=10.76.23.39
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
|
@ -29,17 +29,17 @@ def parse_args():
|
||||||
parser.add_argument("-p", "--password", default="secrete123")
|
parser.add_argument("-p", "--password", default="secrete123")
|
||||||
parser.add_argument("-c", "--cloud", default="standalone")
|
parser.add_argument("-c", "--cloud", default="standalone")
|
||||||
parser.add_argument("-g", "--gateway", default="10.76.23.254")
|
parser.add_argument("-g", "--gateway", default="10.76.23.254")
|
||||||
parser.add_argument("-C", "--public-network-cider", default="10.76.23.0/24")
|
parser.add_argument(
|
||||||
|
"-C", "--public-network-cider", default="10.76.23.0/24"
|
||||||
|
)
|
||||||
parser.add_argument("--private-network-cidr", default="192.168.100.0/24")
|
parser.add_argument("--private-network-cidr", default="192.168.100.0/24")
|
||||||
parser.add_argument("--publice-net-start",default="10.76.23.50")
|
parser.add_argument("--publice-net-start", default="10.76.23.50")
|
||||||
parser.add_argument("--publice-net-end", default="10.76.23.52")
|
parser.add_argument("--publice-net-end", default="10.76.23.52")
|
||||||
parser.add_argument("--dns-server", default="10.76.23.245")
|
parser.add_argument("--dns-server", default="10.76.23.245")
|
||||||
|
|
||||||
# export OS_CLOUD=standalone
|
# export OS_CLOUD=standalone
|
||||||
# export STANDALONE_HOST=10.76.23.39
|
# export STANDALONE_HOST=10.76.23.39
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
|
@ -10,7 +10,7 @@ import yaml
|
||||||
def parse_args():
|
def parse_args():
|
||||||
"""Parse the command line arguments"""
|
"""Parse the command line arguments"""
|
||||||
|
|
||||||
home = os.environ.get('HOME')
|
home = os.environ.get("HOME")
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("-u", "--username", required=True)
|
parser.add_argument("-u", "--username", required=True)
|
||||||
|
|
@ -31,11 +31,11 @@ def parse_args():
|
||||||
default=f"{home}/containers-prepare-parameters.yaml.gen",
|
default=f"{home}/containers-prepare-parameters.yaml.gen",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--standalone-yaml-out", default=f"{home}/standalone_parameters.yaml.gen"
|
"--standalone-yaml-out",
|
||||||
|
default=f"{home}/standalone_parameters.yaml.gen",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--deploy-script-out",
|
"--deploy-script-out", default=f"{home}/deploy.sh.gen", dest="deploy"
|
||||||
default=f"{home}/deploy.sh.gen", dest="deploy"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue