diff options
-rw-r--r-- | heatclient/tests/test_shell.py | 10 | ||||
-rw-r--r-- | heatclient/v1/shell.py | 13 |
2 files changed, 19 insertions, 4 deletions
diff --git a/heatclient/tests/test_shell.py b/heatclient/tests/test_shell.py index 9b196e2..9c15241 100644 --- a/heatclient/tests/test_shell.py +++ b/heatclient/tests/test_shell.py @@ -397,7 +397,8 @@ class ShellTestUserPass(ShellBase): 'limit': 2, 'status': ['COMPLETE', 'FAILED'], 'marker': 'fake_id', - 'global_tenant': True + 'global_tenant': True, + 'show_deleted': 'True', }, True) fakes.script_heat_list(expected_url) @@ -408,7 +409,8 @@ class ShellTestUserPass(ShellBase): ' --marker fake_id' ' --filters=status=COMPLETE' ' --filters=status=FAILED' - ' --global-tenant') + ' --global-tenant' + ' --show-deleted') required = [ 'teststack', @@ -820,7 +822,8 @@ class ShellTestUserPass(ShellBase): 'LinuxDistribution': 'F17"', '"InstanceType': 'm1.large', 'DBPassword': 'verybadpassword'}, - 'timeout_mins': 123} + 'timeout_mins': 123, + 'disable_rollback': True} http.HTTPClient.json_request( 'PUT', '/stacks/teststack2/2', data=expected_data, @@ -999,6 +1002,7 @@ class ShellTestUserPass(ShellBase): update_text = self.shell( 'stack-update teststack2/2 ' '--template-file=%s ' + '--enable-rollback ' '--parameters="InstanceType=m1.large;DBUsername=wp;' 'DBPassword=verybadpassword;KeyName=heat_key;' 'LinuxDistribution=F17"' % template_file) diff --git a/heatclient/v1/shell.py b/heatclient/v1/shell.py index f740eb2..2dedbc4 100644 --- a/heatclient/v1/shell.py +++ b/heatclient/v1/shell.py @@ -329,6 +329,11 @@ def do_stack_show(hc, args): help='URL of template.') @utils.arg('-o', '--template-object', metavar='<URL>', help='URL to retrieve template object (e.g. from swift).') +@utils.arg('-t', '--timeout', metavar='<TIMEOUT>', + type=int, + help='Stack update timeout in minutes.') +@utils.arg('-r', '--enable-rollback', default=False, action="store_true", + help='Enable rollback on create/update failure.') @utils.arg('-P', '--parameters', metavar='<KEY1=VALUE1;KEY2=VALUE2...>', help='Parameter values used to create the stack. ' 'This can be specified multiple times, or once with parameters ' @@ -353,6 +358,8 @@ def do_update(hc, args): @utils.arg('-t', '--timeout', metavar='<TIMEOUT>', type=int, help='Stack update timeout in minutes.') +@utils.arg('-r', '--enable-rollback', default=False, action="store_true", + help='Enable rollback on create/update failure.') @utils.arg('-P', '--parameters', metavar='<KEY1=VALUE1;KEY2=VALUE2...>', help='Parameter values used to create the stack. ' 'This can be specified multiple times, or once with parameters ' @@ -374,6 +381,7 @@ def do_stack_update(hc, args): fields = { 'stack_id': args.id, + 'disable_rollback': not(args.enable_rollback), 'parameters': utils.format_parameters(args.parameters), 'template': template, 'files': dict(list(tpl_files.items()) + list(env_files.items())), @@ -393,6 +401,8 @@ def do_list(hc, args=None): do_stack_list(hc) +@utils.arg('-s', '--show-deleted', default=False, action="store_true", + help='Include soft-deleted stacks in the stack listing.') @utils.arg('-f', '--filters', metavar='<KEY1=VALUE1;KEY2=VALUE2...>', help='Filter parameters to apply on returned stacks. ' 'This can be specified multiple times, or once with parameters ' @@ -414,7 +424,8 @@ def do_stack_list(hc, args=None): kwargs = {'limit': args.limit, 'marker': args.marker, 'filters': utils.format_parameters(args.filters), - 'global_tenant': args.global_tenant} + 'global_tenant': args.global_tenant, + 'show_deleted': args.show_deleted} stacks = hc.stacks.list(**kwargs) fields = ['id', 'stack_name', 'stack_status', 'creation_time'] |