diff options
Diffstat (limited to 'deploy/rename_nics.py')
-rw-r--r-- | deploy/rename_nics.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/deploy/rename_nics.py b/deploy/rename_nics.py new file mode 100644 index 00000000..ef52d63a --- /dev/null +++ b/deploy/rename_nics.py @@ -0,0 +1,29 @@ +import os +import sys +import yaml + +def exec_cmd(cmd): + print cmd + os.system(cmd) + +def rename_nics(dha_info, rsa_file, compass_ip): + for host in dha_info['hosts']: + host_name = host['name'] + interfaces = host.get('interfaces') + if interfaces: + for interface in interfaces: + nic_name = interfaces.keys()[0] + mac = interfaces.values()[0] + + exec_cmd("ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ + -i %s root@%s \ + 'cobbler system edit --name=%s --interface=%s --mac=%s'" \ + % (rsa_file, compass_ip, host_name, nic_name, mac)) + + exec_cmd("ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ + -i %s root@%s \ + 'cobbler sync'" % (rsa_file, compass_ip)) + +if __name__ == "__main__": + assert(len(sys.argv) == 4) + rename_nics(yaml.load(open(sys.argv[1])), sys.argv[2], sys.argv[3]) |