APIs in Category: cf | Cluster-Mode API version 1.21

cf-aggregate-giveback-status cf-force-takeover cf-get-iter cf-get-partner cf-giveback cf-hwassist-stats cf-hwassist-stats-clear cf-hwassist-status cf-hwassist-test cf-modify-iter cf-service-disable cf-service-enable cf-status cf-takeover cf-takeover-status

NetApp Manage ONTAP

cf-aggregate-giveback-status | [top]

> Returns giveback status of all the aggregates in the cluster which are taken over or were given back.

> Input Name | Range | Type | Description
> desired-attributes |  | cf-aggregate-giveback-info optional | Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.
> max-records | [1..100] | integer optional | The maximum number of records to return in this call. Default: 20
> query |  | cf-aggregate-giveback-info optional | A query that specifies which objects to return. A query could be specified on any number of attributes in the cf object. All cf objects matching this query up to 'max-records' will be returned.
> tag |  | string optional | Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.
> Output Name | Range | Type | Description
> attributes-list |  | cf-aggregate-giveback-info[] optional | The list of attributes of cf objects.
> next-tag |  | string optional | Tag for the next call. Not present when there are no more cf objects to return.
> num-records | [0..100] | integer | The number of records returned in this call.

> Errno | Description
> EINTERNALERROR |  |

cf-force-takeover | [top]

> Forces one filer to take over its partner even though the filer detects an error that would otherwise prevent a takeover. For example, normally, if a detached or faulty interconnect cable between the filers causes the filers' NVRAM contents to be unsynchronized, takeover is disabled. However, this will allow the filer to take over its partner despite the unsynchronized NVRAM contents. cf-force-takeover is dangerous and can lead to data corruption; in almost all cases, use cf-takeover instead.

> Input Name | Range | Type | Description
> node |  | string | This parameter is the name of the node which is doing a takeover of its partner.

> Errno | Description
> ETAKEOVERINPROGRESS |  |
> ESENDHOMEINPROGRESS |  |
> EVERSIONMISMATCH |  |
> EMBOXDEGRADED |  |
> EBADOPTIONS |  |
> EWAITINGFORPARTNER |  |
> ENOTHALTED |  |
> ENODENOTFOUND |  |
> EINTERNALERROR |  |

cf-get-iter | [top]

> Iterate over a list of cf objects.

> Input Name | Range | Type | Description
> desired-attributes |  | storage-failover-info optional | Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.
> max-records | [1..2^32-1] | integer optional | The maximum number of records to return in this call. Default: 20
> query |  | storage-failover-info optional | A query that specifies which objects to return. A query could be specified on any number of attributes in the cf object. All cf objects matching this query up to 'max-records' will be returned.
> tag |  | string optional | Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.
> Output Name | Range | Type | Description
> attributes-list |  | storage-failover-info[] optional | The list of attributes of cf objects.
> next-tag |  | string optional | Tag for the next call. Not present when there are no more cf objects to return.
> num-records | [0..2^32-1] | integer | The number of records returned in this call.

> Errno | Description
> EINTERNALERROR |  |

cf-get-partner | [top]

> Get the host name of the partner. If the name is unknown, It will return partner-unknown.

> Input Name | Range | Type | Description
> node |  | string | The node name is passed as an argument
> Output Name | Range | Type | Description
> partner |  | string | Host name of the partner or partner-unknown, if the host name is not known.

> Errno | Description
> EINTERNALERROR |  |

cf-giveback | [top]

> Initiates a giveback of partner resources. Once the giveback is complete, the automatic takeover capability is disabled until the partner is rebooted. A giveback fails if outstanding CIFS sessions, active system dump processes, or other filer operations makes a giveback dangerous or disruptive.

> Input Name | Range | Type | Description
> force |  | boolean optional | When set to true, this allows a giveback to proceed even if there are outstanding CIFS sessions, active system dump processes, or other filer operations which makes a giveback dangerous or disruptive as long as it would not result in data corruption or filer error. When set to false, this does not allow a giveback to proceed if there are outstanding CIFS sessions, active system dump processes, or other filer operations which makes a giveback dangerous or disruptive. The default value is false.
> node |  | string | This parameter is the name of the node which performs giveback to its partner.
> only-cfo-aggregates |  | boolean optional | When set to true, only the CFO HA-style aggregates (which includes the root aggregate) will be given back. This may be needed in the case when the partner node's VLDB and other such management applications are not properly working (they are required to be online for the SFO HA-style aggregates to start serving data), so it might not be possible to giveback SFO HA-style aggregates. When set to false, all the aggregates (CFO HA-style aggregates + SFO HA-style aggregates) will be given back. The default value is false.
> override-vetoes |  | boolean optional | Some conditions cause attempts to giveback aggregates to be vetoed. When set to true, this allows the process of giveback of the aggregates to be initiated even in the face of such vetoes. When set to false, this does not allow the process of giveback of the aggregates to proceed if there are any vetoes. The default value is false.
> require-partner-waiting |  | boolean optional | When set to true, this ensures that the process of giveback of the aggregates is not initiated if the partner is not up and waiting to receive them. When set to false, this allows the process of giveback of the aggregates to proceed even if the partner is not up and waiting to receive them. The default value is true.

> Errno | Description
> EPARTNERNOTWAITING |  |
> ENOAGGRS |  |
> ESENDHOMEINPROGRESS |  |
> ETAKEOVERINPROGRESS |  |
> EHALTING |  |
> ENOPARTNERINVENTORY |  |
> EPARTNERMISSINGDISKS |  |
> ENODENOTFOUND |  |
> EINTERNALERROR |  |
> EPARTNERTRYINGTAKEOVER |  |
> E_ARL_IN_PROGRESS |  |

cf-hwassist-stats | [top]

> Get useful information about statistics of hardware assisted takeover functionality.

> Input Name | Range | Type | Description
> node |  | string | Node name of the filer for which the API is requested.
> Output Name | Range | Type | Description
> hwassist-stats-abnormal-reboot |  | string optional | Number of abnormal_reboot alerts received
> hwassist-stats-bad-nvram-id |  | string optional | Number of bad NVRAM id alerts received
> hwassist-stats-keep-alive |  | string optional | Number of keep_alive alerts received
> hwassist-stats-loss-of-heartbeat |  | string optional | Number of loss_of_heartbeat alerts received
> hwassist-stats-post-error |  | string optional | Number of post_error alerts received
> hwassist-stats-power-cycle-via-rlm |  | string optional | Number of power_cycle_via_rlm alerts received
> hwassist-stats-power-cycle-via-sp |  | string optional | Number of power_cycle_via_sp alerts received
> hwassist-stats-power-loss |  | string optional | Number of power_loss alerts received
> hwassist-stats-power-off-via-rlm |  | string optional | Number of power_off_via_rlm alerts received
> hwassist-stats-power-off-via-sp |  | string optional | Number of power off alerts received from service processor (power_off_via_sp alert).
> hwassist-stats-reset-via-rlm |  | string optional | Number of reset_via_rlm alerts received
> hwassist-stats-reset-via-sp |  | string optional | Number of reset_via_sp alerts received
> hwassist-stats-ss-mismatch |  | string optional | Number of shared secret key mismatch alerts received
> hwassist-stats-test |  | string optional | Number of test alerts received
> hwassist-stats-times-throttled |  | string optional | Number of times hardware assist alerts were throttled. Alerts are throttled when too many are received in a short interval.
> hwassist-stats-unknown-alerts |  | string optional | Number of unknown alerts received
> hwassist-stats-watchdog-reset |  | string optional | Number of l2_watchdog_reset alerts received
> no-stats |  | string optional | If no hardware assist statistics are available, this is set to "Cannot determine hwassist stats".

> Errno | Description
> EINTERNALERROR |  |

cf-hwassist-stats-clear | [top]

> Get useful information about stats of hw_assist functionality.

> Input Name | Range | Type | Description
> node |  | string | Node name of the filer for which the API is requested.

> Errno | Description
> EINTERNALERROR |  |

cf-hwassist-status | [top]

> Get useful information about the status of hw_assist functionality.

> Input Name | Range | Type | Description
> node |  | string | Node name of the filer for which the API is requested.
> Output Name | Range | Type | Description
> keep-alive-status |  | string optional | Possible values are: healthy missed_keep_alive_alerts
> local-hwassist-inactive-corrective-action |  | string optional | Indicates the corrective action if status is inactive.
> local-hwassist-inactive-reason |  | string optional | Indicates the reason if status is inactive.
> local-hwassist-ipaddr |  | string optional | If set, Ip address; 0.0.0.0 otherwise
> local-hwassist-port |  | integer optional | If set, port; 0 otherwise
> local-hwassist-status |  | string optional | Local node hw_assist status Possible values are: active: If functionality is active. inactive: If functionality is inactive
> no-status |  | string optional | Set if no hw_assist status is avaliable. Either this or the remaining fields will be set,hence they are optional.
> partner-hwassist-inactive-corrective-action |  | string optional | Indicates the corrective action if status is inactive.
> partner-hwassist-inactive-reason |  | string optional | Indicates the reason if status is inactive.
> partner-hwassist-ipaddr |  | string optional | If set, Ip address, 0.0.0.0 otherwise
> partner-hwassist-port |  | integer optional | If set, current port, 0 otherwise
> partner-hwassist-status |  | string optional | partner node hw_assist status Possible values are: active: If functionality is active. inactive: If functionality is inactive

> Errno | Description
> EINTERNALERROR |  |

cf-hwassist-test | [top]

> Validates the hardware-assisted takeover configuration. functionality.

> Input Name | Range | Type | Description
> node |  | string | Node name of the filer for which the API is requested.
> Output Name | Range | Type | Description
> hwassist-test-result |  | string | This string corresponds to the result of the test. The possible outcomes are: Hwassist is not initialized No hw_assist hardware found. Partner is throttling alerts. Resource busy. Try again after some time. Hwassist hardware returned error. No response from partner. Timed out. Unexpected abort. Partner has taken over. Interconnect is down between nodes. Make sure partner is booted up.Run 'storage failover hwassist show' for details.

> Errno | Description
> EINTERNALERROR |  |

cf-modify-iter | [top]

> Modify the attributes of cf or a group of cf objects.

> Input Name | Range | Type | Description
> attributes |  | options-related-info-modify | Specify at least one modifiable element. Do not specify any other element.
> continue-on-failure |  | boolean optional | This input element is useful when multiple cf objects match a given query. If set to true, the API will continue modifying the next matching cf even when modification of a previous cf fails. If set to false, the API will return on the first failure. Default: false
> max-failure-count | [1..2^32-1] | integer optional | When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching cf even when the modification of a previous matching cf fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1
> max-records | [1..2^32-1] | integer optional | The maximum number of objects to be modified in this call. Default: 20
> query |  | options-related-info-modify | If modifying a specific cf, this input element must specify all keys. If modifying cf objects based on query, this input element must specify a query.
> return-failure-list |  | boolean optional | If set to true, the API will return the list of cf objects (just keys) that were not modified due to some error. If set to false, the list of cf objects not modified will not be returned. Default: true
> return-success-list |  | boolean optional | If set to true, the API will return the list of cf objects (just keys) that were successfully updated. If set to false, the list of cf objects modified will not be returned. Default: true
> tag |  | string optional | Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.
> Output Name | Range | Type | Description
> failure-list |  | cf-modify-iter-info[] optional | Information about cf objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.
> next-tag |  | string optional | Tag for the next call. Not present when there are no more matching cf objects to be modified.
> num-failed | [0..2^32-1] | integer optional | Number of cf objects that matched the query, but were not modified due to some error.
> num-succeeded | [0..2^32-1] | integer optional | The number of cf objects that matched the query and were successfully updated.
> success-list |  | cf-modify-iter-info[] optional | The cf objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

> Errno | Description
> EINTERNALERROR |  |

cf-service-disable | [top]

> Disables the takeover capability of this filer in the cluster.

> Input Name | Range | Type | Description
> node |  | string | This parameter is the name of the node on which service is to be disabled

> Errno | Description
> ESERVICENOTINITIALIZED |  |
> ESERVICENOTLICENSED |  |
> ESERVICENOTENABLED |  |
> EREVERTINPROGRESS |  |
> EINTERNALERROR |  |

cf-service-enable | [top]

> Enables the takeover capability of this filer in the cluster. This spawns a process to enable the service

> Input Name | Range | Type | Description
> node |  | string | This parameter is the name of the node on which service is to be enabled

> Errno | Description
> ESERVICENOTINITIALIZED |  |
> ESERVICEENABLED |  |
> EREVERTINPROGRESS |  |
> EMBOXUNKNOWN |  |
> EINTERNALERROR |  |

cf-status | [top]

> Get useful information about the status of the high availability service. If the monitor is not initialized, this returns an error.

> Input Name | Range | Type | Description
> node |  | string | This parameter is the name of the node for which High Availability service status is being requested
> Output Name | Range | Type | Description
> backup-io-times |  | mailbox-io-times-info optional | Backup mailbox IO times. Not returned if state is "waiting_for_root_aggr".
> backup-mailbox-status |  | mailbox-status-info[] optional | Backup mailbox status information, represented as a list of strings. Not returned if state is "waiting_for_root_aggr".
> booting-received |  | integer | time booting notification received, in milliseconds.
> control-partner-aggregates |  | boolean | True, if we control one or more partner aggregates.
> current-giveback-module |  | string optional | The current module giveback process is in
> current-mode |  | string optional | Current HA mode
> current-resource-table-entry |  | string optional | If we're doing takeover processing, the name of the current entry in the resource table.
> current-resource-table-entry-index |  | integer optional | If we're doing takeover processing, the index of the current entry in the resource table.
> current-takeover-module |  | string optional | The current module takeover process is in. e.g. WAFL
> current-time |  | integer | Current time on the filer
> fanta-reloc-aggr-count |  | integer optional | Number of partner homed aggregates owned by local node.
> firmware-received |  | integer | time firmware notification received, in milliseconds.
> giveback-failure-reason |  | string optional | If a giveback failed this is the reason for the giveback failure. Possible values are: aggr_relocation_in_progress - aggregate relocation is in progress shutdown_in_progress - shutdown is in progress testpoint - a giveback failure was simulated with a testpoint cannot_giveback_partner_subsystem - node failed to giveback one of partner's subsystems bck_mbx_update_error - node could not update its backup mailbox
> giveback-state |  | string optional | Giveback state of the node. Possible values are: nothing_to_gb - No partner aggregates owned by local node not_attempted_yet - Local node owns partner aggregates and a giveback has not been attempted yet giveback_in_progress - Giveback is in progress. Refer to current-giveback-module field to get the current module, the giveback process is in. giveback_failed_autogiveback_disabled - Previous giveback failed and auto giveback is disabled. Refer to current-giveback-module to get the module in which giveback process failed. giveback_failed_autogiveback_scheduled - Previous giveback failed and an auto giveback is scheduled. Refer to current-giveback-module to get the module in which giveback process failed. Refer time-until-autogiveback field to check time remaining before an auto giveback is initiated. previous_giveback_failed - Previous giveback failed. Refer to current-giveback-module to get the module in which giveback process failed. giveback_vetoed_no_di - Normal giveback not possible as disk inventory from partner has not yet been received giveback_vetoed_missing_disks - Normal giveback not possible as the partner is missing some of its files system disks autogiveback_scheduled - An auto giveback is scheduled Refer time-until-autogiveback field to check time remaining before an auto giveback is initiated. autogiveback_deferred - Auto giveback is deferred because the partner node was not ready to receive aggregates when the auto giveback timer expired. An auto giveback will be initiated as soon as the partner node is up and ready to receive aggregates. node_upgrade_in_progress - Local node owns partner's aggregates as part of node upgrade process sfo_aggr_giveback_failed - Giveback of SFO aggregates failed. Call cf-aggregate-giveback-status API for more information regarding giveback failure. sfo_aggr_giveback_in_progress - Giveback of SFO aggregates is in progress. Call cf-aggregate-giveback-status API for more information regarding giveback status. partial_giveback - Local node owns partner SFO aggregates partner_spare_disks_giveback_pending - Local node owns partner's spare disks
> interconnect-links |  | string optional | States of the individual interconnect links e.g. VIA Interconnect is down (link 0 down, link 1 down) VIA Interconnect is up (link 0 down, link 1 up) VIA Interconnect is up (link 0 up, link 1 down)
> interconnect-type |  | string optional | Type and Vendor of the interconnect e.g. Infiniband ( Mellanox Arbel ) Infiniband ( Mellanox Tavor ) FCVI ( Qlogic 2462 )
> is-enabled |  | boolean | True, if the storage failover facility is enabled, false otherwise. Note that the facility can be enabled but takeover may not be possible due to various reason.
> is-interconnect-up |  | boolean | True, if high availability interconnect is up
> kill-packets |  | boolean | True, if we issue ic kill messages during takeover.
> local-firmware-progress |  | integer optional | A counter to indicate that the local node is progressing in the current firmware state The range of possible values is [0..2^31-1]
> local-firmware-state |  | string optional | Local firmware state that will be communicated through interconnect to the partner SF_OPERATOR_EXIT - operator completed SF_DEBUG_EXIT - debugger completed SF_PROGRESS - progress counter SF_IOERROR - I/O error SF_BADCKSUM - bad checksum SF_RESERVED - reserved SF_UNKNOWN - unknown SF_OPEN - initializing SF_POST - in power-on self test SF_BOOTING - booting SF_FAIL - boot failed SF_WAITING - waiting SF_OS_BOOTED - kernel loaded SF_UP - up SF_DEBUG - in debugger SF_OPERATOR - waiting for operator input SF_DUMPCORE - dumping core SF_HALT - halted SF_REBOOT - rebooting SF_GIVEWAIT - waiting for giveback SF_MBWAIT - waiting for cluster mailbox release SF_SPARECORE - dumping sparecore and ready to be taken-over SF_MDP - multi-disk panic SF_TO - in takeover SF_NOTO - takeover disabled SF_CLUSTERWAIT - waiting for cluster apps
> local-in-headswap |  | boolean optional | True, if the local node is being replaced by a new node.
> local-mailbox-disks |  | sf-disk-info[] optional | List of local mailbox disks. Not returned if state is "waiting_for_root_aggr".
> local-missing-disks |  | sf-disk-info[] optional | List of disks that the local node is missing but the partner node is able to view.
> logs-unsynced-count |  | integer | Number of times the log was unsynchronized.
> max-resource-table-index |  | integer optional | The maximum resource table index.
> name |  | string | Hostname of the dblade.
> new-partner-sysid | [0..2^32-1] | integer optional | The new partner system ID recieved via HA interconnect. The value is zero if partner is not in headswap.
> node-state |  | string optional | State of the storage failover of the node. Possible values are: connected - Partner is available for takeover takeover_scheduled - Partner is down and takeover is scheduled takeover_started - Takeover process has begun takeover - Currently controlling partner's resources. takeover_failed - Failed to takeover the partner giveback_partial_waiting - This node controls partner aggregates even though the node is not in takeover. And we're waiting for a connection to the partner. giveback_partial_connected - This node controls partner aggregates even though the node is not in takeover. The partner is available to receive the aggregates. waiting_for_root_aggr - Partner is controlling dblade's root aggregate If we're in this state, many other optional fields are not returned. waiting - Waiting for a connection to partner. Generally happens while partner is rebooting. in_maintenance_mode - node is in maintenance mode. In the mode it is not possible to determine more detailed information (e.g. cluster or not; takeover or not, etc). pending_shutdown - starting a takeover/giveback is inhibited due to a pending system shutdown. relocating_aggrs_before_takeover - node is relocating its SFO aggregates to its partner prior to a negotiated takeover. sfo_takeover_phase_done - Node is done with the SFO phase of takeover. sfo_takenover_phase_done - This node has relocated its SFO aggregates to its partner during an optimized negotiated takeover by its partner. sfo_takeover_phase_aborted - The SFO phase of takeover has been aborted. Refer to takeover-failure-reason field to check the reason. sfo_takenover_phase_aborted - This node has aborted the relocation of its SFO aggregates to its partner, during an optimized negotiated takeover by its partner. in_non_HA_mode - Node is not in HA mode cfo_takeover_failed - CFO phase of takeover failed sfo_takeover_phase - SFO phase of takeover of partner is in progress relocated_aggrs_before_takeover - node has relocated its SFO aggregates to its partner prior to a negotiated takeover. giving_back - Giveback is in progress. Refer to current-giveback-module field to get the current module, the giveback process is in. giveback_failed_autogiveback_disabled - Previous giveback failed and auto giveback is disabled. Refer to current-giveback-module to get the module in which giveback process failed. giveback_failed_autogiveback_scheduled - Previous giveback failed and an auto giveback is scheduled. Refer to current-giveback-module to get the module in which giveback process failed. Refer to time-until-autogiveback field to check time remaining before an auto giveback is initiated. previous_giveback_failed - Previous giveback failed. Refer to current-giveback-module to get the module in which giveback process failed. takeover_disk_inventory_not_received - Local node is in takeover. A normal giveback is not possible as disk inventory from partner has not yet been received. takeover_partner_missing_disks - Local node is in takeover. A normal giveback is not possible as the patner is missing some of its file system disks. takeover_autogiveback_scheduled - Local node in takeover. An auto giveback is scheduled. Refer time-until-autogiveback field to check time remaining before an auto giveback is initiated. takeover_network_failure - Local node in takeover. The partner was taken over due to network failure. takeover_autogiveback_deferred - Local node in takeover. Auto giveback is deferred because the partner node was not ready to receive aggregates when the auto giveback timer expired. An auto giveback will be initiated as soon as the partner node is up and ready to receive aggregates. automatic_takeover_disabled_connected - Automatic takeover is disabled. Local node is connected to partner via HA interconnect. This happens only in debug builds when raid.panic.missing.disks is turned on from node CLI. automatic_takeover_disabled_waiting - Automatic takeover is disabled. Local node is waiting for partner node on HA interconnect. This happens only in debug builds when raid.panic.missing.disks is turned on from node CLI. ndo_upgrade_in_progress - Local node owns partner's aggregates as part of node upgrade process. own_aggr_non_local_connected - Local node owns aggregates of some other node in the cluster. Local node is connected to partner via HA interconnect. This is possible only during NDO double hop head upgrade. own_aggr_non_local_waiting - Local node owns aggregates of some other node in the cluster. Local node is waiting for partner on HA interconnect. This is possible only during NDO double hop head upgrade. clusterwait_connected - Connected to partner via HA interconnect. Local node waiting for cluster applications to come online. clusterwait_waiting - Waiting for partner on HA interconnect. Local node waiting for cluster applications to come online. error - There is an error with the system User have to compare the return values case-insensitively.
> nvram-id | [0..2^32-1] | integer | NVRAM identifier
> partner |  | string | Hostname of the partner. If the partner is unknown, returns an empty string. This is for 7G like output compatibility.
> partner-firmware-progress |  | integer optional | A counter to indicate that the partner node is progressing in the current firmware state The range of possible values is [0..2^31-1]
> partner-firmware-state |  | string optional | Partner firmware state as communicated by the partner through interconnect SF_OPERATOR_EXIT - operator completed SF_DEBUG_EXIT - debugger completed SF_PROGRESS - progress counter SF_IOERROR - I/O error SF_BADCKSUM - bad checksum SF_RESERVED - reserved SF_UNKNOWN - unknown SF_OPEN - initializing SF_POST - in power-on self test SF_BOOTING - booting SF_FAIL - boot failed SF_WAITING - waiting SF_OS_BOOTED - kernel loaded SF_UP - up SF_DEBUG - in debugger SF_OPERATOR - waiting for operator input SF_DUMPCORE - dumping core SF_HALT - halted SF_REBOOT - rebooting SF_GIVEWAIT - waiting for giveback SF_MBWAIT - waiting for cluster mailbox release SF_SPARECORE - dumping sparecore and ready to be taken-over SF_MDP - multi-disk panic SF_TO - in takeover SF_NOTO - takeover disabled SF_CLUSTERWAIT - waiting for cluster apps
> partner-in-headswap |  | boolean optional | True, if partner node is being replaced by a new node.
> partner-mailbox-disks |  | sf-disk-info[] optional | List of partner mailbox disks as this dblade sees them. Not returned if state is "waiting_for_root_aggr".
> partner-missing-disks |  | sf-disk-info[] optional | List of disks that the partner node is missing but the local node is able to view.
> partner-name |  | string optional | Hostname of the partner. Not returned if unknown.
> partner-nvram-id | [0..2^32-1] | integer optional | Partner NVRAM identifier. Not returned if unknown.
> primary-io-times |  | mailbox-io-times-info optional | Primary mailbox IO times. Not returned if state is "waiting_for_root_aggr".
> primary-mailbox-status |  | mailbox-status-info[] optional | Primary mailbox statusPrimary mailbox status information, represented as a list of strings. Not returned if state is "waiting_for_root_aggr".
> resource-table |  | resource-table-info[] optional | The failover monitor resource table.Pre-rsrctbl information will be prep-ended to this output.
> sf-options |  | sf-options-info optional | Options for debugging purpose. The actual interface is via the options mechanism. Not returned if state is "waiting_for_root_aggr".
> state |  | string optional | connected - Partner is available for takeover takeover_scheduled - Partner is down and takeover is scheduled takeover_started - Takeover process has begun takeover - Currently controlling partner's resources. taken over - Partner is controlling filer's resources takeover_failed - Failed to takeover the partner sfo_takeover_phase - This node has asked its partner to relocate its SFO aggregates in preparation for takeover. This occurs when a user has initiated an optimized negotiated takeover. relocating_aggrs_before_takeover - This node is relocating its SFO aggregates to its partner during an optimized negotiated takeover by its partner. sfo_takeover_phase_done - This node is done with the SFO phase of an optimized negotiated takeover. sfo_takenover_phase_done - This node has relocated its SFO aggregates to its partner during an optimized negotiated takeover by its partner. sfo_takeover_phase_aborted - The SFO phase of takeover is aborted on this node during an optimized negotiated takeover of its partner. sfo_takenover_phase_aborted - This node has aborted the relocation of its SFO aggregates to its partner, during an optimized negotiated takeover by its partner. giving_back - Sendhome process in progress giveback_partial_waiting - This node controls partner aggregates even though the node is not in takeover. And we're waiting for a connection to the partner. giveback_partial_connected - This node controls partner aggregates even though the node is not in takeover. The partner is available to receive the aggregates. waiting_for_root_aggr - Partner is controlling dblade's root aggregate If we're in this state, many other optional fields are not returned. waiting - Waiting for a connection to partner. Generally happens while partner is rebooting. in_maintenance_mode - node is in maintenance mode. In the mode it is not possible to determine more detailed information (e.g. cluster or not; takeover or not, etc). pending_shutdown - starting a takeover/sendhome is inhibited due to a pending system shutdown. error - There is an error with the system User have to compare the return values case-insensitively.
> takeover-by-partner-not-possible-reason |  | takeover-info[] optional | If takeover by the partner is not possible, list of one or more reasons why. Note that in for non-verbose command output the first reason returned is the one that should be displayed.
> takeover-by-partner-possible |  | boolean optional | True, if storage failover takeover is currently possible by the partner, false otherwise. Note that this is the local node's view of partner.
> takeover-failure-reason |  | string optional | If state equals "takeover_failed", this is the reason for the takeover failure. Possible values are: shutdown_in_progress - shutdown is in progress aggr_relocation_in_progress - aggregate relocation is in progress giveback_in_progress - giveback is in progress takeover_in_progress - takeover is in progress unknown_partner_id - node could not detect its partner's system ID conflicting_sysid - node has the same system ID as its partner pri_mbx_update_error - node could not update its primary mailbox takeover_disabled_by_partner - partner has disabled takeover cannot_takeover_partner_subsystem - node failed to takeover one of partner's subsystems non_etc_or_rc_boot - it is not possible to takeover in a non-etc/rc boot bck_mbx_update_error - node could not update its backup mailbox partner_taking_over - partner is taking over local node revert_in_progress - revert is in progress disaster_recovery_in_progress - disaster recovery operation is in progress headswap_in_progress - headswap is in progress destination_check_failed - destination check failed communication_failed - communication with destination failed operation_aborted - operation was aborted aggr_not_online - destination node did not online the aggregate being relocated in time sfo_disabled - storage failover service is not enabled partner_taking_over - partner is taking over local node bdfu_not_disabled_source - failed to disable background disk firmware update (BDFU) on local node bdfu_not_disabled_dest - failed to disable background disk firmware update (BDFU) on partner node partner_shutting_down - shutdown is in progress on the partner node partner_aggr_relocation_in_progress - aggregate relocation is in progress on the partner node partner_giveback_in_progress - giveback is in progress on the partner node partner_revert_in_progress - revert is in progress on the partner node partner_disaster_recovery_in_progress - disaster recovery operation is in progress on the partner node partner_in_headswap - headswap is in progress on the partner node
> takeover-of-partner-not-possible-reason |  | takeover-info[] optional | If is-enabled is false, list of one or more reasons why. Note that in for non-verbose command output the first reason returned is the one that should be displayed.
> takeover-possible |  | boolean | True, if storage failover takeover is currently possible, false otherwise.
> takeover-reason |  | string optional | Reason for triggering a takeover of partner.
> takeover-state |  | string optional | Takeover state of the node. Possible values are: takeover_failed - Takeover Failed sfo_takeover_in_progress - SFO phase of takeover of partner is in progress relocating_aggrs_before_takeover - Relocating aggregates to partner as a takeover was initiated by partner cfo_takeover_scheduled - CFO phase of takeover is scheduled relocated_aggrs_before_takeover - Relocated aggregates to partner after a takeover was initiated by partner takeover_by_partner_failed - A takeover attempt by partner failed. Refer to takeover-failure-reason field to check the reason for takeover failure. in_takeover - Node is in takeover takeover_started - A takeover is in progress takeover_scheduled - A takeover of partner is scheduled. Refer to time-until-takeover field to check time remaining till takeover. not_in_takeover - Local node is not in takeover
> time-since-takeover |  | integer optional | Time in milliseconds since the local node has taken over partner.
> time-until-auto-giveback |  | integer optional | If state == takeover this is the countdown time in seconds until auto-giveback is started. The range of possible values is [0..2^31-1]. This attribute will be absent on output when the value is 0.
> time-until-takeover |  | integer optional | if state == takeover_scheduled, this is the countdown time in seconds until state == takeover_started.
> timeouts |  | timeout-info | Various failover monitor timeouts.
> transit-event-time |  | integer | Time at which last takeover/giveback event occurred, in milliseconds.

> Errno | Description
> ENODENOTFOUND |  |

cf-takeover | [top]

> Initiates a takeover of the storage partner. Takeover is done asynchronously; status may be monitored by calling the cf-status API and examining the state field. If automatic giveback is enabled then control will be returned to storage partner once it boots up.

> Input Name | Range | Type | Description
> allow-disk-inventory-mismatch |  | boolean optional | This allows takeover if disk inventory information is mismatched for non root volume disks. If mismatched, local node performance could degrade as what appears to be missing disks are rebuilt. NOTE:: When using this option and if some of partner's file system disks are not visible to local node, then after giveback those missing disks can create new failed aggregate with same name. So, if any aggregate is offline after giveback with same name then using "zapi_aggr_destroy", you have to destroy that offline aggregate.
> bypass-optimization |  | boolean optional | The bypass-optimization option determines whether or not an optimized negotiated takeover is run. Optimized negotiated takeover refers to the serial relocation of SFO aggregates to the taking over node, prior to a negotiated takeover. This is an optimization because it reduces per-aggregate client outage times. If the bypass-optimization option is set to true, then the takeover optimization is bypassed, and the normal takeover code path is executed. The default value for this option is false.
> force |  | boolean optional | In Classic mode: This causes takeover to be immediately initiated. The taken over node, if up, does not get to shut things down in an orderly manner so the takeover of the resources takes longer. This is the type of takeover that is done during normal cluster operation when one of the nodes goes away (dies). In Cluster mode: It forces a node to take over its storage partner even though the node detects an error that would otherwise prevent a takeover. For example, normally, if a detached or faulty interconnect cable between the nodes(ha pair) causes the nodes NVRAM contents to be unsynchronized, takeover is disabled. However, this will allow the node to take over its storage partner despite the unsynchronized NVRAM contents. cf-force-takeover is dangerous and can lead to data corruption; in almost all cases, use cf-takeover instead.
> immediate |  | boolean optional | This causes takeover to be initiated immediately. The taken over node, if up, does not get to shut things down in an orderly manner so the takeover of the resources takes longer.
> node |  | string | This parameter is the name of the node which is doing a takeover of its partner.
> skip-lif-migration |  | boolean optional | This option results in migration of LIFs to be skipped prior to a takeover. The default value is `false` and hence the default behavior is to synchronously migrate data and cluster management LIFs away from the node prior to its takeover.
> version-mismatch-ok |  | boolean optional | This allows takeover if the partner was running an incompatible operating system version and was cleanly halted. This option is used for non-disruptive upgrade(NDU).

> Errno | Description
> ETAKEOVERINPROGRESS |  |
> ESENDHOMEINPROGRESS |  |
> EVERSIONMISMATCH |  |
> EMBOXDEGRADED |  |
> EBADOPTIONS |  |
> EWAITINGFORPARTNER |  |
> ENOTHALTED |  |
> ENODENOTFOUND |  |
> EINTERNALERROR |  |
> EINVENTORYMISMATCH |  |
> ENOPARTNERINVENTORY |  |
> EPARTNERTRYINGTAKEOVER |  |
> E_NODE_NOT_SF_UP |  |
> EARL_ABORT_FAILED |  |
> ECIFSACTIVEONPARTNER |  |

cf-takeover-status | [top]

> Get the takeover status of a node and the takeover status of all its partner aggregates, for all nodes in a cluster.

> Input Name | Range | Type | Description
> desired-attributes |  | takeover-status optional | Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.
> max-records | [1..100] | integer optional | The maximum number of records to return in this call. Default: 20
> query |  | takeover-status optional | A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.
> tag |  | string optional | Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.
> Output Name | Range | Type | Description
> attributes-list |  | takeover-status[] optional | The list of attributes of aggr objects.
> next-tag |  | string optional | Tag for the next call. Not present when there are no more aggr objects to return.
> num-records | [0..100] | integer | The number of records returned in this call.

> Errno | Description
> ESERVICENOTINITIALIZED |  |
> EAGGR_MIGRATE_CORE |  |
> ENOT_SFO_HA_POLICY |  |
> EAGGR_FAILED_LIMBO |  |
> EAGGR_MIGRATE_OFFLINE_FAILED |  |
> EAGGR_MIGRATE_VETO |  |
> EAGGR_MIGRATE_HA_MSG_ERR |  |
> EAGGR_MIGRATE_ONLINE_TIMEOUT |  |
> EAGGR_MIGRATE_ONLINE_FAILED |  |
> E_NETRA_CHK_FAILED |  |
> EAGGR_MIGRATE_PRECOMMIT_FAILED |  |
> EAGGR_MIGRATE_RESTRICTED |  |
> EAGGR_MIGRATE_OFFLINE |  |
> EAGGR_MIGRATE_FOREIGN |  |
> ENOT_BOTH_PLEX_ONLINE |  |
> E_BDFU_FAILED_AGGR_MIGRATION_SOURCE |  |
> E_BDFU_FAILED_AGGR_MIGRATION_DEST |  |
> ENODISKSFOUND |  |

Element definition: cf-aggregate-giveback-info | [top]

> Giveback status of an aggregate When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

> Name | Range | Type | Description
> aggr-giveback-error |  | string optional | Failure reason, incase giveback of this aggregate failed. Possible values include: "sfo_am_shutdown" - Node is being shutdown "sfo_am_not_homed_partner" - Aggregate not owned by partner "sfo_am_not_sfo" - Aggregate does not have SFO policy "sfo_am_failed_limbo" - Aggregate in failed or limbo state "sfo_am_offline_failed" - Aggregate could not be offlined during giveback "sfo_am_migrating" - Aggregate is being migrated "sfo_am_veto" - Giveback was vetoed. "sfo_am_communication_err" - Giveback failed because node cannot communicate with the partner "sfo_am_online_timeout" - Aggregate did not come online after giveback "sfo_am_online_failed" - Failed to online the aggregate after giveback Attributes: non-creatable, non-modifiable
> aggr-giveback-module |  | string optional | If giveback is in progress, then this is set to the module which is currently running. If giveback was failed or vetoed by a certain module then this is set to the first module which failed the giveback. Example: WAFL. Attributes: non-creatable, non-modifiable
> aggr-giveback-state |  | string optional | Giveback status of the aggregate Possible values include: "sfo_am_done" - Giveback done "sfo_am_failed" - Giveback failed "sfo_am_inprog" - Giveback in progress "sfo_am_not_started" - Giveback not started "sfo_am_nothing_to_gb" - No aggregates to giveback "sfo_disk_inventory_not_exchanged" - Auto giveback failed because disk inventory was not exchanged between HA partners "sfo_disk_inventory_mismatch" - Auto giveback failed because there was mismatch in disk inventory "sfo_am_failed_bdfu_source" - Giveback failed as failed to disable background disk firmware update on source node. "sfo_am_failed_bdfu_dest" - Giveback failed as failed to disable background disk firmware update on destination node. "sfo_am_delayed_bdfu_source" - Giveback delayed as disk firmware update is in progress on source node. "sfo_am_delayed_bdfu_dest" - Giveback delayed as disk firmware update is in progress on destination node. "sfo_am_running_checks" - Performing veto checks. Attributes: non-creatable, non-modifiable
> aggregate |  | string optional | Aggregate name Attributes: non-creatable, non-modifiable
> destination-node |  | string optional | Node to which the aggregate is being given back Attributes: non-creatable, non-modifiable
> node |  | node-name optional | Node performing the giveback of aggregate Attributes: key, non-creatable, non-modifiable

Element definition: cf-modify-iter-info | [top]

> Information about the modify operation that was attempted/performed against cf object.

> Name | Range | Type | Description
> cf-key |  | options-related-info-modify | The keys for the cf object to which the modify operation applies.
> error-code | [0..2^32-1] | integer optional | Error code, if the modify operation caused an error.
> error-message |  | string optional | Error description, if the modify operation caused an error.

Element definition: mailbox-io-times-info | [top]

> Mailbox IO times

> Name | Range | Type | Description
> normal |  | integer | Maximum IO time in milliseconds, normal
> transition |  | integer | Maximum IO time in milliseconds, transition

Element definition: mailbox-status-info | [top]

> Mailbox status info.

> Name | Range | Type | Description
> mailbox-status |  | string | representation of mailbox status bit. Possible values: mbx_status_nodisks mbx_status_uncertain mbx_status_stale mbx_status_conflicted mbx_status_old_version mbx_status_not_found mbx_status_wrong_state mbx_status_backup

Element definition: options-related-info-modify | [top]

> Storage Failover Options to Modify

> Name | Range | Type | Description
> auto-giveback-enabled |  | boolean optional | True, if auto-giveback is enabled, false otherwise. Attributes: non-creatable, modifiable
> node |  | node-name optional | Node name Attributes: key, non-creatable, non-modifiable

Element definition: resource-table-info | [top]

> A failover monitor resource table entry.

> Name | Range | Type | Description
> fail |  | string | Entry failure code, represented as a string: ok fail fail_always hang panic veto
> name |  | string | Name of the entry
> state |  | string | Entry state, represented as a string: up start_running start_done start_failed stop_running stop_failed takeover_barrier only_when_initd
> time-delta |  | integer optional | Amount of time spent in this element, in milliseconds.

Element definition: sf-disk-info | [top]

> Disk information.

> Name | Range | Type | Description
> disk-uid |  | string | Disk unique identifier. Maximum length of 90 characters. XXX should use same typedef as storage ZAPI. Note sure where it is defined.
> name |  | string | Name of the disk, e.g. v1.1

Element definition: sf-options-info | [top]

> Options for debugging purpose.

> Name | Range | Type | Description
> aggregate-migration-timeout |  | integer optional | Number of seconds the source node has to wait for the destination node to complete the aggregate migration before declaring the migration as failed. The default setting is 40 seconds.
> bypass-takeover-optimization |  | boolean optional | If true, then optimized negotiated takeover is bypassed. If false, negotiated takeover will be optimized. The default value for this option is false. This option will be available starting with Data ONTAP 8.2.
> giveback-auto |  | boolean | Indicates if the automatic giveback is enabled. Same as send-home-auto.
> hwassist-enable |  | boolean | Indicate if hardware assist takeover is enabled.
> hwassist-health-check-interval |  | integer | Hardware assist h/w sends a heartbeat every '-health-check-interval' seconds.
> hwassist-partner-ip |  | string | Hardware assist Ip address of the partner.
> hwassist-partner-port |  | integer | Port number on which hwassist receives alerts.
> hwassist-retry-count |  | integer | Number of times we repeat sending an alert.
> mode |  | string optional | HA mode in registry
> node-status-in-mailbox-disks |  | boolean | Indicates if we propagate node status via mailbox disks.
> node-status-in-mailbox-disks-read-interval |  | integer | Rate in seconds at which we read node status from mailbox disks.
> node-status-in-mailbox-disks-write-interval |  | integer | Rate in seconds at which we write node status to mailbox disks.
> send-home-auto |  | boolean | Indicates if the automatic send-home facility enabled.
> send-home-auto-attempts |  | integer | The number of times we'll try to do an automatic giveback within send-home-auto-minutes
> send-home-auto-attempts-minutes |  | integer | The number of minutes in which we should not execeed send-home-auto-attempts automatic send-home attempts.
> send-home-auto-delay-seconds |  | integer | The number of seconds of delay before initiating automatic send-home. This will be the minimum time a node will be in takeover state before performing auto sendhome.
> send-home-check-partner-waiting |  | boolean | Indicates if we require the partner to be waiting for a send-home in order to do a send-home.
> takeover-detection-time |  | integer | Takeover detection time in seconds.
> takeover-on-failure |  | boolean | Indicates if we will automatically takeover upon partner failure.
> takeover-on-panic |  | boolean | Indicates if we will automatically takeover upon partner panic.
> takeover-on-reboot |  | boolean | Indicates if we will automatically takeover upon partner reboot.
> takeover-on-short-uptime |  | boolean | Indicates if we will automatically takeover if the partner fails within 60 seconds of booting.

Element definition: storage-failover-info | [top]

> Storage Failover Info When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

> Name | Range | Type | Description
> sfo-giveback-info |  | giveback-related-info optional | Giveback related Info
> sfo-interconnect-info |  | interconnect-related-info optional | Interconnect Info
> sfo-node-info |  | node-related-info optional | Node Info
> sfo-options-info |  | options-related-info optional | Options Info
> sfo-storage-info |  | storage-related-info optional | Storage Info
> sfo-takeover-info |  | takeover-related-info optional | Takeover related Info

Element definition: takeover-info | [top]

> Takeover info.

> Name | Range | Type | Description
> reason |  | string | reason we can't takeover: not_initialized - Controller Failover not initialized non_ha_mode - Controller is in non-HA mode disabled - Controller Failover takeover disabled mailbox_invalid - Partner mailbox disks not accessible or invalid mailbox_uninit - Partner mailbox status uninitialized fm_version_mismatch - Failover monitor version mismatch partner_disabled - Takeover disabled by partner operator_deny - Takeover disabled by operator nvram_mismatch - NVRAM size mismatch version - Version mismatch ic_error - Interconnect error booting - Partner booting shelf_hot - Disk shelf is too hot partner_revert_in_progress - Partner is performing revert local_revert_in_progress - Revert is in progress partner_takeover - Partner is attempting takeover local_takeover - Already in takeover mode halt_no_takeover - Partner halted in notakeover mode log_unsync - NVRAM log unsynchronized unknown - No takeover due to unknown reason waiting_for_partner - Waiting for partner to recover low_memory - Low memory condition halting - Local halt in progress mailbox_uncertain - Status of partner mailbox is uncertain no_auto_takeover - Automatic takeover is disabled disk_inventory_not_exchanged - Disk inventory information not received from partner disk_inventory_mismatch_local - Local node missing some of partner node's file system disks pending_shutdown - Local node is shutting down

Element definition: takeover-status | [top]

> Takeover status of a node and all of its partner aggregates. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, assuming that the value can be retrieved. When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

> Name | Range | Type | Description
> aggregate-takeover-status |  | string | Takeover status of the partner aggregate. This includes the reason for the failure of takeover of an aggregate. If takeover is in progress in a particular module, or if takeover was vetoed by a particular module, that is also indicated. Possible values include: Done Failed In progress, Module: wafl Not attempted yet Failed: Operation was vetoed, Module: example. The aggregate will be taken over during CFO phase of takeover. Failed: Aggregate does not have SFO HA policy. The aggregate will be taken over during CFO phase of takeover. Failed: Aggregate is in failed or limbo state. The aggregate will be taken over during CFO phase of takeover. Failed to offline the aggregate. The aggregate will be taken over during CFO phase of takeover. No aggregates to relocate Failed: Node cannot communicate with the destination node. To takeover the remaining aggregates, run the "storage failover takeover -ofnode -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode " command. Failed: Destination node did not online the aggregate on time. To takeover the remaining aggregates, run the "storage failover takeover -ofnode -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode " command. Failed: Destination node failed to online the aggregate. To takeover the remaining aggregates, run the "storage failover takeover -ofnode -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode " command. Failed: Destination cannot receive the aggregate. To takeover the remaining aggregates, run the "storage failover takeover -ofnode -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode " command. Failed: Aggregate is restricted. The aggregate will be taken over during CFO phase of takeover. Failed: Aggregate does not have disks. The aggregate will be taken over during CFO phase of takeover. Failed: Aggregate is foreign. The aggregate will be taken over during CFO phase of takeover. Failed: Aggregate is offline. The aggregate will be taken over during CFO phase of takeover. Failed: Mirrored aggregate does not have both plexes online. The aggregate will be taken over during CFO phase of takeover. Failed, could not disable firmware updates on . Attributes: non-creatable, non-modifiable
> node |  | string | Name of the node. Attributes: key, non-creatable, non-modifiable
> node-takeover-status |  | string | Takeover status of the node. Attributes: non-creatable, non-modifiable
> taken-over-aggregate |  | string | Name of the taken over aggregate. Attributes: non-creatable, non-modifiable

Element definition: timeout-info | [top]

> Failover monitor timeouts.

> Name | Range | Type | Description
> booting |  | integer | booting timeout, in milliseconds
> connect |  | integer | connect timeout, in milliseconds
> dumpcore |  | integer | dumpcore timeout, in milliseconds
> fast |  | integer | fast timeout, in milliseconds
> firmware |  | integer | firmware timeout, in milliseconds
> mailbox |  | integer | mailbox timeout, in milliseconds
> operator |  | integer | operator timeout, in milliseconds
> reboot |  | integer optional | reboot timeout, in milliseconds
> slow |  | integer | slow timeout, in milliseconds
> transit |  | integer | transit timeout, in milliseconds
> transit-timer-enabled |  | boolean | True, if the transit timer is enabled

Element definition: giveback-related-info | [top]

> Giveback related Info

> Name | Range | Type | Description
> giveback-failure-reason |  | string optional | This is the reason for the giveback failure. Possible values are: aggr_relocation_in_progress - aggregate relocation is in progress shutdown_in_progress - shutdown is in progress testpoint - a giveback failure was simulated with a testpoint cannot_giveback_partner_subsystem - node failed to giveback one of partner's subsystems bck_mbx_update_error - node could not update its backup mailbox Attributes: non-creatable, non-modifiable
> giveback-module |  | string optional | The current module giveback process is in. e.g. WAFL Attributes: non-creatable, non-modifiable
> giveback-state |  | string optional | Giveback state of the node. Possible values are: nothing_to_gb not_attempted_yet giveback_in_progress giveback_failed_autogiveback_disabled giveback_failed_autogiveback_scheduled previous_giveback_failed giveback_vetoed_no_di giveback_vetoed_missing_disks autogiveback_scheduled autogiveback_deferred node_upgrade_in_progress sfo_aggr_giveback_failed sfo_aggr_giveback_in_progress partial_giveback partner_spare_disks_giveback_pending Attributes: non-creatable, non-modifiable

Element definition: interconnect-related-info | [top]

> Interconnect Info

> Name | Range | Type | Description
> interconnect-links |  | string optional | States of the individual interconnect links. Attributes: non-creatable, non-modifiable
> interconnect-type |  | string optional | Type and Vendor of the interconnect. Attributes: non-creatable, non-modifiable
> is-interconnect-up |  | boolean optional | True, if storage failover interconnect is up. Attributes: non-creatable, non-modifiable

Element definition: node-name | [top]

> The node's name

> [none]

Element definition: node-related-info | [top]

> Node Info

> Name | Range | Type | Description
> local-firmware-progress | [0..2^32-1] | integer optional | A counter to indicate that the local node is progressing in the current firmware state. If the counter is not progressing the node may be unresponsive or down. Attributes: non-creatable, non-modifiable
> local-firmware-state |  | string optional | Local firmware state that will be communicated through interconnect to the partner. Possible values are: SF_OPERATOR_EXIT - operator completed SF_DEBUG_EXIT - debugger completed SF_PROGRESS - progress counter SF_IOERROR - I/O error SF_BADCKSUM - bad checksum SF_RESERVED - reserved SF_UNKNOWN - unknown SF_OPEN - initializing SF_POST - in power-on self test SF_BOOTING - booting SF_FAIL - boot failed SF_WAITING - waiting SF_OS_BOOTED - kernel loaded SF_UP - up SF_DEBUG - in debugger SF_OPERATOR - waiting for operator input SF_DUMPCORE - dumping core SF_HALT - halted SF_REBOOT - rebooting SF_GIVEWAIT - waiting for giveback SF_MBWAIT - waiting for cluster mailbox release SF_SPARECORE - dumping sparecore and ready to be taken-over SF_MDP - multi-disk panic SF_TO - in takeover SF_NOTO - takeover disabled SF_CLUSTERWAIT - waiting for cluster apps Attributes: non-creatable, non-modifiable
> node |  | node-name optional | Node name Attributes: key, non-creatable, non-modifiable
> node-state |  | string optional | Storage failover status of the node. Possible values are: connected takeover_scheduled takeover_started takeover takeover_failed giveback_partial_waiting giveback_partial_connected waiting_for_root_aggr waiting in_maintenance_mode pending_shutdown relocating_aggrs_before_takeover sfo_takeover_phase_done sfo_takenover_phase_done sfo_takeover_phase_aborted sfo_takenover_phase_aborted in_non_HA_mode cfo_takeover_failed sfo_takeover_phase relocated_aggrs_before_takeover giving_back giveback_failed_autogiveback_disabled giveback_failed_autogiveback_scheduled previous_giveback_failed takeover_disk_inventory_not_received takeover_partner_missing_disks takeover_autogiveback_scheduled takeover_network_failure takeover_autogiveback_deferred automatic_takeover_disabled_connected automatic_takeover_disabled_waiting ndo_upgrade_in_progress own_aggr_non_local_connected own_aggr_non_local_waiting clusterwait_connected clusterwait_waiting error Attributes: non-creatable, non-modifiable
> nvram-id | [0..2^32-1] | integer optional | NVRAM identifier Attributes: non-creatable, non-modifiable
> partner-firmware-progress | [0..2^32-1] | integer optional | A counter to indicate that the partner node is progressing in the current firmware state. If the counter is not progressing the partner node may be unresponsive or down. Attributes: non-creatable, non-modifiable
> partner-firmware-state |  | string optional | Partner firmware state as communicated by the partner through interconnect. Possible values are: SF_OPERATOR_EXIT - operator completed SF_DEBUG_EXIT - debugger completed SF_PROGRESS - progress counter SF_IOERROR - I/O error SF_BADCKSUM - bad checksum SF_RESERVED - reserved SF_UNKNOWN - unknown SF_OPEN - initializing SF_POST - in power-on self test SF_BOOTING - booting SF_FAIL - boot failed SF_WAITING - waiting SF_OS_BOOTED - kernel loaded SF_UP - up SF_DEBUG - in debugger SF_OPERATOR - waiting for operator input SF_DUMPCORE - dumping core SF_HALT - halted SF_REBOOT - rebooting SF_GIVEWAIT - waiting for giveback SF_MBWAIT - waiting for cluster mailbox release SF_SPARECORE - dumping sparecore and ready to be taken-over SF_MDP - multi-disk panic SF_TO - in takeover SF_NOTO - takeover disabled SF_CLUSTERWAIT - waiting for cluster apps Attributes: non-creatable, non-modifiable
> partner-name |  | string optional | Storage failover partner node name Attributes: non-creatable, non-modifiable
> partner-nvram-id | [0..2^32-1] | integer optional | Partner NVRAM identifier Attributes: non-creatable, non-modifiable
> state-description |  | string optional | A detailed description of the storage failover state of the node. Attributes: non-creatable, non-modifiable

Element definition: options-related-info | [top]

> Options Info

> Name | Range | Type | Description
> auto-giveback-enabled |  | boolean optional | True, if auto-giveback is enabled, false otherwise. Attributes: non-creatable, modifiable

Element definition: storage-related-info | [top]

> Storage Info

> Name | Range | Type | Description
> local-mailbox-state |  | mailbox-state[] optional | Primary mailbox status information, represented as a list of strings. Not returned if node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable
> local-missing-disks |  | disk-uid[] optional | List of disks that the local node is missing but the partner node is able to view. Attributes: non-creatable, non-modifiable
> mailbox-disks-local |  | disk-uid[] optional | List of local mailbox disks. Not returned if node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable
> mailbox-disks-partner |  | disk-uid[] optional | List of partner mailbox disks as this dblade sees them. Not returned if partner's node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable
> partner-mailbox-state |  | mailbox-state[] optional | Backup mailbox status information, represented as a list of strings. Not returned if partner's node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable
> partner-missing-disks |  | disk-uid[] optional | List of disks that the partner node is missing but the local node is able to view. Attributes: non-creatable, non-modifiable

Element definition: takeover-related-info | [top]

> Takeover related Info

> Name | Range | Type | Description
> takeover-by-partner-not-possible-reason |  | reason-takeover-not-possible[] optional | It list of one or more reasons why takeover by partner is not possible. Attributes: non-creatable, non-modifiable
> takeover-by-partner-possible |  | boolean optional | True, if storage failover takeover is currently possible. by the partner, false otherwise. Note that this is the local node's view of partner. Attributes: non-creatable, non-modifiable
> takeover-enabled |  | boolean optional | True, if the storage failover facility is enabled, false otherwise. Note that the facility can be enabled but takeover may not be possible due to various reasons. Attributes: non-creatable, modifiable
> takeover-failure-reason |  | string optional | This is the reason for the takeover failure. Possible values are: shutdown_in_progress - shutdown is in progress aggr_relocation_in_progress - aggregate relocation is in progress giveback_in_progress - giveback is in progress takeover_in_progress - takeover is in progress unknown_partner_id - node could not detect its partner's system ID conflicting_sysid - node has the same system ID as its partner pri_mbx_update_error - node could not update its primary mailbox takeover_disabled_by_partner - partner has disabled takeover cannot_takeover_partner_subsystem - node failed to takeover one of partner's subsystems non_etc_or_rc_boot - it is not possible to takeover in a non-etc/rc boot bck_mbx_update_error - node could not update its backup mailbox partner_taking_over - partner is taking over local node revert_in_progress - revert is in progress disaster_recovery_in_progress - disaster recovery operation is in progress headswap_in_progress - headswap is in progress destination_check_failed - destination check failed communication_failed - communication with destination failed operation_aborted - operation was aborted aggr_not_online - destination node did not online the aggregate being relocated in time sfo_disabled - storage failover service is not enabled partner_taking_over - partner is taking over local node bdfu_not_disabled_source - failed to disable background disk firmware update (BDFU) on local node bdfu_not_disabled_dest - failed to disable background disk firmware update (BDFU) on partner node partner_shutting_down - shutdown is in progress on the partner node partner_aggr_relocation_in_progress - aggregate relocation is in progress on the partner node partner_giveback_in_progress - giveback is in progress on the partner node partner_revert_in_progress - revert is in progress on the partner node partner_disaster_recovery_in_progress - disaster recovery operation is in progress on the partner node partner_in_headswap - headswap is in progress on the partner node Attributes: non-creatable, non-modifiable
> takeover-module |  | string optional | The current module takeover process is in. e.g. WAFL Attributes: non-creatable, non-modifiable
> takeover-of-partner-not-possible-reason |  | reason-takeover-not-possible[] optional | If takeover-possible field is false, it lists of one or more reasons why takeover of partner is not possible. Attributes: non-creatable, non-modifiable
> takeover-of-partner-possible |  | boolean optional | True, if storage failover takeover is currently possible, false otherwise. Attributes: non-creatable, non-modifiable
> takeover-reason |  | takeover-reason optional | List of reasons why a takeover can happen. Possible values are: none - Not in takeover takeover_normal - Operator initiated takeover takeover_immediate - Operator initiated forced takeover takeover_ndu - Takeover initiated as part of NDU takeover_forced - Operator initiated forced takeover, possible data loss takeover_early - Takeover occuring during bootup of a filer takeover_operator_exp - Takeover occuring after operator timeout expired takeover_post_failed - Takeover occuring on POST failure takeover_panic - Takeover on panic takeover_shortuptime - Takeover after quick toggling between up & down states takeover_sparecore_exp - Takeover on panic timeout expiry takeover_reboot_exp - Takeover on reboot timer expiry takeover_booting_exp - Takeover on booting timer expiry takeover_nfo_shutdown - Takeover on negotiated failover shutdown takeover_nfo_timer - Takeover on negotiated failover timer expiry takeover_mdp - Takeover on multi-disk panic takeover_reboot - Takeover on reboot takeover_halt - Takeover on halt takeover_clam - CLAM triggered takeover takeover_hwassist - H/w assisted takeover Attributes: non-creatable, non-modifiable Possible values: "takeover_none" - None, "takeover_immediate" - Immediate takeover, "takeover_ndu" - NDU Takeover, "takeover_forced" - Forced Takeover, "takeover_disaster" - Disaster Takeover, "takeover_early" - Early Takeover, "takeover_operator_exp" - Takeover Operator Timeout, "takeover_post_failed" - Takeover POST Failed, "takeover_panic" - Takeover On Panic, "takeover_shortuptime" - Takeover On Short Uptime, "takeover_sparecore_exp" - Takeover On Sparecore Timeout, "takeover_reboot_exp" - Takeover On Reboot Timeout, "takeover_booting_exp" - Takeover On Booting Timeout, "takeover_firmware_exp" - Takeover On Firmware Timeout, "takeover_nfo_shutdown" - Takeover On Negotiated Failover, "takeover_nfo_timer" - Takeover On Negotiated Failover Timeout, "takeover_mdp" - Takeover On MDP, "takeover_reboot" - Takeover On Reboot, "takeover_halt" - Takeover On Halt, "takeover_clam" - CLAM Initiated Takeover, "takeover_hwassist" - H/w assisted Takeover, "takeover_normal" - Operator initiated takeover
> takeover-state |  | string optional | Takeover state of the node. Possible values are: takeover_failed - Takeover Failed sfo_takeover_in_progress - SFO phase of takeover of partner is in progress relocating_aggrs_before_takeover - Relocating aggregates to partner as a takeover was initiated by partner cfo_takeover_scheduled - CFO phase of takeover is scheduled relocated_aggrs_before_takeover - Relocated aggregates to partner after a takeover was initiated by partner takeover_by_partner_failed - A takeover attempt by partner failed. Refer to takeover-failure-reason field to check the reason for takeover failure. in_takeover - Node is in takeover takeover_started - A takeover is in progress takeover_scheduled - A takeover of partner is scheduled Refer to time-until-takeover field to check time remaining till takeover. not_in_takeover - Local node is not in takeover Attributes: non-creatable, non-modifiable
> time-since-takeover | [0..2^32-1] | integer optional | Time in milliseconds since the local node has taken over partner. Attributes: non-creatable, non-modifiable
> time-until-takeover | [0..2^32-1] | integer optional | This is the countdown time in seconds until takeover is started. Attributes: non-creatable, non-modifiable

Element definition: disk-uid | [top]

> Disk Unique Identifier

> [none]

Element definition: mailbox-state | [top]

> State of mailbox disks owned by the node. Possible values are: mbx_status_nodisks mbx_status_uncertain mbx_status_stale mbx_status_conflicted mbx_status_old_version mbx_status_not_found mbx_status_wrong_state mbx_status_backup

> [none]

Element definition: node-name | [top]

> The node's name

> [none]

Element definition: reason-takeover-not-possible | [top]

> Reason why takeover is not possible. not_initialized - Controller Failover not initialized non_ha_mode - Controller is in non-HA mode disabled - Controller Failover takeover disabled mailbox_invalid - Partner mailbox disks not accessible or invalid mailbox_uninit - Partner mailbox status uninitialized fm_version_mismatch - Failover monitor version mismatch partner_disabled - Takeover disabled by partner operator_deny - Takeover disabled by operator nvram_mismatch - NVRAM size mismatch version - Version mismatch ic_error - Interconnect error booting - Partner booting shelf_hot - Disk shelf is too hot partner_revert_in_progress - Partner is performing revert local_revert_in_progress - Revert is in progress partner_takeover - Partner is attempting takeover local_takeover - Already in takeover mode halt_no_takeover - Partner halted in notakeover mode log_unsync - NVRAM log unsynchronized unknown - No takeover due to unknown reason waiting_for_partner - Waiting for partner to recover low_memory - Low memory condition halting - Local halt in progress mailbox_uncertain - Status of partner mailbox is uncertain no_auto_takeover - Automatic takeover is disabled disk_inventory_not_exchanged - Disk inventory information not received - from partner disk_inventory_mismatch_local - Local node missing some of partner node's file system disks pending_shutdown - Local node is shutting down

> [none]

Element definition: takeover-reason | [top]

> FM Takeover Reason Possible values: "takeover_none" - None, "takeover_immediate" - Immediate takeover, "takeover_ndu" - NDU Takeover, "takeover_forced" - Forced Takeover, "takeover_disaster" - Disaster Takeover, "takeover_early" - Early Takeover, "takeover_operator_exp" - Takeover Operator Timeout, "takeover_post_failed" - Takeover POST Failed, "takeover_panic" - Takeover On Panic, "takeover_shortuptime" - Takeover On Short Uptime, "takeover_sparecore_exp" - Takeover On Sparecore Timeout, "takeover_reboot_exp" - Takeover On Reboot Timeout, "takeover_booting_exp" - Takeover On Booting Timeout, "takeover_firmware_exp" - Takeover On Firmware Timeout, "takeover_nfo_shutdown" - Takeover On Negotiated Failover, "takeover_nfo_timer" - Takeover On Negotiated Failover Timeout, "takeover_mdp" - Takeover On MDP, "takeover_reboot" - Takeover On Reboot, "takeover_halt" - Takeover On Halt, "takeover_clam" - CLAM Initiated Takeover, "takeover_hwassist" - H/w assisted Takeover, "takeover_normal" - Operator initiated takeover

> [none]