netscaler.adc.gslbvserver module – Configuration for Global Server Load Balancing Virtual Server resource.

Note

This module is part of the netscaler.adc collection (version 2.6.0).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install netscaler.adc.

To use it in a playbook, specify: netscaler.adc.gslbvserver.

New in netscaler.adc 2.0.0

Synopsis

  • Configuration for Global Server Load Balancing Virtual Server resource.

Parameters

Parameter

Comments

api_path

string

Base NITRO API path.

Define only in case of an ADM service proxy call

Default: "nitro/v1/config"

appflowlog

any

Enable logging appflow flow information

Choices:

  • "ENABLED"

  • "DISABLED"

backupip

string

The IP address of the backup service for the specified domain name. Used when all the services bound to the domain are down, or when the backup chain of virtual servers is down.

backuplbmethod

any

Backup load balancing method. Becomes operational if the primary load balancing method fails or cannot be used. Valid only if the primary method is based on either round-trip time (RTT) or static proximity.

Choices:

  • "ROUNDROBIN"

  • "LEASTCONNECTION"

  • "LEASTRESPONSETIME"

  • "SOURCEIPHASH"

  • "LEASTBANDWIDTH"

  • "LEASTPACKETS"

  • "STATICPROXIMITY"

  • "RTT"

  • "CUSTOMLOAD"

  • "API"

backupsessiontimeout

float

A non zero value enables the feature whose minimum value is 2 minutes. The feature can be disabled by setting the value to zero. The created session is in effect for a specific client per domain.

backupvserver

any

Name of the backup GSLB virtual server to which the appliance should to forward requests if the status of the primary GSLB virtual server is down or exceeds its spillover threshold.

comment

any

Any comments that you might want to associate with the GSLB virtual server.

considereffectivestate

any

If the primary state of all bound GSLB services is DOWN, consider the effective states of all the GSLB services, obtained through the Metrics Exchange Protocol (MEP), when determining the state of the GSLB virtual server. To consider the effective state, set the parameter to STATE_ONLY. To disregard the effective state, set the parameter to NONE.

The effective state of a GSLB service is the ability of the corresponding virtual server to serve traffic. The effective state of the load balancing virtual server, which is transferred to the GSLB service, is UP even if only one virtual server in the backup chain of virtual servers is in the UP state.

Choices:

  • "NONE"

  • "STATE_ONLY"

string

The cookie domain for the GSLB site. Used when inserting the GSLB site cookie in the HTTP response.

cookietimeout

float

Timeout, in minutes, for the GSLB site cookie.

disableprimaryondown

any

Continue to direct traffic to the backup chain even after the primary GSLB virtual server returns to the UP state. Used when spillover is configured for the virtual server.

Choices:

  • "ENABLED"

  • "DISABLED"

dnsrecordtype

any

DNS record type to associate with the GSLB virtual server’s domain name.

Choices:

  • "A"

  • "AAAA"

  • "CNAME"

  • "NAPTR"

domainname

string

Domain name for which to change the time to live (TTL) and/or backup service IP address.

dynamicweight

any

Specify if the appliance should consider the service count, service weights, or ignore both when using weight-based load balancing methods. The state of the number of services bound to the virtual server help the appliance to select the service.

Choices:

  • "SERVICECOUNT"

  • "SERVICEWEIGHT"

  • "DISABLED"

ecs

any

If enabled, respond with EDNS Client Subnet (ECS) option in the response for a DNS query with ECS. The ECS address will be used for persistence and spillover persistence (if enabled) instead of the LDNS address. Persistence mask is ignored if ECS is enabled.

Choices:

  • "ENABLED"

  • "DISABLED"

ecsaddrvalidation

any

Validate if ECS address is a private or unroutable address and in such cases, use the LDNS IP.

Choices:

  • "ENABLED"

  • "DISABLED"

edr

any

Send clients an empty DNS response when the GSLB virtual server is DOWN.

Choices:

  • "ENABLED"

  • "DISABLED"

gslbvserver_domain_binding

dictionary

Bindings for gslbvserver_domain_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

gslbvserver_gslbservice_binding

dictionary

Bindings for gslbvserver_gslbservice_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

gslbvserver_gslbservicegroup_binding

dictionary

Bindings for gslbvserver_gslbservicegroup_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

gslbvserver_lbpolicy_binding

dictionary

Bindings for gslbvserver_lbpolicy_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

gslbvserver_spilloverpolicy_binding

dictionary

Bindings for gslbvserver_spilloverpolicy_binding resource

binding_members

list / elements=dictionary

List of binding members

Default: []

mode

string

The mode in which to configure the bindings.

If mode is set to desired, the bindings will be added or removed from the target NetScaler ADCs as necessary to match the bindings specified in the state.

If mode is set to bind, the specified bindings will be added to the resource. The existing bindings in the target ADCs will not be modified.

If mode is set to unbind, the specified bindings will be removed from the resource. The existing bindings in the target ADCs will not be modified.

Choices:

  • "desired" ← (default)

  • "bind"

  • "unbind"

iptype

string

The IP type for this GSLB vserver.

Choices:

  • "IPV4"

  • "IPV6"

lbmethod

any

Load balancing method for the GSLB virtual server.

Choices:

  • "ROUNDROBIN"

  • "LEASTCONNECTION"

  • "LEASTRESPONSETIME"

  • "SOURCEIPHASH"

  • "LEASTBANDWIDTH"

  • "LEASTPACKETS"

  • "STATICPROXIMITY"

  • "RTT"

  • "CUSTOMLOAD"

  • "API"

managed_netscaler_instance_id

string

added in netscaler.adc 2.6.0

The ID of the managed NetScaler instance to which NetScaler Console

has to configure as a proxy server.

Define only in case of an ADM service proxy call

managed_netscaler_instance_ip

string

added in netscaler.adc 2.6.0

The IP of the managed NetScaler instance to which NetScaler Console

has to configure as a proxy server.

Define only in case of an ADM service proxy call

managed_netscaler_instance_name

string

added in netscaler.adc 2.6.0

The name of the managed NetScaler instance to which NetScaler Console

has to configure as a proxy server.

Define only in case of an ADM service proxy call

managed_netscaler_instance_password

string

added in netscaler.adc 2.6.0

The password of the managed NetScaler instance.

Define only in case of an ADM service proxy call

In Settings > Administration > System Configurations > Basic Settings,

if you select Prompt Credentials for Instance Login,

ensure to configure username and password of a managed instance.

managed_netscaler_instance_username

string

added in netscaler.adc 2.6.0

The username of the managed NetScaler instance.

Define only in case of an ADM service proxy call

In Settings > Administration > System Configurations > Basic Settings,

if you select Prompt Credentials for Instance Login,

ensure to configure username and password of a managed instance.

mir

any

Include multiple IP addresses in the DNS responses sent to clients.

Choices:

  • "ENABLED"

  • "DISABLED"

name

any

Name for the GSLB virtual server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Can be changed after the virtual server is created.

CLI Users:

If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, “my vserver” or ‘my vserver’).

netmask

any

IPv4 network mask for use in the SOURCEIPHASH load balancing method.

netscaler_console_as_proxy_server

boolean

added in netscaler.adc 2.6.0

The IP address of the NetScaler ADC appliance acting as a proxy server.

Define only in case of an ADM service proxy call

Choices:

  • false ← (default)

  • true

newname

string

New name for the GSLB virtual server.

nitro_auth_token

string

The authentication token provided by a login operation.

nitro_pass

string

The password with which to authenticate to the NetScaler ADC node.

nitro_protocol

string

Which protocol to use when accessing the nitro API objects.

Choices:

  • "http"

  • "https" ← (default)

nitro_user

string

The username with which to authenticate to the NetScaler ADC node.

nsip

string / required

The ip address of the NetScaler ADC appliance where the nitro API calls will be made.

The port can be specified with the colon (:). E.g. 192.168.1.1:555.

order

any

Order number to be assigned to the service when it is bound to the lb vserver.

orderthreshold

any

This option is used to to specify the threshold of minimum number of services to be UP in an order, for it to be considered in Lb decision.

persistenceid

any

The persistence ID for the GSLB virtual server. The ID is a positive integer that enables GSLB sites to identify the GSLB virtual server, and is required if source IP address based or spill over based persistence is enabled on the virtual server.

persistencetype

any

Use source IP address based persistence for the virtual server.

After the load balancing method selects a service for the first packet, the IP address received in response to the DNS query is used for subsequent requests from the same client.

Choices:

  • "SOURCEIP"

  • "NONE"

persistmask

any

The optional IPv4 network mask applied to IPv4 addresses to establish source IP address based persistence.

rule

any

Expression, or name of a named expression, against which traffic is evaluated.

This field is applicable only if gslb method or gslb backup method are set to API.

The following requirements apply only to the Citrix ADC CLI:

* If the expression includes one or more spaces, enclose the entire expression in double quotation marks.

* If the expression itself includes double quotation marks, escape the quotations by using the \ character.

* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.

save_config

boolean

If true the module will save the configuration on the NetScaler ADC node if it makes any changes.

The module will not save the configuration on the NetScaler ADC node if it made no changes.

Choices:

  • false ← (default)

  • true

servicegroupname

any

The GSLB service group name bound to the selected GSLB virtual server.

servicename

any

Name of the GSLB service for which to change the weight.

servicetype

string

Protocol used by services bound to the virtual server.

Choices:

  • "HTTP"

  • "FTP"

  • "TCP"

  • "UDP"

  • "SSL"

  • "SSL_BRIDGE"

  • "SSL_TCP"

  • "NNTP"

  • "ANY"

  • "SIP_UDP"

  • "SIP_TCP"

  • "SIP_SSL"

  • "RADIUS"

  • "RDP"

  • "RTSP"

  • "MYSQL"

  • "MSSQL"

  • "ORACLE"

sitedomainttl

float

TTL, in seconds, for all internally created site domains (created when a site prefix is configured on a GSLB service) that are associated with this virtual server.

sobackupaction

any

Action to be performed if spillover is to take effect, but no backup chain to spillover is usable or exists

Choices:

  • "DROP"

  • "ACCEPT"

  • "REDIRECT"

somethod

any

Type of threshold that, when exceeded, triggers spillover. Available settings function as follows:

* CONNECTION - Spillover occurs when the number of client connections exceeds the threshold.

* DYNAMICCONNECTION - Spillover occurs when the number of client connections at the GSLB virtual server exceeds the sum of the maximum client (Max Clients) settings for bound GSLB services. Do not specify a spillover threshold for this setting, because the threshold is implied by the Max Clients settings of the bound GSLB services.

* BANDWIDTH - Spillover occurs when the bandwidth consumed by the GSLB virtual server’s incoming and outgoing traffic exceeds the threshold.

* HEALTH - Spillover occurs when the percentage of weights of the GSLB services that are UP drops below the threshold. For example, if services gslbSvc1, gslbSvc2, and gslbSvc3 are bound to a virtual server, with weights 1, 2, and 3, and the spillover threshold is 50%, spillover occurs if gslbSvc1 and gslbSvc3 or gslbSvc2 and gslbSvc3 transition to DOWN.

* NONE - Spillover does not occur.

Choices:

  • "CONNECTION"

  • "DYNAMICCONNECTION"

  • "BANDWIDTH"

  • "HEALTH"

  • "NONE"

sopersistence

any

If spillover occurs, maintain source IP address based persistence for both primary and backup GSLB virtual servers.

Choices:

  • "ENABLED"

  • "DISABLED"

sopersistencetimeout

any

Timeout for spillover persistence, in minutes.

sothreshold

any

Threshold at which spillover occurs. Specify an integer for the CONNECTION spillover method, a bandwidth value in kilobits per second for the BANDWIDTH method (do not enter the units), or a percentage for the HEALTH method (do not enter the percentage symbol).

state

string

The state of the resource being configured by the module on the NetScaler ADC node.

When present, the resource will be added/updated configured according to the module’s parameters.

When absent, the resource will be deleted from the NetScaler ADC node.

When enabled, the resource will be enabled on the NetScaler ADC node.

When disabled, the resource will be disabled on the NetScaler ADC node.

When unset, the resource will be unset on the NetScaler ADC node.

Choices:

  • "present" ← (default)

  • "absent"

  • "enabled"

  • "disabled"

  • "unset"

timeout

any

Idle time, in minutes, after which a persistence entry is cleared.

toggleorder

any

Configure this option to toggle order preference

Choices:

  • "ASCENDING"

  • "DESCENDING"

tolerance

any

Site selection tolerance, in milliseconds, for implementing the RTT load balancing method. If a site’s RTT deviates from the lowest RTT by more than the specified tolerance, the site is not considered when the Citrix ADC makes a GSLB decision. The appliance implements the round robin method of global server load balancing between sites whose RTT values are within the specified tolerance. If the tolerance is 0 (zero), the appliance always sends clients the IP address of the site with the lowest RTT.

ttl

float

Time to live (TTL) for the domain.

v6netmasklen

any

Number of bits to consider, in an IPv6 source IP address, for creating the hash that is required by the SOURCEIPHASH load balancing method.

v6persistmasklen

any

Number of bits to consider in an IPv6 source IP address when creating source IP address based persistence sessions.

validate_certs

boolean

If false, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

Choices:

  • false

  • true ← (default)

weight

any

Weight for the service.

Notes

Note

Examples


Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

changed

boolean

Indicates if any change is made by the module

Returned: always

Sample: true

diff

dictionary

Dictionary of before and after changes

Returned: always

Sample: {"after": {"key2": "pqr"}, "before": {"key1": "xyz"}, "prepared": "changes done"}

diff_list

list / elements=string

List of differences between the actual configured object and the configuration specified in the module

Returned: when changed

Sample: ["Attribute `key1` differs. Desired: (<class 'str'>) XYZ. Existing: (<class 'str'>) PQR"]

failed

boolean

Indicates if the module failed or not

Returned: always

Sample: false

loglines

list / elements=string

list of logged messages by the module

Returned: always

Sample: ["message 1", "message 2"]

Authors

  • Sumanth Lingappa (@sumanth-lingappa)