The OCF RA shared code directory If an RA is too big to be comfortably maintained, split it into several source files. Obviosuly, if two or more RAs share some code, move that code out to a file which can be shared. These files will be installed in $OCF_ROOT/lib/heartbeat with permissions 644. Naming practice Use names such as .sh or -check.sh or anything-else.sh where "anything-else" should be related to both the RA and the code it contains. By adding extension (.sh) it is going to be easier to notice that these files are not complete resource agents. For instance, oracle and oralsnr RA can both use code in ora-common.sh. Of course, if the RA is implemented in another programming language, use the appropriate extension. RA tracing RA tracing may be turned on by setting OCF_TRACE_RA. The trace output will be saved to OCF_TRACE_FILE, if set. If not, then the trace would be saved to the OCF_RESKEY_trace_dir. If it's also not defined, the log will be saved by default to $HA_VARLIB/trace_ra//.. e.g. $HA_VARLIB/trace_ra/oracle/db.start.2012-11-27.08:37:08 HA_VARLIB is typically set to /var/lib/heartbeat. OCF_TRACE_FILE can be set to a path or file descriptor: - FD (small integer [3-9]) in that case it is up to the callers to capture output; the FD _must_ be open for writing - absolute path NB: FD 9 may be used for tracing with bash >= v4 in case OCF_TRACE_FILE is set to a path.