Commit graph

10473 commits

Author SHA1 Message Date
David Shrewsbury
37edf33955 Fix bug in os_router.py when router is not actually updated. (#4107)
The shade update_router() call will return None if the router is
not actually updated. This will cause the module to fail if we
do not protect against that.
2016-12-08 11:24:43 -05:00
Brian Coca
72eaf0281a updated checkmode for update-rc.d
fixes #4146
2016-12-08 11:24:43 -05:00
Chris Houseknecht
dc496ffeb4 Fix purge_networks 2016-12-08 11:24:43 -05:00
Peter Sprygada
66268dd3ec fix up ios_command to use NetworkModule
* using check mode will now block all commands except show commands
* module will no longer allow config mode commands
* check args for unused values and issue warning
2016-12-08 11:24:43 -05:00
Qi Luo
b86a229b61 Fix getting actual_stdin_open 2016-12-08 11:24:42 -05:00
Peter Sprygada
5fe848fca2 refactor ios_config for network module
This refactors the ios_config module to use the network module added
in 2.2 to simplify common network functions

new features

* add src, dest arguments for working with config
* results now return flag if the config was saved or not
* adds append argument for updating the dest file (when dest is used)
2016-12-08 11:24:42 -05:00
Rene Moser
5e3249b244 os_server, doc: add version added for delete_fip
Also see #3509
2016-12-08 11:24:42 -05:00
David Shrewsbury
530fd1365a Allow os_server to delete FIP (#3509)
The os_server module could automatically generate a floating IP for
the user with auto_ip=true, but we didn't allow for this FIP to be
automatically deleted when deleting the instance, which is a bug.
Add a new option called delete_fip that enables this.
2016-12-08 11:24:42 -05:00
Andrei Lukovenko
85bd975238 Bug: invocation with state=absent always leads to (#3051)
[localhost]: FAILED! => {"changed": false, "failed": true, "msg":
"'Domain' object has no attribute 'id'"}

How to reproduce:

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

- name: destroy domain
  digital_ocean_domain: state=absent name=DOMAIN_NAME

Problem: DigitalOcean API accepts domain name, not record ID
(https://developers.digitalocean.com/documentation/v2/#delete-a-domain)
2016-12-08 11:24:42 -05:00
Adrian Moisey
28716f565c Add default port for aurora (#4102)
If a port isn't specified, it's looked up. The lookup breaks without
this.

Related: https://github.com/ansible/ansible-modules-core/pull/3414
2016-12-08 11:24:42 -05:00
Peter Sprygada
28a701128d update ios_facts module to use NetworkModule
minor update to ios_facts to remove get_module() in favor of NetworkModule
2016-12-08 11:24:42 -05:00
jctanner
d5b35eb8db add gather_timeout parameter (#4093) 2016-12-08 11:24:42 -05:00
James Cammarata
2aad8bd882 Removing erroneous import from async_status 2016-12-08 11:24:42 -05:00
James Cammarata
204e83aeed Ensure async wrapper and status return consistent fields 2016-12-08 11:24:42 -05:00
Matt Clay
72cd76e023 Enable IRC and Slack notifications on Shippable. 2016-12-08 11:24:42 -05:00
Matt Clay
a7bef31ab3 Run each integration test separately. 2016-12-08 11:24:42 -05:00
Matt Clay
1b69cff1a4 Initial support for module integration tests. 2016-12-08 11:24:42 -05:00
Dag Wieers
017eeaea29 Fix a problem where the newly provided mode is a string (#3769)
* Fix a problem where the newly provided mode is a string

This fixes #3597

* Implement python3-compatible get_exception() handling
2016-12-08 11:24:42 -05:00
Dag Wieers
855ca9b204 Revert PR #3575 since it causes problems related to exclude patterns (#3767)
* Revert PR #3575 since it causes problems related to exclude patterns

By using a different method for getting archive filelists, and extracting we introduced new problems related to excluding based on gtar patterns.

As a result files that would be excluded by gtar, would still be in the filelist. Implementing our own gtar compatible pattern exclusion mechanism is near to impossible (believe me, we looked at it...). The best way is to look at the original problem and deal with that, and ensure that extraction and filelists are done with the exact same tool and exact same options.

The solution is to decode the octal unicode representation in gtar's output back to unicode. Since gtar has no problem extracting these files in LANG=C, we simply has to compensate for it.

This reverts #3575 and fixes #11348.

* Implement codecs.escape_decode() instead of decode("string_escape") for python3
2016-12-08 11:24:42 -05:00
Chris Houseknecht
a8059c68d0 Remove object name validation. 2016-12-08 11:24:41 -05:00
Brian Coca
b55fd5f67a updated set_fact docs with note about typing 2016-12-08 11:24:41 -05:00
nitzmahone
b51a1e175e minor win_template doc corrections 2016-12-08 11:24:41 -05:00
Brian Coca
ad996f162b name was the issue, not pkg 2016-12-08 11:24:41 -05:00
Brian Coca
d8e91f01b0 protect another portion against None name 2016-12-08 11:24:41 -05:00
Brian Coca
506e6ff2e2 another fix for None in name 2016-12-08 11:24:41 -05:00
Brian Coca
c871f488eb avoid traceback when name is None 2016-12-08 11:24:41 -05:00
Robin Roth
5d928ca13c Fix git shallow update (#3912)
* remove unused variables

* fetch branch name instead of HEAD

fix #3782, which was introduced by f1bacc1d3f

* disable git depth option for old git versions

fixes #3782
git support for `--depth` did not fully work in old git versions (before 1.8.2)
fall back to full clones/fetches on those versions

* raise required git version to 1.9.1 for depth option

* use correct depth argument in switch_version
2016-12-08 11:24:41 -05:00
Christian Schwarz
e25cb4df77 service module: use sysrc on FreeBSD (#4042)
* service module: use sysrc on FreeBSD

sysrc(8) is the designated userland program to edit rc files on FreeBSD.

It first appeared in FreeBSD 9.2, hence is available on all supported
versions of FreeBSD.

Side effect: fixes #2664

* Incorporate changes suggested by bcoca.

- Use `get_bin_path` to find sysrc binary.
- Only use sysrc when available (support for legacy versions of FreeBSD)
2016-12-08 11:24:41 -05:00
Brian Coca
186db40864 make daemon reload first thing always run
otherwise service detection can fail before we run it which might
be required to actually detect the service.
2016-12-08 11:24:41 -05:00
Brian Coca
f874c29dff allow pip to take a list of names (#4056)
also simplified argspec by removing defaults
2016-12-08 11:24:41 -05:00
Patrick Uiterwijk
6b4359080e nova_compute: indicate argument type (#4070)
Without this, ansible 2.1 will convert some arguments that are
meant to be dict or list type to their str representation.

Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
2016-12-08 11:24:41 -05:00
Adrian Likins
e2bd4a87d8 Update docs and internal naming s/RHN/RHSM (#3977) 2016-12-08 11:24:41 -05:00
Adrian Likins
09b34c764a Add 'force_register' to redhat_subscriptions (#3976)
Fixes #2448
2016-12-08 11:24:41 -05:00
Adrian Likins
127b854d2c Fix default perm for apt_repo files. (#4072)
Change the file mode arg to 'raw' ala file args

Following the file_common_args model, change the
type of the 'mode' arg here to type='raw' with no
default arg value.

The default mode for file creation is the module
constant DEFAULT_SOURCES_PER, and is used if no
mode os specified.

A default mode of 0644 (and not specified as int or str)
would get converted to an octal 420, resulting in the
sources file being created with mode '0420' instead of '0644'

Fixes #16370
2016-12-08 11:24:41 -05:00
Michael LoSapio
20d8103b53 Showing some of the sysctl settings in proper yaml format per Ansible documentation (#4073) 2016-12-08 11:24:41 -05:00
Lukas Grossar
4a532fb60c also match on tabs in ini_file (fixes #106) (#4067)
also match on tabs in ini_file
2016-12-08 11:24:41 -05:00
Ryan Brown
d4cec5ccc1 Remove double-assignment of EC2 parameters (#4081)
The `source_dest_check` and `termination_protection` variables are being
assigned twice in ec2.py, likely due to an incorrect merge somewhere
along the line.
2016-12-08 11:24:40 -05:00
Hrishikesh Barua
cf9bfc3459 Fix for #16518 - added missing regions 2016-12-08 11:24:40 -05:00
nitzmahone
1a4804cc60 fixes to windows setup
coerce multi-socket win32_processor to a single value
WindowsIdentity.Label doesn't exist on .NET 4.0
2016-12-08 11:24:40 -05:00
chouseknecht
9c6da9194a Update and pin to azure-2.0.0rc5 2016-12-08 11:24:40 -05:00
Brian Coca
992b999bde made password no_log in htpasswd 2016-12-08 11:24:40 -05:00
Toshio Kuratomi
30399d94f6 A few more sanity checks for detecting unzip output that's not a file entry (#3982)
* A few more sanity checks for detecting unzip output that's not a file entry

Also note that there's a rounding error somewhere in the mtime
comparison code.

* Fix reference to sub-array
2016-12-08 11:24:40 -05:00
Brian Coca
c59510aaf4 updated docs in pause to reflect 0 value behaviour 2016-12-08 11:24:40 -05:00
Dag Wieers
df2ef26bc7 Comment out $win32_cs.SystemFamily, cfr. @nitzmahone
Since it fails on everything pre-10/2016
2016-12-08 11:24:40 -05:00
Stian Vikan
714ced8e1c Fixed delete statement for juniper_config.py #4007 #3984 2016-12-08 11:24:40 -05:00
Shubham
162b75068f Fix broken link for issue template (#3680) 2016-12-08 11:24:40 -05:00
David Shrewsbury
88122e0f72 Use os.rename() in async_wrapper
Because the async_status module will read from the same file that
the async_wrapper module is writing, it's possible that the file
may not be fully synced during a read, causing spurious failures.
Use a temp file to do an atomic operation on the file. We can't
use atomic_move() here as that doesn't work properly under async.

Also, let's not read concurrently from the same file the subprocess
is writing to. Instead, capture stdout/stderr via PIPE and write to
the file to avoid nasty races.
2016-12-08 11:24:40 -05:00
Brian Coca
f9cb5ecc3c removed extra space
as pointed out by @lloydbenson
2016-12-08 11:24:40 -05:00
jctanner
4480b8d37f Cleanup unused variable in yum.py (#4009) 2016-12-08 11:24:40 -05:00
Peter Sprygada
b0bdf09a00 refactor ios_command to use CommandRunner class
* fixes running commands in check mode.  now only show commands are allowd
* renamed waitfor to wait_for with alias to waitfor for consistency
2016-12-08 11:24:40 -05:00
Dag Wieers
35b9810e39 Fix ansible_distribution and weekday locale (as hinted by @nitzmahone) 2016-12-08 11:24:40 -05:00
Dag Wieers
36d0bac0a3 Retain an important note regarding Win32_PhysicalMemory on virtual platforms 2016-12-08 11:24:40 -05:00
Dag Wieers
efaaa79157 Ensure we are using an English locale for date formatting. (as hinted by @nitzmahone) 2016-12-08 11:24:40 -05:00
Dag Wieers
790adc126f Added CPU information comparable to Linux 2016-12-08 11:24:39 -05:00
Rodríguez, Jorge
82c26ad2d7 Do not forcibly push when building, either. 2016-12-08 11:24:39 -05:00
Rodríguez, Jorge
89e8787d65 Don't forcibly push loaded images to registry. Fixes #3763 2016-12-08 11:24:39 -05:00
Peter Sprygada
622592c413 refactor the eos_command module to use the CommandRunner
* This adds support the CommandRunner to handle executing commands on
the remote device.
* It also changes the waitfor argument to wait_for to remain compatable
with other modules and adds an alias for waitfor.
* Restricts commands to show commands only when check mode is specified.
* add version_added to wait_for doc string
2016-12-08 11:24:39 -05:00
Ryan S. Brown
a2e6ac6ca8 IAM group modules need module passed
The IAM group modules were not receiving the `module` object, but they
use `module.fail_json()` in their exception handlers. This patch passes
through the module object so the real errors from boto are exposed,
rather than errors about "NoneType has no method `fail_json`".
2016-12-08 11:24:39 -05:00
jhawkesworth@users.noreply.github.com
2090304511 double backslashed all single backslashes to keep travis happy 2016-12-08 11:24:39 -05:00
Dag Wieers
dc432c5697 Added more properties 2016-12-08 11:24:39 -05:00
Dag Wieers
f8b0cf50b4 Format BIOS date string like on Linux 2016-12-08 11:24:39 -05:00
Dag Wieers
457ccc2e73 win_setup: Add missing properties
We add some basic properties for Windows that are available on other platforms.
2016-12-08 11:24:39 -05:00
jhawkesworth@users.noreply.github.com
d3d108e13e document how force=no works for win_get_url and add RETURN 2016-12-08 11:24:39 -05:00
Daniel Petty
6441556b98 fixed $source null check, reference to $Params
$source check causes:
FAILED! => {"changed": false, "failed": true, "msg": "A parameter cannot be found that matches parameter name 'Source'."}

$Params.Remove causes:
FAILED! => {"changed": false, "failed": true, "msg": "Method invocation failed because [System.Management.Automation.PSCustomObject] does not contain a method named 'Remove'."}
2016-12-08 11:24:39 -05:00
Peter Sprygada
a522c2d99f initial add of ios_facts module
This adds the new module ios_facts for collect fact information from
ios devices
2016-12-08 11:24:39 -05:00
Erik Nadel
4619513d9e apt remove now recognizes the force parameter (#3756) 2016-12-08 11:24:39 -05:00
Graham Goldstein
9632b47a85 Change documented options for os_networks_facts (#3970)
* Change documented options for os_networks_facts

os_network_facts currently lists 'network' as an available option, taking the Name or ID. In Ansible 2.0.2 to 2.2.0, this is not valid. Options 'name' and 'id' should be used instead.

* Update os_networks_facts.py

* Update os_networks_facts.py

Set version_added to the only accepted value

* Update os_networks_facts.py

Removed inappropriate 'ID' parameter
2016-12-08 11:24:39 -05:00
mattymo
5692d28f93 Add retries to apt_key with keyserver, fixes #3986 (#3987)
Public SKS gpg servers frequently are unavailable, but a retry
can mitigate frequent failures.
2016-12-08 11:24:39 -05:00
jctanner
17ebf51bd4 Add local and url support to yum state=latest (#4003)
Fixes #3807
2016-12-08 11:24:39 -05:00
jctanner
3a0056e571 Add a note about using the script module with pseudo-tty's lack of stderr channel (#4000)
Addresses #3610
2016-12-08 11:24:39 -05:00
Toshio Kuratomi
eadef56a06 Add comment 2016-12-08 11:24:38 -05:00
Marius Gedminas
3a8a11d85f git: fix change testing when version is HEAD (#3025)
When `version` is not specified, it defaults to "HEAD".  "HEAD" is not a
remote tag, and it's not listed in the output of get_branches(), so we'd
keep repo_updated at the default value (None) and then return early with
changed=True in --check mode, even when before == after.

Fixes #3024.
2016-12-08 11:24:38 -05:00
chouseknecht
3d5f84c528 Fix compose_version error. Check has compose before checking version. 2016-12-08 11:24:38 -05:00
chouseknecht
1e9590ab65 Fix index 2016-12-08 11:24:38 -05:00
chouseknecht
cc053c45ce Fix ulimit comparison 2016-12-08 11:24:38 -05:00
Allen Sanabria
6d6b8a1823 Fixes #1715 Allow authorized_module accept multi. (#3573)
This will allow the authorized_module to accept options that can be
passed multiple times into ssh options. For instance permitopen.
2016-12-08 11:24:38 -05:00
Mario David
88e4e1af18 add project to os_router (#3869)
* add project to os_router

* version_added fix

* correct place of version_added

* remove extraneous else

* * add shade version dependency check
* option project only on router creation

* * fix shade minimal version
* remove pop of option project

* * fix square brackets
* delete router by router_id
2016-12-08 11:24:38 -05:00
Javier M. Mellid
49f9404cd2 Add s3_url requirement in doc when rgw support is enabled in s3.py
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-12-08 11:24:38 -05:00
Javier M. Mellid
6346cad9d0 Add proper version_added for rgw option in s3.py
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-12-08 11:24:38 -05:00
Javier M. Mellid
0b156aae16 Add Ceph RGW S3 compatibility
Ceph Object Gateway (Ceph RGW) is an object storage interface built on top of
librados to provide applications with a RESTful gateway to Ceph Storage
Clusters:

http://docs.ceph.com/docs/master/radosgw/

This patch adds the required bits to use the RGW S3 RESTful API properly.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-12-08 11:24:38 -05:00
Stanislav Antic
4c92652e7b Fix wait_for on python < 2.6 (#3790) (#3973) 2016-12-08 11:24:38 -05:00
Brian Coca
f595b27e47 reverted need for module utils imports 2016-12-08 11:24:38 -05:00
Brian Coca
0c82db9cda added missing import
readded raise
2016-12-08 11:24:38 -05:00
Brian Coca
51c3eda259 exception ans sys.exit fixes 2016-12-08 11:24:38 -05:00
Toshio Kuratomi
1b88df0bda Fix exception handling in async_wrapper 2016-12-08 11:24:38 -05:00
Keisuke Kamada
259c4b31fb Do not copy file if running on check mode 2016-12-08 11:24:38 -05:00
Adam Butler
0c7ec1e860 Fixes incorrect key name protocols -> protocol (#3963) 2016-12-08 11:24:38 -05:00
nitzmahone
363ff55445 StrictMode fixes for win_get_url 2016-12-08 11:24:37 -05:00
Brian Coca
1f6c3766b0 restored incorrectly removed docs, jinja2 override 2016-12-08 11:24:37 -05:00
Hagen Kuehn
320aea77c6 fixed unknown type <type 'list'> error (#3959) 2016-12-08 11:24:37 -05:00
Brano Zarnovican
9fd52ac40e Py2.4: SystemExit in async_wrapper is not an error - compatibility fix
Prior to Python 2.5, SystemExit was a subclass of Exception.
In Py2.4, this is causing extra error output on valid sys.exit(0).

(Toshio) Call sys.exit from inside of the SystemExit exception handler so py2.4 and py2.5+ behaviour matches
2016-12-08 11:24:37 -05:00
Brian Coca
079948eef0 updated raw docs for environment and executable
it should now reflect how raw works in combination with
become and environment directives
2016-12-08 11:24:37 -05:00
nitzmahone
e7075f3e93 rename ansible_winrm_certificate_expires fact to avoid collision with connection vars 2016-12-08 11:24:37 -05:00
chouseknecht
16e7dc4e2e Remove dns from container create parameters. 2016-12-08 11:24:37 -05:00
chouseknecht
4d51a51ac3 Fix #3945 docker_container detach not waiting on container to execute. 2016-12-08 11:24:37 -05:00
Brian Coca
01490688f4 document that get_url also takes file params
has for a long time, but was never documented, mode,group, owner can all be set here
2016-12-08 11:24:37 -05:00
Brian Coca
34b94ec4c4 Revert "Add mode option to the list" (#3946) 2016-12-08 11:24:37 -05:00
Victor Bocharsky
6037684d23 Add mode option to docstring for get_url (#3630)
Add mode option to the list
2016-12-08 11:24:37 -05:00
Toshio Kuratomi
53a22ce93a Finish python3 syntax compilation fixing for core repo 2016-12-08 11:24:37 -05:00
@
c901b70a01 Fixing compile time errors irt (, e => as e, print(), ocat now 0o not 0) exception handling for Python 3 (#3851)
* Fixing compile time errors irt a) exception handling for Python 3 in util, also: b) problem octal usage (fixed) and c) print json_dump -> print(json_dump(xyz) ... et al

* This code was not Python 2.4 compliant. Octal codes and exception handling is now working with Py 2.4, 2.6, & 3.5.

* Fixing formating (or rather reverting an non 2.4 compatible change). Works in compile & runtime checking.

* a) revert to use print sys.stderr not fail_json; b) fixed var name in exception

* Python 3 compatible print (print >>sys.stderr will generate a TypeError - now uses sys.stderr.write instead).
2016-12-08 11:24:37 -05:00