Commit graph

4739 commits

Author SHA1 Message Date
James Martin
d951ed65ed Adds support for public_ip boolean for launch configurations. 2014-08-06 14:18:56 -07:00
Christophe Biocca
c3e2f5c663 Ensure named packages not in top level are marked as missing. 2014-08-06 10:52:58 -04:00
Serge van Ginderachter
25b696c2d2 execute the mount after path validation
This avoids a stale situation where name/path contains some impossible path,
but gets configured (faultly) in fstab, and the module only fails after that,
when creating that path.
2014-08-06 10:52:08 +02:00
Michael DeHaan
e90d2573d1 Merge pull request #8455 from nicocesar/version_check
if python >=2.7  use the option allow_no_value=True for ini_file.
2014-08-05 21:00:37 -04:00
Michael DeHaan
cc1d1ad042 Some stray doc tweaks with file modules. 2014-08-05 20:45:16 -04:00
Michael DeHaan
f24e335d0f Move doc fragments back into file module. 2014-08-05 20:45:16 -04:00
James Cammarata
d398dc1ba8 Merge branch 'asg_update' of https://github.com/jsmartin/ansible into jsmartin-asg_update 2014-08-05 10:20:29 -05:00
Nico Cesar
edea537c76 if python >=2.7 use the option allow_no_value=True for ini_file. 2014-08-05 10:56:20 -04:00
Monty Taylor
4012272fa2 Add common auth handling across openstack modules
Taking a page out of the ec2 config, make sure that all of the
OpenStack modules handle the inbound auth config in the same way.
The one outlier is keystone wrt auth_url.
2014-08-04 20:55:30 -07:00
Monty Taylor
efb989a50c Consume standard OpenStack environment settings
The OpenStack client utilities consume a set of input environment
variables for things like username and auth_url, so it's very
common for OpenStack users to have such settings set in their
environment. Indeed, things like devstack also output a shell file
to be sourced to set them. Although in a playbook it's entirely
expected that variables should be used to pass in system settings
like api passwords, for ad-hoc command line usage, needing to pass
in five parameters which are almost certainly in the environment
already reduces the utility.

Grab the environment variables and inject them as default. Special care
is taken to ensure that in the case where the values are not found, the
behavior of which parameters are required is not altered.
2014-08-04 20:52:29 -07:00
James Cammarata
7fd2d1c3df Merge branch 'fix_eip_regression' of https://github.com/jsmartin/ansible into jsmartin-fix_eip_regression 2014-08-04 22:48:46 -05:00
Jonathan Mainguy
150feb69d4 Removed max 8192 bytes, fixes #8424 2014-08-04 20:55:49 -04:00
James Martin
3a15feec13 Updated docs for health_check_type parameter. 2014-08-04 13:25:41 -07:00
James Martin
c8cc089de2 Fixes a regression in 1453f7b013 that would causes unecessary wait_timeouts in certain module operations when a given IP address could not be found. Now wait_timeouts are only active during address associations of newly provisioned EIPs.
Cleanup and comment of main().

s Added wait timeout.
2014-08-04 12:21:28 -07:00
Michael DeHaan
ec8ff9ce42 Merge pull request #8415 from ebargtuo/patch-1
Fix a typo in gem module documentation
2014-08-04 14:22:30 -04:00
Michael DeHaan
542aa496fc Merge pull request #8409 from Jmainguy/hostname_8339
Fixes issue #8339 where Scientific Linux incorrectly tries to use Fedora...
2014-08-04 14:14:22 -04:00
Michael DeHaan
07bb7e5a3b Revert ""allow_no_value=True" for ini_file module so /etc/my.cnf can be read without a problem"
This reverts commit cbdc9f1153.

Code needs to make allowances for particular python versions and try/except
around this block.
2014-08-04 11:49:55 -04:00
Michael DeHaan
c5f92597e4 Add version_added attribute for regexp parameter. 2014-08-04 07:51:29 -04:00
Will Thames
cc59760ac9 Improved handling of already terminated instances
It is possible to create an instance, terminate the instance and then
attempt to recreate the instance with the same parameters. In this case
`ec2.run_instances` returns a reservation list containing the instance ids
but the logic gets stuck waiting for the instance to exist in the call to
`ec2.get_all_instances`, even if wait is no).
2014-08-04 11:58:57 +10:00
Monty Taylor
f3357099a7 Pass region_name to nova_keypair
Again, on things with regions, when we're configuring it, we should
actually pass it in to the compute constructor.
2014-08-03 10:43:39 -07:00
Monty Taylor
b81a37ad9b Rename nova filters to include and exclude
jeblair says: "having 'flavor_filter' be inclusive, and 'image_filter'
be exclusive is kind of mind blowing" and I agree. Let's be more
explicit.
2014-08-03 09:21:14 -07:00
Monty Taylor
38beae3b19 Add nova config drive support
Config drive can be enabled on nova by passing config_drive=True.
That's a pretty easy feature to support.
2014-08-03 09:05:45 -07:00
ebargtuo
76aae48ea6 Fix a typo in gem module documentation 2014-08-03 14:52:24 +02:00
Monty Taylor
a05804bf8d Update the nova inventory plugin with new ip code
The provisioning module knows more about how nova deals with IP
addresses now. Ensure that the inventory module is similarly as smart
by separating out the logic into the openstack/module_utils.
2014-08-02 22:31:27 -07:00
Monty Taylor
a12086f1bf Update existing nova instances with current ip
During the state check, check IP address information. This gets us
two things. The most obvious is that for direct IP management, a
change to the config will reflect in the config of the instance. But
also, if we succeed in creating the instance but fail in adding an IP,
this should let us re-run and arrive in the state we were expecting.
2014-08-02 21:13:17 -07:00
Monty Taylor
c6975552d7 Cleaned up nova_compute documentation
Added version_added tags as well as a few more examples.
2014-08-02 20:45:35 -07:00
Monty Taylor
b80be42ed9 Add ability to filter on image and flavor names
The fun part about having multiple vendors providing the same cloud
is that while their APIs are the same, what they do with their metadata
tends to be ... fun. So in order to be able to express sanely what you
want without needing to stick tons of unreadable uuids in your config,
it turns out what sometimes you need to further filter image and flavor
names. Specific examples are (deprecated) images in HP Cloud and the
Standard and Performance flavors on Rackspace.
2014-08-02 20:31:31 -07:00
Monty Taylor
65adb6465b Specify nova image and flavor by name
Putting uuid and numberic identifies in playbooks is fragile, especially
with cloud providers who change them out from under you. Asking for
Ubuntu 14.04 is consistent, the UUID associated with that is not. Add
mutually exclusive parameters to allow for specifying images by name and
flavors by RAM amount.
2014-08-02 18:51:27 -07:00
Monty Taylor
3fe1083192 Use mutually exclusive on nova floating ip params
ansible knows how to deal with mutually exclusive parameters, so
instead of coding that ourselves, use it.
2014-08-02 18:26:23 -07:00
Monty Taylor
d17a1b5c19 Add common auth handling across openstack modules
Taking a page out of the ec2 config, make sure that all of the
OpenStack modules handle the inbound auth config in the same way.
The one outlier is keystone wrt auth_url.
2014-08-02 17:39:19 -07:00
Monty Taylor
ac420fd483 Consume standard OpenStack environment settings
The OpenStack client utilities consume a set of input environment
variables for things like username and auth_url, so it's very
common for OpenStack users to have such settings set in their
environment. Indeed, things like devstack also output a shell file
to be sourced to set them. Although in a playbook it's entirely
expected that variables should be used to pass in system settings
like api passwords, for ad-hoc command line usage, needing to pass
in five parameters which are almost certainly in the environment
already reduces the utility.

Grab the environment variables and inject them as default. Special care
is taken to ensure that in the case where the values are not found, the
behavior of which parameters are required is not altered.
2014-08-02 17:39:19 -07:00
Monty Taylor
2611246b89 Cleanup in nova after a failed floating ip
There is a potential leak of resources if there is somehow a failure
adding a floating ip to a server. Clean up after ourselves.
2014-08-02 17:39:19 -07:00
Monty Taylor
6045923cab Find IPs on OpenStack clouds without floating-ips
The floating-ip extension, while pretty ubiquitous, is not a
foregone conclusion. Specifically, Rackspace, while also
served by the rax module, is a valid OpenStack cloud and can
be interacted with directly via nova interfaces.

Add support for determining public and private IPs for
OpenStack clouds that don't use floating ips by reading
the public and private keys from the addresses dict.
2014-08-02 17:39:15 -07:00
Monty Taylor
1e0e7a6b28 Add support for nova availability zones
If a cloud has availability zone support, it's possible to specify
an availability zone via the nova client. Add that as a config param.
2014-08-02 17:15:15 -07:00
Monty Taylor
8938222029 Pass through nova region name
If the region name is specified in the config, we need to pass it
in to the nova client constructor. Since key_name is similarly optional,
go ahead and handle both parameters the same.
2014-08-02 17:15:15 -07:00
Monty Taylor
10a50b4a61 Split nova floating-ip pool logic
The desires around getting a floating ip associated with a pool and
getting a floating ip not associated with a pool is just different
enough that following it as one set of nested ifs is tricky. Split
the function into two, one for the pool and one for the non-pool logic.
2014-08-02 17:15:15 -07:00
CaptTofu
6da266f64c Added floating IP functionality to nova_compute 2014-08-02 17:15:15 -07:00
Jonathan Mainguy
c0966eee7c Fixes issue #8339 where Scientific Linux incorrectly tries to use FedoraStrategy of hostnamectl 2014-08-02 15:38:52 -04:00
Nico Cesar
cbdc9f1153 "allow_no_value=True" for ini_file module so /etc/my.cnf can be read without a problem 2014-08-01 16:04:35 -04:00
Lorin Hochstein
42df1f890a ec2 module: document valid states 2014-07-31 15:29:52 -06:00
James Cammarata
22f3f2b74a Merge pull request #8174 from altruism/devel
Make ec2_group module not just fail
2014-07-31 15:02:30 -05:00
James Cammarata
745b28072a Check for the numeric "all" value (-1) for the rule protocol
Fixes #7832
2014-07-31 14:01:44 -05:00
James Cammarata
00ce87484b Merge pull request #8363 from greenmoss/devel
Fix Docker image name parsing
2014-07-31 11:27:19 -05:00
James Laska
7288a6095b Several azure fixes
Several azure fixes/improvements, including:
* Improve failure message when python-azure is not installed
* Improve required argument handling
* Fixes a traceback on instance termination when the variable
'deployment' was not set.
* Fixes a traceback (#8298) when creating instances using the newer SDK
2014-07-30 16:28:13 -04:00
Michael DeHaan
19bf388a17 Merge pull request #8353 from gdamjan/ec2-running-return-info
return the most up-to-date info about an instance when starting/stopping it
2014-07-30 16:07:50 -04:00
Dave Johnson
76c925c22a Parameters to disable_rollback are "true" or "false" 2014-07-30 15:48:30 -04:00
Kurt Yoder
8ee6906885 Fix Docker image name parsing
Fixes #8357
2014-07-30 14:33:01 -04:00
Damjan Georgievski
16e5b1b9e6 return the most up-to-date info about an instance when starting/stopping it
otherwise the module will return the info about the instance that it got prior to the action taken
So if you had a task to start an instance:

      ec2:
         instance_ids: ...
         state: running
      register: ec2_info

the registered data would have empty public_dns_name, public_ip, private_dns_name, private_ip
2014-07-30 15:15:49 +02:00
Michael DeHaan
f61ba3d047 Merge pull request #8283 from ps-jay/sys_mount_fstype_doc
Add fstype arg to the mount examples
2014-07-30 08:28:59 -04:00
James Cammarata
730e23fa07 Merge branch 'integration_mysql_user' of https://github.com/wrosario/ansible into wrosario-integration_mysql_user 2014-07-29 15:55:57 -05:00
James Cammarata
e6fa50a306 Move splitter to module_utils so modules can use it and fix command arg splitting
Fixes #8338
2014-07-29 14:55:16 -05:00
Wayne Rosario
eaf4571e42 Adding the following Test Coverage:
Use mysql_user module to create, delete users.
Update user password and ensure new password was updated for the correct user.
Assert user has access to multiple databases
Assert user creation, deleting using different user privilege and ensure privilege work correctly.
2014-07-29 11:49:53 -04:00
RomanDolejsi
fcf7f03398 file: prevent replace failure when overwriting empty directory with hard/link (force=yes) 2014-07-29 10:46:32 +02:00
Michael DeHaan
f948a94f51 Merge pull request #8313 from sivel/issue/8250
Make sure to assign pyrax.cloudservers to cs. Fixes #8250
2014-07-28 15:48:51 -04:00
Michael DeHaan
6300ded89c Merge pull request #8311 from neersighted/wrap_distroversion
Wrap get_distribution_version() in the hostname module
2014-07-28 15:48:18 -04:00
Matt Martz
571f343e7d Make sure to assign pyrax.cloudservers to cs. Fixes #8250 2014-07-28 12:44:42 -05:00
Michael DeHaan
226dacc7e6 Cleaning up explanation of mount module states. 2014-07-28 12:18:45 -04:00
Bjorn Neergaard
adcdbdf894 Wrap get_distribution_version() in the hostname module
We wrap get_distribution_version() with a new function,
_get_distribution_version(), that returns `0` when the result is a string or
`None`.

This accounts for the case when get_distribution_version() returns a string,
and we try to compare it to a float. We do this in the hostname module instead
of the module snippets because other modules may want the real string
version.module snippets because other modules may want the real string version.
2014-07-28 11:16:30 -05:00
Michael DeHaan
b69f096e8a Merge branch 'ufw' of git://github.com/Trozz/ansible into devel 2014-07-28 12:08:29 -04:00
Michael DeHaan
726a1a33e0 Update unarchive example. 2014-07-28 12:07:31 -04:00
Michael DeHaan
f412d341e3 Merge pull request #8200 from geetotes/devel
[Docs] Added another example to demonstrate unarchive module working entirely on a remote machine
2014-07-28 12:04:33 -04:00
Michael DeHaan
c8d3c0c654 Merge pull request #8244 from wrosario/mysql_user_doc
Update mysql_user doc and example
2014-07-28 12:03:15 -04:00
Michael DeHaan
8b77aa9843 Merge pull request #7949 from hacosta/apt_key
Check at most 16 characters of the key. Fixes #7936
2014-07-28 11:30:27 -04:00
Michael DeHaan
216f803aa5 Merge pull request #7954 from alimony/patch-3
cron module: Use correct parameter name in error message.
2014-07-28 11:29:05 -04:00
Michael DeHaan
a52cbdbced Merge pull request #8068 from trondhindenes/win_feature_improvements
Updates to the parameters of win_feature
2014-07-28 11:25:41 -04:00
Michael DeHaan
e75964e206 Merge pull request #7969 from dedalusj/devel
Fixed bug with environment path for homebrew_cask
2014-07-28 10:49:04 -04:00
Michael DeHaan
58a23bc6d1 Merge pull request #7968 from bcoca/acl_fix_compare
acl module: now compares permissions correctly
2014-07-28 10:47:38 -04:00
James Cammarata
d1d318b028 Merge pull request #8308 from robinro/extend-hostname-distrolist
Extended distributions list for hostname module
2014-07-28 09:12:59 -05:00
Robin Roth
e91c318327 Fix extra newline at end of hostname for Fedora
This fixes a bug introduced by 138b45e3.
The hostname has an additional newline at the end which leads to the
state always being 'changed: true' even if the hostname is unchanged.
2014-07-28 15:22:10 +02:00
Robin Roth
7a09f87b8c Extended distributions list for hostname module
Implementations already present
2014-07-28 15:19:41 +02:00
James Laska
d51e10a3f4 Correct BotoServerError typo in ec2 module
Resolves a traceback due to an undefined 'BotoSeverError' exception.
2014-07-26 12:11:25 -04:00
Lee Gillentine
d631056f27 Pushing up correct example :( 2014-07-25 14:19:02 -05:00
James Cammarata
1134f6169c Minor indentation fixes on ec2_eip 2014-07-25 12:41:25 -05:00
James Cammarata
3281139981 Merge branch 'fix_ec2_eip' of https://github.com/jsmartin/ansible into jsmartin-fix_ec2_eip 2014-07-25 12:37:36 -05:00
James Cammarata
4a8e068855 Merge pull request #8292 from jimi-c/issue_7863_deb_with_items
Allow deb package installation via with_items
2014-07-25 10:46:37 -05:00
James Martin
1453f7b013 Fixes #8290. 2014-07-25 11:08:49 -04:00
Tom Lazar
146a0f1cb7 FreeBSD 10 compatibility fix
On FreeBSD the whitespace around the ``=`` triggers a (cryptic) ``no such file or directory`` error. removing the whitespace like above fixes this.
2014-07-25 14:33:24 +02:00
anatoly techtonik
b28848eee3 acl: Remove obscurity in state description 2014-07-25 12:04:45 +03:00
Philip Jay
138fffb152 Add fstype arg to the mount examples
Needed fstype in the examples, since fstype is a required argument for
mount.
2014-07-25 09:58:54 +10:00
Michael DeHaan
c9a3b6c358 Pagerduty corrected misleading blog post, so no problems with them being in core now. Thank you guys! 2014-07-24 15:21:53 -04:00
Wayne Rosario
d595fd00e9 updating doc to include revoke example for mysql_user docs 2014-07-24 10:32:28 -04:00
Michael DeHaan
1e427d4ace Merge pull request #7710 from brad/zounds
use the full list of available campfire sounds
2014-07-24 09:35:27 -04:00
Michael DeHaan
2e2a1d4bd1 Merge pull request #8270 from berenddeboer/mount-fstab
Default for fstab missing, causing KeyError: 'fstab'
2014-07-24 08:03:33 -04:00
James Cammarata
2cc602beea Fixes for module param counting and additional shell quoting issues 2014-07-23 22:54:59 -05:00
Berend de Boer
869cc7947e Default for fstab missing, causing KeyError: 'fstab' 2014-07-24 13:14:46 +12:00
James Cammarata
75e5b6401c Fixing up shell quoting issues 2014-07-22 10:09:11 -05:00
Trond Hindenes
387759ada6 win_setup improvements: Correcly outputs ansible_totalmem on computers with multiple ram chips 2014-07-22 01:38:46 +02:00
James Cammarata
593057515c Merge pull request #8223 from renard/create-fstab-if-not-exists
Create fstab if not exists
2014-07-21 15:03:14 -05:00
Sébastien Gross
48128ec0ab [mount] make sure fstab exists
This is mainly to prevent from failing with no such file or directory
during module execution.
2014-07-21 18:32:02 +02:00
Sébastien Gross
f2e2337d07 [mount] Add documentation for fstab option 2014-07-21 18:30:59 +02:00
James Cammarata
84759faa09 Security fixes:
* Strip lookup calls out of inventory variables and clean unsafe data
  returned from lookup plugins (CVE-2014-4966)
* Make sure vars don't insert extra parameters into module args and prevent
  duplicate params from superseding previous params (CVE-2014-4967)
2014-07-21 11:20:49 -05:00
Michael DeHaan
2769b3d0b2 Update version_added attribute on recent GCE module additions. 2014-07-19 19:08:28 -04:00
Michael DeHaan
98c6688343 Merge pull request #6976 from clconway/gce-snapshots
Adds support for snapshots and extra persistent disks to the gce modules
2014-07-19 19:07:29 -04:00
Hector Acosta
ec70bb01ef Add check_mode support to authorized_key. Fixes #7300
Signed-off-by: Hector Acosta <hector.acosta@gmail.com>
2014-07-19 17:55:58 -05:00
Lee Gillentine
69337362e7 Adding another example to demonstrate unarchive working entirely on a remote machine 2014-07-18 22:22:37 -05:00
Michael DeHaan
9caa93c1cf Add note about useful quote filter. 2014-07-18 18:23:48 -04:00
Jonathan Mainguy
6789098bc5 This fixes 8173, if target was not defined it would break, now it wont 2014-07-18 09:52:37 -04:00
Will Angenent
0e33db837a Fix for issue #8152: Missing auth headers and a faulty JSON decode
Looks like this regressed in commit 9730157 due to fetch_url refactors.
2014-07-17 23:04:51 +01:00
Yasser Nabi
8a6bbfd3b5 Enable puppet facts
Currently facter facts omit facts that a distributed via Puppet. This
commit adds the `--puppet` option.

In cases where puppet is not installed, the command sends a warning to
STDERR *but* completes successfully. So should not cause any issues.

The benefit is, filtering can be done based on facts set by Puppet.
2014-07-17 17:53:12 +01:00
Jacob Hickey
ea9af2cbb1 Add missing params to get_target_from_rule
get_target_from_rule was extracted from main() without enough parameters for
all the local variables it took with it from the extraction site.
2014-07-17 11:03:38 -04:00