diff --git a/chi-appliance.py b/chi-appliance.py index 39d48a080a2e0e2aec1b0ca9fbfb9f10c10bf14a..f6b3b3b0a6b88f6706543f1fe008fb24bc62ff3e 100755 --- a/chi-appliance.py +++ b/chi-appliance.py @@ -51,7 +51,7 @@ def do_create(argv): template = os.path.abspath(argv.template) try: ret = shade_client.create_stack(argv.name, template_file=template, - wait=True, **extra_args) + wait=argv.wait, **extra_args) print(json.dumps(ret, indent=4)) except shade.exc.OpenStackCloudHTTPError as e: print(e) @@ -60,7 +60,7 @@ def do_create(argv): def do_delete(argv): """Delete an appliance with .""" shade_client = get_shade_client(argv.region) - ret = shade_client.delete_stack(argv.name) + ret = shade_client.delete_stack(argv.name, wait=argv.wait) if ret: print("Appliance successfully deleted.") else: @@ -216,6 +216,8 @@ def main(): # create a lease parser_create = subparsers.add_parser("create", help="Create an appliance") + parser_create.add_argument("--wait", action='store_true', + help="Wait for the operation to complete") parser_create.add_argument("name", help="Name of the appliance") parser_create.add_argument("lease", help="Lease for the appliance") parser_create.add_argument("template", help="Appliance template") @@ -225,6 +227,8 @@ def main(): parser_create.set_defaults(func=do_create) parser_delete = subparsers.add_parser("delete", help="Delete an appliance") + parser_delete.add_argument("--wait", action='store_true', + help="Wait for the operation to complete") parser_delete.add_argument("name", help="Name of the appliance") parser_delete.set_defaults(func=do_delete)