* Add network and vpc to args
network and vpc are needed when create a loadbalancer in a vpc in a recent adquired public ip
* version_added in new args
* fix: docker_swarm_service does not publish both tcp and udp ports for same published port
* fix the linting problems and add the changelog fragment.
* add test
* modify test to ensure result rather than return value
* Delay calling connect() until absolutely necessary
* Implement transport_test to enable wait_for_connection
* plugin might be connected already for some reason?
* ensure_connect for httpapi
There's some become shenanigans still needing to be ironed out
* Fix tests for network_cli
* FortiOS modules for 2.9 - 1
* Fix empty choices and avoid E337,E338 warnings
* Ansible comments on version_added and ignore.txt only on this PR files
* Add version_added also for state attribute
* Avoid null choices on dlp_sensor
* Change required flag according to argspec
This feature add a new option to `ipa_dnszone` called
**dynamicupdate** as requested by issue #46768.
It allow user to change between default option `false`
to `true` if user/sysadmin wishes to make zone dynamically
updated.
Fixes#46768
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
this fixes the error reported on issue #56872, is user not pass the argument
module 'record_ttl' it simples removes from json dictionary to make the
correct post request.
Fixes#56872
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
* Mark logout as changed when docker logout does not return 'Not logged in to '.
* Add changelog.
* Improve logout detection.
* Also return output of 'docker logout'.
* Made galaxy token file location configurable
also made file handling 'unicode safe'
* only create a token on demand
* convert into decorator in case other funcs need
* ansible-galaxy tidy up arg parse with better validation
* Add support back in for -v before sub aprser
* Added deprecation warning for manually parsed verbosity
* Limiting when path_content is generated
path_content will be empty and unnecessary in all scenarios except when changing the state of a folder to absent, so adding in a check to limit when this parameter is defined
* Move module_utils
* Add eos_interfaces and deprecate eos_interface
* Add boilerplate, update ignores.txt
* Try to reconcile eos provider documentation with argspec
* Try to work around unknown interfaces
* Move param_list_to_dict to utils
* Adding waiter to cluster remove process
* blank line contains whitespace
* update aws_eks integration test
* Refactor aws_eks test suite to use pip
* update version testing
* missing parens...
* add changelog fragment
* Add waiter to module_utils, fix exception handling.
* Correct EKS waiter checks
* various mod_args fixes
* filter task keywords when parsing actions from task_ds- prevents repeatedly banging on the pluginloader for things we know aren't modules/actions
* clean up module/action error messaging. Death to `no action in task!`- actually list the candidate modules/actions from the task if present.
* remove shadowed_module test
* previous discussion was that this behavior isn't worth the complexity or performance costs in mod_args
* fix/add test, remove module shadow logic
* address review feedback
* Add [junos_lldp_global] model
* Add new resource module junos_lldp_global
* Targets model https://github.com/ansible/network/pull/30
* Deprecate junos_lldp module
* Run lldp integration test only if protocol supported
Fixes#60307.
This bug was introduced in commit d2edf1d435
("User - Create parent directories if they do not exist in the specified
home path (#51043)") and did not make it into any releases.
Since there might be several projects with the same name in different
domains, it's required to define domain_id during project search.
Otherwise openstacksdk will raise "Multiple matches found" error
- Split the key validation to separate private and public.
- In case public key does not exist, recreate it.
- Validate comment of the key.
- In case comment changed, update the private and public keys.
* Improve link handling.
* Also fetch alternate certificate chains.
* Add retrieve_all_alternates option.
* Simplify code.
* Forgot when condition.
* Add tests for retrieve_all_alternates.
* Fixes.
* Moved utility function for link parsing to module_utils.
* Fix grammar.
* Improve docker_compose module documentation
* Swap usage of C() and I()
* Further improvements
* Mentions of files (docker-compose.yml) are now rendered correctly.
* Compose files are now called just that.
* Further clarify options "services", "stopped" and "restarted"
* Update lib/ansible/modules/cloud/docker/docker_compose.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Update lib/ansible/modules/cloud/docker/docker_compose.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
On POWER systems, /proc/cpuinfo provides a 'processor' entry as a
counter, and a 'cpu' entry with a description (similar to 'model name'
on x86). Support for POWER in get_cpu_facts was added via the 'cpu'
entry in commit 8746e692c1. Subsequent
support for ARM64 in commit ce4ada93f9
used the 'processor' entry, resulting in double-counting of cores on
POWER systems.
When unit tests were later written for this code in
commit 55306906cf, the erroneous values
were just accepted in the test instead of being diagnosed.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Fix hosts with same lun number conflict in netapp_e_lun_mapping.
This patch fixes an issue of when multiple hosts are created and then
subsequently volume(s) are mapped to them using the same specified number.
* Fix netapp_e_host module bug when lun=0
* Add thin-volumes to the netapp_e_lun_mapping update_mapping_info method.
* Update azure_rm_webapp related document
* resolve format error
* remove whitespace
* update new
* updated according by comments
* update new according by comments
* add support time
* Ansible.AccessToken - Added shared util for managing a Windows access token
* Fix tests when running in CI
* More fixes for older servers
* More fixes for Server 2008
* Fix plugin names when loading all plugins.
Add an integration test to verify plugin __package__ and __name__ are correct.
* Make sure filter and test names are unique.
* Remove __package__ test.
On Python 2.x __package__ is not set, but it is on Python 3.x.
If a service is in the 'deactivating' state running systemctl stop foo,
would wait for the foo service to actually stop before it exits. The
module didn't behave like that and it considered the deactivating state
as if the service wasn't running. This change will align the module with
the systemctl behaviour.
* Added several unit tests
* Added documentation for new syspurpose option and suboptions
* Simplified specification of module arguments
* Added new changelog file with fragments
* Improved netapp_e_facts module.
Added the following facts:
- storage system segment size
- cache block size capabilities
- workload tags
- storage array hosts
- host groups
- list of mapped volumes for each initiator
* Remove proxy specific facts from netapp_e_facts module
* Add unit tests for netapp_e_facts module.
* add npipe support to docker_swarm_service
* add changelog fragment
* tweak changelog fragment formatting
* Update lib/ansible/modules/cloud/docker/docker_swarm_service.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Added my Docker Machine dynamic inventory plugin (from https://github.com/ximon18/ansible-docker-machine-inventory-plugin) to begin the process of proposing it for inclusion in Ansible core. There are no integration tests yet. The docker_swarm inventory plugin has such tests but has some concerning note in its 'aliases' file about disabling docker due to test instability and also I wouldn't know at his point how to get Docker Machine installed on the integration test platform.
* Removed extraneous type check from nagios module, in order to allow python 3.x
* Removed now useless import types
* Added changelog fragment
* Update changelog.
* Rebased and removed check due to module adding earlier guardrails
* Updated changelog to mention earlier fix adding now completely removed guardrails
* Remove superfluous type checks. Fix docs type.
* Update ignore.txt.
Using docker_image to tag an image as "latest" only updates an existing
tag when used with "force_tag: yes" option. As "latest" is present in
most cases, the option is added to the example to prevent unexpected
behaviour.
* Remove UnsafeProxy
Move the work from UnsafeProxy to wrap_var and add support for bytes.
Where wrap_var is not needed, use AnsibleUnsafeBytes/AnsibleUnsafeText
directly.
Fixes#59606
* item is not always text
* Address issues from reviews
* ci_complete
* Better cidr_ipv6 validation in ec2_group.py
* Improve warning/error handling, add changelog
* Update unit test for ipv6 validation
* Fix logic that was causing non /128 cidrs with host bits to not be handled
* Improve netapp_e_host module
Add host type strings for windows, windows cluster, linux and vmware to netapp_e_host module
Make host port information case-insensitive in netapp_e_host module
Fix port removal and default group.
Fix port reassignment in netapp_e_host module.
Fix port label or address change within existing host object in module netapp_e_host
Add unit and integration tests
* Created new unit test for netapp_e_host module
fixes issue with file download function on ASM file transfer endpoints
corrects doc fragments
removes not used parameters
corrects various sanity failures previously ignored across multiple modules
Refactored module to use eseries base class
Removed E322 and E326 for netapp_e_storage module from the ignore.txt file
Updated version_added quotes in netapp_e_storagepool
Check if dvswitch object is not None before accessing it's
properties such as UUID. This can be due to two reason
1. Permission issues
2. There is no association between given distributed virtual portgroup
distributed virtual switch
Fixes: #59952
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Improve netapp_e_hostgroup and add unit and integration tests.
netapp_e_hostgroup was refactored for maintainability and improved
documentation clarity.
* Remove ignore sanity check E338 for netapp_e_hostgroup module
* Add __future__ import (absolute_import, division, print_function) to test_netapp_e_hostgroup unit test.
* Combined telemetry module commit
* Minor fixes
* Add back whitespace
* Add telemetry subscription support and simplify
* Remove comment line
* Make ansibot happy
* Create common build_args method
* More ansibot fixes
* Refactored integration tests, remove old files
* Add subscription tests
* Add integration tests
* Update module docs
* Test updates
* Address review comments
* Comment should be one line, not two
* Address Trishna comments
* State deleted should purge all config
* Remove misleading comment
* Doc fixes
* Fix source int bug and remove local debug msg
* Add additional integration test checks
* needed so ansible-test can always find the right ones to copy to a target
* renamed the underlying scripts to be properly accessible as Python modules
* [WIP][docker_container] Adding support for `mounts` option
Fixes#42054
* Adjusting to current standards.
* Add changelog.
* Adjust types.
* Cleanup.
* Add idempotency checks for mounts.
* Improve diff for mounts.
* Linting.
* Python 2.6 compatibility.
* Fix error message formatting.
* Move mounts and volumes tests into own file.
* Add set of mount tests.
* Golang's omitempty for bool omits false values.
* Simplify sanity checks. Correct order of volume_options sanitization and usage.
* Fix key.
* Fix check.
* Add tests where both volumes and mounts show up.
* Add collision test.
Only error out if the gid exists with a different group name as
otherwise it will error out if the group with this gid already
exists, like on a rerun of the playbook. This fixes a regression
introduced by 4898b0a4a2.
* add new module with integration tests to manage gitlab project variables
* fix invalid yaml in DOCUMENTATION variable and don't import * from ansible module
* remove extends_documentation_fragment and put imports after DOCUMENTATION/EXAMPLES/RETURN/ANSIBLE_METADATA
* fix author in documentation and remove import from display
* add alias file for integration test
* split long lines and try to fix the author key
remove tailing whitespace
* replace email address with github username
* adding the at style to username
* add metaclass and future import
* add state variable to be able to delete selected variables
* add test with state = absent
* update documentation. scheme is necessary
* use singular in exmaple section
* use key purge instead of purge_vars
use purge instead of purge_vars also in the integration test
* create gitlab object in the ansible main function
* remove usedless .format
* follow best practice fail message
* add return documentation, return information about which variables were added, updated or removed and catch gitlab api auth error
* use module_utils.api with api_url and api_token
* use dict instead of list for vars
* use project name instead of name as playbook key
* add ansible checkmode_support, reduce variables in gitlab_project_variables class, remove wrong/duplicated HAS_GITLAB_PACKAGE check
* use extends_documentation_fragment and don't pop elements from basic_auth_argument_spec
* use just project_variable as output variable
* update mutually_exclusive as suggested
* re-add api_token documentation, because it is not included in api basic auth
* remove useless statement
remove unnecessary if
* add one test with a changing value
* put type at first position
* keep item to reduce api calls, build array and keep indexes by replacing with None instead of poping
* more asserts
* Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
* remove unused return key from documentation
msg is only returned when failed
* Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
* remove error key, because it is not returned
* change also documentation from purged_vars to purge
* Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update test/integration/targets/gitlab_project_variable/tasks/main.yml
Co-Authored-By: Felix Fontein <felix@fontein.de>
Update test/integration/targets/gitlab_project_variable/tasks/main.yml
Co-Authored-By: Felix Fontein <felix@fontein.de>
* remove extra spaces
fix wrong spelling
* expand return value documentation with examples
* add check_mode test
reorder tests. first the check_mode test, later all other tests
* Update lib/ansible/modules/source_control/gitlab_project_variable.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
* fix existing keys in 'present' array
rework key handling (reduce code)
fix integration tests
use untouched instead of present to identify unchanged variable keys
fix wrong replacement
minor fixes on request
set aliases to unsupported, because the test succeed
remove posix group1 because it conflicts with unsupported
remove useless item from aliases
* rework gitlab connection
* added logic to handle multiple actions in an ALB listener rule (#41861)
* fix linting and pep8 issues
* added test for multiple actions using OIDC authentication
* added error messages related to old versions of botocore and multiple actions
* fix action validation error checks (need to check the exception string)
* added logic to make oidc configs idempotent (remove clientsecret for check)
* modified TargetGroupName to TargetGroupArn substitution to account for multiple rule actions
* refactored tests so that it can be run against different versions of botocore
* fix runme.sh to refelct changes to cloud testsuite
* add UseExistingClientSecret to oidc config (AWS api change)
* remove tests for OIDC auth action; add tests for redirect and fixed-response
* add in fixes from markuman and mjmayer
* remove documentation for cognito integration (not sure how to test); added example config for fixed-response and redirect actions
* renamed oidc/multiple action tests; leaving commented due to some AWS API changes
* pep8 fix
* more pep8 fixes
* Restructure elb_application_lb test suite
Move from runme.sh to virtualenv based roles
Update policies to fix tests
Don't log temp dir deletion, so many files in the diff!
This commit allows users to access a vCenter or a ESXi through a
HTTP CONNECT based proxy.
To do so, the users have to set the `proxy_host` and `proxy_port`
variables.
The can also use the `VMWARE_PROXY_HOST` and `VMWARE_PROXY_PORT`
environment variables.
This feature depends on pyvmomi > v6.7.1.2018.12.
Fixes: #42221
Co-Author: Abhijeet Kasurde <akasurde@redhat.com>
Co-Author: Gonéri Le Bouder <goneri@redhat.com>
Refactor vmware_cluster into several modules (vmware_cluster, vmware_cluster_drs, vmware_cluster_ha and vmware_cluster_vsan) as discussed in #58023.
vmware_cluster lacks a lot of configuration options for DRS, HA and vSAN. Implementing them
all in vmware_cluster would make the module hard to maintain. Therefore, splitting it into several
modules and implementing the missing configuration options in them seems a good idea to me.
This is step one, refactoring vmware_cluster into several modules. Step two, implementing more
configuration options for DRS, HA and vSAN, will follow.
If the 'local' parameter of the 'user' Ansible module is enabled, and
the user has been found in the local user database, don't emit
a warning, because this is an expected outcome.
Add changelog and integration tests
Co-authored-by: drybed <drybjed@gmail.com>
* meraki_snmp module supports network SNMP settings
- Network SNMP settings were added to the API
- Parameters are different so it's a new data structure
- Full suite of integration tests
- Commit includes some cleanup as well
* Add reset task for SNMPv3
* Fix py3 decoding issues in cyberarkpassword.py
* Use to_native instead of forced utf-8 decoding
* Use to_bytes to avoid trouble with Popen
* Create 59500-cyberarkpassword-fix-py3-decoding.yaml
##### SUMMARY
It should be known that this does not install homebrew. It only uses homebrew that is already installed. It's a core requirement.
##### ISSUE TYPE
- Docs Pull Request
+label: docsite_pr
* Update pbrun.py
Require ternary operator for if get_option('user') returns NoneType object.
* Update pbrun.py
Added default value to become_user in documentation.
* Update pbrun.py
Changed default for become_user to be '' instead of root.
If a VM has an attached CDROM, `backing` attribute of the CDROM will
be defined.
As a result, we cannot just loop `vm_obj.config.hardware.device` and check
for the existance of the attribute to decide if the entry is a
harddrive.
Instead, we check the type of the device, and only keep the
`vim.vm.device.VirtualDisk` disk.
This issue is actually breaking our test-suite with regular environment
because we keep a Fedora ISO attached to the VM.
* Fixed the redhat_subscription module:
- Option 'pool_ids' works in Python3 now
- It tries to attach only pools IDs that are available
- Optimization of code: do not call list --available, when
no pool is requested
- Simplified configure() method
- Small changes to generate same commands on Python2 and Python3.
Order of arguments/options and pool IDs have to be same to
be able to run unit test using Python2 and Python3.
- Added fragments file for redhat_subscribtion module
Remove confusing phrase about pesize as a "multiple of 128KiB".
Allowed values are anything accepted by vgcreate -s,
powers of 2, minimum 1K for lvm2.
As pesize less than 1M is accepted since Ansible 2.6,
close#29295
* Added new module avi_user.py and tests for that
* Updated documentation as per module argspec
* Updated as per review comments on IP address
* Updated documentation for types
* Fixed sanity check failure for __future__ import
* Updated documentation as per review comments.
* change variable name from isinstance to is_instance (prevent overriding builtin function)
* Added support for:
- Filtering existing Elastic IPs based on a tag name or it's value (when reuse_existing_ip_allowed is true)
- Allocating new Elastic IPs from a given IPv4 pool (BYOIP support)
* yamllint corrections
* added examples for:
- tag_name,
- tag_value
- public_ipv4_pool
* remove aliases
* Added changelog fragment
* added integration tests for ec2_eip module
* removed space to trigger rebuild
* Implements etc_hosts for docker_image module
Allows custom hosts on docker_image module.
The of this option made impossible to use docker_image module to build
images that required a custom hostname in /etc/hosts. For running
containers this option was already present.
While the python-docker API uses extra_hosts term, our existing module
already uses etc_hosts argument, so it sounds better to have some
consistency between docker_container and docker_image.
Fixes: #59233
* Update test/integration/targets/docker_image/files/EtcHostsDockerfile
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Update lib/ansible/modules/cloud/docker/docker_image.py
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/docker_image_etc_hosts.yml
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Initial commit for meraki_mx_l7_firewall module
* Add argument checking
* Sanity fixes
* Fix crash and improve integration tests
* Improved integration tests and coverage
* Reformat response data
- Module does not match argument structure of API
- PR reformats the response to match Ansible arg spec
- Improved integration tests
* Fix reformatting for diffs
* Create rename_* functions
- is_update_required() ignores the key id
- Meraki expects one of the keys to be id
- Function temporarily renames key to appId to get around this
* Tweak documentation and tests
- Tests now do an include so each task doesn't need delegate_to
* Fix which files I'm editing
* Initial commit for meraki_nat module
- Query fully works
- Present is still very much in development
* Add initial code for present functionality, not complete
* Add request documentation
* Add examples and return documentation.
* Added payload to requests
- Module seems to need new idempotency check
* Allow 1:1 and 1:many NAT to work
- New idempotency check method is probably required to work
* Make all three options work
- Module isn't idempotent
* Diff support
- Added integration tests
- Diff support isn't quite done
* Fix diff output
* Enable idempotency assertion in tests
* Add test assertions for code coverage
* Update documentation and tests
- Split tests to separate file to avoid delegate_to
* Fix blank line
* Initial commit for module
- Module can query or modify network services on Meraki gear
- Check mode supported
- Integration tests included
* Small change to examples
* Move mutual exclusive to build in approach
* Sanity err
* Split integration tests into two files to avoid delegate_to
* Add the integration tests, woops