Commit Graph

396 Commits (1b0919724433ad0bf6c4219f402767c6c9c9028f)

Author SHA1 Message Date
Thomas Morin 6ad9f87ce7 Update debug.py (#51041)
Changed "though" to "through"
2019-01-21 15:08:26 +05:30
Abhijeet Kasurde 4817dcd0fc Minor typos (#50371)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-15 11:37:00 +00:00
Abhijeet Kasurde 17bb4f4932 default: callback plugin allow unreachable task to stderr (#50533)
Provide toggle flag to allow display of unreachable task to stderr
using default callback plugin.

Fixes: #48069

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-09 11:43:59 -05:00
Matt Martz 7a89d373ac Perf graphing (#46346)
* csv of memory usage

* Fix var

* Configurable output file

* Add cpu profiling

* Valdiate the existence of cgroup files

* Add guard to prevent exception when trying to reset max memory value

* to_bytes/to_text and docs updates

* Add support for CPU results

* Just track the max, don't log all results, and then calculate max

* Restore cgroup_memory_recap, and move new functionality into cgroup_perf_recap

* Add pid count tracking, restructure to support more profilers

* Add cli tool for graphing cgroup_perf_recap data

* csv_output_dir is a path

* Correct CALLBACK_NAME

* Include uuid in csv data

* fix linting errors

* Bump version_added

* Create helper funciton to create dict from list of keys, with callable default

* Updated notes to include pids

* Print a newline after each section

* Plugin improvements

* Add option to supporess recap display
* Add default for output directory
* Add option to dictate whether or not to write files
* Add JSON-seq output option

* s/uuid/task_uuid

* Use bytes for paths

* Increase polling interval length for pids/memory

* Reduce instance attrs, change how we invoke profilers

* Shorten some line lengths

* Remove more instance attrs

* Fix some typos

* document directory creation, and catch exceptions

* Enable per task file outputs, and filename customization

* s/per_task_file/file_per_task/g
2019-01-08 13:29:22 -05:00
Toshio Kuratomi afdbb0d9d5 Save the command line arguments into a global context
* Once cli args are parsed, they're constant.  So, save the parsed args
  into the global context for everyone else to use them from now on.
* Port cli scripts to use the CLIARGS in the context
* Refactor call to parse cli args into the run() method
* Fix unittests for changes to the internals of CLI arg parsing
* Port callback plugins to use context.CLIARGS
  * Got rid of the private self._options attribute
  * Use context.CLIARGS in the individual callback plugins instead.
  * Also output positional arguments in default and unixy plugins
  * Code has been simplified since we're now dealing with a dict rather
    than Optparse.Value
2019-01-03 18:12:23 -08:00
Remi Verchere 23706dbc20 Add support for NRDP notifications (#39297)
* Add support for NRDP notifications

* Correct pep-8 check, adding copyright

* Correct pep-8 check using autopep8

* Update nrdp to 2.6 version

* Update nrdp to 2.7 version

* Use internal ansible url and options modules

* Remove useless comments

* Add option to validate https certs

* Update nrdp to 2.8 version

* Correct nrdp pep8
2019-01-02 10:15:15 -05:00
Toshio Kuratomi 175f3b51e5 Ensure that current uses of BaseException are required
* In some cases, it appears that Exception should have been used instead
  as there's no need to catch sys.exit KeyboardInterrupt and similar.
* In a few cases, it appears that BaseException is used because
  a library we depend on calls sys.exit() contrary to good coding
  design.  Comment those so that we know that those have been audited
  and found to be correct and change to use (Exception, SystemExit)
  instead.
2018-12-16 15:03:19 -08:00
Toshio Kuratomi c817bef3ae Fix for callback plugins on Python3 when a module returns dictionary keys that aren't strings
This fixes one of the problems reported in https://github.com/ansible/ansible/issues/49343

Upstream Python3 bug for the json traceback:
https://bugs.python.org/issue25457

and PR that may fix it:
https://github.com/python/cpython/pull/8011
2018-12-04 23:03:48 -08:00
sdirbach e2f85b3f6c Implement test case prefix to filter test cases (#40174)
* Implement test case prefix to filter test cases

* Cut line to not exceed 160 chars

* Replace tabs with spaces

* Add version_added field

* Include changelog file
2018-12-03 18:41:44 +00:00
sdirbach 840ab706ee Implement hide task arguments feature (#40176)
* Implement hide task arguments feature

* Add version_added field

* Include changelog file
2018-12-03 09:22:51 +00:00
Will Thames 31ccb3c29d Diff mode returns yaml diffs in yaml callback plugin (#48794)
* Diff mode returns yaml diffs in yaml callback plugin

* Add changelog for yaml diff mode
2018-11-22 18:03:25 +00:00
Adam Chalkley 685ea357f9 counter_enabled.py - Fix minor typos (#49014) 2018-11-22 05:41:38 -05:00
Matt Martz 9773a1f289
Add a Singleton metaclass, use it with Display (#48935)
* Add a Singleton class, use it with Display

* update six import

* Move remaining failes to display singleton

* Fix rebase issues

* Singleton improvements

* Add code-smell for 'from __main__ import display'. ci_complete

* s/self/cls/g

* Add docs for no-main-display

* Address linting issues

* Add changelog fragment. ci_complete

* Implement reentrant lock for class instantiation in Singleton

* Add Display singleton porting guide
2018-11-20 17:06:51 -06:00
Abhijeet Kasurde f0c290c930 slack: Add validate_certs option in plugin (#46567)
This fix adds a configurable parameter for slack plugin.

Fixes: #45682

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-15 09:15:27 -06:00
Martin Krizek a80c25cbd9
Do not use str() on exceptions (#46950) 2018-11-09 07:59:30 +01:00
Chen Zhiwei 329d3b892b if we already have stderr, we don't need stderr_lines (#44675) 2018-11-06 12:36:42 -05:00
Matt Martz 40e5d2c951 Do not filter out exception, warnings, deprecations on failure when using debug (#47588)
* Do not filter out exception, warnings, deprecations on failure when using debug. Fixes #47576

* Add changelog fragment
2018-10-30 12:51:25 -04:00
Matt Martz fd662c0a63
New v2_runner_on_start callback added (#47684)
* New v2_runner_on_start callback added to indicate the start of execution for a host in a specific task

* Add changelog fragment

* Minor docstring clarification
2018-10-30 11:37:11 -05:00
Allyson Bowles 21859c06b9 Add output for skipped tasks 2018-10-19 10:38:29 -04:00
Allyson Bowles 219f1b8380 Display output for loops on 'ok' result 2018-10-19 10:38:29 -04:00
Abhijeet Kasurde a47b055ac7 Update profile_tasks docs (#46690)
Added configuration settings to enable profile_tasks via ansible.cfg

Fixes: #44555

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-19 08:19:57 -05:00
Brian Coca 643ff29d2d
use ansible json encoder for results in callbacks (#46830)
* use ansible json encoder for results in callbacks
2018-10-12 09:37:56 -04:00
akatch 878599fd9f Do not append msg to verbose tasks (#46721) 2018-10-10 12:11:43 -04:00
Matt Clay a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
Abhijeet Kasurde dbc80f89ca
Misc typo in logentries plugin module (#46568)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-07 07:25:01 +05:30
Eric L 446f83cdeb New option JUNIT_TASK_RELATIVE_PATH to output relative paths. (#37274)
* New option JUNIT_TASK_RELATIVE_PATH to output relative paths.

It makes the output in Jenkins much more readable as the absolute
path was taking the whole width of the screen, leaving no space for
the actual message.

A makedirs instead of mkdir slipped in as to make the creation of
the output directory recursive, hope this is OK.

* Add version_added field to doc set to 2.8
2018-10-02 12:25:29 -07:00
David Baumann c97f2b4c01 Fix callout json plugin show global stats (#43123)
* fix callback Plugin json to support global stat set by set_stats module

* refactor to not break compatiblity, add trailing comma on output dict

* Remove sorted, as it not needed

* refactor, to sivels better code

* clean some code messup

* add changelog fragment

* added missing new line

* fix pep8 stuff
2018-10-01 11:06:14 -05:00
Andrew Gaffney acac001742 Add number of skipped tasks to play recap in 'default' callback (#45797) 2018-09-20 14:38:54 -04:00
Matt Martz 95e77ac853
Ensure that the src file contents is converted to unicode in diff info (#45744)
* Ensure that the src file contents is converted to unicode in diff info. Fixes #45717

* Fix up and cleanup

* The diff functionality in the callback plugins should have the
  to_text() calls removed since we're now doing it in ActionBase
* catching of UnicodeError and warnings in the callback diff
  functionality from 61d01f549f haven't been
  needed since we switched to to_text so remove them.
* Add a note to ActionBase's diff function giving an example of when the
  diff function will be inaccurate and how to fix it

* Fix callback get_diff() tests

I believe the unittests of callback's get_diff() were wrong.  They were
sending in a list where strings were expected.  Because previous code
was transforming the lists into strings via their repr, the previous
tests did not fail but they would have formatted the test cases output
in an odd way if we had looked at it.
2018-09-20 12:31:48 -05:00
Ian Wienand c34e0f5e11 plugins/callbacks : fix some key documentation (#45267)
These are supposed to be a dictionary with section/key entries;
correct a few typos.
2018-09-06 15:38:25 -04:00
Andrew Gaffney 5708894f90 Bugfixes and integration tests for 'default' callback plugin
* display 'changed' tasks when hiding 'ok' tasks
* display proper task title for handlers (fixes #44007)
2018-08-15 07:56:17 -07:00
ivarmu 742ba04125 Add callback plugin to show current/total numberings for tasks and hosts in a task. (#40769)
Change version_added as requested
2018-08-15 10:22:53 -04:00
Andrew Gaffney c1f41ee607 Display correct task title with strategy 'free' (fixes #43950) 2018-08-10 23:39:44 -07:00
Jerry Elmore f5cd6d2821 Corrected spelling of 'formatted' (#43785) 2018-08-07 15:49:04 -04:00
Matt Martz 4094b017c0
Fix invocation output. Fixes #43447 (#43542) 2018-08-03 12:40:34 -05:00
Joren Vrancken b954917761 Surround top-level function and class definitions with two blank lines. 2018-07-31 12:06:56 -07:00
Andrew Gaffney 42346937b1
Display task banner before item status (#42892)
This is a follow-up to #41058
2018-07-24 12:25:28 -05:00
Brian Coca f1dcfe4f4c
use get_option instead of directly internal dict (#42199)
* use get_option instead of directly internal dict

as get_option can populate it, while direct access cannot
also setup fallback values for derived plugins not using config system correctly
2018-07-13 15:54:52 -04:00
Samir Musali 985768b2af LogDNA Callback Plugin (#40296)
* LogDNA Callback Plugin...
2018-07-11 15:37:01 -04:00
Andrew Gaffney 824524c67a
Display task banner before showing file diff (#42573) 2018-07-10 14:27:44 -05:00
Matt Martz 50905b980d Support item label in v2_playbook_on_include (#42478)
* Support item label in v2_playbook_on_include. Fixes #42301

* test fixes
2018-07-09 11:27:00 -04:00
Rémi REY da0f58787e callback/grafana_annotations: define validate_grafana_certs type as bool (#42318)
Fixes #42317
2018-07-05 15:49:58 +10:00
Andrew Gaffney f4efa2c4cc
Provide a fallback value for all options in 'default' callback plugin (#42155)
This is necessary for plugins that subclass 'default' but don't also
include its docs fragment. This is a follow-up to #41058
2018-06-30 21:31:30 -05:00
Troy Murray 15ce7c5bab change OS X to macOS (#41294)
* change OS X to macOS

<!--- Your description here -->

+label: docsite_pr

* Update all Mac OS X references to be macOS

* Drop extra Mac
2018-06-26 14:09:23 -04:00
hirsts c0c20835ac Create splunk.py (#40568)
* Create splunk.py

This is a new callback for logging to Splunk. It is based on sumologic.py and updated to work with the Splunk HTTP Event Collector. 
This has been by our team and others. 
It is working with Ansible 2.5.2

* Update splunk.py

Addressed white spaces and formatting issues

* Update splunk.py

* Update splunk.py

* Updated version to match target release

Following code review recommendations. Thanks for the help

* Updated colon impacting documentation

Updated based on code reviews. Thanks the help

* Updated quotes to be consistent
2018-06-26 13:08:34 -04:00
Andrew Gaffney 9c5d40ff15
Merge various stdout callback plugins into 'default' (#41058)
This allows mixing and matching of stdout callback features
2018-06-24 23:00:07 -05:00
Brian Coca 0102e42272
exclude lookup_terms from config errors (#41740)
* exclude lookup_terms from config errors
* moved direct
2018-06-21 17:50:24 -04:00
Brian Coca 27c43daab8
fix minor issues with debug and item labels (#41331)
* fix minor issues with debug and item labels

 - no more `item=None`, we always have a label now
 - debug should only show expected information, either msg= or the var in var=
 - also fixed method name, deprecated misleading _get_item
2018-06-21 16:14:57 -04:00
Matt Martz ec42797627 minimal callback doesn't properly respect changed, bring into alignment with oneline (#41273) 2018-06-07 18:10:26 -04:00
Felix Schmidt b7b19d139e Add start and end timestamp to task and play result in json callback (#39277)
* Add start and end timestamp to task result in json callback

Currently, the timestamp information is only provided directly by a few
Ansible modules (e.g. the command module, which shows the runtime of a
command per host result).
This change adds an 'overall' time information to all executed tasks. The
delta between both timestamps shows how long it took a task to finish
across all hosts/nodes.

This patch is also proposed for zuul and can be found here:
https://review.openstack.org/#/c/563888

* Add missing timezone information to 'start' and 'end' timestamps

As the datetime.isoformat() function is missing the timezone information,
we assume it's local time.

* Nest 'start' and 'end' timestamps in 'duration' field.

To clarify the purpose of those fields.

* Add 'start' and 'end' timestamps also for plays
2018-05-25 11:19:14 -05:00