From 294c0f91c079267acb48927663dd2bacca3d88cb Mon Sep 17 00:00:00 2001 From: David Newswanger Date: Fri, 7 Jul 2017 15:37:08 -0400 Subject: [PATCH] added option to ansible-test to run test playbooks using the debug strategy (#26499) --- test/runner/lib/config.py | 1 + test/runner/lib/delegation.py | 2 +- test/runner/lib/executor.py | 3 +++ test/runner/test.py | 4 ++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/test/runner/lib/config.py b/test/runner/lib/config.py index b64288349f..1ad5739b3c 100644 --- a/test/runner/lib/config.py +++ b/test/runner/lib/config.py @@ -140,6 +140,7 @@ class IntegrationConfig(TestConfig): self.start_at_task = args.start_at_task # type: str self.allow_destructive = args.allow_destructive if 'allow_destructive' in args else False # type: bool self.retry_on_error = args.retry_on_error # type: bool + self.debug_strategy = args.debug_strategy # type: bool self.tags = args.tags self.skip_tags = args.skip_tags self.diff = args.diff diff --git a/test/runner/lib/delegation.py b/test/runner/lib/delegation.py index 81106aed86..ad914b4302 100644 --- a/test/runner/lib/delegation.py +++ b/test/runner/lib/delegation.py @@ -183,7 +183,7 @@ def delegate_docker(args, exclude, require): cmd_options = [] - if isinstance(args, ShellConfig): + if isinstance(args, ShellConfig) or (isinstance(args, IntegrationConfig) and args.debug_strategy): cmd_options.append('-it') with tempfile.NamedTemporaryFile(prefix='ansible-source-', suffix='.tgz') as local_source_fd: diff --git a/test/runner/lib/executor.py b/test/runner/lib/executor.py index f4b58a8cc8..0e4f2490ed 100644 --- a/test/runner/lib/executor.py +++ b/test/runner/lib/executor.py @@ -595,6 +595,9 @@ def integration_environment(args, target, cmd): ANSIBLE_CALLBACK_WHITELIST='junit', ) + if args.debug_strategy: + env.update(dict(ANSIBLE_STRATEGY='debug')) + env.update(integration) cloud_environment = get_cloud_environment(args, target) diff --git a/test/runner/test.py b/test/runner/test.py index f3a286810f..eeb408f2d5 100755 --- a/test/runner/test.py +++ b/test/runner/test.py @@ -216,6 +216,10 @@ def parse_args(): action='store_true', help='retry failed test with increased verbosity') + integration.add_argument('--debug-strategy', + action='store_true', + help='run test playbooks using the debug strategy') + subparsers = parser.add_subparsers(metavar='COMMAND') subparsers.required = True # work-around for python 3 bug which makes subparsers optional