Commit graph

30645 commits

Author SHA1 Message Date
Pilou
460d932aa8 postgresql_user: fix bugs related to 'expires' option (#23862)
* Factorize tests related to no_password_change using an include task

* Refactor: deduplicate tasks

* postgresql_user: test 'expires' parameter

* Change 'valid until' even it's the only updated field

* value is changed when another value is provided

* value isn't returned when unset

* Remove unused variable

* psycopg2.extras.DictRow is able to handle comparison

* postgresql_user: simplify helper method

* postgresql_user: define variable just before using it

* Fix comparison between user input and applied configuration

* new test: adding an invalid attribute

* Refactor, add cleaning task

* Check that using same attribute a 2nd time does nothing

* Always try to remove created user

* postgresql_user: fix pep8
2017-06-11 14:48:39 -07:00
Abhijeet Kasurde
301cbc1f5b Remove unreachable code from cron module (#25577)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-11 07:35:46 +02:00
Matt Martz
23eebb62e6 Convert docker cmd output to native, early 2017-06-10 07:09:04 -07:00
Matt Clay
a18cc45778 Fix PEP 8 issue. 2017-06-10 14:07:15 +08:00
Brian Coca
5717f4f161 updated cache descriptions 2017-06-09 23:48:47 -04:00
Brian Coca
cdcbd84088 refactor of virtualbox plugin, fixed cache use 2017-06-09 23:48:47 -04:00
Carsten Clasohm
cd31f4a102 foreman.py: create Ansible groups from Satellite 6 host collections (#25269)
* create Ansible groups from host collections

* fix paging logic in _get_json

* replace Satellite with Foreman

* improve comment for environment variables

* enable host collections by default

* use requests params instead of urllib.quote_plus

* disable host collections by default

* change organization filter

* clean up load_cache methods

* remove usage of function defaults

* replace environment variables with host_filters
2017-06-09 17:10:55 -07:00
Matt Martz
392934f1b9 Fix pep8 issue in lib/ansible/inventory/manager.py (#25562) 2017-06-09 18:40:36 -05:00
René Moser
0a972ea6bf wait_for: add some integration tests (#25553) 2017-06-09 21:35:10 +02:00
Brian Coca
cc66bd4ad0 moved general pattern cache into object
no real reason this is a class global
2017-06-09 15:30:11 -04:00
Brian Coca
9d23dcac29 fixed version added tag 2017-06-09 14:09:14 -04:00
Adrian Likins
4befefd78c Try to show original exception info for yaml (and other) errors (#24468)
* show original exception for yaml (and other) errors

In places where we need to catch a yaml error and raise
an AnsibleError, add the orig yaml exc to the AnsibleError
via the orig_exc arg.

When the AnsibleError is displayed it will now include the
AnsibleError (AnsibleParserError for example) and the type
and message from the original yaml exception.

This provides more detail to the error messages related to
yaml errors.

This also improves errors from dataloader (for example,
previously if a wrong password was used for a vault encrypted
yaml file, the error was very vague and suggested yaml errors,
but now the message includes the original exception from vault
indicating the password was incorrect or missing).

Add a text note to playbook helper asserts. For playbook
syntax/layout errors that aren't yaml errors, but errors
indicating invalid data structures for a playbook/task/role/block,
we now include some info about where the assert was and
why it was raised.

In places we raise an AnsibleParserError in an except
clause, pass the original exception to AnsibleParserError via
orig_exc arg.

Make assorted error messages a little more specific (like
the playbook helper load methods)

* Revert "Include the original YAML error in syntax error messages"

This reverts commit 781bb44b02.
2017-06-09 13:13:15 -04:00
Abhijeet Kasurde
ccc7f788c0 Fix import for get_exception (#25551)
Fixes #25549

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-09 11:58:18 -05:00
René Moser
29817ab115 cloudstack: add tests, fix pep8 (#25518)
* cloudstack: cs_zone: fix pep8

* cloudstack: cs_zone: add tests
2017-06-09 18:48:53 +02:00
René Moser
76c598f044 cloudstack: cs_zone: fix missing type bool for params (#25552) 2017-06-09 18:10:32 +02:00
James Cammarata
81998b963d Re-adding missing os import to wait_for 2017-06-09 10:57:17 -05:00
Chris Atkinson
62fa2019c6 [cloud] Allow IAM certificate secrets, body, chains to be strings (e.g. sourced from ansible-vault) (#24206)
* Allow cert and private pem information to be passed in via string, eg when obtaining sensitive key details from anisble-vault at runtime

* Allow cert chain body to be passed as a string

* Ensure the new options are set in parameters

* Dont publish the private key in logs

* Set the version_added documentation

* Update documentation inline with review

* Removes file based certificates in favour of string only as suggested in feature review

* Documentation changes as suggested by review
2017-06-09 11:32:22 -04:00
Sloane Hertel
b376bde4d7 [cloud] ec2_eni module - allow attaching a new instance - fixes #19452 (#22377)
* fix bug attaching instances

* pep8
2017-06-09 11:31:42 -04:00
Tim Rupp
61684f7313 Updates gtm wide ip module to be feature complete (#25502)
This module is used to manage GTM wide ips on a bigip.
Previously, this module only included a small subset of functionality
primarily related to editing a wide ip that already existed. Additionally
it used the SOAP api for its communication. this patch completes the
feature set of wide ips and refactors the code to use the F5 python SDK
and the REST API.

Unit tests are provided. Integration tests can be found here

https://github.com/F5Networks/f5-ansible/blob/devel/test/integration/bigip_gtm_wide_ip.yaml#L23
https://github.com/F5Networks/f5-ansible/tree/devel/test/integration/targets/bigip_gtm_wide_ip/tasks
2017-06-09 16:07:14 +01:00
Ted
416d9774ce New module: Add Bcf switch module. (network/bigswitch/bcf_switch) (#24261)
* Make access_token type str, remove alias, and make validate_certs default value true

* Remove comma

* Add bcf switch module

* Remove white space in blank line

* Fix yaml

* Try removing the RETURN just like in the other modules
2017-06-09 08:14:28 -06:00
Abhijeet Kasurde
ba4f6de35a Add support for Devuan in hostname module (#25525)
Fixes #25395

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-09 08:47:09 -04:00
John R Barker
4e6fee212a Correct link to plugins (#25530) 2017-06-09 13:06:08 +01:00
Ricardo Carrillo Cruz
72e65e4290 Platform agnostic module for VRFs (#25383)
* WIP VRF platform agnostic module

* Fixed examples refering vlans instead of vrfs

* Add integration tests
2017-06-09 13:33:11 +02:00
Ricardo Carrillo Cruz
d83f254bb6 New eos_vrf module (#25427)
* New eos_vrf module

* Add CLI integration tests

* Check rd only if not None
2017-06-09 13:24:28 +02:00
Pilou
bf0d0274cf doc: PEP 8 compliance is required (#25524) 2017-06-09 12:20:56 +01:00
Trishna Guha
91e5fce90f Add ios_user implementation module (#25413)
* Add ios_user module

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Integration test for ios_user

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add unit test for ios_user

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-06-09 13:50:57 +05:30
Phil Nelson
eb349cb201 Template parent include path before finding its dirname (#23202)
Given parent include path "{{ var | default('path/file.yml') }}"
os.path.dirname(parent_include_path) yields {{ var | default('path/
which is incorrect in itself but also causes templating errors
due to unbalanced quotes. Fix both problems by templating
parent include path before finding its dirname.
2017-06-08 23:47:21 -05:00
René Moser
64a9794997 ovirt_storage_connections: fix RETURN, fixes build (#25517)
* ovirt_storage_connections: fix RETURN, fixes build, pep8
2017-06-08 17:57:01 -04:00
Ondra Machacek
f762c61816 cloud: ovirt: Add support to specify multiple LUNs (#22866) 2017-06-08 23:24:12 +02:00
Adrian Likins
dde3dac9f8 Support NetBSD 7.1+ style ifconfig -a output (#25442)
* Support NetBSD 7.1+ style ifconfig -a output

network facts on NetBSD after 7.1 cvs would fail
because of format changes in 'ifconfig -a' output.

update code to support new and old format.

add unit tests for both based on
examples from Bruce V Chiarelli.

* wrap use of interfaces.keys() in list() for py3 compat
* sort interface ids for stability
2017-06-08 17:09:22 -04:00
Ondra Machacek
d7b3ace0b0 cloud: ovirt: Fix upgraded state of the ovirt_hosts module (#25169) 2017-06-08 16:58:54 -04:00
Ondra Machacek
c17efa4aaa cloud: ovirt: Add possibility to specify opentack volume type (#22361)
This PR fixes: https://github.com/ansible/ansible/issues/21580
2017-06-08 16:53:26 -04:00
Ondra Machacek
c17e206b0e cloud: ovirt: add module to manage storage connections (#22239) 2017-06-08 16:52:20 -04:00
Tareq Alayan
013f759775 ovirt_vms: add ability to specify storage domain (#24012)
When creatinf a new VM from template, you can specify the storage domain
name and disk format where to copy all the template disks

For example if you want to create a VM from template into specific
storage domain you can do the following:

  ovirt_vms:
    name: vm_on_my_storage_domain
    cluster: my_cluster
    template: my_template
    operating_system: other_linux
    type: server
    cpu_cores: 1
    cpu_sockets: 1
    state: stopped
    clone: True
    storage_domain: my_nfs_storage
    format: COW
2017-06-08 16:52:07 -04:00
Tareq Alayan
a401f6a8e9 ovirt_nics.py: support adding nic to template (#24020)
before this change adding nic was allowed only to a vm. Now it is
possible to add it to template.

example:
- name: test add nic to template
  ovirt_nics:
    auth: "{{ ovirt_auth }}"
    state: present
    template: mytemplate
    name: nic1
    interface: virtio
    profile: ovirtmgmt
    network: ovirtmgmt
2017-06-08 16:44:44 -04:00
Katerina Koukiou
b8c4ca75cf cloud: ovirt: Add option to register template (#24830) 2017-06-08 16:44:15 -04:00
Ondra Machacek
a1a246e85d cloud: ovirt: add ovirt_scheduling_policies_facts module (#25055) 2017-06-08 16:43:54 -04:00
Ondra Machacek
436b8c9791 cloud: ovirt: add localfs option to storage_domains module (#25439) 2017-06-08 16:43:40 -04:00
Adrian Likins
f4128746d3 Cmdline fact uefi 23647 (#25446)
* Fix ansible_cmdline initrd fact for UEFI

UEFI cmdline paths use \ path sep which would
get munged by cmdline fact collection.

* Make CmdLineFactCollector easier to test

extract the parsing of the /proc/cmdline content to
_parse_proc_cmdline()

add a wrapper method for get_file_content _get_proc_cmdline()

Add unit tests of _parse_proc_cmdline based on examples
from issue #23647

Fixes #23647
2017-06-08 16:03:29 -04:00
Dag Wieers
931d8d7dad Add new Windows modules to CHANGELOG.md (#25434)
* Add new module win_dsc

* Add more Windows modules
2017-06-08 12:58:44 -07:00
James Cammarata
781bb44b02 Include the original YAML error in syntax error messages 2017-06-08 12:51:37 -05:00
Brian Coca
db15528de3 added example for those with ansible_connection set 2017-06-08 13:40:48 -04:00
Brian Coca
d325fa00cc corrected docs 2017-06-08 13:18:03 -04:00
Brian Coca
a2cff554ee allow more 'backwards compatible' vars_plugins (#25451)
* allow more 'backwards compatible' vars_plugins

* better version relying on exceptions
2017-06-08 12:47:40 -04:00
Jordan Borean
89caef8fb6 win_environment: Added tests and return info in document (#25064)
* win_environment: Added tests and return info in document

* fixing up some yaml issues

* some more things I should have detected

* fixing up test tag name
2017-06-08 17:39:10 +01:00
Dag Wieers
357069afcb Add missing modules (#25483) 2017-06-08 17:31:10 +01:00
Branko Majic
6ce7448ca4 New module: Add module for manipulating the dconf database (system/dconf) (#23015)
* Implemented dconf module for manipulating and reading the dconf database.

* Fixed remote execution for the dconf module when state=present by wrapping the invocation with dbus-launch (dconf requires a running DBus user session). Updated documentation to mention external module dependencies.

* Fixed remote execution for the dconf module when state=absent by wrapping the invocation with dbus-launch (dconf requires a running DBus user session).

* Updated dconf module implementation to make it more robust:

- Detect running D-Bus session, and reuse that one if possible.
- If detection fails, try launching process via dbus-run-session to avoid
  left-over D-Bus processes.
- As last resort run dbus-launch, and clean-up after the changes have been
  made.
- Updated documentation to mention new dependencies and to be more explicit
  about module limitations.

* Fixed PEP8 errors reported by ansibot in dconf module.

* Updated dconf module implementation:

- Fail early if psutil library is not available on the system.
- Go through all of user's processes to locate a running D-Bus daemon.
- Test potential D-Bus session bus address before deciding to (re)use it.
- Added a couple of debug statements.
- Updated documentation to include dbus-send as requirement.

* Updated dconf module implementation:

- Simplified module, removing all code for handling dbus-daemon, as discussed in
  a community meeting.
- Module user must ensure that D-Bus user session is available and specified
  either via module parameter or environment variable.
- Updated documentation for the change.

* Updated dconf module implementation:

- Add back ability to detect running D-Bus user session.
- Fail-back to using dbus-run-session if running session could not be detected.

* PEP8 fix for dconf module.

* Updated dconf module implementation:

- Introduce correct examples for Gnome DE.
- Rename existing examples to mark them as Cinnamon-specific.
- Use self.module.get_bin_path instead of custom check for dbus-run-session.
- Fixed typo in method documentation for DconfPreference.reset().
2017-06-08 09:12:34 -07:00
Brian Coca
8badfcd7fe make sure ini handles children no matter the order
fixed 'pending declarations' assumption that children only have 1 parent
fixes #25488
2017-06-08 10:37:19 -04:00
George Nikolopoulos
a00089c341 New module: manage Citrix Netscaler service configuration (network/netscaler/netscaler_service) (#25129)
* netscaler_service initial implementation

* Changes as requested by reviewers

* Skip some tests if under python2.6 and importing requests library

* Change option "operation" to "state"

* Remove print statements from netscaler module utils

* Catch all exceptions during login

* Fix fail message

* Add common option save_config
2017-06-08 08:33:32 -06:00
Eric D Helms
2220362a5f fixes(#25299) Don't fail when creating a Foreman organization (#25396) 2017-06-08 12:49:40 +01:00