ADC NITRO APIs

clusternode

Configuration for cluster node resource.

Properties

(click to see Operations )

Name Data Type Permissions Description
nodeid <Double> Read-write Unique number that identifies the cluster node.

Minimum value = 0

Maximum value = 31
ipaddress <String> Read-write Citrix ADC IP (NSIP) address of the appliance to add to the cluster. Must be an IPv4 address.

Minimum length = 1
state <String> Read-write Admin state of the cluster node. The available settings function as follows:

ACTIVE - The node serves traffic.

SPARE - The node does not serve traffic unless an ACTIVE node goes down.

PASSIVE - The node does not serve traffic, unless you change its state. PASSIVE state is useful during temporary maintenance activities in which you want the node to take part in the consensus protocol but not to serve traffic.

Default value: PASSIVE

Possible values = ACTIVE, SPARE, PASSIVE
backplane <String> Read-write Interface through which the node communicates with the other nodes in the cluster. Must be specified in the three-tuple form n/c/u, where n represents the node ID and c/u refers to the interface on the appliance.

Minimum length = 1
priority <Double> Read-write Preference for selecting a node as the configuration coordinator. The node with the lowest priority value is selected as the configuration coordinator.

When the current configuration coordinator goes down, the node with the next lowest priority is made the new configuration coordinator. When the original node comes back up, it will preempt the new configuration coordinator and take over as the configuration coordinator.

Note: When priority is not configured for any of the nodes or if multiple nodes have the same priority, the cluster elects one of the nodes as the configuration coordinator.

Default value: 31

Minimum value = 0

Maximum value = 31
nodegroup <String> Read-write The default node group in a Cluster system.

Default value: DEFAULT_NG

Minimum length = 1
delay <Double> Read-write Applicable for Passive node and node becomes passive after this timeout (in minutes).

Default value: 0

Minimum value = 0

Maximum value = 1440
tunnelmode <String> Read-write To set the tunnel mode.

Default value: NONE

Possible values = NONE, GRE, UDP
clearnodegroupconfig <String> Read-write Option to remove nodegroup config.

Default value: YES

Possible values = YES, NO
force <Boolean> Read-write Node will be removed from cluster without prompting for user confirmation.
clusterhealth <String> Read-only Node clusterd state.

Possible values = UP, Configurations of the node are lagging behind the cluster by more than 256 commands, The config sync operation has exceeded the time limit of 60 seconds, The config sync operation (full sync) is in progress, The node is not in sync with the cluster configurations as sync is disabled on this node, The execution of a configuration command has failed on this node, UNKNOWN
effectivestate <String> Read-only Node effective health state.

Possible values = UP, NOT UP, UNKNOWN, INIT
operationalsyncstate <String> Read-only Node Operational Reconciliation state.

Default value: ENABLED

Possible values = ENABLED, SUCCESS, IN PROGRESS, PARTIAL SUCCESS, FAILED, INCREMENTAL SYNC DISABLED, DISABLED, UNKNOWN
syncfailurereason <String> Read-only Displays the additional information along with cluster sync status.

Possible values = Refer the files clus_sync_batch_status.log, sync_route_status.log and sync_clusdiff_status.log in /var/nssynclog directory for list of commands failed
masterstate <String> Read-only Node Master state.

Possible values = INACTIVE, ACTIVE, UNKNOWN
health <String> Read-only Node Health state.

Possible values = UNKNOWN, INIT, DOWN, UP, Some enabled and HAMON interfaces of the node are down, All interfaces of the node are down or disabled, SSL card(s) of the node have failed, Route Monitor(s) of the node have failed, Service state is being synchronized with the cluster, The backplane interface is either not set or it is down or is disabled, The CLAG member(s) of the node are down, Persistence sessions are being synchronized with the cluster, The Syn Cookie is being synchronized with the cluster, Unknown Health, AAA keys are being sychronized with the cluster, Cluster health is not up due to config sync is in progress
syncstate <String> Read-only Enable/Disable the synchronization of cluster configurations on the node.

Default value: ENABLED

Possible values = ENABLED, DISABLED
isconfigurationcoordinator <Boolean> Read-only This argument is used to determine whether the node is configuration coordinator (CCO).
islocalnode <Boolean> Read-only This argument is used to determine whether it is local node.
nodersskeymismatch <Boolean> Read-only This argument is used to determine if there is a RSS key mismatch at cluster node level.
nodelicensemismatch <Boolean> Read-only This argument is used to determine if there is a License mismatch at cluster node level.
nodejumbonotsupported <Boolean> Read-only This argument is used to determine if Jumbo framework not supported at cluster node level.
nodelist <Double[]> Read-only Nodelist for displaying Heartbeat not seen interfaces on a cluster node.
ifaceslist <String[]> Read-only Interface list corresponding to nodelist for Heartbeat not seen interfaces on a cluster node.
enabledifaces <String> Read-only Enabled Interfaces on a cluster node.
disabledifaces <String> Read-only Disabled Interfaces on a cluster node.
partialfailifaces <String> Read-only Partial Failure Interfaces on a cluster node.
hamonifaces <String> Read-only Hamon Interfaces on a cluster node.
name <String> Read-only Name of the state specific nodegroup.

Minimum length = 1
cfgflags <Double> Read-only Flag indicates whether the node is bound to cluster nodegroup.
routemonitor <String> Read-only The IP address (IPv4 or IPv6).
netmask <String> Read-only The netmask.
__count <Double> Read-only count parameter

Operations

(click to see Properties )

  • ADD
  • UPDATE
  • UNSET
  • DELETE
  • GET (ALL)
  • GET
  • COUNT

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the 'warning' query parameter as 'yes'. For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http:// <netscaler-ip-address> /nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code '209 X-NITRO-WARNING'.

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER: <username>

    X-NITRO-PASS: <password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

*Note: * Mandatory parameters are marked in red and placeholder content is marked in green

add

URL: http:// <netscaler-ip-address> /nitro/v1/config/clusternode HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"clusternode":{
<b>"nodeid":<Double_value>,
</b><b>"ipaddress":<String_value>,
</b>"state":<String_value>,
"backplane":<String_value>,
"priority":<Double_value>,
"nodegroup":<String_value>,
"delay":<Double_value>,
"tunnelmode":<String_value>
}}

<!--NeedCopy-->

Response: HTTP Status Code on Success: 201 Created

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

update

URL: http:// <netscaler-ip-address> /nitro/v1/config/clusternode HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"clusternode":{
<b>"nodeid":<Double_value>,
</b>"state":<String_value>,
"backplane":<String_value>,
"priority":<Double_value>,
"delay":<Double_value>,
"tunnelmode":<String_value>
}}

<!--NeedCopy-->

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

unset

URL: http:// <netscaler-ip-address> /nitro/v1/config/clusternode? action=unset HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"clusternode":{
<b>"nodeid":<Double_value>,
</b>"state":true,
"backplane":true,
"priority":true,
"delay":true,
"tunnelmode":true
}}

<!--NeedCopy-->

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

delete

URL: http:// <netscaler-ip-address> /nitro/v1/config/clusternode/ nodeid_value<Double> Query-parameters: args=clearnodegroupconfig: <String_value> ,force: <Boolean_value>

</b>

HTTP Method: DELETE

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

get (all)

URL: http:// <netscaler-ip-address> /nitro/v1/config/clusternode Query-parameters: attrs http:// <netscaler-ip-address> /nitro/v1/config/clusternode? attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

filter http:// <netscaler-ip-address> /nitro/v1/config/clusternode? filter=property-name1:property-val1,property-name2:property-val2

Use this query-parameter to get the filtered set of clusternode resources configured on NetScaler.Filtering can be done on any of the properties of the resource.

view http:// <netscaler-ip-address> /nitro/v1/config/clusternode? view=summary

Use this query-parameter to get the summary output of clusternode resources configured on NetScaler.

Note: By default, the retrieved results are displayed in detail view (?view=detail).

pagination http:// <netscaler-ip-address> /nitro/v1/config/clusternode? pagesize=#no;pageno=#no

Use this query-parameter to get the clusternode resources in chunks.

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:

{ "clusternode": [ {
"nodeid":<Double_value>,
"ipaddress":<String_value>,
"clusterhealth":<String_value>,
"effectivestate":<String_value>,
"operationalsyncstate":<String_value>,
"syncfailurereason":<String_value>,
"masterstate":<String_value>,
"health":<String_value>,
"state":<String_value>,
"backplane":<String_value>,
"syncstate":<String_value>,
"priority":<Double_value>,
"isconfigurationcoordinator":<Boolean_value>,
"islocalnode":<Boolean_value>,
"nodersskeymismatch":<Boolean_value>,
"nodelicensemismatch":<Boolean_value>,
"nodejumbonotsupported":<Boolean_value>,
"nodelist":<Double[]_value>,
"ifaceslist":<String[]_value>,
"enabledifaces":<String_value>,
"disabledifaces":<String_value>,
"partialfailifaces":<String_value>,
"hamonifaces":<String_value>,
"nodegroup":<String_value>,
"name":<String_value>,
"cfgflags":<Double_value>,
"routemonitor":<String_value>,
"netmask":<String_value>,
"delay":<Double_value>,
"tunnelmode":<String_value>
}]}

<!--NeedCopy-->

get

URL: http:// <netscaler-ip-address> /nitro/v1/config/clusternode/ nodeid_value<Double> Query-parameters: attrs http:// <netscaler-ip-address> /nitro/v1/config/clusternode/ nodeid_value<Double> ? attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

view http:// <netscaler-ip-address> /nitro/v1/config/clusternode/ nodeid_value<Double> ? view=summary

Use this query-parameter to get the summary output of clusternode resources configured on NetScaler.

Note: By default, the retrieved results are displayed in detail view (?view=detail).

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:

{  "clusternode": [ {
"nodeid":<Double_value>,
"ipaddress":<String_value>,
"clusterhealth":<String_value>,
"effectivestate":<String_value>,
"operationalsyncstate":<String_value>,
"syncfailurereason":<String_value>,
"masterstate":<String_value>,
"health":<String_value>,
"state":<String_value>,
"backplane":<String_value>,
"syncstate":<String_value>,
"priority":<Double_value>,
"isconfigurationcoordinator":<Boolean_value>,
"islocalnode":<Boolean_value>,
"nodersskeymismatch":<Boolean_value>,
"nodelicensemismatch":<Boolean_value>,
"nodejumbonotsupported":<Boolean_value>,
"nodelist":<Double[]_value>,
"ifaceslist":<String[]_value>,
"enabledifaces":<String_value>,
"disabledifaces":<String_value>,
"partialfailifaces":<String_value>,
"hamonifaces":<String_value>,
"nodegroup":<String_value>,
"name":<String_value>,
"cfgflags":<Double_value>,
"routemonitor":<String_value>,
"netmask":<String_value>,
"delay":<Double_value>,
"tunnelmode":<String_value>
}]}

<!--NeedCopy-->

count

URL: http:// <netscaler-ip-address> /nitro/v1/config/clusternode? count=yes HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:

{ "clusternode": [ { "__count": "#no"} ] }

<!--NeedCopy-->
clusternode