Nas fontes de pcs-0.9.115-32.el7
, a função getClusterName
é implementada:
def getClusterName():
if is_rhel6():
try:
dom = parse(settings.cluster_conf_file)
except (IOError,xml.parsers.expat.ExpatError):
return ""
return dom.documentElement.getAttribute("name")
else:
try:
f = open(settings.corosync_conf_file,'r')
except IOError as e:
return ""
p = re.compile('cluster_name: *(.*)')
for line in f:
m = p.match(line)
if m:
return m.group(1)
return ""
Esta função verifica por rhel6
para extrair o nome do cluster de /etc/cluster/cluster.conf
(nome do atributo) ou em outro caso de /etc/corosync/corosync.conf
.
A expressão regular esperava pelo menos um espaço entre cluster_name
e nome ( 'cluster_name: *(.*)'
) no arquivo corosync.conf
, talvez esse seja o problema.
def is_rhel6():
try:
issue = open('/etc/system-release').read()
except IOError as e:
return False
if re.search(r'(Red Hat Enterprise Linux Server|CentOS|Scientific Linux) release 6\.', issue):
return True
else:
return False
Verifique se existe o arquivo /etc/corosync/corosync.conf
com as devidas permissões. Eu acho que esse bug pode ser relevante para você: link e link
Espero que isso ajude.