xrootd
Loading...
Searching...
No Matches
Macros
XrdCmsVnId.hh File Reference

Go to the source code of this file.

Macros

#define XrdCmsgetVnIdArgs
 

Macro Definition Documentation

◆ XrdCmsgetVnIdArgs

#define XrdCmsgetVnIdArgs
Value:
XrdSysError &eDest, \
const std::string &confg, \
const std::string &parms, \
char nRole, \
int mlen
Definition XrdSysError.hh:90

Function XrdCmsgetVnId is used to obtain the unique node identification. This plug-in is specified by the 'all.vnidlib' directive and when present uses the plug-in to obtain the node identification. This ID is used to track the node instead of the node's host name or IP address; essentially creating a virtual network . This plugin is meant for container and virtualization frameworks that assign an arbitrary host name or IP addresses to a container or VM on each start-up; making host name or IP address an unreliable tracking mechanism. Hence, nodes are tracked within a vrtual network composed of the node ID and internal cluster ID. Obtain node identification.

This extern "C" function is called to obtain the node identification. It need not be thread safe as it is called only once during initialization.

Parameters
eDest-> The error object that must be used to print any errors or other messages (see XrdSysError.hh).
confg-> Name of the configuration file that was used.
parms-> Argument string specified on the vnidlib directive. It is a null string if no parms exist.
nRole-> The role this node has, as follow: 'm' - manager, 's' - server, 'u' - supervisor If the letter is upper case, then it's a proxy role.
mlen-> The maximum length the return string may have. Returning a string longer than mlen aborts initialization.
Returns
Success: A string containing the node identification. Failure: A null string which causes initialization to fail.