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/
|
||||
*.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,14 +6,19 @@ MD_PATH = "./meta-data"
|
|||
UD_PATH = "./user-data"
|
||||
ND_PATH = "./network-config"
|
||||
|
||||
|
||||
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(
|
||||
"--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("--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("--output-image", required=True)
|
||||
parser.add_argument("--image-size", default="100G")
|
||||
|
|
@ -53,18 +58,22 @@ def parse_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 write_network_data(network_data):
|
||||
with open(ND_PATH, "w", encoding="utf-8") as network_data_file:
|
||||
network_data_file.write(network_data)
|
||||
|
||||
|
||||
def create_image(args):
|
||||
print("creating image")
|
||||
cmd = f"qemu-img create -f qcow2 -o preallocation=metadata {args.output_image} {args.image_size}"
|
||||
|
|
@ -81,6 +90,7 @@ def create_image(args):
|
|||
if args.verbose:
|
||||
print(result)
|
||||
|
||||
|
||||
def virt_install_cmd(args):
|
||||
cmd = f"""
|
||||
sudo virt-install \\
|
||||
|
|
@ -111,16 +121,21 @@ def virt_install_cmd(args):
|
|||
def delete_meta_data():
|
||||
pathlib.Path.unlink(pathlib.Path(MD_PATH))
|
||||
|
||||
|
||||
def delete_user_data():
|
||||
pathlib.Path.unlink(pathlib.Path(UD_PATH))
|
||||
|
||||
|
||||
def install_packages(args):
|
||||
cmd = "sudo dnf install -y virt-install virt-viewer qemu-img libguestfs.x86_64"
|
||||
|
||||
print("installing needed packages...")
|
||||
|
||||
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():
|
||||
args = parse_args()
|
||||
|
|
@ -138,5 +153,6 @@ def main():
|
|||
delete_meta_data()
|
||||
delete_user_data()
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
@ -29,7 +29,9 @@ def parse_args():
|
|||
parser.add_argument("-p", "--password", default="secrete123")
|
||||
parser.add_argument("-c", "--cloud", default="standalone")
|
||||
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("--publice-net-start", default="10.76.23.50")
|
||||
parser.add_argument("--publice-net-end", default="10.76.23.52")
|
||||
|
|
@ -38,8 +40,6 @@ def parse_args():
|
|||
# export OS_CLOUD=standalone
|
||||
# export STANDALONE_HOST=10.76.23.39
|
||||
|
||||
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
return args
|
||||
|
|
@ -29,7 +29,9 @@ def parse_args():
|
|||
parser.add_argument("-p", "--password", default="secrete123")
|
||||
parser.add_argument("-c", "--cloud", default="standalone")
|
||||
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("--publice-net-start", default="10.76.23.50")
|
||||
parser.add_argument("--publice-net-end", default="10.76.23.52")
|
||||
|
|
@ -38,8 +40,6 @@ def parse_args():
|
|||
# export OS_CLOUD=standalone
|
||||
# export STANDALONE_HOST=10.76.23.39
|
||||
|
||||
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
return args
|
||||
|
|
@ -10,7 +10,7 @@ import yaml
|
|||
def parse_args():
|
||||
"""Parse the command line arguments"""
|
||||
|
||||
home = os.environ.get('HOME')
|
||||
home = os.environ.get("HOME")
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("-u", "--username", required=True)
|
||||
|
|
@ -31,11 +31,11 @@ def parse_args():
|
|||
default=f"{home}/containers-prepare-parameters.yaml.gen",
|
||||
)
|
||||
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(
|
||||
"--deploy-script-out",
|
||||
default=f"{home}/deploy.sh.gen", dest="deploy"
|
||||
"--deploy-script-out", default=f"{home}/deploy.sh.gen", dest="deploy"
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
Loading…
Add table
Add a link
Reference in a new issue