SYNOPSIS
use Cluster::CCS;
my $ccs = new Cluster::CCS();
$ccs->fullxpath(1);
my $ccshandle = $ccs->connect();
if ($ccshandle < 1) {
print "Cannot comunicate with libccs\n";
exit $ccshandle;
}
my $rtn;
my $err;
$err = $ccs->get($ccshandle, '/cluster/@name', $rtn);
if ($err != 0) {
print "Query is not valid\n";
}
print "My Cluster name is $rtn\n";
$err = $ccs->disconnect($ccshandle);
if ($err != 0) {
print "Problems disconnecting from libccs\n";
}
exit $err;
DESCRIPTION
Cluster::CCS provides a perl XS wrapper for libccs.
METHODS
new
Creates a new Cluster::CCS object.
fullxpath(value)
Enable or disable full xpath queries. Set 1 to enable, 0 to disable. This has to be set before connect() or force_connect. In order to change this value, a disconnect operation is required.
connect(void)
Initialize the connection to libccs/libconfdb/corosync objdb. Returns 1 on success or negative on failure.
force_connect(cluster_name, blocking)
Initialize the connection to libccs/libconfdb/corosync objdb. If blocking is set, it will retry the operation until it succeed. Returns 1 on success or negative on failure.
disconnect(desc)
Disconnect and free resources allocated during opertaion. Returns 0 on success.
get(desc, query, rtn)
Perform a simple xpath query. Returns 0 on success, negative otherwise. On success rtn will contain the requested data.
get_list(desc, query, rtn)
Perform a simple xpath query and retain some data to iterate over a list of results. Returns 0 on success, negative otherwise. On success rtn will contain the requested data.
set(desc, path, val)
This operation is not yet implemented in libccs.
lookup_nodename(desc, nodename, rtn)
Perform a nodename lookup using several methods. Return 0 on success and rtn will contain the requested data.