From 846d858c2e05dca566fe2619a298cc6810f9034c Mon Sep 17 00:00:00 2001 From: Neill Cox Date: Wed, 15 Nov 2023 01:00:55 +0000 Subject: [PATCH] :construction: images, logging --- requirements.txt | 1 + .../os_migrate_validate_dst.py | 24 +++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/requirements.txt b/requirements.txt index cdb17ee..f862667 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ # pyflakes==2.5.0 # pylint==2.13.9 PyYAML==6.0.1 +rich diff --git a/src/tripleo_aio_helpers/os_migrate_validate_dst.py b/src/tripleo_aio_helpers/os_migrate_validate_dst.py index 1b008c4..1b54093 100644 --- a/src/tripleo_aio_helpers/os_migrate_validate_dst.py +++ b/src/tripleo_aio_helpers/os_migrate_validate_dst.py @@ -4,6 +4,7 @@ flavors, networks, images have not been created """ import argparse import json +import logging from rich import print @@ -29,10 +30,13 @@ def parse_args(): parser.add_argument("--private-network-name", default="private") parser.add_argument("--cirros-flavor-name", default="cirros") parser.add_argument("--rhel-flavor-name", default="rhel") + parser.add_argument("--cirros-image-name", default="cirros_image") + parser.add_argument("--rhel-image-name", default="rhel_image") parser.add_argument("--cirros-instance-name", default="cirros-test-instance") parser.add_argument("--rhel-instance-name", default="rhel-test-instance") parser.add_argument("--router-name", default="test-router") parser.add_argument("--group-name", default="os-migrate") + parser.add_argument("-l", "--log-level", default="WARN") # parser.add_argument( # "--ssh", help="Connection string to run commands on a remote host." @@ -76,6 +80,7 @@ def validate_member_role(args): Validate that the member role has been assigned to the user. """ cmd = f"role assignment list --user {args.username} --names --project {args.project_name} --role member -f json" + logging.debug(cmd) if len(openstack_cmd(cmd, args, as_json=True)) > 0: passed(f"User has member role in {args.project_name}") @@ -197,16 +202,19 @@ def validate_cirros_image(args): """Validate that the cirros image does not exist""" cmd = "image list -f json --all" + images = openstack_cmd(cmd, args, as_json=True) + + logging.debug(images) try: image = [ - f - for f in openstack_cmd(cmd, args, as_json=True) - if f["Name"] == args.cirros_image_name + i + for i in images + if i["Name"] == args.cirros_image_name ][0] - failed(f"Cirros image found (ID:{image['ID']})", args) + failed(f"Cirros image ({args.cirros_image_name}) found (ID:{image['ID']})", args) except IndexError: - passed("Cirros image not found.") + passed(f"Cirros image ({args.cirros_image_name}) not found.") def validate_rhel_image(args): @@ -220,9 +228,9 @@ def validate_rhel_image(args): for f in openstack_cmd(cmd, args, as_json=True) if f["Name"] == args.rhel_image_name ][0] - failed(f"RHEL image found (ID:{image['ID']})", args) + failed(f"RHEL image ({args.rhel_image_name}) found (ID:{image['ID']})", args) except IndexError: - passed("RHEL image not found.") + passed(f"RHEL image ({args.rhel_image_name}) not found.") def validate_cirros_instance(args): @@ -287,6 +295,8 @@ def main(): """main function""" args = parse_args() + logging.basicConfig(level=args.log_level) + validate_user(args) validate_project(args) validate_member_role(args)