Commit graph

22202 commits

Author SHA1 Message Date
Abhijeet Kasurde
a44adc1dc9 f5: raise exception (#43409)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-29 21:10:42 -07:00
Abhijeet Kasurde
cc3dadf16e
VMware: new module : vmware_about_facts (#43146)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-29 14:51:14 +05:30
Eric Rinish
551501f326 use faster method to get short_description from DOCUMENTATION (#42705)
* use faster method to get short_description from DOCUMENTATION

* fixed pep8 whitespace

* fixed blank line
2018-07-27 17:27:44 -04:00
Joren Vrancken
350dbaf457 Correct default value of always_post_validate in docstring 2018-07-27 16:01:07 -04:00
flowerysong
a08668cf00 Port ec2_tag to boto3 (#39712)
* Add volume manipulation to EC2 integration test policy

* Port ec2_tag to boto3
2018-07-27 15:45:18 -04:00
Florian Braun
74af52533f Variable Timout for Katello Module + Documentation (#41834)
* Changed Foreman timeout to be setable via a parameter
Added a Parameter to set the timout to wait for the started Foreman actions
by the user instead of using the hard coded 1000 Seconds

* katello module screamed for more docu :)

* fix docu + some ci findings
made docu better and moved chices in relations to other options to the description

* added a quote to description and removed wrong combination of param product

* Removed choices from params
also removed katello from a ignore file
2018-07-27 12:31:12 -07:00
tstoner
2c3d418e53 Nxapi ssl (#42905)
* NXAPI ssl ciphers & protocols default values

* TLSv1, TLSv1.1, TLSv1.2 and weak cipher support

* NXOS NXAPI weak/strong cipher & TLSv 1.2, 1.1 & 1.0 support

* Version checking for strong/weak ciphers & TLS 1.2, 1.1 & 1.0 support

* Cleaned up erroneously committed changes.

* Specific NXOS platform checking for nxapi ssl ciphers & protocols

* Fixed ansibot reported errors.

* Resolved ansibot reported error.

* Added network_os_version to mocked up N7K unit test device_info

* Calling get_capabilities() once in main and passing results into methods.

* Removed raising exceptions when platform capabilities return None
per reviewers request. Skipping nxapi ssl options when capabilities
are None and generating a warning when these options are skipped

* Cleaned up explicit checks for None/not None
2018-07-27 22:10:39 +05:30
Jose Delarosa
779d273192 Add new module for Redfish APIs (#41656)
* Add new module for Redfish APIs

Communicates with Out-Of-Band Controller through Redfish APIs
Module gathers hardware information and sends back

* Removed unused library imports

* Removed token entry from headers

* Made 'command' optional and defined default value for each 'category'

* Replace 'result' with 'ansible_facts' for returned dict variable

* Removed unused variable definitions and library imports

* Renamed dicts where data is returned.

Should make it easier to sort through returned data that is placed
in one file.

* Defined dicts to specify available categories and commands in each one.

- Allows specifying default command for each category
- Allows specifying all commands for each category
- Removed Inventory category and moved commands to System category
- Renamed dicts where data is returned to allow to dump more than one in a file

* Remove choice[] since it's redundant

* Added flexibility when specifying categories

- If a category is not specified, it sets a default value
- Can handle more than one category
- Will accept value "all" for category which will set to all available
- Renamed category System to Systems to better reflect Redfish API

* Defined default category in a variable

* Made category argument a list

* Added examples

* Made command argument a list

* Replaced 'ansible_facts' with 'redfish_facts' for returned dict variable.

* Added default value for category in documentation

* Moving redfish_facts inside ansible_facts

* Updated how results dicts are constructed, where applicable

* Improved error messages

* Removed unused variables

* Undo commit 66a7dcd789 due to variable 'e' oversight
2018-07-27 12:21:25 -04:00
Jose Angel
711dd9f834 VMware Module - vmware_guest_move (#42149) 2018-07-27 20:21:45 +05:30
Anil Kumar Muraleedharan
f2c9a6b126 Lenovo port to persistence 1 (#43194)
* CNOS Vlag module is refactored to use persistence connection instead of paramiko.

* Changing interface and port channel modules to persistent connection and adding UT for them.

* Fixing pep8 issues

* Removing trailing new line

* Removing trailing new line

* Removing trailing new line

* Correcting indentation mistake

* Update cnos_vlag.py

* Removing commented examples

They are commented because those configurations are not meant for L2 ports
2018-07-27 10:47:02 -04:00
Abhijeet Kasurde
e24041449e
VMware: new module: vmware_guest_boot_manager (#40609)
This module can be used to manage virtual machine boot order and
related parameters.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 19:58:13 +05:30
Artem Goncharov
6667ec4474 fixes #42042 (#42939)
Do not create group with empty name when region (optional argument) is 
not given in the openstack connection
2018-07-27 10:02:34 -04:00
Abhijeet Kasurde
605a90dfeb
VMware: new module: vmware_category_facts (#39894)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 15:57:40 +05:30
Abhijeet Kasurde
9a561b53fa
VMware: Dynamic Inventory plugin (#37456)
* Disable warnings on validate_certs=False
* Required requests version
* Add testcase for inventory plugin
* Include review comments from mattclay
* remove pyvmomi installation
* remove config file at exit
* Add cache in vmware_inventory inventory plugin
* shertel review comments
* Rename vmware_inventory to vmware_vm_inventory
* bcoca's review comments
* Export username and password for failing testcase

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 15:38:19 +05:30
Xyon
9121f2a4c9 Validate and reject if csr_path is not supplied when provider is not assertonly (#41385) 2018-07-27 05:24:51 -04:00
Abhijeet Kasurde
20092786cf
VMware: new module : vmware_guest_custom_attributes (#38114)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 13:33:43 +05:30
Abhijeet Kasurde
08c9cb33b7
VMware: new module: vmware_guest_attribute_defs (#38144)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 13:27:14 +05:30
Abhijeet Kasurde
4dac5bed83
VMware: Fix mark as virtual machine method (#40521)
Choose resource pool by using get_resource_pool rather than select_resource_pool_by_name

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 12:56:08 +05:30
Lindsay Hill
4a98802b52 Ironware: Deprecate provider, support network_cli (#43285) 2018-07-27 12:51:45 +05:30
Denis GERMAIN
3f9e457751 feat: Add a enable_accelerated_networking flag in module + tests; fixes #41218 (#42109) 2018-07-27 14:56:36 +08:00
Zim Kalinowski
750774d768 fixing aiuth source (#42923) 2018-07-27 14:48:17 +08:00
Abhijeet Kasurde
aefe963483
VMware: handle special characters in datacenter name (#42922)
This fix handles special characters in VMware objects

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 12:17:10 +05:30
Abhijeet Kasurde
7dd5f4c01c
VMware: update examples in vmware_vm_shell (#42410)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 12:15:26 +05:30
Abhijeet Kasurde
1aeca65d10
VMWare: refactor vmware_vm_shell module (#39957)
* Update documentation
* Update wait_for_process logic
* Update examples and return
* Add missing msg in fail_json method

Fixes: #38320

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 11:22:41 +05:30
Abhijeet Kasurde
56f5390151
VMware: additional VSAN facts about Hostsystem (#40456)
VSAN related facts (cluster_uuid) will be used in vmware_vsan_cluster
while adding new host in VSAN cluster.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 11:18:42 +05:30
Ganesh Nalawade
af3f510316
nxos cliconf plugin refactor (#43203)
* nxos cliconf plugin refactor

Fixes #39056

*  Refactor nxos cliconf plugin as per new api definition
*  Minor changes in ios, eos, vyos cliconf plugin
*  Change nxos httpapi plugin edit_config method to be in sync with
   nxos cliconf edit_config

* Fix CI failure

* Fix unit test failure and review comment
2018-07-27 11:05:40 +05:30
Ryan Reed
e215f842ba Correcting conditionals looping (#43331)
Empty conditionals would not break out of the loop, causing every command to be run for the same number of times as retries is defined (10 by default)
2018-07-27 10:42:34 +05:30
Abhijeet Kasurde
dd73bae51a VMware: handle indexError for snapshot details (#42575)
Fixes: #42539

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 00:55:21 -04:00
Adrián Matellanes
c62d9a023a Fix zabbix-template module error version comparison (#39199)
* Fix zabbix-template module error version comparison

* Fix zabbix-template module error version comparison
2018-07-27 00:18:02 -04:00
Vladimir Dobriakov
92ab566527 Make example work: "Import Zabbix Temlate" (#40905)
<!--- Small typo, but it was hard to find, why the ansible module execution failed -->

+label: docsite_pr
2018-07-27 00:12:20 -04:00
Andreas Olsson
ab41fb9cd4 Fix cloudflare_dns proxied change detection (#43096)
Resolves #35190
2018-07-27 09:27:05 +05:30
Abhijeet Kasurde
604fcb55ae
VMware: add support for boot option firmware (#42730)
This fix adds support for the boot option 'firmware'

Fixes: #42541

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 09:18:04 +05:30
Toshio Kuratomi
dce0a8d052 Switch to imp.load_module 2018-07-26 20:07:25 -07:00
Toshio Kuratomi
52449cc01a AnsiballZ improvements
Now that we don't need to worry about python-2.4 and 2.5, we can make
some improvements to the way AnsiballZ handles modules.

* Change AnsiballZ wrapper to use import to invoke the module
  We need the module to think of itself as a script because it could be
  coded as:

      main()

  or as:

      if __name__ == '__main__':
          main()

  Or even as:

      if __name__ == '__main__':
          random_function_name()

  A script will invoke all of those.  Prior to this change, we invoked
  a second Python interpreter on the module so that it really was
  a script.  However, this means that we have to run python twice (once
  for the AnsiballZ wrapper and once for the module).  This change makes
  the module think that it is a script (because __name__ in the module ==
  '__main__') but it's actually being invoked by us importing the module
  code.

  There's three ways we've come up to do this.
  * The most elegant is to use zipimporter and tell the import mechanism
    that the module being loaded is __main__:
    * 5959f11c9d/lib/ansible/executor/module_common.py (L175)
    * zipimporter is nice because we do not have to extract the module from
      the zip file and save it to the disk when we do that.  The import
      machinery does it all for us.
    * The drawback is that modules do not have a __file__ which points
      to a real file when they do this.  Modules could be using __file__
      to for a variety of reasons, most of those probably have
      replacements (the most common one is to find a writable directory
      for temporary files.  AnsibleModule.tmpdir should be used instead)
      We can monkeypatch __file__ in fom AnsibleModule initialization
      but that's kind of gross.  There's no way I can see to do this
      from the wrapper.

  * Next, there's imp.load_module():
    * https://github.com/abadger/ansible/blob/340edf7489/lib/ansible/executor/module_common.py#L151
    * imp has the nice property of allowing us to set __name__ to
      __main__ without changing the name of the file itself
    * We also don't have to do anything special to set __file__ for
      backwards compatibility (although the reason for that is the
      drawback):
    * Its drawback is that it requires the file to exist on disk so we
      have to explicitly extract it from the zipfile and save it to
      a temporary file

  * The last choice is to use exec to execute the module:
    * https://github.com/abadger/ansible/blob/f47a4ccc76/lib/ansible/executor/module_common.py#L175
    * The code we would have to maintain for this looks pretty clean.
      In the wrapper we create a ModuleType, set __file__ on it, read
      the module's contents in from the zip file and then exec it.
    * Drawbacks: We still have to explicitly extract the file's contents
      from the zip archive instead of letting python's import mechanism
      handle it.
    * Exec also has hidden performance issues and breaks certain
      assumptions that modules could be making about their own code:
      http://lucumr.pocoo.org/2011/2/1/exec-in-python/

  Our plan is to use imp.load_module() for now, deprecate the use of
  __file__ in modules, and switch to zipimport once the deprecation
  period for __file__ is over (without monkeypatching a fake __file__ in
  via AnsibleModule).

* Rename the name of the AnsiBallZ wrapped module
  This makes it obvious that the wrapped module isn't the module file that
  we distribute.  It's part of trying to mitigate the fact that the module
  is now named __main)).py in tracebacks.

* Shield all wrapper symbols inside of a function
  With the new import code, all symbols in the wrapper become visible in
  the module.  To mitigate the chance of collisions, move most symbols
  into a toplevel function.  The only symbols left in the global namespace
  are now _ANSIBALLZ_WRAPPER and _ansiballz_main.

revised porting guide entry

Integrate code coverage collection into AnsiballZ.

ci_coverage
ci_complete
2018-07-26 20:07:25 -07:00
Richard Schwab
ec20d4b13e Enable zone detection in nsupdate (#41365)
Fixes #41346
2018-07-26 23:06:47 -04:00
Zim Kalinowski
30ef83c1c0 fixing bug in storage account sample (#43308) 2018-07-26 17:20:20 -04:00
Zim Kalinowski
e43d4ac512 fixing mysql server sample (#43300) 2018-07-26 16:07:37 -04:00
Zim Kalinowski
3f9cacf777 fixed postgresql server sample (#43299) 2018-07-26 16:07:07 -04:00
Nilashish Chakraborty
18235af363
Fix baud rate and nxos_logging default case idempotency bug (#43295)
* Fix baud rate and idempotency bug

* Fix Shippable errors

* Combine commands calls

* Fix Shippable errors II
2018-07-26 23:15:25 +05:30
Nathan Hyde
d3230b9172 Correct link to Getting Started with Docker Guide (#42709)
Update link to the docker getting started guide.

+label: docsite_pr
2018-07-26 10:39:01 -05:00
Nathaniel Case
ab40c72a3c
httpapi: Split off and save response text contents (#43305)
* Split off and save response text contents

* login might depend on httpapi
2018-07-26 10:12:34 -04:00
Abhijeet Kasurde
13dd1acbec Fix typo in ignore_unknown_extensions doc
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-26 09:28:33 -04:00
Blair Rampling
7a35e2f8c1 adds naptr record module (#39383)
* adds naptr record module

* fixes pep8

* fixes doc errors
2018-07-26 15:45:03 +05:30
Ganesh Nalawade
5e44189a36
Update junos_netconf module documentation (#43291)
Fixes #42719

* Add module documentation to reflect that when netconf
  port is not mentioned the module by default enables
  netconf on port 830 only.
2018-07-26 10:52:25 +05:30
Dag Wieers
32b5992578 uri: Avoid false traceback in common scenarios (#39526)
* uri: Avoid exception in common scenario

So I was confused by the fact that the **uri** module, when not
returning an acceptable HTTP status code, returns:

    The full traceback is:
      File "/tmp/ansible_UQwiI4/ansible_module_uri.py", line 471, in main
        uresp['location'] = absolute_location(url, uresp['location'])

While the actual error was:

    Status code was 400 and not [201]: HTTP Error 400:

I also wonder why that message ends abruptly. I would have expected
`HTTP Error 400: Bad Request` which would be more useful.

* uri: Avoid false positive tracebacks in fail_json() on PY2
2018-07-25 18:17:44 -07:00
Toshio Kuratomi
6eacfecb73 ANSIBLE_REMOTE_TMP was an implementation of unified temp that was later changed
One of the earlier implementation of unified temp for 2.4 passed the
temp diretory to the remote side using this environment variable.  We
later changed it to be passed via a module parameter but forgot to
remove the environment variable.
2018-07-25 16:57:46 -07:00
Adam Miller
66b1adfc83 fix fedora version dnf fact, default pkg_mgr detection per distro family (#43261)
* fix fedora version dnf fact, default pkg_mgr detection per distro family
* loop over possible dnf/yum paths in case there are multiple canonical sources later in life

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-07-25 16:20:07 -07:00
John Jensen
7ba0d8f60e fix regex parse for total memory in slxos_facts.py (#43258)
* fix regex parse for total memory in slxos_facts.py

* account for one or no spaces per LindsayHill's suggestion
2018-07-25 16:59:23 -04:00
Fabian von Feilitzsch
d27de6acd9 Add from_yaml_all to support multi document yaml strings (#43037)
* Support multi-doc yaml in the from_yaml filter

* Most automatic method of handling multidoc

* Only use safe_load_all

* Implement separate filter

* Update plugin docs and changelog
2018-07-25 16:12:22 -04:00
Julien Champseix
19dc267e4c Allow specifying the output encoding in the template module (#42171)
Allow specifying the source and destination files' encodings in the template module

* Added output_encoding to the template module, default to utf-8
* Added documentation for the new variables
* Leveraged the encoding argument on to_text() and to_bytes() to keep the implementation as simple as possible
* Added integration tests with files in utf-8 and windows-1252 encodings, testing all combinations
* fix bad smell test by excluding windows-1252 files from the utf8 checks
* fix bad smell test by excluding valid files from the smart quote test
2018-07-25 13:10:40 -07:00