X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=prep_power_users.py;h=c14690e83ab4c8ba4f8441345775d5fb26964866;hb=16b7bc48471b0695e72320fbcf761db695af032e;hp=8566a6d1999439d15ed659bed791b4399170550c;hpb=c51ad794e8dc07072d705b508e79ba06849aa408;p=monitor.git diff --git a/prep_power_users.py b/prep_power_users.py index 8566a6d..c14690e 100755 --- a/prep_power_users.py +++ b/prep_power_users.py @@ -1,10 +1,10 @@ #!/usr/bin/python -import plc +from monitor.wrapper import plc import sys import time -email_list = [ 'monitor@planet-lab.org', +email_list = [ 'soltesz@cs.princeton.edu', # 'soltesz@cs.princeton.edu', # 'justin@cs.arizona.edu', # 'bakers@cs.arizona.edu', @@ -15,21 +15,20 @@ email_list = [ 'monitor@planet-lab.org', # 'vivek@cs.princeton.edu', ] -import monitorconfig -api = plc.PLC(monitorconfig.API_AUTH, monitorconfig.API_SERVER) -api06 = plc.PLC(monitorconfig.API_AUTH06, monitorconfig.API_SERVER06) - +from monitor import config +api = plc.PLC(plc.Auth(config.API_AUTH_USER, config.API_AUTH_PASSWORD).auth, config.API_SERVER) +api06 = plc.PLC(plc.Auth(config.API06_AUTH_USER, config.API06_AUTH_PASSWORD).auth, config.API06_SERVER) # add planetlab-15.cs.princeton.edu, and use the key on the CD. -id = api06.AddNode(1, {'boot_state': 'rins', 'model': 'Dell Optiplex', - 'hostname' : 'planetlab-15.cs.princeton.edu', - 'version' : '3.3'}) -api06.AddNodeNetwork(id, {'ip': '128.112.139.39', - 'type' : 'ipv4', - 'is_primary' : True, - 'method' : 'dhcp', }) -api06.UpdateNode(id, {'key': "wptNagk8SgRxzN1lXfKMAjUYhQbOBymKnKg9Uv0LwGM"}) - +#id = api06.AddNode(1, {'boot_state': 'rins', 'model': 'Dell Optiplex', +# 'hostname' : 'planetlab-15.cs.princeton.edu', +# 'version' : '3.3'}) +#api06.AddNodeNetwork(id, {'ip': '128.112.139.39', +# 'type' : 'ipv4', +## 'is_primary' : True, +# 'method' : 'dhcp', }) +#api06.UpdateNode(id, {'key': "wptNagk8SgRxzN1lXfKMAjUYhQbOBymKnKg9Uv0LwGM"}) +# #print "adding vsys attributes" #api06.AddSliceAttribute('princeton_slicestat', 'vsys', 'pl-ps') @@ -77,6 +76,13 @@ def slice_exists(slice): except: return False +def node_exists(node): + x = api06.GetNodes({'hostname':node['hostname']}) + if len(x) == 0: + return False + else: + return True + # Renew slices slices = api06.GetSlices() for slice in slices: @@ -114,11 +120,25 @@ for email in email_list: sites = api.GetSites(user['site_ids']) print "Adding sites:", for site in sites: - if not site_exists(site): - print "%s" % site['login_base'], - api06.AddSite(site) - api06.AddPersonToSite(user['email'], site['login_base']) - sys.stdout.flush() + nodes = api.GetNodes(site['node_ids']) + + if not site_exists(site): + print "%s" % site['login_base'] + api06.AddSite(site) + api06.AddPersonToSite(user['email'], site['login_base']) + sys.stdout.flush() + + for node in nodes: + if not node_exists(node): + id = api06.AddNode(site['login_base'], {'boot_state': node['boot_state'], + 'model': node['model'], + 'hostname' : node['hostname'], + 'version' : node['version']}) + nnets = api.GetInterfaces(node['interface_ids']) + for nnet in nnets: + del nnet['nodenetwork_id'] + del nnet['nodenetwork_setting_ids'] + api06.AddNodeNetwork(id, nnet) print "" nodes = api06.GetNodes()