APIs in Category: cf
7-Mode API version 1.15

 
cf-force-takeover
cf-get-partner
cf-giveback
cf-hwassist-stats
cf-hwassist-status
cf-negotiated-failover-disable
cf-negotiated-failover-enable
cf-negotiated-failover-status
cf-service-disable
cf-service-enable
cf-status
cf-takeover

NetApp Manage ONTAP
 
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
disaster boolean
optional
When set to true, forces a filer to take over its partner in all cases where a force-takeover would. In addition it will force a takeover even if some partner mailbox disks are inaccessible. It can only be used when remotesyncmirror is licensed. This option is very dangerous. Not only can it cause data corruption, if not used carefully, it can also lead to a situation where both the filer and it's partner are operational (split brain). As such, it should only be used as a means of last resort when the takeover and force-takeover operations are unsuccessful in achieving a takeover. The operator must ensure that the partner filer does not become operational at any time while a filer is in a takeover mode initiated by the use of this operation. In conjunction with RAID mirroring, it can allow recovery from a disaster when the two filers are setup in a MetroCluster configuration. This option is not allowd in case of cluster zapi.
 Errno  Description
 ETAKEOVERINPROGRESS
 ESENDHOMEINPROGRESS
 EVERSIONMISMATCH
 EMBOXDEGRADED
 EBADOPTIONS
 EWAITINGFORPARTNER
 ENOTHALTED
 ENODENOTFOUND
 EINTERNALERROR

 
cf-get-partner [top]
Get the host name of the partner. If the name is unknown, It will return partner-unknown.
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
 Vfiler-enabled
 Yes

 
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.
 Errno  Description
 EPARTNERNOTWAITING
 ENOAGGRS
 ESENDHOMEINPROGRESS
 ETAKEOVERINPROGRESS
 EHALTING
 ENOPARTNERINVENTORY
 EPARTNERMISSINGDISKS
 ENODENOTFOUND
 EINTERNALERROR

 
cf-hwassist-stats [top]
Get useful information about statistics of hardware assisted takeover functionality.
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-status [top]
Get useful information about the status of hw_assist functionality.
Output Name Range Type Description
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 addr; 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 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 addr, 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 Active: If functionality is active. Inactive: If functionality is inactive
 Errno  Description
 EINTERNALERROR

 
cf-negotiated-failover-disable [top]
Disables negotiated failover. disk_shelf is the negotiated failover module currently supported.
Input Name Range Type Description
module string
Module currently supported is 'disk_shelf'.
 Errno  Description
 EINTERNALERROR

 
cf-negotiated-failover-enable [top]
Enables negotiated failover. disk_shelf is the negotiated failover module currently supported.
Input Name Range Type Description
module string
Module currently supported is 'disk_shelf'.
 Errno  Description
 EINTERNALERROR

 
cf-negotiated-failover-status [top]
Returns the status of the negotiated failover module. Negotiated failover is a general facility which supports negotiated failover on the basis of decisions made by various modules.
Input Name Range Type Description
module string
Module currently supported is 'disk_shelf'
 
Output Name Range Type Description
is-enabled boolean
True, if clusterfailover for this module is enabled, false otherwise.
 Errno  Description
 EINTERNALERROR

 
cf-service-disable [top]
Disables the takeover capability of this filer in the cluster.
 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
 Errno  Description
 ESERVICENOTINITIALIZED
 ESERVICENOTLICENSED
 ESERVICEENABLED
 EREVERTINPROGRESS
 EINTERNALERROR

 
cf-status [top]
Get useful information about the status of the clustering service. If the monitor is not initialized, this returns an error.
Output Name Range Type Description
current-time integer
Current time on the filer
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 storage clustering interconnect is up
partner string
Hostname of the partner. If the partner is unknown, returns an empty string. This is for 7G like output compatibility.
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 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-failure-reason string
optional
if state == takeover_failed, this is the reason for the takeover failure
time-master-status string
optional
host is time "master" or "slave". If master, then other host syncs it's time with this one. If slave, then this host syncs it's time with the other. Nothing is returned if clustering is disabled.
time-until-takeover integer
optional
if state == takeover_scheduled, this is the countdown time in seconds until state == takeover_started.
 Errno  Description
 ENODENOTFOUND
 ESERVICENOTINITIALIZED
 EINTERNALERROR
 Vfiler-enabled
 Yes

 
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
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.
 Errno  Description
 ETAKEOVERINPROGRESS
 ESENDHOMEINPROGRESS
 EVERSIONMISMATCH
 EMBOXDEGRADED
 EBADOPTIONS
 EWAITINGFORPARTNER
 ENOTHALTED
 ENODENOTFOUND
 EINTERNALERROR
 EINVENTORYMISMATCH
 ENOPARTNERINVENTORY