Commit graph

6793 commits

Author SHA1 Message Date
Ralph Bean
a9a2a96218 Add a new unique_name param to the digital_ocean module for idempotence.
As it stands now, it is difficult to write idempotent tasks for digital
ocean droplets.  Digital ocean assigns new nodes a random id when they
are provisioned and that id is the only key that can be used to identify
it in subsequent runs of that play.

The workflow previously involved manual intervention:

- write a play defining a new node with no specified id
- run it, collect the randomly assigned id by hand
- modify the play to add the id by hand so future runs don't create
  duplicate nodes
- perform future re-runs that check if the node exists (by its id)
  - if it does exist then do nothing.
  - if it does not exist, then create it and return a *new random id*
  - collect the new random id by hand, modify the playbook file, and
    start all over.

Its a huge pain.

The modifications in this commit allow you to use the 'hostname' as a
primary key for idempotence with digital ocean.  By default, digital
ocean will let you create as many hosts with the same hostname as you
like.  Here, we provide an option to constrain the user to using only
unique hostnames.

The workflow will now look like:

- write a play defining a new node with a specified hostname and
  "unique_name: true""
- run it, create the new node and move on.
- re-run it, notice that a node with that hostname is already created
  and move on.
2013-09-18 16:07:22 -04:00
Ralph Bean
6ecf41530b Fix an example with a yaml syntax error. 2013-09-18 15:49:41 -04:00
Ralph Bean
d782d91b80 Fix some "make pep8" errors in the digital_ocean module. 2013-09-18 15:41:55 -04:00
Marcin Płonka
d0c78bdc83 using AIX 'csum' command for generating MD5 checksums 2013-09-18 21:07:25 +02:00
Brian Harring
5b1b831cc7 Make ssh's ControlPath configurable via ansible.cfg
This shouldn't generally be needed unless you're working in an environment
that uses rediculously long FQDNs; if the name is too long, you wind up
hitting unix domain socket filepath limits enforced by ssh.
2013-09-18 15:07:07 -04:00
James Cammarata
022918e5af Merge branch 'fix/apt_repository_update_cache' of https://github.com/resmo/ansible into resmo-fix/apt_repository_update_cache 2013-09-18 12:40:39 -05:00
James Cammarata
687753e4cb Fixing up some search/replace errors regarding user/remote_user 2013-09-18 12:22:41 -05:00
René Moser
9fccf96d61 apt_repository: added option update_cache.
The default behavior is to update_cache if changed.

If you add more then one repo, you may not want to update cache for every repo separately.
So you can now disable update_cache with this new option e.g. update_cache=no

Updating cache can also be handled using the apt module.
2013-09-18 19:14:08 +02:00
Michael DeHaan
39659db72a Merge pull request #4148 from ralphbean/digital_ocean_cleanup
Cosmetic - Digital ocean cleanup
2013-09-18 08:12:44 -07:00
Ralph Bean
a1ea15141e Remove trailing whitespace in digital ocean module. 2013-09-18 11:06:32 -04:00
Ralph Bean
3eab663f2e Remove duplicate docs in digital ocean module.
The EXAMPLES block here has two copies of the same docs,
one nicely formatted, the other less so.

It looks like a pass was made to clean up the docs but the old
cruftier ones were never removed.
2013-09-18 11:05:06 -04:00
Michael DeHaan
31ec42ef92 Merge pull request #4145 from resmo/fix/zabbix-inventory-stderr
zabbix inventory: print errors to stderr
2013-09-18 05:00:42 -07:00
René Moser
a991b62a51 apt_repository: fix update cache after state=changed. Closes GH-4136 2013-09-18 11:47:39 +02:00
René Moser
269ceada78 zabbix inventory: print errors to stderr 2013-09-18 09:56:30 +02:00
Stephen Fromm
27b5c2e28c Fix how module_common handles selevel (issue #4142)
Two fixes:

* parameter name is selevel, not serange.
* Fix split on selinux context to limit to max of 4 since the selevel
  may contain ':' characters.  This was fixed in
  selinux_default_context() and selinux_context().
2013-09-17 14:47:00 -07:00
James Cammarata
671eeb65b2 Merge pull request #4138 from resmo/fix/redundant-fail-json
apt: fixed duplicate fail_json
2013-09-17 06:08:51 -07:00
Rene Moser
9449d62fb2 apt: fixed duplicate fail_json 2013-09-17 15:05:20 +02:00
Skylar Saveland
50bd14faa9 use DEFAULT_MODULE_PATH in setup.py so that there is a chance to override with ANSIBLE_LIBRARY env variable 2013-09-16 19:08:22 -07:00
Michael DeHaan
d27f6e037e Merge pull request #4135 from shuhaowu/patch-1
Fixed monit restarted error.
2013-09-16 17:00:41 -07:00
Shuhao Wu
0d2a3f1b0c Fixed monit restarted error.
Errors everytime...
2013-09-16 19:14:17 -04:00
Les Aker
98bf473cb2 fixes for PTY handling 2013-09-16 17:44:32 -04:00
James Cammarata
c934d4a383 Added standardized includes to the CHANGELOG 2013-09-16 16:32:32 -05:00
James Cammarata
458f71b53c Merge branch 'issue_4129_role_defaults_empty_yaml' into devel
Conflicts:
	lib/ansible/playbook/play.py
2013-09-16 16:21:06 -05:00
James Cammarata
091a90ee8b Allow includes to follow the standard format
Previously, includes had to receive variables via a special 'vars'
field. With this patch, the include syntax becomes a more natural
datastructure without special fields and is more akin to the way
role includes/dependencies work.

Tested with the following playbook:
---
- hosts: localhost
  connection: local
  tasks:
  - { include: inc1.yml, a: 1 }
  - include: inc2.yml
    b: 2
  - include: inc3.yml
    with_items:
    - x
    - y
    - z

Fixes #3481
2013-09-16 16:12:36 -05:00
Skylar Saveland
8dc31f3093 ANSIBLE_DIST_MODULE_PATH environment variable 2013-09-16 13:43:20 -07:00
James Cammarata
c5bb1394b9 Check to make sure default_vars in the datastructure isn't empty
Fixes #4129
2013-09-16 13:16:06 -05:00
Michael DeHaan
4d352e69fc Update CHANGELOG.md 2013-09-16 10:53:56 -04:00
James Cammarata
f4c5f37ca6 Merge branch 'issue_3417_systemd_stuff' into devel 2013-09-16 09:30:39 -05:00
James Cammarata
5b15010099 Merge branch 'issue_3312_role_links' into devel 2013-09-16 09:29:25 -05:00
James Cammarata
02033f9ec8 Merge branch 'archlinux-fact' of https://github.com/Schnouki/ansible into Schnouki-archlinux-fact 2013-09-16 07:45:38 -05:00
James Cammarata
cc8d601fb6 Updated CHANGELOG for the failed_when feature 2013-09-16 07:39:22 -05:00
James Cammarata
3b801dec72 Merge branch 'failed_when' of https://github.com/hnakamur/ansible into hnakamur-failed_when 2013-09-16 07:35:34 -05:00
James Cammarata
105e2f916e Merge branch 'devel' of https://github.com/r-p-e/ansible into r-p-e-devel 2013-09-16 06:55:45 -05:00
James Cammarata
c6fdb85d88 Merge branch 'issue_3421_apt_pkg_iU' into devel 2013-09-16 06:54:05 -05:00
James Cammarata
e3bbb92005 Updating CHANGELOG for the recent commits 2013-09-16 06:20:37 -05:00
James Cammarata
fcc18fa105 Merge branch 'subelements' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-subelements 2013-09-16 06:14:42 -05:00
James Cammarata
25c102d4d8 Adding a note in the documentation regarding user->remote_user change 2013-09-16 06:03:15 -05:00
James Cammarata
aac3090909 Merge branch 'play_remote_user' of https://github.com/bcoca/ansible into bcoca-play_remote_user 2013-09-16 05:55:14 -05:00
James Cammarata
3848e02959 Merge branch 'issue4022' of https://github.com/sfromm/ansible into sfromm-issue4022
Conflicts:
	lib/ansible/runner/connection_plugins/accelerate.py
2013-09-16 05:50:35 -05:00
James Cammarata
cee2bddc24 Updated version_added string for the new validate_md5 option 2013-09-16 05:42:13 -05:00
James Cammarata
d9cf1dfefb Merge branch 'fetch' of https://github.com/bpennypacker/ansible into bpennypacker-fetch 2013-09-16 05:39:48 -05:00
James Cammarata
f4b3defcbf Set sudo in accelerate commands correctly
Fixes #4111
2013-09-15 20:20:22 -05:00
r-p-e
338ecdd578 Simplify the selection of date command
- use egrep patterns to detect BSDs in one ifeq
- use seconds-since-epoch as input for BSD date (-r option)
- get seconds-since-epoch from git log with "%at" format string
2013-09-15 21:27:18 +02:00
Michael DeHaan
f93ef96a08 Merge pull request #4115 from r-p-e/devel
Add some more OpenBSD facts
2013-09-15 10:29:40 -07:00
Michael DeHaan
5c0dd958e5 Merge pull request #4028 from willthames/lineinfile_userdir
Expand tilde in paths in file module
2013-09-15 09:33:49 -07:00
Michael DeHaan
00c0770f1b Merge pull request #4075 from sayap/easy_install
Locate easy_install path after (optionally) creating virtualenv.
2013-09-15 09:29:51 -07:00
r-p-e
2f887c6dca Add some more OpenBSD facts
added:
 * ansible_distribution
 * ansible_distribution_release
 * ansible_distribution_version
2013-09-15 17:58:29 +02:00
Michael Scherer
a6be1edd96 add inventory script for listing jails on *bsd 2013-09-15 17:41:20 +02:00
Michael Scherer
5e1828a524 add jail module, based on lxc and chroot connexion plugin 2013-09-15 17:26:48 +02:00
Michael DeHaan
a563ea1340 Update CONTRIBUTING.md 2013-09-13 21:26:49 -04:00