ADC NITRO APIs

clusternode

Configuration for cluster node resource.

Properties

(click to see Operations )

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

Minimum value = 0

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

Minimum length = 1
state 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 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 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 Read-write The default node group in a Cluster system.

Default value: DEFAULT_NG

Minimum length = 1
delay 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 Read-write To set the tunnel mode.

Default value: NONE

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

Default value: YES

Possible values = YES, NO
clusterhealth 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 Read-only Node effective health state.

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

Default value: ENABLED

Possible values = ENABLED, SUCCESS, IN PROGRESS, PARTIAL SUCCESS, FAILED, INCREMENTAL SYNC DISABLED, DISABLED, UNKNOWN
syncfailurereason 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 Read-only Node Master state.

Possible values = INACTIVE, ACTIVE, UNKNOWN
health 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 Read-only Enable/Disable the synchronization of cluster configurations on the node.

Default value: ENABLED

Possible values = ENABLED, DISABLED
isconfigurationcoordinator Read-only This argument is used to determine whether the node is configuration coordinator (CCO).
islocalnode Read-only This argument is used to determine whether it is local node.
nodersskeymismatch Read-only This argument is used to determine if there is a RSS key mismatch at cluster node level.
nodelicensemismatch Read-only This argument is used to determine if there is a License mismatch at cluster node level.
nodejumbonotsupported 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 Read-only Enabled Interfaces on a cluster node.
disabledifaces Read-only Disabled Interfaces on a cluster node.
partialfailifaces Read-only Partial Failure Interfaces on a cluster node.
hamonifaces Read-only Hamon Interfaces on a cluster node.
name Read-only Name of the state specific nodegroup.

Minimum length = 1
cfgflags Read-only Flag indicates whether the node is bound to cluster nodegroup.
routemonitor Read-only The IP address (IPv4 or IPv6).
netmask Read-only The netmask.
__count 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>

</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