.. :changelog: Changelog --------- 1.4.6 (2020-03-26) ++++++++++++++++++ - Fixed a bug that broke Ansible playbook execution prior to version 2.8 of Ansible. 1.4.5 (2020-03-19) ++++++++++++++++++ - Fix an issue with --process_isoloation_*_ paths parsing cli args - Switch default docker images to centos:8 - Switch extravar format so we can support more than just string types - Make sure job events folder is created earlier to prevent errors when using immediately after starting a runner job - Annotate all runner_on events with start/end/duration times 1.4.4 (2019-10-25) ++++++++++++++++++ - Fix some unicode issues when using command line override on python 2.7 - Fix an issue with file handles not closing on the pexpect pty - Fix missing ssh_key parameter from module interface - Fix a bug where the ssh agent process would hang around after process isolation exit causing a failure to remove temporary directories 1.4.2 (2019-10-04) ++++++++++++++++++ - Reverted ansible-runner --version to print a semantic version number 1.4.1 (2019-10-03) ++++++++++++++++++ - Fixed a bug that prevented ANSIBLE_HOST_KEY_CHECKING from being respected 1.4.0 (2019-09-20) ++++++++++++++++++ - Added changed count to stats data - Added initial support for gathering performance statistics using the system's cgroup interface - Fix command line args override missing from module run kwargs - Omit inventory argument entirely if no inventory content is supplied this allows ansible to pick up inventory from implicit locations and ansible.cfg - Fix an issue where Runner wouldn't properly clean up process isolation temporary directories - Fix error generated if unsafe parameter is used on vars prompt tasks - Fix an issue where additional callback plugins weren't being used when defined in the environment - Fix an issue where Runner would stop returning events after the playbook finished when using run_async - Fix an issue where unicode in task data would cause Runner to fail - Fix issues using vaulted data that would cause Runner to fail - Fix an issue where artifact-dir was only allowed in ad-hoc mode 1.3.4 (2019-04-25) ++++++++++++++++++ - Removed an explicit version pin of the six library (which is unavailable in certain Linux distributions). - Fixed an event handling bug in the callback plugin in Ansible2.9+ 1.3.3 (2019-04-22) ++++++++++++++++++ - Fix various issues involving unicode input and output - Fix an issue where cancelling execution could cause an error rather than assigning the proper return code and exiting cleanly - Fix various errors that would cause Runner to silently exit if some dependencies weren't met or some commands weren't available - Fix an issue where the job_events directory wasn't created and would result in no output for non-ansible commands 1.3.2 (2019-04-10) ++++++++++++++++++ - Add direct support for forks and environment variable in parameterization - Fix a bug where unicode in playbooks would cause a crash - Fix a bug where unicode in environment variables would cause a crash - Capture command and cwd as part of the artifacts delivered for the job - Automatically remove process isolation temp directories - Fail more gracefully if ansible and/or bubblewrap isn't available at startup - Fix an issue where `verbose` events would be delayed until the end of execution 1.3.1 (2019-03-27) ++++++++++++++++++ - Fixes to make default file permissions much more secure (0600) - Adding git to the reference container image to support galaxy requests 1.3.0 (2019-03-20) ++++++++++++++++++ - Add support for directory isolation - Add Debian packaging support - Add fact caching support - Add process isolation configuration in the settings file - Fix event and display issues related to alternative Ansible strategies - Add Runner config reference to status handler callback - Add some more direct access to various ansible command line arguments - Adding playbook stats for "ignored" and "rescued" - Fix loading of some ansible resources from outside of the private data directory (such as projects/playbooks) - Fix handling of artifact dir when specified outside of the private data directory - Fix an issue where the stdout handle wasn't closed and not all data would be flushed - Fixed extravar loading behavior - Added support for resolving parent events by associating their event uuid as parent_uuid - Allow PYTHONPATH to be overridden - Expand support for executing non-ansible tools 1.2.0 (2018-12-19) ++++++++++++++++++ - Add support for runner_on_start from Ansible 2.8 - Fix thread race condition issues in event gathering - Add Code Of Conduct - Fix an issue where the "running" status wouldn't be emitted to the status callback - Add process isolation support via bubblewrap - Fix an issue with orphaned file descriptors - Add ability to suppress ansible output from the module interface 1.1.2 (2018-10-18) ++++++++++++++++++ - Fix an issue where ssh sock path could be too long - Fix an issue passing extra vars as dictionaries via the interface - Fix an issue where stdout was delayed on buffering which also caused stdout not to be available if the task was canceled or failed - Fix role-path parameter not being honored when given on the command line Also fixed up unit tests to actually surface this error if it comes back - Fully onboard Zuul-CI for unit and integration testing 1.1.1 (2018-09-13) ++++++++++++++++++ - Fix an issue when attaching PYTHONPATH environment variable - Allow selecting a different ansible binary with the RUNNER_BINARY - Fix --inventory command line arguments - Fix some issues related to terminating ansible - Add runner ident to to the event processing callback - Adding integration tests and improving unit tests 1.1.0 (2018-08-16) ++++++++++++++++++ - Added a feature that supports sending ansible status and events to external systems via a plugin interface - Added support for Runner module users to receive runtime status changes in the form of a callback that can be supplied to the run() methods (or passing it directly on Runner initialization) - Fix an issue where timeout settings were far too short - Add a new status and return code to indicate Runner timeout occurred. - Add support for running ad-hoc commands (direct module invocation, ala ansible vs ansible-playbook) - Fix an issue that caused missing data in events sent to the event handler(s) - Adding support for supplying role_path in module interface - Fix an issue where messages would still be emitted when --quiet was used - Fix a bug where ansible processes could be orphaned after canceling a job - Fix a bug where calling the Runner stats method would fail on python 3 - Fix a bug where direct execution of roles couldn't be daemonized - Fix a bug where relative paths couldn't be used when calling start vs run 1.0.5 (2018-07-23) ++++++++++++++++++ - Fix a bug that could cause a hang if unicode environment variables are used - Allow select() to be used instead of poll() when invoking pexpect - Check for the presence of Ansible before executing - Fix an issue where a missing project directory would cause Runner to fail silently - Add support for automatic cleanup/rotation of artifact directories - Adding support for Runner module users to receive events in the form of a callback that can be supplied to the run() methods (or passing it directly on Runner initialization) - Adding support for Runner module users to provide a callback that will be invoked when the Runner Ansible process has finished. This can be supplied to the run() methods (or passing it directly on Runner initialization). 1.0.4 (2018-06-29) ++++++++++++++++++ - Adding support for pexpect 4.6 for performance and efficiency improvements - Adding support for launching roles directly - Adding support for changing the output mode to json instead of vanilla Ansible (-j) - Adding arguments to increase ansible verbosity (-v[vvv]) and quiet mode (-q) - Adding support for overriding the artifact directory location - Adding the ability to pass arbitrary arguments to the invocation of Ansible - Improving debug and verbose output - Various fixes for broken python 2/3 compatibility, including the event generator in the python module - Fixing a bug when providing an ssh key via the private directory interface - Fixing bugs that prevented Runner from working on MacOS - Fixing a bug that caused issues when providing extra vars via the private dir interface