InfoScale™ 9.0 Cluster Server Agent Developer's Guide - AIX, Linux, Solaris, Windows
- Introduction
- Agent entry point overview
- About agent entry points
- Agent entry points described
- About the open entry point
- About the monitor entry point
- About the online entry point
- About the offline entry point
- About the clean entry point
- About the action entry point
- About the info entry point
- About the attr_changed entry point
- About the close entry point
- About the shutdown entry point
- About the imf_init entry point
- About the imf_register entry point
- About the imf_getnotification entry point
- About the migrate entry point
- About the meter entry point
- Return values for entry points
- Considerations for using C++ or script entry points
- About the agent information file
- About the ArgList and ArgListValues attributes
- Creating entry points in C++
- About creating entry points in C++
- Data Structures
- Syntax for C++ entry points
- Agent framework primitives
- VCSAgGetMonitorLevel
- VCSAgGetFwVersion
- VCSAgGetRegVersion
- VCSAgRegisterEPStruct
- VCSAgSetCookie2
- VCSAgRegister
- VCSAgUnregister
- VCSAgGetCookie
- VCSAgStrlcpy
- VCSAgStrlcat
- VCSAgSnprintf
- VCSAgCloseFile
- VCSAgDelString
- VCSAgExec
- VCSAgExecWithTimeout
- VCSAgGenSnmpTrap
- VCSAgSendTrap
- VCSAgLockFile
- VCSAgInitEntryPointStruct
- VCSAgSetStackSize
- VCSAgUnlockFile
- VCSAgValidateAndSetEntryPoint
- VCSAgSetLogCategory
- VCSAgGetProductName
- VCSAgMonitorReturn
- VCSAgSetResEPTimeout
- VCSAgDecryptKey
- VCSAgGetConfDir
- VCSAgGetHomeDir
- VCSAgGetLogDir
- VCSAgGetSystemName
- VCSAG_CONSOLE_LOG_MSG
- VCSAG_LOG_MSG
- VCSAG_LOGDBG_MSG
- VCSAG_RES_LOG_MSG
- Agent Framework primitives for container support
- Creating entry points in scripts
- About creating entry points in scripts
- Syntax for script entry points
- Syntax for the monitor script
- Syntax for the online script
- Syntax for the offline script
- Syntax for the clean script
- Syntax for the action script
- Syntax for the attr_changed script
- Syntax for the info script
- Syntax for the open script
- Syntax for the close script
- Syntax for the shutdown script
- Syntax for the imf_init script
- Syntax for the imf_register script
- Syntax for the imf_getnotification script
- Syntax for migrate script
- Syntax for meter script
- Agent framework primitives
- VCSAG_GET_MONITOR_LEVEL
- VCSAG_GET_AGFW_VERSION
- VCSAG_GET_REG_VERSION
- VCSAG_SET_RES_EP_TIMEOUT
- VCSAG_GET_ATTR_VALUE
- To get number of keys in the key list attribute and the index of attribute in argument list
- To get a particular key in the key list and vector attribute
- To get the number of keys in the association attribute, and index of attribute in the argument list
- To get a particular key or value in the association attribute:
- VCSAG_SET_RESINFO
- VCSAG_MONITOR_EXIT
- VCSAG_SYSTEM
- VCSAG_SU
- VCSAG_RETURN_IMF_RESID
- VCSAG_RETURN_IMF_EVENT
- VCSAG_BLD_PSCOMM
- VCSAG_PHANTOM_STATE
- VCSAG_SET_ENVS
- VCSAG_LOG_MSG
- VCSAG_LOGDBG_MSG
- VCSAG_SQUEEZE_SPACES
- Agent Framework primitives with container support
- Example script entry points
- Logging agent messages
- Building a custom agent
- Building a script based IMF-aware custom agent
- About building a script based IMF-aware custom agent
- Linking AMF plugins with script agent
- Creating XML file required for AMF plugins to do resource registration for online and offline state monitoring
- Example of amfregister.xml for registration of process-based resource with AMF for online monitoring
- Example of amfregister.xml for registration of process-based resource with AMF for offline monitoring
- Example of amfregister.xml for online and offline IMF monitoring for a given process
- Examples for adding RepearName tag in amfregister.xml
- Adding IMF and IMFRegList attributes in configuration
- Monitor without IMF integration
- Monitor without IMF but with LevelTwo monitor frequency
- Monitor with IMF integration
- Monitor with IMF but with LevelTwo monitor frequency
- Installing the IMF-aware script-based custom agent
- Testing agents
- Static type attributes
- About static attributes
- Static type attribute definitions
- ActionTimeout
- AdvDbg
- AEPTimeout
- AgentClass
- AgentDirectory
- AgentFailedOn
- AgentFile
- AgentPriority
- AgentReplyTimeout
- AgentStartTimeout
- AlertOnMonitorTimeouts
- ArgList
- AttrChangedTimeout
- AvailableMeters
- CleanRetryLimit
- CleanTimeout
- CloseTimeout
- ContainerOpts
- ConfInterval
- EPClass
- EPPriority
- ExternalStateChange
- FaultOnMonitorTimeouts
- FaultPropagation
- FireDrill
- IMF
- IMFRegList
- InfoInterval
- InfoTimeout
- IntentionalOffline
- LevelTwoMonitorFreq
- LogDbg
- LogFileSize
- LogViaHalog
- ManageFaults
- Meters
- MeterControl
- MeterRegList
- MeterRetryLimit
- MeterTimeout
- MonitorInterval
- MonitorStatsParam
- MonitorTimeout
- MigrateTimeout
- MigrateWaitLimit
- NumThreads
- OfflineMonitorInterval
- OfflineTimeout
- OfflineWaitLimit
- OnlineClass
- OnlinePriority
- OnlineRetryLimit
- OnlineTimeout
- OnlineWaitLimit
- OpenTimeout
- Operations
- RegList
- RestartLimit
- ScriptClass
- ScriptPriority
- SourceFile
- SupportedActions
- SupportedOperations
- ToleranceLimit
- State transition diagram
- Internationalized messages
- Troubleshooting VCS resource's unexpected behavior using First Failure Data Capture (FFDC)
- Appendix A. Using pre-5.0 VCS agents
About the action entry point
Runs a pre-specified action on a resource. Use the entry point to run non-periodic actions like suspending a database or resuming the suspended database.
The SupportedActions attribute is a keylist attribute that lists all the actions that are intended on being supported. Each action is identified by a name (action_token).
See SupportedActions.
For an agent, all action entry points must be either C++ or script-based; you cannot use both C++ and scripts.
If all actions are script based, make sure the action scripts reside within an actions directory under the agent directory. Create a script for each action. Use the correct action_token as the script name.
For example, a script called suspend defines the actions to be performed when the action_token "suspend" is invoked via the hares -action command.
For C++ entry points, actions are implemented via a switch statement that defines a case for each possible action_token.
The following shows the syntax for the -action option used with the hares command:
hares -action <res> <token> [-actionargs <arg1> ...]
-sys <system> [-clus <cluster> | -localclus]The following example commands show the invocation of the action entry point using the example action tokens, DBSuspend and DBResume:
hares -action DBResource DBSuspend -actionargs dbsuspend -sys Sys1
Also,
hares -action DBResource DBResume -actionargs dbstart -sys Sys1