mirror of
https://github.com/xcat2/confluent.git
synced 2025-01-15 20:27:50 +00:00
258c4970c0
Older vmware did just json, which is fine, just have to use the json file that was there just in case something like this came up.
56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
#!/usr/bin/python
|
|
import re
|
|
import subprocess
|
|
import json
|
|
uplinkmatch = re.compile('^\s*Uplinks:\s*(.*)')
|
|
nodename = None
|
|
for inf in open('/etc/confluent/confluent.info', 'r').read().split('\n'):
|
|
if inf.startswith('NODENAME: '):
|
|
nodename = inf.replace('NODENAME: ', '')
|
|
break
|
|
|
|
deploycfg = open('/etc/confluent/confluent.deploycfg', 'r').read().split('\n')
|
|
cfg = {}
|
|
nslist = False
|
|
nameservers = []
|
|
for line in deploycfg:
|
|
kv = line.split(': ')
|
|
if not kv[0]:
|
|
continue
|
|
if len(kv) == 2:
|
|
cfg[kv[0]] = kv[1]
|
|
if kv[0] == 'nameservers:':
|
|
nslist = True
|
|
continue
|
|
if nslist and kv[0].startswith('- '):
|
|
nameservers.append(kv[0].split(' ', 1)[1])
|
|
else:
|
|
nslist=False
|
|
cfg['nameservers'] = ','.join(nameservers)
|
|
vswinfo = subprocess.check_output(['localcli', 'network', 'vswitch', 'standard', 'list']).decode('utf8')
|
|
vmnic = None
|
|
for info in vswinfo.split('\n'):
|
|
upinfo = uplinkmatch.match(info)
|
|
if upinfo:
|
|
vmnic = upinfo.group(1)
|
|
try:
|
|
with open('/tmp/confluentident/cnflnt.jsn') as identin:
|
|
identcfg = json.load(identin)
|
|
ncfg = identcfg['net_cfgs'][0]
|
|
cfg['ipv4_method'] = ncfg['ipv4_method']
|
|
cfg['ipv4_address'] = ncfg['ipv4_address'].split('/')[0]
|
|
cfg['ipv4_netmask'] = ncfg['ipv4_netmask']
|
|
cfg['ipv4_gateway'] = ncfg['ipv4_gateway']
|
|
except Exception:
|
|
pass
|
|
netline = 'network --hostname={0} --bootproto={1}'.format(nodename, cfg['ipv4_method'])
|
|
if vmnic:
|
|
netline += ' --device={0}'.format(vmnic)
|
|
if cfg['ipv4_method'] == 'static':
|
|
netline += ' --ip={0} --netmask={1}'.format(cfg['ipv4_address'], cfg['ipv4_netmask'])
|
|
if cfg.get('ipv4_gateway', 'null') not in (None, '', 'null'):
|
|
netline += ' --gateway={0}'.format(cfg['ipv4_gateway'])
|
|
if cfg['nameservers']:
|
|
netline += ' --nameserver={0}'.format(cfg['nameservers'])
|
|
print(netline)
|