Commit Graph

158 Commits (6c9c4e7482a331c24fc23ef565e0c2c8139ab714)

Author SHA1 Message Date
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
Tim Rupp 1eb7aa5d78 Adds server port argument to legacy modules (#2444)
This patch adds support for the server_port module. It
additionally updates the documentation in the module for
it.

The changes were tested in the f5-ansible repository to
ensure no breaking changes were made. This argument allows
modules to be used on BIG-IPs that are listening on
non-standard ports.
2016-12-08 11:34:25 -05:00
Gerik Bonaert 08eb51c87e Define 'type' in argument_spec of openvswitch_port (#2355)
The external_ids 'type' was not defined in the argument spec of
openvswitch_port. This lead 'external_ids' to be converted to a
string, when the value was not defined. Further down the code this
was leading to an exception in some cases. By defining the type
all is right.
2016-12-08 11:34:20 -05:00
Leandro Lisboa Penz a96e9a1ae1 netconf module with edit-config operation (#2103)
* netconf module with edit-config operation
2016-12-08 11:34:19 -05:00
Gerrit Germis f61878fa80 fail when backend host is not found (#1385) 2016-12-08 11:34:19 -05:00
Adrian Likins 6eae4cf448 Fix bad merge of #555 (mv bigip_gtm_virtual_server) (#2302)
f5/ was the wrong directory. Move it to network/f5
and remove f5/.
2016-12-08 11:34:19 -05:00
Orion Poplawski 70384d72e6 Fix gw4/gw6 typo (#1841) 2016-12-08 11:34:15 -05:00
David Keijser 6ef57784bb Make it possible to manage rules of f5 vs (#1821) 2016-12-08 11:34:13 -05:00
Ben Knight d3fb59e187 Add reselect_tries option to big_pool module (#2156) 2016-12-08 11:34:13 -05:00
sebfere 5998d3113e add monitor configuration to module "bigip_node" (#2054)
(squashed merge commits w/ new github fun, let's see if it worked)
2016-12-08 11:34:12 -05:00
Tim Rupp 908697e121 Reverse the unpack list operation
Instead of doing an unpack, deliberately specify which parameters you
want to use. This allows us to flexibly add more parameters to the
f5_argument_spec without having to rewrite all the modules that use
it.

Functionally this commit changes nothing, it just provides for a
different way of accessing the parameters to the module
2016-12-08 11:34:12 -05:00
Tim Rupp a13141413a Adds the __main__ conditional check (#2098)
As is done in other ansible modules, this adds the __main__ check
to the module so that the module code itself can be used as a library.
For instance, when testing the code.
2016-12-08 11:34:09 -05:00
Matt Hite a0b483746e Fixes issue #1992 -- fixes issue adding and deleting pools (#1994) 2016-12-08 11:34:04 -05:00
Matt Hite d2d4001dc5 New preserve_node parameter to skip unreferenced node removal 2016-12-08 11:34:04 -05:00
Matt Hite 846a538648 Allow port 0 as a valid pool member port 2016-12-08 11:34:01 -05:00