Hi Serge,

When we use ocf_run in some pgsql, a problem is left.

In ocf_run, ocf_run outputs log as an error in the case of 2 the practice 
result of the command.

ocf_run() {
(snip)
        else
            if [ ! -z "$output" ]; then
                ocf_log err "$output"
            else
                ocf_log err "command failed: $*"
            fi
            return $rc
        fi
}

But, in pgsql side, the log is output by an error or warning in the case of 2 
the practice result of
the command by a loglevel variable.


pgsql_monitor() {
    local loglevel
(snip)
    runasowner -q "$OCF_RESKEY_psql $psql_options -c 'select now();'"

    rc=$?
    if [ $rc -ne  0 ]; then
        ocf_log $loglevel "PostgreSQL $OCF_RESKEY_pgdb isn't running"
        if [ $rc -eq 1 ]; then
            ocf_log err "Fatal error (out of memory, file not found, etc.) 
occurred while executing
the psql command."
        elif [ $rc -eq 2 ]; then
            ocf_log $loglevel "Connection error (connection to the server went 
bad and the session was
not interactive) occurred while executing the psql command."
        elif [ $rc -eq 3 ]; then
            ocf_log err "Script error (the variable ON_ERROR_STOP was set) 
occurred while executing
the psql command."
        fi
        return $OCF_ERR_GENERIC
    fi
(snip)

This difference confuses an operator.

Best Regards,
Hideo Yamauchi.


_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to