1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

1894 commits

Author SHA1 Message Date
Dag Wieers
8d962209f4 mod_utils/cloudengine: PEP8 compliancy (#24659)
- Make PEP8 compliant
2017-05-30 18:28:02 +01:00
Sander Steffann
06f76a2741 Fix IndexError when junos_config contains multiple delete lines (#25139)
* Prevent IndexError when deleting multiple lines

The old code will raise `IndexError: list assignment index out of range` when deleting multiple lines because the indexes of the original and the copy get out of sync. Solved by deleting from the high indexes first so the lower ones remain stable.

* Don't load configuration if nothing to load

Instead of sending an empty candidate config (for example because the candidate only consisted of `delete` lines, and all of them were filtered out by `filter_delete_statements`) just return. JunOS seems to get confused by empty changes, and if the candidate config is empty then it's a no-op anyway.
2017-05-30 11:55:25 +05:30
René Moser
d5b04aa1f1 cloudstack: add check mode tests (#24908)
* cloudstack: test: cs_network_acl: add check_mode tests

* cloudstack: test: cs_pod: add check_mode tests

* cloudstack: test: cs_user: add check_mode tests

* cloudstack: test: cs_sshkeypair: add check_mode tests

* cloudstack: test: cs_project: add check_mode tests

* cloudstack: test: cs_vpc: add check_mode tests

* cloudstack: test: cs_vpn_gateway: add check_mode tests

* cloudstack: test: cs_volume: add check_mode tests

* cloudstack: test: cs_vmsnapshot: add check_mode tests

* cloudstack: test: cs_account: add check_mode tests

* cloudstack: test: cs_affinitygroup: add check_mode tests

* cloudstack: test: cs_cluster: add check_mode tests

* cloudstack: test: cs_domain: add check_mode tests

* cloudstack: test: cs_instancegroup: add check_mode tests

* cloudstack: test: cs_iso: add check_mode tests

* cloudstack: test: cs_loadbalancer_rule: add check_mode tests

* cloudstack: test: cs_portforward: add check_mode tests

* cloudstack: test: cs_resourcelimit: add check_mode tests

* cloudstack: test: cs_securitygroup: add check_mode tests

* cloudstack: test: cs_securitygroup_rule: add check_mode tests

* cloudstack: test: cs_configuration: add check_mode tests

* cloudstack: test: cs_firewall: add check_mode tests

* cloudstack: test: cs_instance: add check_mode tests

* cloudstack: query current tags from API

Fixes unexpected tags returned in check mode.
2017-05-26 12:19:47 +02:00
Brian Coca
85c7a7b844 added new selinux fact to clarify python lib
the selinux fact is boolean false when the library is not installed,
a dictionary/hash otherwise, but this is ambigous
added new fact so we can eventually remove the type dichtomy and normalize it as a dict
2017-05-25 10:37:52 -04:00
Abhijeet Kasurde
211d0656f8 Misc Typo correction (#25025)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-25 16:14:39 +02:00
Konrad Klimaszewski
5f3c887c38 Docker does not output Status after pull anymore.
- Docker 1.12 on CemtoOS7 does not output status line anymore.
- Do not rely on Docker output to verify if the image was the latest.
2017-05-24 16:07:17 -07:00
Brian Coca
e558ec19cd Solaris fact fix (#24793)
* ensure locale for solaris fact gathering

fixes issue with locale interfering with proper reading of decimals
fixes #24542

* fixed typoe
2017-05-24 14:31:38 -04:00
Ganesh Nalawade
825d9df5ea Add eos changes for Python3 (#24600)
* eos python3 changes

* changes to convert response from byte to text

* Add dellos6 python3 changes
Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431

* Fix py3 prompt issue for invalid show command
* Fix review comments
* Add generic fix for error prompt in py3
* Fix CI issue
* Fix network_cli unit test failure
2017-05-24 19:40:38 +05:30
Abhijeet Kasurde
2039abbbfa Fix typos in eos module_utils (#24966)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-24 15:22:09 +05:30
Dag Wieers
66355df917 module_utils/six: PEP8 compliancy
- Make PEP8 compliant
2017-05-23 15:43:52 -07:00
Brian Coca
e506b5da14 only set executable from shell if not set already 2017-05-22 18:06:55 -04:00
Brian Coca
55135c0825 enable run_command to use non /bin/sh shells
fixes #24169
2017-05-22 18:06:55 -04:00
Trishna Guha
9fb9c00092 Remove deprecation for username/password eos_user, nxos_user and Doc update (#24880)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-05-22 20:02:36 +05:30
Ganesh Nalawade
7563d93901 Add nxos changes for Python3 (#24602)
* Add nxos changes for Python3

Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431

* Fix CI issues

* Fix review comment

Replace surrogate_or_strict with
surrogate_then_replace as per review
comment os PR #24601
2017-05-20 01:45:53 +05:30
Tom Melendez
3fbf3b51ff [GCP] remove ansible.utils.display for deprecations (#24738)
* [GCP] remove ansible.utils.display for deprecations, use module.deprecate instead.

* removed test file from legacy files
2017-05-18 12:07:16 -04:00
Trishna Guha
feafae70b5 Fix transport getting set to None when not set explicitly (#24769)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-05-18 15:11:09 +05:30
Abhijeet Kasurde
2f955e7da8 Save commit_timeout as string in junos_config (#24761)
Fix converts commit_timeout to string as
Elementree.SubElement requires text as string.

Fixes #24611

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-18 12:38:26 +05:30
QijunPan
40c2b8cac9 Contributing new lib/ansible/module_utils/ce.py module to manage HUAWEI data center CloudEngine switch (#21666)
* add module_utils ce.py

add module_utils ce.py

* update module_utils/ce.py to support netconf

update module_utils/ce.py to support netconf

* update module_utils ce.py

update module_utils ce.py
2017-05-17 18:36:34 +01:00
Ganesh Nalawade
38eeeb755d Add ios changes for Python3 (#24601)
* Add ios changes for Python3

Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431
pep8 fixes

* Fix CI issues

* Fix review comment
2017-05-17 20:00:52 +05:30
Ganesh Nalawade
e52d06b401 Add dellos9 changes for Python3 (#24607)
* Add dellos9 changes for Python3

Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431

* Minor changes
2017-05-17 00:36:52 +05:30
Ganesh Nalawade
a883635aeb Add dellos6 changes for Python3 (#24606)
Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431
2017-05-17 00:36:32 +05:30
Ganesh Nalawade
442df927f1 Add dellos10 changes for python3 (#24608)
Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431
2017-05-17 00:36:15 +05:30
Ganesh Nalawade
a3c689bf0d Add sros changes for Python3 (#24604)
* Add sros changes for Python3

Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431

Code cleanup
pep8 fixes

* Fix CI issue
2017-05-17 00:33:36 +05:30
Ganesh Nalawade
16d610c1de Add vyos changes for Python3 (#24603)
* Add vyos changes for Python3

Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431
pep8 fixes

* Fix CI issues
2017-05-17 00:32:59 +05:30
Ganesh Nalawade
f4e1dc503b Add iosxr changes for Python3 (#24605)
* Add iosxr changes for Python3

Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431

* Fix CI issue
2017-05-17 00:32:41 +05:30
Lemar Carthens
ef13f0f389 vmware_guest: Fix VM creation when adding a network device without a MAC address (#24138)
* vmware_guest: Fix VM creation when adding a network device without a MAC address

* Provide python2.4 compatibility
2017-05-16 08:47:49 -07:00
Dag Wieers
d07f18fbb9 module_utils/rax: Small parameter cleanup (#24664)
Nothing really fancy.

- Removing boolean choices
- Use path-type for credentials
2017-05-16 10:02:04 -04:00
Dag Wieers
61d68275e8 module_utils/asa: PEP8 compliancy (#24655)
- Make PEP8 compliant
2017-05-16 12:16:05 +01:00
Abhijeet Kasurde
764b4b20ec Fix UnboundLocalError in basic.py
* Fix for UnboundLocalError while accessing deprecations
  in result
* Add Unit test

Fixes #24592

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-15 09:32:17 -04:00
René Moser
19e7abb971 cloudstack: return known used resources in fail_json (#24575) 2017-05-13 14:31:51 +02:00
Toshio Kuratomi
84a59e472b Be explicit about pickle protocol and encoding (#24454)
On Python3 and Python2 use pickle slightly differently so we need to be
explicit about some things.

If pickles could be shared between python2 and python3, as in
ansible-connection and the pickle cache, we need to specify the protocol
to use when dumping and the encoding to use for byte strings when
loading.

The dumping protocol needs to be no higher than 2 as python-2 only
supports up to protocol 2.  The encoding should usually be 'bytes' so
that python2 str type becomes python3 bytes type.  However, doing this
means that we must make sure that the objects being serialized properly
make their strings into text strings except when they're supposed to be
bytes.  If strings are improperly byte strings, they may cause
tracebacks on the receiving end
2017-05-12 18:04:48 -07:00
Abhijeet Kasurde
8ad182059d Add check for processor_core value
Fixes #21893

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-12 12:30:05 -04:00
Tom Melendez
4a5cf0b5c1 [GCE] [GCP] UrlMap module (#24422)
* [GCP] UrlMap module

This module provides support for UrlMaps on Google Cloud Platform.  UrlMaps allow users to segment requests by hostname and path and direct those requests to Backend Services.

UrlMaps are a powerful and necessary part of HTTP(S) Global Load Balancing on Google Cloud Platform.

UrlMap takes advantage of the python-api so the appropriate infrastructure has been added to module_utils.

More about UrlMaps can be found at:
https://cloud.google.com/compute/docs/load-balancing/http/url-map

UrlMap API:
https://cloud.google.com/compute/docs/reference/latest/

Google Cloud Platform HTTP(S) Cross-Region Load Balancer:
https://cloud.google.com/compute/docs/load-balancing/http/

* updated documentation, remmoved parens

* fixed tabs
2017-05-11 13:02:32 -04:00
Rob
fd1debb869 Feature/aws helper function for tags (#23387)
* Add new helper function for comparing AWS tag key pair dicts. Also modify boto3_tag_list_to_ansible_dict function to be more generic when looking for key names because AWS sometimes uses 'Key', sometimes 'TagKey' and who knows what the future holds! Fixed modules to work with changes.

* Review changes

* Add some more doc to GUIDELINES for tags and fix var name for snaked values in ec2_group_facts
2017-05-11 07:39:51 +01:00
Dag Wieers
bc806ff479 Windows: Small fix to Add-Warning and Add-DeprecationWarning (#23520)
Simplified the logic, and fix the issue of having a nested list as
entry.

Also indicate that we deliberately want to retain $null values
(and i.e. do not want them to be turned into a boolean).
2017-05-09 09:18:37 -07:00
Benjamin Jolivot
e99815e9f5 Fortios file only mode + integration tests (#23275)
* WIP file_mode

* WIP

* Add file_mode + integration tests

* fix pep8

* Update doc fragments
Create mutualy_exclusive param
Fix yamllint problem in tests

* Add aliases file + main playbook for fortios

* Install pyfg before running tests

* Install pyfg before running tests in role

* Remove pre_task as it's done in roles

* Force pyFG minimal version for python3

* role_path not role_dir :(

* Change requirements

* Specify Error type when error on import

* Bug in pygf library with python 2.5 (PR is waiting https://github.com/spotify/pyfg/pull/19)

* Bad requirement format

* still bad format -_-'

* remove test/integration/fortios.py (auto generated by tests)
missing new lines at end of file

* pyFG is now fixed in 0.50
2017-05-09 13:51:19 +01:00
Matt Clay
d999d613cb Python 3 fixes for CloudStack modules and tests. (#24400) 2017-05-09 13:37:08 +02:00
Dag Wieers
5ab97b30cd powershell: Add support for list parameters (#23131)
This is a first implementation of list parameters.

It will convert a single string, or comma-separated value into an Array.
2017-05-08 17:53:13 -07:00
Nathaniel Case
830f19d444 nxos_bgp updates (#24270)
* Remove invoke from nxos_bgp
* Try to simplify get_existing
* Streamline state_present
* More testing, squash & compact get_value & get_custom_value
* Streamline main
* nxapi has problems reading CustomNetworkConfig directly
2017-05-08 11:38:50 -04:00
Toshio Kuratomi
4bf8071889 Give user whatever information we have from ssh-keyscan
ssh-keyscan isn't very verbose about errors.  Give the user whatever
information we have available even if it isn't much.  At least they will
know how we were running ssh-keyscan and why there's an error now.

Fixes #19440
2017-05-05 08:35:04 -07:00
Matt Davis
db91dd8685 fixed issue with multiple calls to Add-DeprecationWarning 2017-05-03 17:06:02 -07:00
Toshio Kuratomi
90a229c793 Fix error in unittesting
When unittesting, the framework creates a pipes module that is picked up
by the basic module_utils test.  Switch to using shlex_quote as that is
the right thing to use for portability anyway.
2017-05-03 09:37:31 -07:00
Toshio Kuratomi
36d7c0c403 Fix places where path needs to be bytes on python3
These were discovered on python3 with fetch code that fails on errors.  Probably could be
provoked with particular sets of arguments to stat as well.
2017-05-03 09:37:31 -07:00
Gaurav Rastogi
e8a0215cd3 Avi 17 1 (#24047)
* Added new common argument api_version for all Avi modules

* Updated dependency for the new modules to use avi sdk 17.1 and above

* Updated Avi 17.1.1 modules with descriptions and moddule dependencies

* Updated version_added for new options
2017-05-03 16:51:28 +01:00
Matt Clay
785bc93ff7 Allow empty string for EC2 session token from env. 2017-05-03 10:25:51 +08:00
Toshio Kuratomi
d088030fa6 Facts Timeout was not settable via ansible.cfg
The timeout for gathering facts needs to be settable from three places
(highest precedence to lowest):

* programmatically
* ansible.cfg (equivalent to the user specifying it explicitly when
  calling setup)
* from the default value

The code was changed in b4bd6c80de to
allow programmatically and the default value to work correctly but
setting via ansible.cfg/parameter was broken.

This change should fix setting via ansible.cfg and adds unittests for
all three cases

Fixes #23753
2017-05-01 07:59:42 -07:00
Abhijeet Kasurde
bb8666471d Update documentation of fetch_url in urls.py (#23892)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-01 09:57:37 -05:00
Alberto Murillo Silva
bb234b9206 Fix ClearLinux pretty name
ClearLinux has changed its pretty name in os-release file
from: 'Clear Linux Software for Intel Architecture'
to: 'Clear Linux OS for Intel Architecture'

This patch makes the SEARCH_STRING 'Clear Linux' rather than
the full name to make it compatible with the old and new name.

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2017-05-01 08:53:34 -04:00
Nathaniel Case
689b93bf14 Junos_config unicode (#23369)
* Try to handle unicode output more sensibly

* Appears I'm getting latin1 instead

Ugh.
2017-04-27 11:44:26 -04:00
Senthil Kumar Ganesan
ce99ffe205 Fixed PEP8 issues (#24030) 2017-04-27 11:41:43 +01:00
Patrick Ogenstad
9a0a7f78d7 asa_command: set default_output to text (#23979) 2017-04-26 09:46:39 -04:00
Ganesh Nalawade
15c19367d6 Fixes #23960 junos_config fail with config in xml (#23962)
If config is in xml format append it to <configuration>
tag as a instance of Element class.
2017-04-25 22:40:16 +05:30
Trishna Guha
47edac6ebd Remove repetition of code nxos (#23908)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-04-25 08:37:22 +05:30
Nathaniel Case
0c2a0c7bce Eos port default values (#23829)
* Hook port back up for eos cli transport

* The default values have moved

* Why not have conditional defaults?
2017-04-20 15:58:45 -04:00
Nathaniel Case
9bcc3f298f EOS default transport (#23824)
* Give a default to eos transport
2017-04-20 15:02:42 -04:00
Logan Attwood
5bbf0d9cb6 Use isfile check on package manager paths 2017-04-20 07:42:58 -07:00
Brian Coca
631a10745d fix hashing when path is symlink 2017-04-20 10:35:59 -04:00
Ganesh Nalawade
bf1a543f06 Make warning logs consistent (#23666)
* Make warning logs consistent

Arguments outside provider with default
value should not log as warning in case
it is not mentioned in play.

* Make nxos timeout default consistent and add comments

* Make comments more verbose
2017-04-18 21:59:38 +05:30
Ken Celenza
b8507b676b Remove Warning for provider (#23652) 2017-04-18 00:36:24 +05:30
Daniel
bbb9f3164c Nxos vxlan vtep vni netcfg fix (#23620)
* Code cleanup
Removed 'add' method from CustomNetworkConfig.  It is identical
to the one inherited from NetworkConfig

* Removed unused CustomNetworkConfig import

* Replaced
```
def get_existing(module, args):
    existing = {}
    netcfg = get_config(module)
    config = netcfg.get_section(parents)
```
with
```
netcfg = CustomNetworkConfig(indent=2, contents=get_config(module))
```
get_config returns a string, not an object in 2.3.

* Removed non-functioning get_object method in CustomNetworkConfig in favor of the
inherited method.

Added child_objs property so that expand_selection would work.  The original
verion never worked correctly as it compared NetworkConfig obj's and str's.

* Removed ShellError method in favor or new load_config method.

* Removed ShellError method in favor or new load_config method.
fixes #20260

* nxos requires a "no" statement to change mcase group.  Corrected.
Corrected changed logic.

* Corrected deleted CustomNetworkConfig import
2017-04-17 12:40:13 -04:00
claer
811eb66703 Improve Fortios IPv4 policy with logging capabilities and use the backup_filename param (#23544)
* Improve Fortios IPv4 policy with logging capabilities. While there, fix typos in examples. forti_config: use the backup_filename param and dont enforce the the filename value.

* forti-typos

* Add version_added for new options in the documentation
2017-04-13 12:20:06 -04:00
Nathaniel Case
86c714548f Redo #23418 (#23425)
* Check for provider values inside check_args of respective network code

* Partial revert of b9ee5aa

The no_log change is okay, but take out the action result munging
2017-04-07 19:22:17 -04:00
Chris Alfonso
d4bd54d3b8 Fixes #23388 Network provider masks too much (#23418)
* Fixes #23388 Network provider masks too much

* Fix trailing whitespace
2017-04-07 14:34:47 -06:00
Matt Martz
621e27b5dd Urls client cert auth (#18141)
* Build HTTPSClientAuthHandler more similarly to how HTTPSHandler works

* Add docs for new client cert authentication

* Support older versions of python

* Simplify logic

* Initial support for client certs in urls.py

* Add an extra test

* Add a get_url test for client cert auth

* Add additional test for client cert auth, with validation and ssl mismatch

* Skip assert when http tester not available

* Update version_added for new options
2017-04-07 09:54:37 -07:00
Matt Martz
13ac993d25 Fallback to old ssl_wrap_socket 2017-04-07 09:19:26 -07:00
Matt Martz
33f7a27cba Use PyOpenSSLContext instead of deprecated wrap_ssl_context from urllib3.contrib.pyopenssl. Fixes #18528 2017-04-07 09:19:26 -07:00
Matt Clay
48eeab8a53 Fix errors reported by pylint. (#23282)
* Fix pylint misplaced-bare-raise errors.
* Fix pylint return-in-init error.
* Fix pylint bad-format-character error.
* Fix pylint too-many-format-args errors.
* Fix pylint too-few-format-args errors.
* Fix pylint truncated-format-string error.
2017-04-06 16:58:16 -07:00
Ricardo Carrillo Cruz
3537b24742 Unhardcode the port and protocol on eos EAPI (#23350)
We were hard-coding the protocol, port and validate_certs on
eos EAPI via the action plugin.
Put defaults on the eos_argument_spec and pull those values from it.
2017-04-06 19:18:28 +02:00
Peter Sprygada
f0008248d4 fix iosxr commands to encode json (#23346)
the command dict in the iosxr module_utils wasn't encoding the request
to json.  this patch will fix that problem
2017-04-06 15:44:21 +01:00
Ganesh Nalawade
0b8ca98c48 Fix junos rollback id validate issue (#23283) 2017-04-05 16:41:11 +05:30
Nathaniel Case
597bca3129 junos_config: Remove reliance on ability to output configuration in set format (#23225)
* Remove reliance on ability to output configuration in `set` format
* Support multiple warnings per rpc-reply
2017-04-04 15:00:00 -04:00
Ricardo Carrillo Cruz
2e89126af7 Remove dupe supports_session method from eos module_utils (#23240)
Fixes #23237
2017-04-04 00:46:10 +02:00
Tom Melendez
8b677e25c4 [cloud][GCP]: New module gcp_backend_service for load balancer backends (#22857)
* GCP: backend service module

* GCP: rework param-checking code. Fixed a couple of bugs and changed to ValueError instead of custom tuple.

* GCP: fixed commit, spelled out Google Cloud for clarity in module description.
2017-03-30 16:59:35 -04:00
Jason DeTiberus
3642de9ecc k8s/openshift module_utils split (#23115) 2017-03-30 19:02:17 +02:00
Senthil Kumar Ganesan
a0344acd78 Ansible 2.3 feature support for dellos6. (#23084)
* Ansible 2.3 feature support for dellos6.

- With the new Ansible 2.3 infra changes, the dellos modules doesn't work
  (the new infra changes are not backward compatible), so added the below
  changes support it.
- Added the new terminal plugin for DellOS6
- Added the new action plugin for DellOS6
- Modified the modules to work with the new infra.
- with that it adds support for DellOS6 Persistent Connection support.

* Remove pep8 confirming files from dellos6.py and dellos6_config legacy-files
2017-03-30 15:26:32 +02:00
Ricardo Carrillo Cruz
1abc73da68 Fix ios_config return on python 2.4 (#23094) 2017-03-30 00:19:43 +02:00
Pavel Glushchak
097173c6f5 Added Virtuozzo distribution support
Virtuozzo Linux is based on CentOS sources. Thus OS family
should be recognized as 'RedHat'.

Signed-off-by: Pavel Glushchak <pglushchak@virtuozzo.com>
2017-03-29 08:47:05 -07:00
Ricardo Carrillo Cruz
cc7e09451a Fall-back to show configuration on old IOSXR devices (#22900)
In old IOSXR versions, 'show commit changes diff' does not work.
Fall-back to 'show configuration' if that command fails so execution
can move forward.

Fixes #22235
2017-03-29 16:21:23 +02:00
Brian Coca
ea7bff4a3f changed spec to options as per irc meeting 2017-03-28 15:55:22 -04:00
Ricardo Carrillo Cruz
a5b12ff269 Introspect flag to use on 'show run' when using defaults in ios_config (#22903)
When the ios_config module has 'defaults' param it runs in the device the command
'show running-config all' but 'all' may not be available in older devices.
This change makes introspection by using the help command and run 'full' in case
'all' is not available.

Fixes #22747
2017-03-28 10:20:52 +02:00
Chris Houseknecht
d2ea851d09 Adds k8s_common.py (#22899) 2017-03-28 02:27:28 +02:00
Senthil Kumar Ganesan
dd63dfcf1e Ansible 2.3 feature support for dellos9 and dellos10 (#22856)
* Ansible 2.3 feature support for dellos9 and dellos10
* Use Persistent Connection Manager

* Fix CI issue, revert the doc and metadata changes

* Reverted the meta_info (supported_by) to community from core

* Fixed the CI issues, use module_utisl.six and updated legacy-files
2017-03-27 19:32:57 +01:00
Peter Sprygada
3169cbd493 roll up of fixes for sros modules (#22972)
* fixes action handlers for sros
* fixes sros_config module execution to use AnsibleModule
* fixes sros_command module to use socket connection
* adds sros to constants
2017-03-25 10:35:15 -04:00
Brian Coca
9a05113daf pass params to validate against 2017-03-24 15:53:15 -04:00
Brian Coca
25de905c6e subspec protptype 2017-03-24 15:53:15 -04:00
Toshio Kuratomi
29f623571e Handle the case where HTTPError.info() returns an object that aren't (#22894)
dict-like enough (can't be used with **).

This should give a better error message for #22872
2017-03-24 12:24:59 -07:00
Alexander Gordeev
4b9b0a25c3 Add pvs info to linux hardware 'ansible_lvm' facts (#16773)
This change adds the information about physical volume to hardware
facts.
2017-03-24 12:13:33 -04:00
Miroslav Lichvar
c1a766df98 Add PHC and timestamping info to network interface facts on Linux (#21767) 2017-03-24 12:09:33 -04:00
Adrian Likins
25be6aebc3 Add HDD serial numbers. (rebase/fixes of #9454) (#22852)
Add HDD serial numbers to linux hardware facts via 'sg_inq' tool
2017-03-24 12:06:42 -04:00
Peter Sprygada
866f67e213 fixes a number of issues with nxos_facts (#22923)
* updates command runs to return warning if command fails
* fixes variable issues from recent refactoring
* removes provider from return of module
2017-03-23 22:35:15 -04:00
Toshio Kuratomi
2fff690caa Update module_utils.six to latest (#22855)
* Update module_utils.six to latest

We've been held back on the version of six we could use on the module
side to 1.4.x because of python-2.4 compatibility.  Now that our minimum
is Python-2.6, we can update to the latest version of six in
module_utils and get rid of the second copy in lib/ansible/compat.
2017-03-23 13:35:05 -07:00
Matt Martz
3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Matt Martz
02f66b9369 E1 legacy pep8 fixes (#21933)
* E1 pep8 fixes

* e111 fix for rds.py
2017-03-21 21:19:40 -05:00
yuriy-z
40a1f20bea Add storage device WWN to facts for Linux (#16640)
World Wide Name (WWN) is unique identifier of device.
This patch adds this identifier to facts for Linux.
2017-03-21 16:51:18 -04:00
Johan Guldmyr
897201c4be add infiniband network type (#18833) 2017-03-21 16:31:30 -04:00
Christian Albrecht
66818050b0 Add perm_hwaddr on Linux bonding slave nics (#19071)
This patch will additionally report the `perm_hwaddr`
fact of a Linux bonding slave network interface.

Related to issue #19067
2017-03-21 16:29:38 -04:00
Brian Coca
07d9366ed8 added 'existing' back
fixes #22785
2017-03-20 12:28:35 -04:00
Tom Melendez
1c38cba7ca [GCE] Invalid zone reported through fail_json
* added new helper function for zones and regions.
* modified GCE module to use it

Fixes: ansible/ansible#20616
2017-03-20 10:15:39 -04:00
René Moser
b90517caf9 cloudstack: implement config overloading and ENV vars for API auth (#22724)
* cloudstack: fix connection by ENV vars and configs overloading

* cloudstack: pep8 cloudstack module_utils

* cloudstack: allow api_url to be set in ini config

* docsite: explain ENV vars support as written in python-cs for ansible
2017-03-17 11:01:43 +01:00
Tom Melendez
f5f6cf467e [GCE] Support default credentials (#22723)
Add support for default credentials. Practically, this means that a playbook creator would not have to specify the service_account_email or credentials_file Ansible parameters.

Default Credentials only work when running on Google Cloud Platform. The 'project_id' is still required.

A test has been added to trigger this condition.
2017-03-16 17:10:07 -07:00
Ondra Machacek
699df5824d cloud: ovirt: fix update_params for ovirt module_utils (#22637) 2017-03-15 08:04:06 -04:00
René Moser
0ee108bda0 cloudstack: cs_instance: revert VPC support (#22629)
Partly reverts 5374c7cd09
2017-03-15 02:02:38 +01:00
René Moser
2be3418a81 cloudstack: fix wrong vpc found by name (#22603)
Fail fast if more than one VPC found with given identifier.
2017-03-14 16:18:32 +01:00
Ricardo Carrillo Cruz
2553a37da5 Add no_log to all network module_utils provider argument (#22566)
The provider argument on the network modules argspec can contain
credentials.
Make sure we don't log it.

Fixes #21892
2017-03-13 13:21:46 -06:00
Peter Sprygada
39c38bf30d fixes candidate var type in junos shared lib (#22551)
* candidate var can now be string, list or element
* fixes minor bug in junos_template for backup argument
* disabled invalid integration test for junos_template
2017-03-13 07:27:45 -04:00
Peter Sprygada
2b2072a8c9 roll up of fixes and updates for junos modules (#22543)
* removes cli functions
* adds comment and confirm to arguments
* implements zeroize argument
* fixes get_diff function in junos shared lib to return diff
* lots of minor bug fixes in junos_config
* minor syntax fixes in junos_netconf
* updates netconf integration tests
2017-03-12 11:45:00 -05:00
Peter Sprygada
3f0f7c4f4e updates junos shared lib and action handler (#22541)
* removes cli functions from shared lib
* adds cli functions to junos_netconf module
* statically pins junos_netconf to cli transport
* all other modules use netconf transport
* adds command rpc function to junos shared
2017-03-12 08:37:45 -05:00
Peter Sprygada
1825406e1e Junos fixes (#22423)
* Fixes for junos_config errors

* Check transport settings for core Junos

* Don't pop from the same list you iterate over

* use of persistent connections are now explicitly enabled in junos

* modules must now explicitly enable persistent connections
* adds rpc support to junos_command

fixes #22166
2017-03-11 10:26:42 -06:00
THEBAULT Julien
374d491ba5 Check if file is not a directory with get_bin_path function (#13985) 2017-03-10 12:21:15 -05:00
Tim Rupp
32146acf4e Actual attributes were being created and messing with the modules (#22424) 2017-03-08 21:10:02 +00:00
Dave Kasberg
8102e66425 Fixes for idempotent issue in cnos_vlan module and fixes for vlag/portchannel tests. (#22385)
* misc fixes for idempotent issue in cnos_vlan

* Fix up hyperlinks in module documentation

* spell correction
2017-03-08 17:09:17 +00:00
Tim Rupp
a8910e78ca Using the wrong variable (#22386) 2017-03-08 08:43:36 +00:00
Tim Rupp
3c69cf6d7d Moved exception handler in a little bit (#22376)
It wasn't being caught in the previous indentation
2017-03-07 21:05:01 +00:00
Ricardo Carrillo Cruz
fd6429fbd1 Idempotency fix for iosxr_config (#22365)
Multiple fixes to address idempotency issues, along with refactor of
module_utils iosxr to look like ios, for code consistency.

Fixes #22315
2017-03-07 15:57:19 +00:00
Chris Alfonso
25827c85d2 Fixing issue #22193 - authorize argument is not deprecated for 2.3 for ios and eos (#22326) 2017-03-07 13:03:44 +01:00
Tim Rupp
c2180888f7 I think for now I'll just not use dunder setter (#22336) 2017-03-07 09:36:13 +00:00
Tim Rupp
6ff9bd0a33 Fixes baseclass for new f5 modules (#22333) 2017-03-06 22:04:49 +00:00
Matt Davis
d12c93ef2b fix azure_rm version checks (#22270)
* Use packaging.version.Version instead of LooseVersion for better support of prerelease tags (eg, 0.30.0 > 0.30.0rc6)
* Add explicit check/error for msrestazure package
2017-03-03 13:28:08 -08:00
Viktor Fogelberg
b9ed3454e4 Change comment to reflect the actual code 2017-03-03 10:32:47 -05:00
Andrea Giardini
04e990281e Add flag to Docker pull_image to know when the image is already latest (#21508)
* Add flag to Docker pull_image to know when the image is already latest

Whenever the flag pull is set to 'yes' the resource is always defined
as 'changed'. That is not true in case the image is already at the
latest version.

Related to ansible/ansible#19549

* Docker pull_image does not change status if the image is latest
2017-03-03 10:16:16 -05:00
Peter Sprygada
7b2c013e5a returns xml as a display option to junos_command (#21833)
The display option xml as accidentially removed from the display
argument.  This patch adds xml back as an option.

fixes #21823
2017-03-02 16:05:20 -06:00
Peter Sprygada
8d76703a9d fix for handling commands that return no data or error (#22086)
This patch addresses a problem in nxos_facts where certain commands are
not supported or return no data, the module would raise an exception.
With this patch, the nxos_facts module will now print a warning for any
commands that return no data and not populate the facts.

fixes #22001
2017-03-02 16:02:16 -06:00
Dag Wieers
237411613d Ensure that filenames from archives are not expanded
This fixes #21795
2017-03-02 11:48:24 -08:00
Dave Kasberg
e5ceb3a99c Fix for cnos.py utility file for Python3.5 (#21750)
* fix in cnos.py utility file

* fix compile errors in cnos.py, update module short description in cnos_vlan.py, move vlan roles under integration/roles

* corrections in readme

* Change module directory name to Lenovo

* change import cnos statement
2017-03-02 16:08:49 +00:00
Ondra Machacek
7d397e7d3e cloud: ovirt: Add download image support to disks module (#22101)
This PR fixes: https://github.com/ansible/ansible/issues/22088
2017-03-02 08:32:36 -05:00
Benjamin Jolivot
2ee3a5aa07 Fortios ipv4 policy (#21849)
* New module fortios_address_group

* New module fortios_ipv4_policy

* New module fortios_ipv4_policy

* Fix pep8

* Fix alias doc problem

* Fix string format for 2.5 compat + close cnx

* Forgoten if string != ""

* Fix doc, change action to policy_action & add action as alias

* fix doc + bug in timeout + duplicate code for config compare

* Create class AnsibleFortios in module_utils/forios.py + use in ipv4_policy module

* remove json import

* python3 error handling compatibility
bad examples for srcadd or dstaddr s/any/all/
remove pyFG dependency in module (moved to module_utils)
id type is int but casted as string
call fortiosansible object sooner
typo in doc
2017-03-01 14:11:36 -08:00
Wayne Witzel III
b2d4eeb293 Ansible Tower job_launch module (#22148)
* Ansible Tower job_launch module

* Added RETURN documentation and fixed import locations

* remove superfluos required attributes, make tags a list, and fix some typos

* only join tags if they are actually a list

* use isinstance instead of type, cleanup imports
2017-03-01 19:57:35 +00:00
Nathaniel Case
d9d2e6deb6 Junos provider readd (#21869)
* Restore `provider` to junos_*

Fixes #21824
Fixes #21824
Fixes #21827

* Fix `confirm_timeout` related errors
* Fix glaring issues with _junos_template
2017-03-01 12:39:44 -05:00
Toshio Kuratomi
49194a66c8 Fix log_invocation function to pass unittests on python3
Normalize this function to use native strings.  Native strings won't
display an extra "u" or "b" character to denote py2 unicode or py3 bytes
types.
2017-03-01 08:50:37 -08:00
Gaurav Rastogi
61288b14fd Renamed the avi_ansible_utils to avi. Fixed the import error and clea… (#22112)
* Renamed the avi_ansible_utils to avi. Fixed the import error and cleaned up code.

* Refactored all new modules to use the new module_utils.avi

* Added module_utils.avi to python 2.4 skip list
2017-03-01 16:16:59 +00:00
Gaurav Rastogi
6df5f89763 Added check for avi SDK version as suggested in review. (#21927)
* Added check for avi SDK version as suggested in review.

* Fixed documentation based on review.

* Renamed module_utils.avi to module_utils.avi_ansible_utils
as import of avi.sdk would fail due to name collisions.

Moved the code to check for AVI version into the ansible modules.

* Updated the module with note about reason for name change.
2017-02-28 19:21:20 +00:00
Wittmer, Christian
52fbfa00f9 fix for #21729, use VERSION_ID instead of PRETTY_NAME to get release (#21730)
* fix for #21729, use VERSION_ID instead of PRETTY_NAME to get release
2017-02-27 15:01:02 -05:00
Brian Coca
6cb9f2bf65 corrected some errors/typos and missing import 2017-02-27 11:27:40 -05:00
Peter Sprygada
c1c54f1bf4 roll up of eos fixes (#21987)
* fixes to_command function in eos to not iterate over commands twice
* fixes lots of minor issues with _eos_template
2017-02-27 09:24:05 -05:00
Nathaniel Case
9b9ed59d98 Vyos config fixes (#21862)
* Fix vyos signatures to match new versions

* Fix test cases referring to 'updates' instead of 'commands'

* I think this is an artifact of `connection: network_cli`?
2017-02-25 21:14:40 -05:00
Peter Sprygada
a284c3f7ea roll up of fixes for nxos_facts (#21954)
* fixes commands to work with nxapi
* updates test case timeouts
2017-02-25 17:48:09 -05:00
Peter Sprygada
1f9b503e89 fixes issue with config parents on eos modules (#21923)
eos_config module wasn't respecting config block path (parents).  This
patch fixes that problem.  Also fixes a number of integration tests
cases

fixes #21903
2017-02-25 16:40:13 -05:00
Peter Sprygada
14c05d9e2b roll up of fixes for nxos_config (#21949)
* fixes provider to not log entries
* fixes nxapi send_request with config statements
* fixes nxapi get_config()
* updates nxos_config integration tests
2017-02-25 16:36:00 -05:00
Peter Sprygada
f9b108e319 fixes issue that caused eapi transport setting to get lost (#21919)
The eos action didn't properly set provider transport argument for the
module.  This patch fixes that problem
2017-02-25 15:20:32 -05:00
René Moser
d26c57f938 exoscale: pep8 and python3 fixes (#21821)
* exoscale: pep8 fixes

* exo_dns_record: remove from pep8 test legacy

* exoscale: fix python3 support
2017-02-25 10:32:39 +01:00
Matt Martz
305c88700d PEP8 E712 fixes (#21916) 2017-02-24 16:49:43 -06:00
Peter Sprygada
c85d794d83 fix argument name in nxos shared lib (#21912)
fixes #21895
2017-02-24 13:23:31 -05:00
Dhivyap
e3dc202a3c Fixes #18663 Bad Handling of existing config in OS6 module (#21661)
Fix bad handling of existing config in OS6 module

Fixes #18663
2017-02-24 10:29:18 -05:00
Dag Wieers
aebf6c8c92 powershell.ps1: Ensure Fail-Json() works with Hashtables (#21697)
Without this change a dictionary $result object would be emptied if it
is anything but a PSCustomObject. Now we also support Hashtables.
2017-02-23 23:08:19 -08:00
Dag Wieers
f47901c3ad powershell.ps1: Add str, int, float types and ignore $null values (#21377)
* powershell.ps1: Add str type and ignore $null values

Changes include:
- New "str" type support using -type "str"
- Ensure that $null values are retained (for bool and str types)
  (Note: $null means unspecified value for parameters)
- Some minor cosmetic changes

* Also add -type "int" and -type "float"

No modules require this at the moment though.
2017-02-23 22:41:03 -08:00
Tim Rupp
b07aa990c9 Adding fixups based on abadger's comments
Using ABCs, and reducing code
2017-02-23 16:55:11 -08:00
Benjamin Jolivot
1e84c401f1 Fortios_config PR (#21409)
* Remove state & change backup strategy & fix doc fragment

* Missing __init__.py

* Move backup to module_utils + add backup_path & backup_filename params

* Fix pep8

* Change backup_path type from str to path

* Change license from gpl to bsd

* Fix doc and backup param leftover

* Fix Doc
2017-02-23 10:01:31 +01:00
Peter Sprygada
0e7ebf6391 fixes issue with setting transport to nxapi (#21811)
The nxos action handler did not map the nxapi value to the provider
argument properly.  There as an additional fix in the nxos shared lib
to properly detect nxapi being set
2017-02-22 22:07:33 -05:00
Matt Clay
4554e8d769 Remove unnecessary shebangs and execute bits. 2017-02-22 18:13:46 -08:00
Peter Sprygada
8824387cf8 fixes ios_command to_command method (#21792)
Changes key from response to answer to match expected payload

fixes #21791
2017-02-22 17:20:18 +00:00
Peter Sprygada
9e6980a039 fixs command dict to be sent to connection socket (#21713)
There as an invalid key in the command dict that would cause failure
using prompts.  This changes the key from response to answer which is
what is expected by network_cli
2017-02-22 09:44:04 -05:00
Brian Coca
5258e6d52a use safe load instead
fixes #21724
2017-02-21 17:45:46 -05:00
Tim Rupp
6a4324ee99 [network] fix imported name in F5 module_utils (#21733)
Whoops. not called that.
2017-02-21 16:40:23 -05:00
Tim Rupp
96bdb01888 Adds the txcontent manager import for bigip (#21700)
as it is used by some modules and it should be part
of the regular imports
2017-02-21 10:39:54 +00:00
Sloane Hertel
26b10eb160 [modules] Fix bad usages of traceback.format_exc(); doesn't take an error parameter (#21678) 2017-02-20 13:27:39 -05:00
Tim Rupp
f37bc92924 Adds required_one_of to f5 utils class (#21650) 2017-02-20 16:01:31 +00:00
Peter Sprygada
d5f7a0181b roll up of eos fixes (#21629)
* fixes error where eos would close the cli shell
* fixes network_cli connection plugin to check before calling open_shell()
* fixes json commands being sent over eapi
2017-02-19 08:46:14 -05:00
Brian Coca
c68d81fe4f added check_ps common function 2017-02-18 13:06:09 -05:00
Peter Sprygada
920f9f4815 fixes nxos nxapi implementation (#21615)
* correctly maps play_context to nxapi values
* fixes bug in nxos_nxapi module detecting nxapi feature
* updates nxos shared lib provider values
* fixes missing ssh_keyfile in nxos shared lib
2017-02-18 11:20:26 -05:00
Peter Sprygada
912877c3dd adds no_log to provider arg in iosxr shared lib (#21617) 2017-02-18 09:29:29 -05:00
Peter Sprygada
c875393916 roll up of fixes for vyos base (#21616)
* adds ssh_keyfile to vyos
* fixes play_context mapping to provider
* adds missing network_os to play_context
* executes close_shell() after module completes
2017-02-18 09:29:17 -05:00
Peter Sprygada
e6dfbf63f6 fixes eos action mapping of play_context values (#21614)
* adds mapping for ssh_keyfile
* adds correct mappings for eapi
* fixes missing no_log value for provider arg
2017-02-18 09:29:06 -05:00
Tim Rupp
ff2affd11a Fixes name (#21610)
The named implied the reverse of how I was actually creating the
dictionary, so correct that.
2017-02-18 08:06:21 +00:00
Toshio Kuratomi
3feb3d6c16 Restore validate_certs being a bool type 2017-02-17 09:17:05 -08:00
Monty Taylor
5d21256d9f Default verify to None for OpenStack modules
This will require a new release of os-client-config.
2017-02-17 11:59:13 -05:00
Ricardo Carrillo Cruz
c5452eef6f Removes default kwarg in iosxr_argument_spec for timeout (#21569) 2017-02-17 15:59:24 +01:00
Peter Sprygada
b0abbb5f8b removes the default kwarg in ios_argument_spec for timeout (#21552)
Uses the configured timeout setting instead of the arg_spec

fixes #21520
2017-02-17 13:12:12 +01:00
Matt Davis
8527013fbe Complete rewrite of Windows exec wrapper (#21510)
* supports pipelining for faster execution
* supports become (runas), creates interactive subsession under WinRM batch logon
* supports usage of arbitrary module_utils files
* modular exec wrapper payload supports easier extension
* integrates async wrapper behavior for pipelined/become'd async
* module_utils are loaded as true Powershell modules, no more runtime modifications to module code
2017-02-17 00:09:56 -08:00
Peter Sprygada
c9f6a2b740 fixes issue with cli shell left open (#21548)
The nxos action plugin will now close the shell connection once the
module has completely run
2017-02-16 22:11:32 -05:00
Peter Sprygada
9d4a3599b8 bug fixes and updates for eos connections (#21534)
* refactors supports_sessions to a property
* exposes supports_sessions as a toplevel function
* adds open_shell() to network_cli
* implements open_shell() in eos action plugin
2017-02-16 20:26:48 -05:00
Sumit Kumar
1ba47cdf2e Add NetApp SolidFire volume module (#20732)
* Add NetApp SolidFire volume module

* Make requested changes

* Make requested changes

* Set supports_check_mode to True

* Make requested changes

* Change new_account_id to account_id, 512emulation

* Make requested changes

* Add alias for enable512e

* Move byte_map to utils and add exit message

* Update description for ‘attributes’
2017-02-16 15:21:14 -05:00
Ted Timmons
5d9df86b42 Postgres ssl mode prefer (#21498)
* refactor postgres,
* adds a basic unit test module
* first step towards a common utils module
* set postgresql_db doc argument defaults to what the code actually uses

* unit tests that actually test a missing/found psycopg2, no dependency needed

* add doc fragments, use common args, ansible2ify the imports

* update dict

* add AnsibleModule import

* mv AnsibleModule import to correct file

* restore some database utils we need

* rm some more duplicated pg doc fragments

* change ssl_mode from disable to prefer, add update docs

* use LibraryError pattern for import verification

per comments on #21435. basically LibraryError and touching up its usage in pg_db and the tests.
2017-02-16 11:29:43 -08:00
Peter Sprygada
02d2b753db refactors junos modules to support persistent socket connections (#21365)
* updates junos_netconf module
* updates junos_command module
* updates junos_config module
* updates _junos_template module
* adds junos_rpc module
* adds junos_user module
2017-02-16 10:53:03 -05:00
Brian Coca
47870c3385 refine password field filtering (#21230)
* refine password field filtering

* dont skip

* removed bad leftover vestige of previous condition
2017-02-16 10:52:27 -05:00
Peter Sprygada
34e6cc788f check cli context to be sure out of config mode in ios (#21493)
This change will now check the cli context after a module runs and if
the cli is still in config mode it will exit config mode.  Also fixes a
minor issue with converting list of commands to a dict

fixes #21481
2017-02-16 12:54:33 +00:00
Dave Kasberg
dbb452100a New module: cnos_vlan and various utility files (#21107)
* First set of CNOS network modules

Two modules: cnos_vlan and cnos_command.  First 2 of 17 CNOS modules

* Revert "First set of CNOS network modules"

This reverts commit 63da68b2a857e622b449f514050eed25fbcf0a35.

* cnos_vlan module

First of 17 CNOS modules

* Modify playbook for cnos_vlan module testing

* fix issue found by shippable in cnos.py

* cnos_backup module

* Fix Python3.5 compilation error

* remove cnos_backup module from this PR

* add aliases file so that testing of the cnos_vlan module will be skipped.

* Use empty aliases file

* utility scripts under module_utils changed to BSD license.

* clean up PEP8 issues, add cnos_vlan tests

* remove blank lines from yml files

* remove more blank lines

* remove even more blank lines

* Revert "remove even more blank lines"

This reverts commit bb3998661ce387260340bca39d5f146f5ec54f44.

* re-submit last commit

* fix blank lines in this file under parsing

* fix yamllint errors in doc section of cnos_vlan

* Fix errors reported by Sanity check using validate-modules

* change test playbook to include tasks for all modules

* fix additional pep8 errors

* more fixes, plus fix for python3

* fix for empty options section, removed unnecessary documentation

* fix up documentation section

* Correct options capitalization

* fix example section, add options

* Fix example section of the documentation
2017-02-16 08:11:39 +00:00
Peter Sprygada
d77a6bda97 remove unneeded module eapi 2017-02-15 20:47:43 -05:00
Jasper Lievisse Adriaanse
52960ff7d0 Fix service_mgr fact for Solaris; svcs is used to list services.
Instead use 'smf' to reflect the name of framework, as is done elsewhere
(e.g. 'systemd' instead of 'systemctl').
2017-02-15 20:07:16 -05:00
Tim Rupp
7869b543fa Changes attribute to be public (#21490)
eom
2017-02-15 22:48:31 +00:00
Will Thames
103ede26df Ensure ssh hostkey checks respect server port (#20840)
* Add tests for `get_fqdn_and_port` method.

Currently tests verify original behavior - returning default `ssh-keyscan` port
Add test around `add_host_key` to verify underlying command arguments
Add some new expectations for `get_fqdn_and_port`
Test that non-standard port is passed to `ssh-keyscan` command

* Ensure ssh hostkey checks respect server port

ssh-keyscan will default to getting the host key for port 22.
If the ssh service is running on a different port, ssh-keyscan
will need to know this.

Tidy up minor flake8 issues

* Update known_hosts tests for port being None

Ensure that git urls don't try and set port when a path
is specified

Update known_hosts tests to meet flake8

* Fix stdin swap context for test_known_hosts

Move test_known_hosts from under basic, as it is its own library.
Remove module_utils.known_hosts from pep8 legacy files list
2017-02-15 11:47:57 -08:00
Peter Sprygada
48b02336ab code clean of old code from network modules updates (#21469)
* removes unused code
* removes module_utils/local.py
* removes plugins/action/network.py
* removes action_handler from connection plugins
* removes code to use action_handler in task_executor
* updates action plugins to subclass from normal
2017-02-15 12:46:30 -05:00
Peter Sprygada
2d14cdc5ac fixes broken run_commands() method (#21478) 2017-02-15 12:12:59 -05:00
Wayne Witzel III
f98d41c121 Ansible Tower user and credential module (#21020)
* rename tower config module parameters to avoid conflicts

* add Ansible Tower user module

* add Ansible Tower credential module

* remove errant hash from interpreter line

* friendlier error messages

* Update tower_verify_ssl defaults and module examples

* Update tower_verify_ssl default documentation

* Tower expects satellite6 not foreman
2017-02-15 16:59:03 +00:00
Tim Rupp
2a9778e320 Change the f5 modules to use f5_utils file (#21466)
The f5 module utils were using a file name that appeared to
conflict with the f5 python SDK's namespace. This patch just changes
the name of the included class to be f5_utils to avoid the issue
of namespace collisions
2017-02-15 16:51:13 +00:00
Peter Sprygada
21d993a4b8 refactors nxos module to use persistent connections (#21470)
This completes the refactor of the nxos modules to use the persistent
connection.  It also updates all of the nxos modules to use the
new connection module and preserves use of nxapi as well.
2017-02-15 11:43:09 -05:00
Peter Sprygada
eb1453a366 updates iosxr modules to support socket (#21231)
* updates all iosxr modules to support persistent socket
* adds iosxr action plugin to connect to device
* adds exec_command() to iosxr shared module
* fixes iosxr_config and iosxr_template local action
* update all unit test cases
* adds base test module for iosxr module testing
2017-02-15 10:47:02 -05:00
Alexander Turner
dc5d92eac2 Added Ordnance Module (#21447)
* Added Ordnance network module.

* Tidied up code base as per PR20436

* Whitespace blocking PEP8 test

* Removed acciental addition to VERSION

* Removed acciental addition to VERSION

* Documentation YAML issues

* removed force arg (depreciated)

* rectified broken import

* Ordnance module init

* added ordnance helper
2017-02-15 10:30:45 +00:00
Peter Sprygada
47141b8426 fixes minor issue with strict diff of network config (#21436)
strips leading and trailing spaces for line comparision to prevent
fails positiives
2017-02-14 20:12:49 -05:00
Tim Rupp
6fc989a902 Adds a factory function for getting REST api tools (#21423)
I plan on converting most all f5 modules to use the rest api, so
this is part of that conversion. it adds a factory method to get
the various rest management root apis provided in the f5 sdk
2017-02-14 22:31:11 +00:00
Michael Price
56dd5a702d Refactor E-Series AMG module to use module_utils (#20871)
* Refactor E-Series AMG module to use module_utils

Refactor the NetApp E-Series module to utlize the common module_utils
and doc_fragments.

* Resolve a PEP8 issue with a missing newline

* Resolve compatibility issue with json import
2017-02-14 15:53:18 -05:00
Brian Coca
258316ca72 user older functions as getres* are >=2.7 2017-02-14 15:05:25 -05:00
Peter Sprygada
b0c01bbb82 updates network_common lib (#21306)
* removes connection functions refactored into connection
* updates ComplexDict and ComplexList objects to use with AnsibleModule
* updates modules to add new argument to ComplexList & ComplexDict
2017-02-14 14:38:30 -05:00
Brian Coca
009ac075b7 expanded user facts to effective/real/saved 2017-02-14 14:37:31 -05:00
Peter Sprygada
e1a2c6e1d3 roll up of fixes for eos modules (#21406)
* fixes issue with load_provider() not checking for an existing key
* adds updates to eos_config results key
* lots of minor syntax fixes in eos shared module
* adds eos_argument_spec to eos_eapi

fixes #21402
2017-02-14 18:47:29 +00:00
Tim Rupp
09edc00008 Adds f5-sdk import check to all F5 modules (#21354)
Including this check in module utils so that it can be done
automatically in all F5 modules. This includes the ones that
do not yet use the f5-sdk because those modules too will move
to the SDK in the future
2017-02-14 08:42:07 +00:00
Pilou
f2c22109fb Don't mix deprecations messages with warnings messages (#21337)
* Remove unused attribute '_passthrough'

* Don't mix deprecations with warnings

* Return values: add 'deprecations' key used internally

* 'deprecations' and 'warnings' return values: add tests
2017-02-13 23:49:39 -05:00
Peter Sprygada
14b942f3fb updates eos modules to use socket (#21197)
* updates eos modules to use persistent connection socket
* removes split eos shared module and combines into one
* adds singular eos doc frag (eos_local to be removed after module updates)
* updates unit test cases
2017-02-13 20:22:10 -05:00
Peter Sprygada
9937e604f5 fixes ios_facts that was returning no values (#21357)
* adds conversion to command dict into ios shared lib
* fixes hardware commands in ios_facts
* adds network_os value to play_context in ios action plugin

fixes #21190
2017-02-13 20:20:44 -05:00
Ondra Machacek
c8c4a73e14 Fix compatibility of affinity groups in oVirt 4.0 and 4.1 (#21308)
* cloud: ovirt: exit if incompatible API/SDK version

* cloud: ovirt: fix affinity groups compatibility for oVirt 4.1
2017-02-13 12:43:35 -05:00
Peter Sprygada
8adb108aa9 updates vyos modules to use socket connection (#21228)
* updates all vyos modules to use socket connection
* adds vyos local action handler
* adds exec_command() to vyos
* updates vyos_config local action
* update unit test cases
* add base class for testing vyos modules
2017-02-13 10:41:22 -05:00
Brian Coca
85194234ba fixed bad copy/paste, deprecations should deprecate 2017-02-13 10:37:54 -05:00
Peter Sprygada
7f1c43e597 updates ios modules to support persistent socket (#21258)
* updates all ios modules to support persistent socket
* adds ios action plugin to connect to device
* adds exec_command() to ios shared module
* fixes ios_config and ios_template local action
* update all unit test cases
* adds base test module for ios module testing
2017-02-13 15:22:14 +00:00
jjlorenzo
3befc894e1 set no_log for url_password 2017-02-13 09:38:51 -05:00
Brian Coca
441ccd3a58 fixed typo 2017-02-13 09:37:13 -05:00
Brian Coca
18b062760c update shared services
added new daemonization function
documented existing functions
2017-02-13 09:37:13 -05:00
Peter Sprygada
92aa92ebd2 updates netconf to use persistent socket (#21307) 2017-02-12 09:05:23 -05:00
Peter Sprygada
b8f138cabb adds connection module to module_utils (#21310)
* connection module connecting to persistent sockets
2017-02-12 07:52:50 -05:00
aperigault
1cdde216ec vmware_guest: Extend facts with vmware tools informations (#20860) 2017-02-11 22:50:59 -05:00
Tim Rupp
5137244c3e Adds fallback env variables for F5 bigip modules (#21213)
These would be a convenience that could be used instead of having
to specify them for each module
2017-02-10 08:06:28 +00:00
Toshio Kuratomi
98541b7c8b Fix to bytes surrogate and nonencodable chars (#21180)
* Add a surrogate_then_replace error strategy to keep to_bytes from tracebacking by default
* Port all code that explicitly used surrogate_or_replace to surrogate_then_replace
2017-02-09 17:13:40 -08:00
Peter Sprygada
39aaa32e40 adds socket usage to network common (#21196)
* updates network common the reconstruct the persistent connection socket
2017-02-09 19:42:06 -05:00
Brian Coca
403e9d35df use regex vs list to weed out password fields
- also warn as module SHOULD have no_log
 - make password regex exportable for testing
 - avoids boolean fields
2017-02-09 18:18:30 -05:00
Alexander Winkler
2ac57e0bc3 Usage of proper Solaris 11 Package Manager
The default Package Manager for Solaris 11 has been set to the module pkg, but there is no such module. Instead pkg5 exists and will be used from now on.
2017-02-09 17:43:11 -05:00
Damien
b71a62283c New Module : aos_ip_pool as part of network/aos (#21044)
* Initial version of aos_ip_pool module

* Add examples for IP Pool

* Break down ip_pool into smaller function

* Refactor do_load_resource

* Add get_display_name_from_file

* Add ‘src’ as an option to load ip pool from JSON file

* Rename directory network/apstra to network/aos

* Remove exception handling temporary

* Remove all ‘Exception as XX’ to be python 2.4 compatible

* Replace ‘== False’ with ‘is False’ for PEP8 Test

* Update documentation to be Yaml compatible

* Lisg all method imported from module_utils.aos

* Refactor to align with collection.find() changes

* Update examples by @gundalow’s  recommendations

* Update Documentation per @gundalow’s recommendations

* Change the license per @gundalow recommendation

* Add exception handling for get_aos_session

* Change Auth format and add check_aos_version() to check minimum version

* Add a check for minimum version

* Refactor ‘src’ into ‘content’ to allow more options
Remove get_display_name_from_file in aos.py
Add content_to_dict in aos.py

* Fix variable name in do_load_resource

* Add mention of aos.py in module_utilities doc

* Add try/except for import yaml

* Add try/Except around main block of code and function

* Refactor to auto detect content_format, update doc accordingly

* Change create_new_ip_pool inputs

* Remove unused import

* Remove in_use as it’s never used

* Fix doc format

* Add version number in requirement doc
2017-02-09 22:22:56 +00:00
Peter Sprygada
138051540e updates the code path for network modules (#21193)
* replaces persistent connection digest with _create_control_path()
* adds _ansible_socket to _legal_inputs in basic.py
* adds connection_user to play_context
* maps remote_user to connection_user when connection is local
* maps ansible_socket in task_vars to module_args _ansible_socket if exists
2017-02-09 14:05:54 -05:00
Dag Wieers
35d97c1e6d Windows: Add-Warning() and Add-DeprecationWarning() (#20903)
* Windows: Add Warn() and Deprecate() mechanisms

Similar to what already exists for python modules.

* Turn deprecations from list of strings, to list of dicts

Since #20884 the internal representations of deprecation messages is
changed from a list of strings to a list of dicts.

* Rename to Add-Warning() and Add-DeprecationWarning()

Implemented as discussed.
2017-02-09 10:41:57 -08:00
Brian Coca
2f1ab29855 add url_password to 'cleanse' list 2017-02-09 08:53:04 -05:00
Adam Friedman
1a28a48176 Refactor dimensiondata_network module (#21043)
* Refactor dimensiondata_network to use shared base class for common functionality.

* Experiment: remove the assignments in the "except ImportError:" block that keep PyCharm happy. If this fixes the build, then I reckon there's a bug in the validate-modules script (https://github.com/ansible/ansible/blob/devel/test/sanity/validate-modules/validate-modules#L322).

* Remove unused imports.

* Changes based on feedback from @gundalow for ansible/ansible#21043.

- Use no_log=True for mcp_password parameter.
- Collapse module parameter definitions.

* Use shared definitions and doc fragments for common module arguments (ansible/ansible#21043).

* Make default network plan "ESSENTIALS", rather than "ADVANCED" (this is consistent with our other tooling).
Tidy up module parameter documentation.

* Simplify dimensiondata module documentation fragments (didn't know you could include multiple fragments).

* Change 'verify_ssl_cert' module parameter to 'validate_certs'.
2017-02-09 11:30:31 +00:00
jerry
bd19a9e847 removing unwanted variables and using to_native instead of str()
(cherry picked from commit c4b09cbcb4df160509f44ffddfedf586391b6878)
2017-02-08 15:53:58 -05:00
jeronimog
4f85e4831d Adding self.log() on IOErrors and OSErrros
(cherry picked from commit ef1ecfd2c28412531fc7e0482b66dab92226306f)
2017-02-08 15:53:58 -05:00
Tim Rupp
43ae12757e Adds CLI classes for some F5 modules (#21119)
To support the _command module for F5 products, this class is needed.
2017-02-08 18:25:20 +00:00
Gaurav Rastogi
798972c72a Avi Networks Ansible modules. (#20415)
* Avi Networks Ansible modules.
Avi Version: 16.3.4

* Fixed Review comments
1. Changed description to be full sentences
2. Fixed Pep8 warnings.
3. Fixed comments and descriptions.

* 1. Fixed descriptions and messages as per review comments.
2. Added descriptions for the missing parameters.

* Fixed the shippable break due to the incorrect description format

* Removed the extra modules so that there is a single module for the first commit

* Updated license to BSD based on review comments

* updated comments based on review feedback

* Refactored code to handle POST and PUT scenarios where playbook does not need to check whether object is present.
Moved ansible helper utilities to module_utils as now roles can be patched with module_utils as well.

* fixed pep8 warnings
2017-02-08 09:47:18 -05:00
Thomas Krahn
9f3870ddcd IPA: Remove duplicated code and fix a bug that occurs if empty lists were passed and IPA didn't know the value before (#19210)
* ipa: Add method get_diff and modify_if_diff to class IPAClient

* ipa_*: Use method get_diff and modify_if_diff from class IPAClient
2017-02-08 14:16:44 +00:00
René Moser
a6f887ce6e cloudstack: cs_portforward: implement vpc support (#19044)
* cloudstack: cs_portforward: implement vpc support

* cloudstack: cs_portforward: add vpc and network to returns

* cloudstack: cs_portforward: networkid must not be used for rule listing

* cloudstack: fail for get_network when vpc but no network name

This seem to be a global pattern for get_network, we want to enforce a
network name to be set if a vpn param is given.

This is used for cs_portforward.

* cloudstack: cs_portforward: doc: fix defaults for vpc, network
2017-02-08 07:57:36 +01:00
Dag Wieers
4f96ee5e27 Add missing iteritems definition (#21106)
Also moved most imports out of try-except block.
2017-02-07 18:31:40 -05:00
Toshio Kuratomi
bfffd1952f Make sure that we're comparing text all the way through.
On Darwin, sys.platform returns byte strings on both python2 and
python3.  Turn it into a text string everywhere in order to remedy that.

Fixes #19845
2017-02-06 13:07:49 -08:00
Loïc Blot
b55d039f67 New modules: vmware_guest_facts & vmware_guest_snapshot (#20971)
* Move gather_facts action outside of vmware_guest module
* Move facts gathering method to vmware.py library
* vmware_guest use some vmware.py library methods
* vmware.py lib: fix some PEP 8 issues
* Move snapshot actions to vmware_guest_snapshot
* Move common snapshot facts to vmware.py library
2017-02-06 11:52:17 -05:00
Peter Sprygada
39426a2207 fixes minor issues with shell (#21039)
* adds sendonly to command dict
* fixes setting timeout param
2017-02-04 09:40:40 -05:00
Peter Sprygada
3eb40d1272 adds netconf shared module (#20743)
New netconf shared lib added to module_utils for sending netconf
messages to remote devices over netconf connection plugin
2017-02-04 09:40:27 -05:00
Toshio Kuratomi
f75ffe46db Make configparser imports python3 ready
the ConfigParser module was renamed to configparser in Python3.  Use
six.moves to import it so that the modules will function on Python3.
2017-02-03 21:15:34 -08:00
Peter Sprygada
289fb8e895 remove unneeded eos_cli shared module (#20999) 2017-02-02 22:36:52 -05:00
Peter Sprygada
d226f31a0f fixes ios and eos command modules (#20989)
* returns support for prompt/response over cli
* now sends native dict instead of str command
* fixes issue with run_commands() in ios to jsonify request
* updates unit test cases
2017-02-02 22:10:14 -05:00
René Moser
62c97cdd3e ios_cli: fix load_config exec_command (#20994)
fixes AttributeError: 'AnsibleModule' object has no attribute 'exec_command'
2017-02-02 21:13:03 -05:00
Peter Sprygada
bce0bd401e bug fixes for shell exec command (#20988)
* fixes up eos_local to call appropriate method
* fixes up ios_cli to call appropriate method
* moves json conversion to eos
2017-02-02 18:32:36 -05:00
Peter Sprygada
76ccfe4627 fixes handle_prompt in shell module (#20982)
* transforms command objects to dict
* transforms string commands to dict
2017-02-02 14:27:55 -05:00
Ondra Machacek
4269b12c9d Ovirt vms improve (#20882)
* cloud: ovirt: add function to get id by name

* cloud: ovirt: add instance type parameter

* cloud: ovirt: use param method instead of module.params

* cloud: ovirt: use 'and' at begging of next line

* cloud: ovirt: add description parameter to vms module

* cloud: ovirt: add comment parameter to vms module

* cloud: ovirt: add timezone parameter to vms module

* cloud: ovirt: add serial_policy parameter to vms module
2017-02-02 13:51:26 -05:00
Ondra Machacek
ee7f1cde0e ovirt: Add support to diff (#20698)
* cloud: ovirt: Add diff support to

* cloud: ovirt: Add ability to print nested list of objects

* cloud: ovirt: Fix waiting while reinstalling host

* cloud: ovirt: fix ovirt_vms 404 error

* cloud: ovirt: add check_mode support to ovirt_auth module
2017-02-02 13:50:52 -05:00
Nathaniel Case
d87fc9605f vyos_config 2.3 (#20577)
* Rename vyos2 over vyos

* Update vyos_config to LocalAnsibleModule

Change result key 'updates' -> 'commands'

vyos_config is supported by core

* vyos_config tests

* Enable bracket config use

* Sanitize config before use
2017-02-02 13:12:26 -05:00
Stephane Maarek
c33812450e fixed type mapper and added tests (#20963) 2017-02-02 09:46:17 -05:00
Peter Sprygada
e19c2f6a6d adds the cli transport back to the ios modules (#20949)
the cli transport was initially removed to aid in the transition to
network_cli.  This adds the function back to the provider can be
specified.
2017-02-01 23:06:42 -05:00
Peter Sprygada
1d7c71ce50 adds eos_local shared module to handle local connections (#20960)
* adds support for eapi
* adds support for cli
* adds doc fragement
2017-02-01 22:21:18 -05:00
Peter Sprygada
67646a0771 fixes exec_command in shell (#20948)
transforms command to dict for processing by instance of Shell
2017-02-01 18:14:53 -05:00
Brian Coca
d4a8816f48 added back return false for when not debian 2017-02-01 15:58:32 -05:00
Brian Coca
86db15b105 last ditch debian release data (#20571)
fixes #10445
2017-02-01 13:15:02 -05:00
René Moser
541a51ddf7 module_utils: implement deprecation warning for params (#20884)
* module_utils: implement deprecation warning for params

* rename deprecated_version to removed_in_version

* fix pep8 E121
2017-02-01 13:00:22 -05:00
Peter Sprygada
406c9e01a2 moves the module utils network cli transport into a separate module (#20921)
This move will allow for the cli transport to go through a deprecation
process as we transition to network_cli plugin
2017-02-01 08:19:55 -05:00
Peter Sprygada
9ab0a49ef2 removes assert and uses to_list common function (#20866)
non impacting change to refactor assert statement out of ios shared
module
2017-02-01 08:19:15 -05:00
Ganesh Nalawade
01f4d4a666 module_utils/basic.py: Support logical or condition in required_if (#20220)
* Support logical or condition in required_if

Add logical 'or' condition support in 'required_if'
for requirements.
* If requirements is a list all parameters within it should
  be present.
* If requirements is a set atleast one parameter should
  be present

* Fix review comment
2017-01-31 20:01:29 -08:00
Vlad Glagolev
039d207d24 Add Source Mage GNU/Linux facts (#19671)
* Add Source Mage GNU/Linux facts

* Add unit test for OS-detection
2017-01-31 13:25:36 -05:00
Adrian Likins
ee9ab6c665 Show valid bool symbols in error for invalid bool symbol 2017-01-31 10:39:16 -05:00