🚨 linting fixes for create_aio_vm.py
This commit is contained in:
parent
3ed2e4a029
commit
283d0b51eb
1 changed files with 35 additions and 22 deletions
|
|
@ -14,6 +14,8 @@ ND_PATH = "./network-config"
|
||||||
|
|
||||||
def parse_args():
|
def parse_args():
|
||||||
"""Parse the command line arguments"""
|
"""Parse the command line arguments"""
|
||||||
|
# pylint: disable=too-many-statements
|
||||||
|
|
||||||
template_path = pathlib.Path(__file__).parent.parent / "virt-install"
|
template_path = pathlib.Path(__file__).parent.parent / "virt-install"
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("--password", required=True)
|
parser.add_argument("--password", required=True)
|
||||||
|
|
@ -21,12 +23,10 @@ def parse_args():
|
||||||
parser.add_argument("--local-hostname", required=True)
|
parser.add_argument("--local-hostname", required=True)
|
||||||
parser.add_argument("--user-data", default=template_path / "user-data.tpl")
|
parser.add_argument("--user-data", default=template_path / "user-data.tpl")
|
||||||
parser.add_argument("--meta-data", default=template_path / "meta-data.tpl")
|
parser.add_argument("--meta-data", default=template_path / "meta-data.tpl")
|
||||||
parser.add_argument(
|
parser.add_argument("--network-data", default=template_path / "network-config.tpl")
|
||||||
"--network-data", default=template_path / "network-config.tpl"
|
|
||||||
)
|
|
||||||
parser.add_argument("--instance-id", required=True, help="Hostname for the new VM")
|
parser.add_argument("--instance-id", required=True, help="Hostname for the new VM")
|
||||||
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="800G")
|
||||||
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)
|
||||||
|
|
@ -35,9 +35,11 @@ def parse_args():
|
||||||
parser.add_argument("--gateway")
|
parser.add_argument("--gateway")
|
||||||
parser.add_argument("--cidr-1")
|
parser.add_argument("--cidr-1")
|
||||||
parser.add_argument("--cidr-2")
|
parser.add_argument("--cidr-2")
|
||||||
parser.add_argument("--mac-1",default="RANDOM")
|
parser.add_argument("--mac-1", default="RANDOM")
|
||||||
parser.add_argument("--mac-2",default="RANDOM")
|
parser.add_argument("--mac-2", default="RANDOM")
|
||||||
parser.add_argument("--dns",)
|
parser.add_argument(
|
||||||
|
"--dns",
|
||||||
|
)
|
||||||
parser.add_argument("--search-domain")
|
parser.add_argument("--search-domain")
|
||||||
parser.add_argument("-v", "--verbose", action="store_true")
|
parser.add_argument("-v", "--verbose", action="store_true")
|
||||||
parser.add_argument("--rhn-user", required=True)
|
parser.add_argument("--rhn-user", required=True)
|
||||||
|
|
@ -61,22 +63,27 @@ def parse_args():
|
||||||
print("You must specify a DNS server if you specify any addresses")
|
print("You must specify a DNS server if you specify any addresses")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
if not (args.cidr_1 or args.cidr_2) and (args.dns or args.gateway or args.search_domain):
|
# if not (args.cidr_1 or args.cidr_2) and (
|
||||||
print("There's no point specifying DNS, gateway or search_domain if yoou don't specify addresses")
|
# args.dns or args.gateway or args.search_domain
|
||||||
sys.exit(1)
|
# ):
|
||||||
|
# print(
|
||||||
|
# "There's no point specifying DNS, gateway or search_domain if you"
|
||||||
|
# " don't specify addresses"
|
||||||
|
# )
|
||||||
|
# sys.exit(1)
|
||||||
|
|
||||||
args.public_key = args.public_key.read()
|
args.public_key = args.public_key.read()
|
||||||
|
|
||||||
with open(args.user_data) as user_data:
|
with open(args.user_data, encoding="utf-8") as user_data:
|
||||||
args.user_data = user_data.read()
|
args.user_data = user_data.read()
|
||||||
generate_boot_cmd(args)
|
generate_boot_cmd(args)
|
||||||
args.user_data = args.user_data.format(data=args)
|
args.user_data = args.user_data.format(data=args)
|
||||||
|
|
||||||
with open(args.meta_data) as meta_data:
|
with open(args.meta_data, encoding="utf-8") as meta_data:
|
||||||
args.meta_data = meta_data.read()
|
args.meta_data = meta_data.read()
|
||||||
args.meta_data = args.meta_data.format(data=args)
|
args.meta_data = args.meta_data.format(data=args)
|
||||||
|
|
||||||
with open(args.network_data) as network_data:
|
with open(args.network_data, encoding="utf-8") as network_data:
|
||||||
args.network_data = network_data.read()
|
args.network_data = network_data.read()
|
||||||
args.network_data = args.network_data.format(data=args)
|
args.network_data = args.network_data.format(data=args)
|
||||||
|
|
||||||
|
|
@ -92,17 +99,24 @@ def parse_args():
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
|
||||||
|
|
||||||
def generate_boot_cmd(data):
|
def generate_boot_cmd(data):
|
||||||
data.bootcmd=""
|
"""Generate the bootcmd section of the user-data"""
|
||||||
|
data.bootcmd = ""
|
||||||
if data.cidr_1:
|
if data.cidr_1:
|
||||||
data.bootcmd = (
|
data.bootcmd = (
|
||||||
"bootcmd:\n"
|
"bootcmd:\n"
|
||||||
f' - "nmcli con modify \'System eth0\' ipv4.address {data.cidr_1} ipv4.method static ipv4.gateway {data.gateway} ipv4.dns {data.dns}"\n'
|
f" - \"nmcli con modify 'System eth0' ipv4.address {data.cidr_1}"
|
||||||
f' - "nmcli con modify \'Wired connection 1\' ipv4.address {data.cidr_2} ipv4.method static ipv4.gateway {data.gateway} ipv4.dns {data.dns}"\n'
|
f" ipv4.method static ipv4.gateway {data.gateway} "
|
||||||
|
f'ipv4.dns {data.dns}"\n'
|
||||||
|
" - \"nmcli con modify 'Wired connection 1' ipv4.address "
|
||||||
|
f"{data.cidr_2} ipv4.method static ipv4.gateway {data.gateway} "
|
||||||
|
f'ipv4.dns {data.dns}"\n'
|
||||||
' - "nmcli networking off"\n'
|
' - "nmcli networking off"\n'
|
||||||
' - "nmcli networking on"\n'
|
' - "nmcli networking on"\n'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def write_user_data(data):
|
def write_user_data(data):
|
||||||
"""Write out a temporary user data file"""
|
"""Write out a temporary user data file"""
|
||||||
|
|
||||||
|
|
@ -148,6 +162,7 @@ def create_image(args):
|
||||||
|
|
||||||
print("Image resized")
|
print("Image resized")
|
||||||
|
|
||||||
|
|
||||||
def virt_install_cmd(args):
|
def virt_install_cmd(args):
|
||||||
"""Build and execute the virt-install command"""
|
"""Build and execute the virt-install command"""
|
||||||
cmd = f"""
|
cmd = f"""
|
||||||
|
|
@ -197,9 +212,7 @@ def install_packages(args):
|
||||||
print("installing needed packages...")
|
print("installing needed packages...")
|
||||||
|
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
print(
|
print(subprocess.check_output(cmd, shell=True, universal_newlines=True))
|
||||||
subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue