Commit Graph

2817 Commits (579b80ab8feff8740399acd974806c4adfdcf307)
 

Author SHA1 Message Date
Dag Wieers 03af450bdc Module to assist users in understanding Ansible
After helping someone on IRC he was interested to have this debug module in upstream. This module simply 'prints' a message, and can be ordered to fail if needed. It helps to troubleshoot or understand inventory/facts issues and/or experiment with statements and conditions using only_if.

Here is a small example playbook:

```yaml
- hosts: all
  tasks:
  - local_action: debug msg="System $inventory_hostname has uuid ${ansible_product_uuid}"
  - local_action: debug msg="System $inventory_hostname lacks a gateway" fail=yes
    only_if: "is_unset('$ansible_default_ipv4.gateway')"
  - local_action: debug msg="System $inventory_hostname has gateway ${ansible_default_ipv4.gateway}"
    only_if: "is_set('$ansible_default_ipv4.gateway')"
```

outputting:
```
[root@moria ansible]# ansible-playbook -v -l localhost:x220 test6.yml

PLAY [all] *********************

GATHERING FACTS *********************
ok: [localhost]
ok: [x220]

TASK: [debug msg="System $inventory_hostname has uuid $ansible_product_uuid"] *********************
ok: [localhost] => {"msg": "System localhost has uuid d125a48c-364f-4e65-b225-fed42ed61fac"}
ok: [x220] => {"msg": "System x220 has uuid d125a48c-364f-4e65-b225-fed42ed61fac"}

TASK: [debug msg="System $inventory_hostname lacks a gateway" fail=yes] *********************
failed: [localhost] => {"failed": true, "msg": "System localhost lacks a gateway", "rc": 1}
ok: [x220] => {"msg": "System x220 has gateway 192.168.1.1"}

PLAY RECAP *********************
localhost                      : ok=2    changed=0    unreachable=0    failed=1
x220                           : ok=3    changed=0    unreachable=0    failed=0

```

I had some other plans for the module, like displaying host inventory and complete inventory to help understand inventory and facts modules, but that would require an action-plugin for transfering inventory information etc... And I am not sure this is wanted/best done in a module.
12 years ago
Jan-Piet Mens 9ed59da294 Allow user-specified $ansible_managed string with named parameters 12 years ago
Tim Bielawa 9f6da7b885 Fix variable injection in pause module args. Closes #1209 12 years ago
Michael DeHaan 761330b125 Fix module formatter indexing 12 years ago
Michael DeHaan 94546831b4 Typo fix/rebuild 12 years ago
Michael DeHaan 348b49c166 Fix typo 12 years ago
Michael DeHaan 88433eb93f Fix typo / rebuild 12 years ago
Michael DeHaan 826c71fcb1 Fix patterns typo, rebuild 12 years ago
Michael DeHaan e170d7304b Added documentation on file force parameter 12 years ago
Michael DeHaan a6f64a8e04 Merge pull request #1219 from tbielawa/move_modulepages
Library functions and modules should be in the 3 man page section. Also ...
12 years ago
Aleksej Romanov 01e922aa69 Indicate errors with exit code. 12 years ago
Tim Bielawa 85fb7c6d4b Library functions and modules should be in the 3 man page section. Also the files should end in '.3' 12 years ago
Michael DeHaan 8fa2070074 Merge pull request #8 from jpmens/rstlist
Makefile uses module_formatter now creates list of modules to include in .rst
12 years ago
Michael DeHaan 53d24ef002 Check in generated manpage documentation from modules 12 years ago
Michael DeHaan 046c6c66f2 various small doc tweaks 12 years ago
Michael DeHaan ad5433b166 include version added info for individual fields 12 years ago
Michael DeHaan f67aa85c3f Fixing various module related things. 12 years ago
Michael DeHaan 85a31616de Call os.path.expanduser in the creates= and removes= section of the command module so ~/ and the like works. 12 years ago
Michael DeHaan b3548703f7 Merge pull request #1203 from dagwieers/fail-module
A fail module in order to fail execution on certain conditions
12 years ago
Michael DeHaan d14741799a Merge pull request #1204 from dagwieers/fatal-red
Make fatal errors red
12 years ago
Michael DeHaan 459d9ea30d Merge pull request #1205 from dagwieers/ignore-cyan
Make ignored/skipped different from changed
12 years ago
Michael DeHaan 212296e59c Merge pull request #1207 from dagwieers/gather_facts-fix
Fix gather_facts assumption that SETUP_CACHE for a host is empty
12 years ago
Michael DeHaan cef73d1545 Merge pull request #1202 from dagwieers/abort-play-abort-playbook
Abort a play at the start when no hosts matches, or no hosts are remaining
12 years ago
Dag Wieers fedfd18774 Fix gather_facts assumption that SETUP_CACHE for a host is empty
We now check explicitely for 'module_setup' in the SETUP_CACHE in order to avoid skipping setup because SETUP_CACHE was populated some other way. Other modules can implement the same mechanism to test if they've already run.

This closes #1206.
12 years ago
Dag Wieers f11ab4383a Make ignored/skipped different from changed
Since a skipped/ignored action is _very_ different from actual changes to a system, it always bothered me that  it was not easily distinguishable when skimming the output. This change makes ignore/skip a different color, and I chose cyan. Contemplated using dark-gray/blue, but prefered something that is readable with most terminal colors.
12 years ago
Dag Wieers 7acc0a632b Make fatal errors red 12 years ago
Dag Wieers 1d27909ec0 Added a fail module in order to fail execution on certain conditions
In some cases you may want to deliberately fail the execution of a playbook. In our provisioning workflow we want to have safeguards in place to avoid provisioning systems that are already in production. Since we reboot physical and virtual systems, it is mandatory we take all the precautions to prevent accidental provisioning.

So in our use-case we have the following at the very start of the provisioning playbook:

    ### Safeguard to protect production systems
    - local_action: fail msg="System is not ready to be staged according to CMDB"
      only_if: "'$cmdb_status' != 'to-be-staged'"

and we repeat the same task in the (separate included) play that takes care of (re)booting the system using our own boot-media, so that it cannot be accidentally separately run by someone.
12 years ago
Dag Wieers 20c1a67711 Abort a play at the start when no hosts matches, or no hosts are remaining
This change makes a distinction between no_hosts_matched and no_hosts_remaining.

In both cases we do not start facts-gathering, or run any tasks.

In the case that there are no more hosts remaining, we abort running tasks and abort the playbook.

I also cleaned up the leftovers from the previous patchsets, as these are no longer required.

This closes #1187.

Example playbook:

```yaml
---
- hosts: emptygroup
  tasks:
  - action: command date
  - action: command false

- hosts: all
  gather_facts: False
  tasks:
  - action: command ls
  - action: command false
  - action: command true

- hosts: all
  tasks:
  - action: command true
  - action: command false

- hosts: all
  tasks:
  - action: command pwd
```
12 years ago
Michael DeHaan e1b1702616 Merge pull request #1201 from dhozac/setup-once-per-node
Only gather facts once per node per playbook run
12 years ago
Daniel Hokka Zakrisson 564a212b3c Only gather facts once per node per playbook run
Unless gather_facts: True is on the play
12 years ago
Michael DeHaan 56d45074af Merge pull request #1200 from broferek/master
Fix for issue #1194
12 years ago
Petetin Ludovic 17423c9268 Fix issue https://github.com/ansible/ansible/issues/1194 12 years ago
Michael DeHaan 9bab05bafc Merge pull request #1197 from dagwieers/utc-date
Make use of UTC dates for RPM timestamp
12 years ago
Dag Wieers 765061d445 Make use of UTC dates for RPM timestamp
So they can be shared/compared by people in different timezones
12 years ago
Michael DeHaan 4677699500 Merge pull request #1195 from jpmens/jtempl
Feature: file info on templates accessible to Jinja2 templates
12 years ago
Michael DeHaan 6616fba1ab Merge pull request #1189 from jpmens/nagpause
standardize DOCUMENTATION for nagios, pause
12 years ago
Jan-Piet Mens 5f04ef8b4c Feature: file info on templates accessible to Jinja2 templates
add ansible_managed
12 years ago
Michael DeHaan 7779da264d Merge pull request #1190 from jpmens/asy1
attempt at DOCUMENTATION for async_status
12 years ago
Jan-Piet Mens a1f192976f attempt at DOCUMENTATION for async_status 12 years ago
Jan-Piet Mens 83029755f7 standardize DOCUMENTATION for nagios, pause 12 years ago
Michael DeHaan f897f19fc5 Teach fireball mode to disable the fireball by paying attention to 'minutes=N' (default 30) and do not let fireball module crash
on input.
12 years ago
Michael DeHaan 14f7c85ce7 Include a space and a colon after prompts, so you don't have to put them in yourself. Consistent with documented behavior in examples/playbooks/prompts.yml 12 years ago
Michael DeHaan b90eccc4f8 Merge pull request #1186 from dhozac/varreplacewi-nonstr
Allow non-string types in with_items variables
12 years ago
Michael DeHaan 2165351f2c Merge pull request #1185 from tbielawa/pause_docs
Add DOCUMENTATION to pause task
12 years ago
Michael DeHaan b2ad63a860 Merge pull request #1183 from tbielawa/nagios_docs
Add DOCUMENTATION to nagios module.
12 years ago
Michael DeHaan 5683277e4a Be smarter about when to abort a playbook -- if it's early, we just didn't match any hosts, so keep on, hosts might be dynamic. 12 years ago
Tim Bielawa ca87fa56d8 Add DOCUMENTATION to pause task 12 years ago
Tim Bielawa f3d9f8da7b Add DOCUMENTATION to nagios module. 12 years ago
Michael DeHaan 35de8da108 Merge pull request #1180 from dhozac/remove-debug-print
Remove debug print statement
12 years ago
Daniel Hokka Zakrisson 48c5d696d2 Remove debug print statement 12 years ago