New module: manage Citrix Netscaler content switching virtual server configuration (network/netscaler/netscaler_cs_vserver) (#26245)

* Add netscaler_cs_vserver

* Correct version_added
This commit is contained in:
George Nikolopoulos 2017-08-01 20:43:59 +03:00 committed by John R Barker
commit f204e7cb33
33 changed files with 2905 additions and 0 deletions

View file

@ -0,0 +1,6 @@
---
testcase: "*"
test_cases: []
nitro_user: nsroot
nitro_pass: nsroot

View file

@ -0,0 +1,5 @@
[netscaler]
netscaler01 nsip=172.18.0.2 nitro_user=nsroot nitro_pass=nsroot

View file

@ -0,0 +1,6 @@
---
- { include: testbed.yaml, state: present }
- { include: nitro.yaml, tags: ['nitro'] }
- { include: testbed.yaml, state: absent }

View file

@ -0,0 +1,14 @@
- name: collect all nitro test cases
find:
paths: "{{ role_path }}/tests/nitro"
patterns: "{{ testcase }}.yaml"
register: test_cases
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case
include: "{{ test_case_to_run }}"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View file

@ -0,0 +1,67 @@
---
- name: setup push lb vserver
delegate_to: localhost
netscaler_lb_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: "{{ state }}"
name: push_lb_vserver
servicetype: PUSH
- name: setup http lb vserver
delegate_to: localhost
netscaler_lb_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: "{{ state }}"
name: lb-vserver-1
servicetype: HTTP
ipv46: 10.60.60.60
port: 80
- name: setup http lb vserver
delegate_to: localhost
netscaler_lb_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: "{{ state }}"
name: lb-vserver-2
servicetype: HTTP
ipv46: 10.60.60.62
port: 80
- name: setup cs policy
delegate_to: localhost
netscaler_cs_policy:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: "{{ state }}"
policyname: policy-1
url: /example.com/basket
- name: setup cs policy
delegate_to: localhost
netscaler_cs_policy:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: "{{ state }}"
policyname: policy-2
url: /example.com/basket2

View file

@ -0,0 +1,57 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/setup.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/setup.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/setup.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/setup.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/remove.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/remove.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/remove.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_dns/remove.yaml"
vars:
check_mode: no
- assert:
that: not result|changed

View file

@ -0,0 +1,13 @@
---
- name: Setup cs policy
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-6

View file

@ -0,0 +1,16 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-6
servicetype: DNS
ipv46: 192.168.1.6
port: 80

View file

@ -0,0 +1,9 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_flap_disabled/setup.yaml"
vars:
check_mode: no
- include: "{{ role_path }}/tests/nitro/cs_vserver_flap_disabled/remove.yaml"
vars:
check_mode: no

View file

@ -0,0 +1,12 @@
---
- name: remove http cs vserver
register: result
check_mode: "{{ check_mode }}"
delegate_to: localhost
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-flap

View file

@ -0,0 +1,39 @@
---
- name: flap http cs vserver
register: result
check_mode: "{{ check_mode }}"
delegate_to: localhost
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-flap
servicetype: HTTP
ipv46: 192.168.1.1
port: 80
td: 0
disabled: "{{ item|int % 2 }}"
with_sequence: count=20
delay: 1
- name: flap http cs vserver
register: result
check_mode: "{{ check_mode }}"
delegate_to: localhost
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-flap
servicetype: HTTP
ipv46: 192.168.1.1
port: 80
td: 0
disabled: "{{ item|int % 2 }}"
with_sequence: count=20
delay: 5

View file

@ -0,0 +1,85 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/setup.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/setup.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/setup.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/setup.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/update.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/update.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/update.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/update.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/remove.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/remove.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/remove.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_http/remove.yaml"
vars:
check_mode: no
- assert:
that: not result|changed

View file

@ -0,0 +1,13 @@
---
- name: Setup cs policy
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-1

View file

@ -0,0 +1,51 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-1
servicetype: HTTP
ipv46: 192.168.1.1
td: 0
port: 80
dnsrecordtype: A
range: 2
stateupdate: DISABLED
cacheable: no
redirecturl: http://newurl.com
clttimeout: 200
precedence: RULE
casesensitive: on
somethod: CONNECTION
sopersistence: ENABLED
sopersistencetimeout: 50
sothreshold: 200
sobackupaction: DROP
redirectportrewrite: DISABLED
downstateflush: DISABLED
disableprimaryondown: DISABLED
insertvserveripport: VIPADDR
vipheader: someheader
rtspnat: off
authenticationhost: newauth.com
authentication: on
listenpolicy: "NONE"
authn401: off
authnvsname: someserver
push: DISABLED
pushvserver: push_lb_vserver
pushlabel: none
pushmulticlients: no
comment: some comment
l2conn: off
appflowlog: ENABLED
icmpvsrresponse: PASSIVE
rhistate: PASSIVE

View file

@ -0,0 +1,51 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-1
servicetype: HTTP
ipv46: 192.168.1.1
td: 0
port: 80
dnsrecordtype: A
range: 2
stateupdate: DISABLED
cacheable: no
redirecturl: http://url.com
clttimeout: 200
precedence: RULE
casesensitive: on
somethod: CONNECTION
sopersistence: ENABLED
sopersistencetimeout: 50
sothreshold: 200
sobackupaction: DROP
redirectportrewrite: DISABLED
downstateflush: DISABLED
disableprimaryondown: DISABLED
insertvserveripport: VIPADDR
vipheader: someheader
rtspnat: off
authenticationhost: auth.com
authentication: on
listenpolicy: "NONE"
authn401: off
authnvsname: someserver
push: DISABLED
pushvserver: push_lb_vserver
pushlabel: none
pushmulticlients: no
comment: some comment
l2conn: off
appflowlog: ENABLED
icmpvsrresponse: PASSIVE
rhistate: PASSIVE

View file

@ -0,0 +1,57 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/setup.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/setup.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/setup.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/setup.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/remove.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/remove.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/remove.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_ippattern/remove.yaml"
vars:
check_mode: no
- assert:
that: not result|changed

View file

@ -0,0 +1,13 @@
---
- name: Setup cs policy
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-2

View file

@ -0,0 +1,18 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-2
servicetype: HTTP
port: 80
ippattern: 10.78.10.0
ipmask: 255.255.255.0

View file

@ -0,0 +1,57 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/setup.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/setup.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/setup.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/setup.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/remove.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/remove.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/remove.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mssql/remove.yaml"
vars:
check_mode: no
- assert:
that: not result|changed

View file

@ -0,0 +1,13 @@
---
- name: Setup cs policy
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-4

View file

@ -0,0 +1,17 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-4
servicetype: MSSQL
ipv46: 192.168.1.4
port: 80
mssqlserverversion: 2000

View file

@ -0,0 +1,57 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/setup.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/setup.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/setup.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/setup.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/remove.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/remove.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/remove.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_mysql/remove.yaml"
vars:
check_mode: no
- assert:
that: not result|changed

View file

@ -0,0 +1,13 @@
---
- name: Setup cs policy
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-5

View file

@ -0,0 +1,20 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-5
servicetype: MYSQL
ipv46: 192.168.1.5
port: 80
mysqlprotocolversion: 10
mysqlserverversion: Version 1
mysqlcharacterset: 8
mysqlservercapabilities: 41613

View file

@ -0,0 +1,57 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/setup.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/setup.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/setup.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/setup.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/remove.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/remove.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/remove.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_oracle/remove.yaml"
vars:
check_mode: no
- assert:
that: not result|changed

View file

@ -0,0 +1,13 @@
---
- name: Setup cs policy
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-3

View file

@ -0,0 +1,18 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-3
servicetype: ORACLE
ipv46: 192.168.1.3
port: 80
td: 0
oracleserverversion: 10G

View file

@ -0,0 +1,85 @@
---
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/setup.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/setup.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/setup.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/setup.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/update.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/update.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/update.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/update.yaml"
vars:
check_mode: no
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/remove.yaml"
vars:
check_mode: yes
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/remove.yaml"
vars:
check_mode: no
- assert:
that: result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/remove.yaml"
vars:
check_mode: yes
- assert:
that: not result|changed
- include: "{{ role_path }}/tests/nitro/cs_vserver_policies/remove.yaml"
vars:
check_mode: no
- assert:
that: not result|changed

View file

@ -0,0 +1,13 @@
---
- name: Setup cs policy
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
state: absent
name: cs-vserver-3

View file

@ -0,0 +1,22 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-3
servicetype: HTTP
ipv46: 192.168.1.3
port: 80
policybindings:
- policyname: policy-1
targetlbvserver: lb-vserver-1
- policyname: policy-2
targetlbvserver: lb-vserver-1

View file

@ -0,0 +1,19 @@
---
- name: Setup cs vserver
delegate_to: localhost
register: result
check_mode: "{{ check_mode }}"
netscaler_cs_vserver:
nitro_user: "{{nitro_user}}"
nitro_pass: "{{nitro_pass}}"
nsip: "{{nsip}}"
name: cs-vserver-3
servicetype: HTTP
ipv46: 192.168.1.3
port: 80
policybindings:
- policyname: policy-1
targetlbvserver: lb-vserver-2