in VMExtension/hpcnodemanager.py [0:0]
def init_suse_hostsfile(host_name, ipaddrs):
hostsfile = '/etc/hosts'
if not os.path.isfile(hostsfile):
return
try:
newhpcd_entries = ''
for ipaddr in ipaddrs:
newhpcd_entries += '{0:24}{1:30}#HPCD\n'.format(ipaddr, host_name)
curhpcd_entries = ''
newcontent = ''
hpcentryexists = False
with open(hostsfile, 'r') as F:
for line in F.readlines():
if re.match(r"^[0-9\.]+\s+[^\s#]+\s+#HPCD\s*$", line):
curhpcd_entries += line
hpcentryexists = True
elif re.match(r"^[0-9\.]+\s+[^\s#]+\s+#HPC\s*$", line):
hpcentryexists = True
else:
newcontent += line
if newhpcd_entries != curhpcd_entries:
if hpcentryexists:
waagent.Log("Clean the HPC related host entries from hosts file")
waagent.Log("Add the following HPCD host entries:\n{0}".format(newhpcd_entries))
if newcontent and newcontent[-1] != '\n':
newcontent += '\n'
newcontent += newhpcd_entries
waagent.ReplaceFileContentsAtomic(hostsfile,newcontent)
os.chmod(hostsfile, 0o644)
except :
raise