Commit Graph

172 Commits

Author SHA1 Message Date
Tim Rupp
15df1c84ad Fixes the bigip_selfip module to respect traffic groups (#3009)
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
2016-12-08 11:34:54 -05:00
Tim Rupp
5abc8a1927 Corrects an implied map() usage as list (#3010)
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().
2016-12-08 11:34:53 -05:00
perbly
ec05027c7e added enabled vlan functionality for f5 vip (#2988)
* added vlan functionality for f5 vip

* line 91, : was missing after description
2016-12-08 11:34:53 -05:00
Tim Rupp
4e8566739e Fixes domains method not defined (#2907)
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
2016-12-08 11:34:50 -05:00
Peter Sprygada
4932df69bc updates to asa_config module for Ansible 2.2
* 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
2016-12-08 11:34:50 -05:00
Peter Sprygada
dc52d3627a fixes a number of nagging issues in asa_acl due to refactoring
* 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
2016-12-08 11:34:50 -05:00
Peter Sprygada
7ce98f52cf bug fix in asa_acl module for missing candidate config
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
2016-12-08 11:34:50 -05:00
John R Barker
3f1c3a0532 Document a10_server new options (#2876)
* Document write_config and validate_certs
2016-12-08 11:34:49 -05:00
Tim Rupp
7e36f4f302 Adds bigip_ssl_certificate module (#2831)
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
2016-12-08 11:34:49 -05:00
Michael Scherer
f8b7ab1e10 Do not crash if the system do not have required modules (#2852) 2016-12-08 11:34:49 -05:00
Peter Sprygada
32bbddee23 update asa_config module
* 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
2016-12-08 11:34:48 -05:00
Peter Sprygada
e2e0029fab roll up of updates to asa_template
This updates the asa_template module with updates for Ansible 2.2.

* removes get_module() in favor of NetworkModule
* fixes up import statements
2016-12-08 11:34:48 -05:00
Peter Sprygada
283cc51fdb added new functionality to asa_command
* 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
2016-12-08 11:34:48 -05:00
Peter Sprygada
8e45ec9734 roll up updates to asa_acl module
* remove get_module() in favor of NetworkModule
* fix up import statements
* roll up fixes for NetworkConfig object handling
2016-12-08 11:34:48 -05:00
Tim Rupp
f48791e8bc Bugfix bigip_facts that was trying to check the length of an iterator (#2842)
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.
2016-12-08 11:34:47 -05:00
Tim Rupp
acdbe5cb3f Adds allow_service parameter to bigip_selfip (#2808)
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.
2016-12-08 11:34:47 -05:00
Adam Števko
d56c34ea9e Add modules to configure Solaris/illumos networking (1st batch) (#2416)
* Add modules to configure Solaris/illumos networking (1st batch)

* Add choices to temporary flags
2016-12-08 11:34:44 -05:00
René Moser
d7b68e0e80 new modules for managing exoscale DNS (#2788) 2016-12-08 11:34:44 -05:00
Tim Rupp
e4ddd4358c Fixes documentation bugs in bigip_irule (#2797)
The return docs were incorrect for this module. This patch fixes them
and adds some additional return values
2016-12-08 11:34:43 -05:00
Massimo Gervasini
c934ab7e8b when write_config is no, we should not try to write any configuration changes 2016-12-08 11:34:43 -05:00
Tim Rupp
97d41d54ab Adds provision info to bigip facts (#2783)
This patch adds provision information to the bigip_facts module
through a "provision" include.
2016-12-08 11:34:43 -05:00
Tim Rupp
e5f629500d New module bigip_irule
This module can be used to maintain the iRules for both LTM and GTM
on a BIG-IP. iRules should be supplied in their string form using
normal strings (unlikely), file lookups (likely), or template
lookups (likely).

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_irule/tasks/main.yaml

Platforms this was tested on are

11.6.1
12.0.0
12.1.0
2016-12-08 11:34:43 -05:00
Tim Rupp
d84e3b6ed7 This module can be used as part of the bootstrapping of a BIG-IP. It allows one to configure the various NTP settings that are part of a BIG-IP.
Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_device_ntp/tasks/main.yaml

Platforms this was tested on are

11.6.0
12.0.0
12.1.0
12.1.0 HF1
2016-12-08 11:34:43 -05:00
Tim Rupp
57c3ae838d Addition of bigip_device_sshd module
This module can be used as part of the bootstrapping of a BIG-IP. It
allows one to configure the various SSHD settings that are part of
a BIG-IP.

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_device_sshd/tasks/main.yaml

Platforms this was tested on are

11.6.0
12.0.0
12.1.0
12.1.0 HF1
2016-12-08 11:34:43 -05:00
Tim Rupp
9ff52723a9 Adds documentation fragment to bigip modules
This patch removes the common documentation bits and replaces them
with a doc fragment that already exists in core
2016-12-08 11:34:42 -05:00
Adrian Likins
9fb53e12ce Add a 'requirements:' field to cloudflare_dns doc (#2631)
cloudflare_dns.py makes use of the python
2.6 features (the string .format() method).
2016-12-08 11:34:42 -05:00
Angus Williams
692fb45e26 bigip_pool_member: fix idempotency with session_state argument (#2745) 2016-12-08 11:34:42 -05:00
Tim Rupp
68d819e342 Another bootstrapping module, this module allows for one to manage route domains on a BIG-IP.
Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_routedomain/tasks/main.yaml

Platforms this was tested on are

11.6.0
12.0.0
12.1.0
12.1.0 HF1
2016-12-08 11:34:42 -05:00
Tim Rupp
f84b4f1168 Adds the bigip_selfip module
Another bootstrapping module, this module allows for one to manage
self IP addresses on a BIG-IP.

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_selfip/tasks/main.yaml

Platforms this was tested on are

11.5.4 HF1
11.6.0
12.0.0
12.1.0 HF1
2016-12-08 11:34:42 -05:00
Shinichi TAMURA
a3860ecf1e Allow value to be bool where 'yes'/'no' are in choices (#2593)
* Changed type of 'details' argument to bool on ecs_service_facts module.

* Changed type of 'autostart' argument to bool on virt_* modules.

* Changed types of 'autoconnect' and 'stp' argument to bool on nmcli module.
('create_connection_bridge(self)' and 'modify_connection_bridge(self)' are not implemented yet?)

* Added conversion of 'value' argument when 'vtype' is boolean on debconf module.
2016-12-08 11:34:41 -05:00
Tim Rupp
e68aa4747f Introduces the bigip_gtm_datacenter module (#1000)
This module can be used to manipulate data centers in a BIG-IP.
It supports both the iControl SOAP and iControl REST APIs, but default
to the REST API. With this module, you can perform operations similar
to those available in tmsh to create data centers and set the contact,
location, and description of those data centers.

This module is most useful in the initial provisioning of a BIG-IP
2016-12-08 11:34:41 -05:00
Tim Rupp
a32f37c9b6 Introduces the bigip_sys_db module (#998)
This module can be used to directly manipulate the system database
variables in a BIG-IP. It supports both the iControl SOAP and iControl
REST APIs, but default to the REST API. With this module, you can
perform operations similar to those available in tmsh to set system
variables such as turning off the default setup screen.

This module is most useful in the initial provisioning of a BIG-IP
2016-12-08 11:34:41 -05:00
Tim Rupp
e624a794ac Adds bigip_vlan module (#2661)
This module can be used to manage VLANs in BIG-IP on various software
versions. It is part of a bootstrapping effort underway to provide
modules necessary to bootstrap core settings in a BIG-IP.

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_vlan/tasks/main.yaml

Platforms this was tested on are

  - 11.5.4 HF1
  - 11.6.0
  - 12.0.0
  - 12.1.0 HF1
2016-12-08 11:34:40 -05:00
Tim Rupp
a367a9ac01 Adds style conventions for bigip_node (#2697)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

No functional code changes were made.
2016-12-08 11:34:39 -05:00
Tim Rupp
9ca08e5596 Bugfixes and code style (#2627)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

Additionally, this patch fixes a couple bugs in the module that were
preventing it from being idempotent.
2016-12-08 11:34:34 -05:00
Loïc
0a968bbe35 Fix argument type to bool. By default shutdown_sessions is always true then it should'nt. (#2596) 2016-12-08 11:34:33 -05:00
Donovan Jones
d8311b95e8 Update comment for ttl parameter to indicate 2-119 seconds is invalid (#2546) 2016-12-08 11:34:32 -05:00
Tim Rupp
03006d89c4 Adds style conventions to bigip_monitor_http (#2564)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

No functional code changes were made.
2016-12-08 11:34:32 -05:00
Dag Wieers
17faa8f2c4 wakeonlan: New module to send out magic WOL packets (#2271)
* New module wakeonlan to send out magic WOL packets

For a local project managing desktop Windows systems at an elementary school, we want to send out wake-on-lan packets to all systems before continuing using Ansible.

That is the purpose of this module.

PS We can make this module idempotent by implementing arping support using scapy. At some point I may add this, at this time I simply plan on using wait_for to check if the system is online.

* Improved documentation and notes

* Improve the documentation a bit

* Fix Travis warnings and review remarks

* Fix exception handling to support both python2 and python3

* Documentation changes
2016-12-08 11:34:31 -05:00
Patrick Ogenstad
826459c5f2 New module asa_command (#2306) 2016-12-08 11:34:31 -05:00
Patrick Ogenstad
b3b6aec0b2 New module asa_config (#2307) 2016-12-08 11:34:31 -05:00
Patrick Ogenstad
606c70ff7c New module asa_template (#2308) 2016-12-08 11:34:31 -05:00
Patrick Ogenstad
71eb181da4 New module asa_acl (#2309) 2016-12-08 11:34:31 -05:00
Tim Rupp
c2deb92f62 Adds style conventions to bigip_pool (#2537)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

No functional code changes were made.
2016-12-08 11:34:27 -05:00
Tim Rupp
e28c285be7 Adds style conventions to bigip_pool_member (#2535)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

No functional code changes were made.
2016-12-08 11:34:27 -05:00
Blake Covarrubias
5cdc905cab Define external_ids ’type' in openvswitch_bridge (#2523)
The external_ids 'type' was not defined in the argument spec of
openvswitch_bridge. This caused 'external_ids' to be converted to a
string leading to an error when later calling exp_external_ids.items().
2016-12-08 11:34:27 -05:00
blinkiz
2dda9d3343 Update openvswitch_port with tag feature (#2522)
* Update openvswitch_port with tag feature

Possibility to create a port with VLAN tag.

* Update openvswitch_port.py
2016-12-08 11:34:27 -05:00
Tim Rupp
8659082857 Adds coding conventions to the bigip_facts module (#2515)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

No functional code changes were made.
2016-12-08 11:34:26 -05:00
Tim Rupp
3a4bfc731d Adds coding conventions for the bigip-virtual-server module (#2473)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.
2016-12-08 11:34:26 -05:00
Michael Grüner
1ecdb7061b cloudflare_dns: Improve error handling (#2470)
Use the new "body" field of the info dict in case of a HTTPError.
2016-12-08 11:34:25 -05:00