diff --git a/zunclient/api_versions.py b/zunclient/api_versions.py index 30788015..318b146a 100644 --- a/zunclient/api_versions.py +++ b/zunclient/api_versions.py @@ -30,7 +30,7 @@ if not LOG.handlers: HEADER_NAME = "OpenStack-API-Version" SERVICE_TYPE = "container" -DEFAULT_API_VERSION = '1.11' +DEFAULT_API_VERSION = '1.12' _SUBSTITUTIONS = {} diff --git a/zunclient/osc/v1/containers.py b/zunclient/osc/v1/containers.py index 93c87eb5..b99e78b9 100644 --- a/zunclient/osc/v1/containers.py +++ b/zunclient/osc/v1/containers.py @@ -293,6 +293,10 @@ class DeleteContainer(command.Command): '--force', action='store_true', help='Force delete the container.') + parser.add_argument( + '--stop', + action='store_true', + help='Stop the running container first before delete.') parser.add_argument( '--all-tenants', action="store_true", @@ -307,6 +311,7 @@ class DeleteContainer(command.Command): opts = {} opts['id'] = container opts['force'] = parsed_args.force + opts['stop'] = parsed_args.stop opts['all_tenants'] = parsed_args.all_tenants opts = zun_utils.remove_null_parms(**opts) try: diff --git a/zunclient/tests/unit/test_shell.py b/zunclient/tests/unit/test_shell.py index d4d5a697..0e5ded22 100644 --- a/zunclient/tests/unit/test_shell.py +++ b/zunclient/tests/unit/test_shell.py @@ -246,7 +246,7 @@ class ShellTest(utils.TestCase): project_domain_id='', project_domain_name='', user_domain_id='', user_domain_name='', profile=None, endpoint_override=None, insecure=False, - version=api_versions.APIVersion('1.11')) + version=api_versions.APIVersion('1.12')) def test_main_option_region(self): self.make_env() @@ -274,7 +274,7 @@ class ShellTest(utils.TestCase): project_domain_id='', project_domain_name='', user_domain_id='', user_domain_name='', profile=None, endpoint_override=None, insecure=False, - version=api_versions.APIVersion('1.11')) + version=api_versions.APIVersion('1.12')) @mock.patch('zunclient.client.Client') def test_main_endpoint_internal(self, mock_client): @@ -288,7 +288,7 @@ class ShellTest(utils.TestCase): project_domain_id='', project_domain_name='', user_domain_id='', user_domain_name='', profile=None, endpoint_override=None, insecure=False, - version=api_versions.APIVersion('1.11')) + version=api_versions.APIVersion('1.12')) class ShellTestKeystoneV3(ShellTest): @@ -319,4 +319,4 @@ class ShellTestKeystoneV3(ShellTest): project_domain_id='', project_domain_name='Default', user_domain_id='', user_domain_name='Default', endpoint_override=None, insecure=False, profile=None, - version=api_versions.APIVersion('1.11')) + version=api_versions.APIVersion('1.12')) diff --git a/zunclient/v1/containers_shell.py b/zunclient/v1/containers_shell.py index c09ba3be..2a4f51c6 100644 --- a/zunclient/v1/containers_shell.py +++ b/zunclient/v1/containers_shell.py @@ -197,6 +197,9 @@ def do_list(cs, args): @utils.arg('-f', '--force', action='store_true', help='Force delete the container.') +@utils.arg('-s', '--stop', + action='store_true', + help='Stop the running container first before delete.') @utils.arg('--all-tenants', action="store_true", default=False, @@ -207,6 +210,7 @@ def do_delete(cs, args): opts = {} opts['id'] = container opts['force'] = args.force + opts['stop'] = args.stop opts['all_tenants'] = args.all_tenants opts = zun_utils.remove_null_parms(**opts) try: