This argument had a couple of issues with it. First, as it was
being interpreted in the code, it did not check for idempotency.
Second, the model of having the parameters be "all_*" is going to
hinder the ability to "undo", so-to-speak, what the user did while
maintaining legibility.
Consider if the user specified "all_enabled_vlans='net1'" and then
decided they wanted to backout of this decision. What is the proper
argument to fulfill this wish? "all_enabled_vlans='...?'
This patch changes the all_enabled_vlans argument to be "enabled_vlans",
ensures that idempotency works, and also provides for a way to "undo" a
change to the enabled VLANs by allowing the user to specify the special
case VLAN named "ALL" (all capitals).
This makes the parameter more intuitive because the users will specify
which vlans they want to make the virtual available on
* enabled_vlans="net1"
but also allows them to "undo" what they did by setting it back with
the case of all
* enabled_vlans="ALL"
* elasticsearch_plugin: rewrite module to not use unsupported parameters (#1785)
Avoid using parameters when they are not needed (#1785)
* elasticsearch_plugin: add version only during plugin installation and parse plugin name for its removal
* elasticsearch_plugin: join command args before running it
We were incorrectly making VLANS always be untagged when they could
be either tagged or untagged. This change corrects the arguments to
the vlan module to allow for specifying either untagged or tagged
interfaces. The arguments are mutually exclusive
The code for traffic groups was not being tested and therefore
had errors associated with it. It is now covered in coverage tests
and bugs that were found in it have been fixed.
See this issue for details
https://github.com/F5Networks/f5-ansible/issues/28
In the six package, the map() function returns an iterator instead
of a list. This code was continuing to use the map() return value
as if it were a list and this broke the address_class facts.
This patch changes the code to use the list() method on the return
value of map().
Using values caused problems while creating an integration playbook as it is a reserved word. Seeing as this module is not yet released, it's prudent to make this change now. 'record_data' is more descriptive and uses the _data convention that we've established for instances.
No functionality in the module has changed.
* Add oVirt module to manage VMs
This patch add oVirt module to manage Virtual Machines
* Add oVirt module to manage authentication
This patch add oVirt module to manage authentication
* Add oVirt module to manage disks
* Added VM state management and fixups
* Modification of describe_gateways key so that it is consistent with what create_gateway returns.
Also added AnsibleModule spec to require bgp_ip on state=present as defined in the doc
* Don't remove CustomerGateways key to preserve backward compatibility
The 'short_description' in netapp_e_lun_mapping was a
list instead of txt.
This fixes errors on 'ansible-doc -l' of form:
ERROR! module netapp_e_lun_mapping has a documentation
error formatting or is missing documentation
Fixes: #17634 (ansible/ansible)
When using `use_max` or `use_min` in `pam_limits`, the new value is an integer compared with the actual_value which is a string, so they are always different and the module reports a changed but none occurred.
The modules prefixed with netapp_e* are built to support the
SANtricity storage platform.
The modules provide idempotent provisioning for volume groups, disk
pools, standard volumes, thin volumes, LUN mapping, hosts, host groups
(clusters), volume snapshots, consistency groups, and asynchronous
mirroring.
They require the SANtricity WebServices Proxy.
The WebServices Proxy is free software available at
the NetApp Software Download site:
http://mysupport.netapp.com/NOW/download/software/eseries_webservices/1.40.X000.0009/
Starting with the E2800 platform (11.30 OS), the modules will work
directly with the storage array. Starting with this platform, REST API
requests are handled directly on the box. This array can still be
managed by proxy for large scale deployments.
* letsencrypt: improve error handling
Use the new "body" field of the info dict in case of a HTTPError.
* letsencrypt: HTTP 202 is a valid status while polling
The domains method was not defined, and therefore when specifying
a parent domain during route domain creation, the process would
fail.
Tests have been added to detect this going forward
* Fix bug in processing of null return
* Fix multi-dc folder location by enhancing the foldermap and using it to search
* Remove unused functions
* Refactor finding vm by folder
Fixes#2900
* Use common file arguments on destination file
* Rename 'compression' to 'format' h/t @abadger
* Add support for plain 'tar' format
* Ensure check_mode is respected
* clean up functions and remove unneeded code
* config difference now includes keyword argument
* module reports changed when save argument is yes with or without check_mode
* updated fail_json return with exc kwargs
* fixed up import statements
* fixes issues with import error
* removes need for filter attribute in Cli instance
* now filters config either from device or provided via config argument
ref: #2890
Jenkins stores the information about the state (disabled/enabled) in the config, which result in a race condition between `config` and `enabled` and we loose idempotency. It makes sense to define them mutually exclusive.
Renamed `enable` to `enabled`. Ansible uses the name `enabled` in many modules, e.g. service as it indicates a state not an action.
Ensure the HAVE_FIREWALLD checks check only for the
presence of the python dependencies, and not the age
of the library or the state of the service, which
are checked later.
This bug was introduced accidentally when refactoring to 2.2. The instance
of the candidate config was deleted. This adds the candidate config
instance back
fixes#2890
current implementation was breaking making the module unusable, changing to the list comprehension fixes this. Also default to seconds instead of throwing a exception when no duration units are supplied as this causes tests to fail
Adds bigip_ssl_certificate module
This module is another in the ongoing "bootstrapping saga" that is
being undertaken. With this module you can manage the lifecycle of
the SSL certificates on a BIG-IP. This includes those used for
SSL offloading.
Tests for this module can be found here
https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_ssl_certificate/tasks/main.yaml
Platforms this was tested on are
12.0.0
12.1.0
* removes get_module() factory method for NetworkModule
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or withoutdefaults
* add save argument to save current running config to startup config
* commands argument now accepts a dict arguments
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all
* zypper_repository add auto_import_keys options
* also give more output on failure (rc, stdout, stderr)
* be more specific in the doc for auto_import_keys
* add runrefresh option to zypper_repository
* this comes out of ansible/ansible-modules-extras#2411, where AnderEnder adds refresh to the zypper module
* adds a way to force zypper to refresh a repository
* can be used to refresh independently of auto_import_keys
* add option to run name=* runrefresh=yes
* name runrefresh to not break existing use to refresh (now alias to autorefresh)
* add version_added flag to autorefresh
* remove wrong version_added comment
Recently, a user reported that the bigip_facts module was failing with the error
received exception: object of type 'itertools.imap' has no len()
This reported was occurring at line 1657 of the bigip_facts module
bug report is here
https://github.com/F5Networks/f5-ansible/issues/25
Upon further investigation, the map function for returning the specified
includes was returning an iterator, and calling len() on an iterator does
not work.
I believe this problem was caused by part of the Python 3.x effort insofar
as the inclusion of this line
https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/basic.py#L143
seems to affect our usage of map(), probably for the better anyway, and we need
to change our expectations in our module's code to no longer assume a list, but
instead assume an iterator.
After trawling through the module_utils/basic code, I think a list
comprehension is more appropriate here anyway, so I'm changing it to be
that. The affected user reported it works this way, and my own testing
on 2.2.0 supports that.
* Add facts and storage system modules.
* Update version metadata.
* Add facts and storage system modules.
Update version metadata.
Add init files.
* Fixes for review comments.
* Fixes for review comments.
* Update document fragments for api_* options to indicate they are required.
* Correct bad string concatenation.
* Add option description for validate_certs since basic_auth arg_spec is no longer extended.
* Add default value for validate_certs in docstring.
* Rename directory name so it applies to netapp and not simply eseries platform.
* Rename modules to differentiate other netapp modules.
First version of execute_lambda module
Supports:
- Synchronous or asynchronous invocation
- Tailing log of execution (sync execution only)
- check mode
* Error if shade is too old for domain_id on os_project
os_project's domain_id parameter requires shade >= 1.8.1 to work. Be
explicit.
Fixes#2805 os_project requires python-shade 1.8.1 or higher
* What I really meant was 1.8.0
This parameter can be used to open up access to (among other things)
the mgmt address of a BIG-IP. It is necessary for configuring bigips
in an HA configuration.
Revert "Added support for firewall rules, consolidated resource UUID retrieval methods for server and NIC modules, and set LAN type to int."
This reverts commit 464cbb89f2.
* UCS udm_dns_zone: added
Signed-off-by: Tobias Rüetschi <tobias.ruetschi@adfinis-sygroup.ch>
* UCS udm_dns_zone: updated, add supports check mode
Signed-off-by: Tobias Rüetschi <tobias.ruetschi@adfinis-sygroup.ch>
* UCS udm_dns_zone: updated, add support to modify dns zones
* UCS udm_dns_zone: change string formating
* UCS udm_dns_zone: add a function to convert the time to the biggest unit
* UCS udm_dns_zone: add type definitions to the argument specification
* UCS udm_dns_zone: update function convert_time
* UCS udm_dns_zone: only modify object if it has changed
* UCS udm_dns_zone: add documentation
* UCS udm_dns_zone: fix checks
* UCS udm_dns_zone: if dns zone not exists, changed is always true
* UCS udm_dns_zone: documentation, add version_added
* UCS udm_dns_zone: add license and fix travis for python 3
* UCS udm_dns_zone: import common code for univention from ansible.module_utils.univention
* univention udm_dns_zone: adapt to library univention_umc
* univention udm_dns_zone: lint
* univention udm_dns_zone: add requirement python >= 2.6 to documentation
* univention udm_dns_zone: dont import time, its unused
* Add the flush parameter.
When specified the flush parameter indicates that this module should remove all
rules from the specified table. If no table parameter is specified then the
default filter table is flushed.
* Add support for setting chain policies.
The module supports setting the policy of a given chain and table to the
following target values, ACCEPT, DROP, QUEUE, and RETURN. This parameter ignores
all other unrelated parameters.
* Fix pep8 issues.
* Fix missing quotation.
* Make 'flush' and 'policy' parameters mutually exclusive.
This combination is not supported by the wrapped iptables command. 'flush' and
'policy' however, can both take the 'chain' argument.