-#create_rc_genesis("tools/j2/serverrc.j2", "rc")
-create_rc_masters("tools/j2/serverrc_raid.j2", "rc.raid")
-create_rc_workers("tools/j2/serverrc_raid.j2", "rc.raid")
+with open(sys.argv[1]) as f:
+ siteyaml = yaml.safe_load(f)
+
+# list of background processes created
+plist = []
+
+# create set of defaults based on top level ipmi_admin and hardware key/value pairs
+defaults = dict( siteyaml["ipmi_admin"].items() + siteyaml["hardware"].items() )
+
+# add keys for backward compatibility
+defaults = dict( [('oob_user',siteyaml['ipmi_admin']['username'])] + defaults.items())
+defaults = dict( [('oob_password',siteyaml['ipmi_admin']['password'])] + defaults.items())
+
+print 'Using defaults:'
+for line in yaml.dump(defaults,default_flow_style=False).split('\n'):
+ print ' {}'.format(line)
+
+if 'masters' in siteyaml:
+ create_node_rcfile(siteyaml["masters"], defaults, "tools/j2/serverrc_raid.j2", "rc.raid")
+
+if 'workers' in siteyaml:
+ create_node_rcfile(siteyaml["workers"], defaults, "tools/j2/serverrc_raid.j2", "rc.raid")
+
+# print output from background processes
+for p in plist:
+ print "waiting for process {}".format(p.pid)
+ exitcode=p.wait()
+ print 'Process {0} ended with exit code {1}'.format(p.pid, p.returncode)
+ print p.communicate()[0]