Commit Graph

3200 Commits (7b9d7e6b5c1693e4c2cd7bf993843a5fac1d79f2)

Author SHA1 Message Date
Sam Doran 8f4f3750fe
Ensure uri module always returns status even on failure (#56240)
- Also return url and update docs for other values to indicate they are only returned on success.
- Add integration tests
- Use info variable for common return values
- Use -1 as default status rather than None. This is lines up with with existing code in urls.py
- Add unit tests to ensure status and url are returned on failure
2019-05-23 10:17:17 -04:00
Nathaniel Case cebb363fcc eos_l2_interface handle "Interface does not exist" (#56787)
* Quick and dirty attempt to handle eapi error

* Well this should probably change

* Hopefully this works correctly?

* Fix check_rc handling with httpapi

* Add tests that should hopefully cover the error

* Fix warnings

* Improve tests
2019-05-23 17:02:46 +05:30
Gonéri Le Bouder 5005c353ef VMware: vcenter_folder: print full path of the new folder (#55237)
Print the full path of the freshly created folder in the output string.
2019-05-23 16:21:22 +05:30
Bill Dodd 0d842ff539 redfish: refactor service_root variable (#56198) 2019-05-23 10:57:22 +02:00
RobW3LGA bb50fc3889 construct_deep_url() (#53475)
* Updates aci.py with the ability to add ACI objects to any depth

Changes start at line 411 (construct_deep_url() and supporting functions). One minor change to line 633 (the original construct_url()) to provide for testability:  ...join(sorted(self.child_classes)) vs ...join(self.child_classes)

I am also attaching two test files. One characterizing the existing construct_url() and the matching test set for construct_deep_url() to support my efforts and proof of parity

* Two PyTest files to support construct_deep_url

These two files provide testing parity, one characterizing the original construct_url() function and the other proofing construct_deep_url(). The ...deep_url.py test file goes five layers deep to provide better validation for the function

* Correcting previous upload to incorrect folder

These two files provide testing parity, one characterizing the original construct_url() function and the other proofing construct_deep_url(). The ...deep_url.py test file goes five layers deep to provide better validation for the function

* Deleting for file name change per Matt Clay

* Deleting for file name change per Matt Clay

* Correcting file names per Matt Clay

@mattclay Thanks again for your continued guidance and patience. Please cancel the previous (incorrect) request

* Wrong location for test file

* Wrong location for test file

* First attempt to comply with suggestions

lib/ansible/module_utils/network/aci/aci.py:517:0: SyntaxWarning: "is not" with a literal. Did you mean "!="?
lib/ansible/module_utils/network/aci/aci.py:534:0: SyntaxWarning: "is not" with a literal. Did you mean "!="?
lib/ansible/module_utils/network/aci/aci.py:558:161: E501 line too long (210 > 160 characters)

* First attempt to comply with suggestions

test/units/module_utils/network/aci/test_aci_construct_url.py:1:14: SyntaxError: import pytest
test/units/module_utils/network/aci/test_aci_deep_url.py:1:14: SyntaxError: import pytest
test/units/module_utils/network/aci/test_aci_construct_url.py:0:0: use "\n" for line endings instead of "\r\n"
test/units/module_utils/network/aci/test_aci_deep_url.py:0:0: use "\n" for line endings instead of "\r\n"
Shortened test function names (less descriptive)

* Second attempt to comply with suggestions

* Second attempt to comply with suggestions

* Third attempt to comply with suggestions

* Third attempt to comply with suggestions

* Pro Tip: Convert from 'CRLF' to 'LF' in VSCode

It's on the status bar to the right

* Added setup() support for tests

* Continued corrections to support testing

* Added two mocks to support testing

I could not find where to place fakes/mocks, so please let me know if the current location is incorrect

* Adding tmpdir property to mock_basic.py

* Added last blank line to mock_basic.py

To pass sanity test

* Attempt to correct setup() issues

* Attempt to correct setup() issues

* Attempt to correct setup() issues

* Attempt to correct setup() issues

* Withdrawing pending injectability tweak to aci.py

* Withdrawing pending injectability tweak to aci.py

* Withdrawing pending injectability tweak to aci.py

* Withdrawing pending injectability tweak to aci.py
2019-05-23 00:46:43 +02:00
Dag Wieers 4f89c1d508
Revert "ACI: Implement encoded query_string" (#56783)
This reverts commit 1690af04fe42c657cbf0092d18c86bb517fe86a7.
2019-05-22 15:44:22 +02:00
Abhijeet Kasurde 459776eb82
VMware: Add folder option for vmware_dvswitch (#56707)
* Added folder param
* Mark datacenter as optional parameter
* Updated docs
* Updated tests

Fixes: #54986

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-22 11:40:09 +05:30
Will Thames 4065692e13 k8s minor bug fixes (#56168)
Ensure `wait_condition`s with `Status: Unknown` actually
complete

Return k8s object after wait rather than k8s object before
wait when object is patched.
2019-05-22 08:08:22 +02:00
Ondra Machacek a4144e15c0 kubevirt_vm: Improve create VM from template (#55927) 2019-05-21 09:31:58 +02:00
Jakob Ackermann 3b4b2e5021 [docker] support the lookup of images by digest (#56649)
* [docker] images: add support for lookup by sha256 digest

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [tests] docker image by digest: work on a minimal test case

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [docker] group branch conditions per lookup

Co-Authored-By: Felix Fontein <felix@fontein.de>

* [misc] add a news fragment for the added digest lookup for docker images

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-05-21 02:54:05 -04:00
Matt Martz 493cf817a9 Don't rely on netloc for determining hostname and port, just use hostname and port (#56270)
* Add changelog fragment
* Fix IPv6 address parsing for py2.6, and add tests
* make sure hostname isn't None
2019-05-20 16:50:54 -04:00
René Moser ded7949879 vultr: streamline docs (#56563) 2019-05-20 14:52:37 -05:00
Zim Kalinowski b37ae35ba0 azure_rm_azurefirewall (#56359)
* azure_rm_azurefirewall

* a few updates

* fixed mistake

* updated docs, fixed syntax

* updated priority

* use checkmode for idempotence test, as it's very long

* fix check mode
2019-05-20 10:38:55 -07:00
Andrey Klychkov 386cef18ed module_utils.postgres: added unittests (#56381) 2019-05-17 23:33:45 -07:00
Chaitanya Deshpande b5935486da Updated utils to remove Avi SDK dependency and Avi 18.2.2 version update (#54894)
* Updated utils to remove Avi SDK dependency and Avi 18.2.2 version update

* Fixed the python 3.x errors failing for avi_disable_session_cache_as_fact not properly documented

* Updated version added fields for new parameters

* fixed pep8 errors

* made requests import optional

* removed setting requests to None

* Added try catch for the avi helper methods such that any import fails then module fail gracefully. This was needed to pass the requests library not found error

* removed deprecated modules. Also, trying another fix to deal with requests import error

* Fixed python3 errors

* fixed pep8, no-dict-iteritems and import test failures

* added version 2.8 for new field

* some more code cleanup and formatting

* updated the fail message and fixed plint errors

* added workaround for unicode pylint

* fixed the version added for new parameter app_learning_memory_percent and removed unicode_literals import

* Removed check of HAS_AVI for common argument spec

* Updated version added value from 2.8 to 2.9

* Version added value fixes of CI error
2019-05-17 13:12:06 -04:00
mjmayer c8e179fbf1 Aws waf region (#48953)
* Add waiter for AWSRegional

* Add support for WAF Regional

* Add support for regional waf web acl

* Remove set_trace, pep formatting

* Add paginator for regional_waf

* Change name of param for waf_regional

This is more in line with how AWS refers to the service. Additional
 changes made to how client is called. Used ternary to reduce if
 statements

* Change parameter name to waf_regional

* Add support for removal waf regional condition

* Change parameter from cloudfront to waf_regional

* Added state: absent waf rule

* Remove set_trace

* Add integration tests for waf regional

* WIP: adding region parameter to tests

* Add support for waf facts module

* Add region to waf regional integration tests

* Update security policy for waf regional testing

* Add type to documentation for waf_regional param
2019-05-17 10:36:14 +10:00
Andrey Klychkov 75046f8410 postgresql_db: added tablespace support (#56390) 2019-05-16 12:13:40 +02:00
Kevin Breit 322cfa49d0 Meraki - Add check for auth_key parameter (#56199)
* auth_key parameter is required
- This will have to change when httpapi is implemented

* Add integration test

* Add assertion

* Enable VLANs on network

* Add required for auth_key
2019-05-15 11:45:07 -04:00
Nabeel AlSaber e98e98757d Initial commit for Oracle Cloud Infrastructure modules 2019-05-14 13:51:45 -07:00
Nabeel AlSaber ec2db1aed7 Initial commit - Oracle modules
Revert "Revert oracle (#56364)"

This reverts commit eefc90b66f.
2019-05-14 13:51:45 -07:00
Albert Siersema 0ee673a558 Issue55222 (#55223)
* Python 3.7 compatibility for re.Pattern (Fixes #55222)

* Python 3.7 compatibility for re.Pattern (Fixes #55222)
2019-05-14 18:58:43 +05:30
Gonéri Le Bouder cf78759f5b vmware_vm_facts: fix the support with regular ESXi
Ensure the module still work with the ESXi where CustomFieldsManager
does not exist.

From: https://www.vmware.com/support/developer/converter-sdk/conv60_apireference/vim.CustomFieldsManager.html

    The CustomFieldsManager object is used to add and remove custom fields to
    managed entities.
    The custom fields values set on managed entities are available through the
    customValue property and through the summary objects for VirtualMachine
    and HostSystem. They are not available directly through this managed object.
    This functionality is only available through VirtualCenter.

Fixes: #56071
2019-05-13 17:25:16 -04:00
Matt Clay eefc90b66f
Revert oracle (#56364)
* Revert "Update vcn module documentation (#55888)"

This reverts commit 94ef24974a.

* Revert "Initial commit for Oracle Cloud Infrastructure modules (#53156)"

This reverts commit 07b9f52fd5.

* Revert "Add Oracle module maintainers (#55889)"

This reverts commit b0f3df360a.
2019-05-13 10:24:12 -07:00
Tzur Eliyahu ef0851dcd4 IBM_Storage: fixed a bug - Unwanted arguments cause failure (#56357)
* IBM_Storage: fixed a bug which caused several of our modules to pass unwanted arguments and fail

* IBM_Storage: Added a changelog for 56357 bug
2019-05-13 12:41:06 -04:00
Sumit Jaiswal 661f7be0fe
To fix the issue where nios_zone module was running second time for same object (#55595)
* fix for 55128 issue

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* review comment fix

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-05-13 14:30:39 +05:30
krisvasudevan d998791b4a Bug fixes for the nios member object (#56045)
* Bug fixes in api.py

* Examples updated in nios_member.py

* Update lib/ansible/module_utils/net_tools/nios/api.py

Co-Authored-By: Sumit Jaiswal <sjaiswal@redhat.com>
2019-05-13 12:53:25 +05:30
Bill Dodd 1a6b95a8f1 redfish: Add If-Match ETag header to PATCH requests (#56150)
* add If-Match ETag header to PATCH requests

* add changelog fragment

* ensure header keys are lowercase

* fix dict comprehension for python 2.6 and earlier
2019-05-12 10:24:07 +02:00
Abhijeet Kasurde 7e6be4e634
VMware: vmware_guest_disk support for use_instance_uuid (#56107)
All vmware_guest_* module support for use_instance_uuid from Ansible 2.8,
somehow vmware_guest_disk missed from this change.
This fix adds support for use_instance_uuid in vmware_guest_disk.

Fixes: #56021

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-11 11:58:13 +05:30
Nathaniel Case 776ec08ad5 Ensure 'authorize' is always bool, regardless of source (#56271) 2019-05-10 13:13:36 +05:30
Felix Fontein bd47e64bc7 Hetzner failover IP: refactoring (#56203)
* Rename helper function.

* Extract hetzner.py module_utils.

* Rewrite docs.

* Add module docs fragment.

* Split up get_failover function.

* Add tests for new function.

* hetzner_pass -> hetzner_password

* Move common argspec to module_utils.
2019-05-10 08:33:51 +02:00
Gonéri Le Bouder 7a02c40bbc vmware: find_vmdk_file with trailing / (#55957)
With the example, the `file_result.folderPath` of the file
does not have any trailing '/'. `target_folder_path` is correctly
generated and equal: `[nfs_1] images`.
2019-05-10 11:49:03 +05:30
XuLei Ren 46c44a4359 Add new command GetVolumeInventory / GetSessions / GetVirtualMedia (#55433) 2019-05-09 09:45:08 -04:00
zengchen d8314e1a45 refactor moudule utils of hwc_utils.py (#55858)
* use navigate_value instead navigate_hash

* add async wait method

* update dict compare

* remove unuse methods

* not all modules have timeouts parameter

* navigate_value, the input data may be None
2019-05-09 09:04:51 -04:00
Pavan Bidkar 34a8594c91 VMware: Modifying Rest Client to use vSphere-Api-Client instead of individual service(#55804)
* Same api client can be used for other service as well 
* Incorporated Review comments. Modified Category and Guest Fact modules which are also dependent on vmware_rest_client module util
* Adding Integration Tests for vmware_rest_client changes
* Changes to incroporate changes in vcsim testware
* Change to get vm name to attach the tag
2019-05-09 18:19:42 +05:30
Nathaniel Case 0bead3672f eos_config: Fix test issues (#56180)
* Alter tests to pass

* Change diff_against to make changed work again

* Add another diff_against

* Expose supports_sessions across all EOS connection types

* Change session warning to failure

* supports_sessions needs to be a method to survive the rpc boundary

* Alter tests to match
2019-05-09 18:02:24 +05:30
Nathaniel Case c5f3b778c4
Fix addition of newline for eos & nxos (#56227) 2019-05-08 12:28:04 -04:00
Trishna Guha 2e8a3efccb
Revert nxos, ios, iosxr return_timestamps (#56206)
* Revert "nxos_command:run_commands results failure when commands array size >1 (#52670)"
This reverts commit 0df5b92af3.
* Revert "added timestamps to nxos_command module (#50261)"
This reverts commit e150943314.
* Revert "added timestamps to ios_command module (#50323)"
This reverts commit 2a432a093b.
* Revert "added response_timestamps to iosxr_command module (#50095)"
This reverts commit 2a0c356da9.
2019-05-08 20:49:29 +05:30
Felix Fontein 7a957ba64a openssl_certificate: fix passphrase handling for cryptography backend (#56155)
* Make sure passphrase is bytes string.

* Fix typo.

* Add more passphrase tests.

* Fix test names.

* Add changelog.
2019-05-07 23:58:15 -04:00
Nathaniel Case 38890ddcaf
Expose `newline` option to cli_command module (#55451)
* Add newline to all cliconf plugins

* Expose newline in cli_command

* Also hook up to anything using transform_commands directly
2019-05-07 17:25:57 -04:00
Anatoly Pugachev 6e73150244 refactor iscsi network facts module, remove external grep call, add unit test (#55643)
* remove external grep call and parse with python
* use function for repeated code
* use module.get_bin_path() for iscsiutil on HPUX
* some code opt for HPUX
* clean up non-module code, module being defined is a requirement for this code
* import get_bin_path() directly and use without module prefix
* Add integration tests for AIX and HP-UX
* add changelog fragment
* Apply suggestions from code review
Co-Authored-By: mator <matorola@gmail.com>
* Apply suggestions from code review #2
Co-Authored-By: Sam Doran <sdoran@redhat.com>
* Remove strict requirement on executable to exist for get_bin_path() as
it will allow facts gathering to continue without an error. Almost all
other files under facts do not have "required=True" (except 2 files,
which should be probably fixed). And check return value for
get_bin_path() , before run attempt.

* add check for AIX lsattr run_command return code
2019-05-07 12:26:20 -04:00
Abhijeet Kasurde 2007a79952
VMware: Add managed object id in VM facts (#53523)
Fixes: #53372

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-05-07 17:05:38 +05:30
wjohnston888 647ed207af Fixes Netconf_config single parameter bug (#56138)
* Fixes Netconf_config single parameter bug
Fixes 56022

fixed get_config to not require multiple parameters to just run a backup

* Add Integration test for netconf_config
Associated with #56022

tests backup through netconf only using one parameter.

* Added debug to the begin and end of file

* Fix formatting of save config.  #56022

* removed blank line at end: #56022
2019-05-06 17:30:49 -04:00
Gonéri Le Bouder 23e63c9237 vmware: check the SSL certification
If `validate_certs` is enable, we now validate the server SSL
certificate.
2019-05-06 09:15:16 -04:00
Dag Wieers fcca1a124d
Fix non-signature authentication (#56038)
Apparently everyone is using signature authentication these days.
2019-05-03 01:47:29 +02:00
Xander Madsen 3cebb79328 Feat/add GetChassisInventory to Chassis category of redfish_facts (#54269)
* Implement get_chassis_inventory() in redfish_utils

* Add GetChassisInventory command to redfish_facts
2019-05-02 16:00:43 +01:00
Xander Madsen b108d01b0f Feat/add GetBootOverride to Systems category of redfish_facts (#54273)
* Add GetBootOverride as possible Systems command

* Add conditional to call get_boot_override if command == GetBootOverride

* Implement get_boot_override() in redfish_utils

* Implement get_multi_boot_override() and modify get_boot_override() to support the multi wrapper

* Update GetBootOverride to use get_multi_boot_override

* Add example for new command in docstring

* fix indent

* Update lib/ansible/module_utils/redfish_utils.py

Co-Authored-By: xmadsen <xander.madsen@gmail.com>
2019-05-02 14:08:16 +01:00
Bill Dodd 2614e823df Fix SetOneTimeBoot to use standard ComputerSystem 'Boot' property (#54201)
* fix SetOneTimeBoot to use standard ComputerSystem 'Boot' property

* add support for UefiTarget and UefiBootNext boot sources
2019-05-02 13:50:41 +01:00
Xander Madsen eb7190264e Add GetChassisPower command to Chassis category of redfish_facts (#54314)
* Add GetChassisPower as viable Chassis command in redfish_facts

* Add conditional to catch command == 'GetChassisPower'

* Implement get_chassis_power() retrieving Watts-related and other useful power data from each Chassis

* Add RelatedItem property and remove MemberId property

* Check for length of data['PowerControl'] to be > 0 before checking index 0 of the list.

* Fix return statement being inside loop and result key not being 'entries' as is expected

* Update lib/ansible/module_utils/redfish_utils.py

Co-Authored-By: xmadsen <xander.madsen@gmail.com>

* Update lib/ansible/module_utils/redfish_utils.py

Co-Authored-By: xmadsen <xander.madsen@gmail.com>

* Update redfish_facts.py
2019-05-02 13:48:57 +01:00
Brian Coca 24a46deef5
Package facts apt fix (#55963)
* fixes for apt on package_facts

* reverse order, apt is newer

* moved warnings prop to base
2019-05-01 22:11:12 -04:00
Kevin Breit 91237fa414 Meraki util - Add method to encode parameters in the URL (#49015)
* Add new method to encode parameters in the URL
- I'm not really encoding, I'm sure this is broke
- There maybe an Ansible native way to do this

* Fix whitepace

* Added urlencode support
- Relies on urllib module
- Fixed string delimiter

* Enable URL params
- construct_params_list() creates a list of parameters to encode
- encode_url_params() does encoding in a simple manner

* Added proper methods for urlencoding

* Remove duplicate functions

* Remove blank line for PEP8
2019-05-01 13:15:36 -04:00