diff --git a/src/molecule/provisioner/ansible_playbook.py b/src/molecule/provisioner/ansible_playbook.py index aec4ec4170..af20f8e638 100644 --- a/src/molecule/provisioner/ansible_playbook.py +++ b/src/molecule/provisioner/ansible_playbook.py @@ -20,6 +20,7 @@ """Ansible-Playbook Provisioner Module.""" import logging +import shlex import warnings from molecule import util @@ -116,8 +117,10 @@ def execute(self, action_args=None): result = util.run_command(self._ansible_command, debug=self._config.debug) if result.returncode != 0: + from rich.markup import escape + util.sysexit_with_message( - f"Ansible return code was {result.returncode}, command was: {result.args}", + f"Ansible return code was {result.returncode}, command was: [dim]{escape(shlex.join(result.args))}[/dim]", result.returncode, warns=warns, ) diff --git a/src/molecule/util.py b/src/molecule/util.py index f486eee323..ff7d5aeffd 100644 --- a/src/molecule/util.py +++ b/src/molecule/util.py @@ -108,7 +108,7 @@ def sysexit_with_message( if detail: detail_str = safe_dump(detail) if isinstance(detail, dict) else str(detail) print(detail_str) - LOG.critical(msg) + LOG.critical(msg, extra={"highlighter": False}) for warn in warns: LOG.warning(warn.__dict__["message"].args[0])