From: Thierry Parmentelat Date: Mon, 27 Nov 2006 16:43:32 +0000 (+0000) Subject: (*) full support for database caching, including SliceAttributes X-Git-Tag: pycurl-7_13_1~243 X-Git-Url: http://git.onelab.eu/?p=plcapi.git;a=commitdiff_plain;h=d3caf68dfe082cd1f623550ee78b259ad3b019f0 (*) full support for database caching, including SliceAttributes (*) looks OK but further tests are required (*) system slices to be checked with latest implementation from Mark (I haven't got anything realting to pl_conf and such in GetSlivers since Mark made that change) (*) TestPeers to dump both status verbatim --- diff --git a/PLC/Cache.py b/PLC/Cache.py index f82248f..5811357 100644 --- a/PLC/Cache.py +++ b/PLC/Cache.py @@ -4,7 +4,7 @@ from PLC.Filter import Filter from PLC.Table import Row, Table verbose_flag=False; -#verbose_flag=True; +verbose_flag=True; def verbose (*args): if verbose_flag: print (args) @@ -30,14 +30,9 @@ class Cache: # an attempt to provide genericity in the caching algorithm - # the Peer object we are syncing with def __init__ (self, api, peer_id, peer_server, auth): -# import PLC.Peers - self.api = api -# assert isinstance(peer,PLC.Peers.Peer) -# self.peer = peer self.peer_id = peer_id self.peer_server = peer_server self.auth = auth @@ -64,15 +59,15 @@ class Cache: def transcode (self, alien_id): """ transforms an alien id into a local one """ # locate alien obj from alien_id - verbose ('entering transcode with alien_id',alien_id,) + verbose ('.entering transcode with alien_id',alien_id,) alien_object=self.alien_objects_byid[alien_id] - verbose ('located alien_obj',) + verbose ('..located alien_obj',) name = alien_object [self.class_key] - verbose ('got name',name,) + verbose ('...got name',name,) local_object=self.local_objects_byname[name] - verbose ('found local obj') + verbose ('....found local obj') local_id=local_object[self.primary_key] - verbose ('and local_id',local_id) + verbose ('.....and local_id',local_id) return local_id @@ -123,8 +118,6 @@ class Cache: lambda_ignore=lambda x:False, report_name_conflicts = True): -# peer = self.peer -# peer_id = peer['peer_id'] peer_id=self.peer_id attrs = class_attributes (classname) @@ -149,12 +142,12 @@ class Cache: # (*) or naming conflicts local_objects = table_class (self.api) ### index upon class_key for future searches - #verbose ('local objects:',local_objects) - verbose ('class_key',class_key) local_objects_index = local_objects.dict(class_key) + verbose ('update_table',classname,local_objects_index.keys()) ### mark entries for this peer outofdate + new_count=0 old_count=0; for local_object in local_objects: if local_object['peer_id'] == peer_id: @@ -163,7 +156,6 @@ class Cache: else: local_object.uptodate=True - new_count=0 # scan the peer's local objects for alien_object in alien_object_list: @@ -174,7 +166,7 @@ class Cache: verbose('Ignoring',object_name) continue - verbose ('update_table - Considering',object_name) + verbose ('update_table (%s) - Considering'%classname,object_name) # create or update try: @@ -253,6 +245,104 @@ class Cache: ### return delta in number of objects return new_count-old_count + # slice attributes exhibit a special behaviour + # because there is no name we can use to retrieve/check for equality + # this object is like a 3-part xref, linking slice_attribute_type, slice, + # and potentially node, together with a value that can change over time. + # extending the generic model to support a lambda rather than class_key + # would clearly become overkill + def update_slice_attributes (self, + alien_slice_attributes, + alien_nodes, + alien_slices): + + from PLC.SliceAttributeTypes import SliceAttributeTypes + from PLC.SliceAttributes import SliceAttribute, SliceAttributes + + # init + peer_id = self.peer_id + + # create transcoders + node_xcoder = Cache.Transcoder (self.api, 'Node', alien_nodes) + slice_xcoder= Cache.Transcoder (self.api, 'Slice', alien_slices) + # no need to transcode SliceAttributeTypes, we have a name in the result + local_sat_dict = SliceAttributeTypes(self.api).dict('name') + + # load local objects + local_objects = SliceAttributes (self.api,{'peer_id':peer_id}) + + ### mark entries for this peer outofdate + new_count = 0 + old_count=len(local_objects) + for local_object in local_objects: + local_object.uptodate=False + + for alien_object in alien_slice_attributes: + + verbose('----- update_slice_attributes: considering ...') + verbose(' ',alien_object) + + # locate local slice + try: + slice_id = slice_xcoder.transcode(alien_object['slice_id']) + except: + verbose('update_slice_attributes: unable to locate slice', + alien_object['slice_id']) + continue + # locate slice_attribute_type + try: + sat_id = local_sat_dict[alien_object['name']]['attribute_type_id'] + except: + verbose('update_slice_attributes: unable to locate slice attribute type', + alien_object['name']) + continue + # locate local node if specified + try: + alien_node_id = alien_object['node_id'] + if alien_node_id is not None: + node_id = node_xcoder.transcode(alien_node_id) + else: + node_id=None + except: + verbose('update_slice_attributes: unable to locate node', + alien_object['node_id']) + continue + + # locate the local SliceAttribute if any + try: + verbose ('searching name=', alien_object['name'], + 'slice_id',slice_id, 'node_id',node_id) + local_object = SliceAttributes (self.api, + {'name':alien_object['name'], + 'slice_id':slice_id, + 'node_id':node_id})[0] + + if local_object['peer_id'] != peer_id: + verbose ('FOUND local sa - skipped') + continue + verbose('FOUND already cached sa') + local_object['value'] = alien_object['value'] + # create it if missing + except: + local_object = SliceAttribute(self.api, + {'peer_id':peer_id, + 'slice_id':slice_id, + 'node_id':node_id, + 'attribute_type_id':sat_id, + 'value':alien_object['value']}) + verbose('CREATED new sa') + local_object.uptodate=True + new_count += 1 + local_object.sync() + + for local_object in local_objects: + if not local_object.uptodate: + local_object.delete() + + self.api.db.commit() + ### return delta in number of objects + return new_count-old_count + def get_locals (self, list): return [x for x in list if x['peer_id'] is None] @@ -270,49 +360,52 @@ class Cache: all_data = self.peer_server.GetPeerData (self.auth,0) # refresh sites - #all_sites = self.peer_server.GetSites(self.auth) all_sites = all_data['Sites'] - local_sites = self.get_locals (all_sites) - nb_new_sites = self.update_table('Site', local_sites) + plocal_sites = self.get_locals (all_sites) + nb_new_sites = self.update_table('Site', plocal_sites) # refresh keys - #all_keys = self.peer_server.GetKeys(self.auth) all_keys = all_data['Keys'] - local_keys = self.get_locals (all_keys) - nb_new_keys = self.update_table('Key', local_keys) + plocal_keys = self.get_locals (all_keys) + nb_new_keys = self.update_table('Key', plocal_keys) # refresh nodes - #all_nodes = self.peer_server.GetNodes(self.auth) all_nodes = all_data['Nodes'] - local_nodes = self.get_locals(all_nodes) - nb_new_nodes = self.update_table('Node', local_nodes, + plocal_nodes = self.get_locals(all_nodes) + nb_new_nodes = self.update_table('Node', plocal_nodes, { 'Site' : all_sites } ) # refresh persons - #all_persons = self.peer_server.GetPersons(self.auth) all_persons = all_data['Persons'] - local_persons = self.get_locals(all_persons) - nb_new_persons = self.update_table ('Person', local_persons, + plocal_persons = self.get_locals(all_persons) + nb_new_persons = self.update_table ('Person', plocal_persons, { 'Key': all_keys, 'Site' : all_sites } ) # refresh slice attribute types all_slice_attribute_types = all_data ['SliceAttibuteTypes'] - local_slice_attribute_types = self.get_locals(all_slice_attribute_types) + plocal_slice_attribute_types = self.get_locals(all_slice_attribute_types) nb_new_slice_attribute_types = self.update_table ('SliceAttributeType', - local_slice_attribute_types, + plocal_slice_attribute_types, report_name_conflicts = False) # refresh slices - #local_slices = self.peer_server.GetSlices(self.auth,{'peer_id':None}) - local_slices = all_data['Slices'] + all_slices = all_data['Slices'] + plocal_slices = self.get_locals(all_slices) def is_system_slice (slice): return slice['creator_person_id'] == 1 - nb_new_slices = self.update_table ('Slice', local_slices, + nb_new_slices = self.update_table ('Slice', plocal_slices, {'Node': all_nodes, 'Person': all_persons}, is_system_slice) + # refresh slice attributes + all_slice_attributes = all_data ['SliceAttributes'] + plocal_slice_attributes = self.get_locals(all_slice_attributes) + nb_new_slice_attributes = self.update_slice_attributes (plocal_slice_attributes, + all_nodes, + all_slices) + ### returned as-is by RefreshPeer return {'plcname':self.api.config.PLC_NAME, 'new_sites':nb_new_sites, @@ -321,5 +414,6 @@ class Cache: 'new_persons':nb_new_persons, 'new_slice_attribute_types':nb_new_slice_attribute_types, 'new_slices':nb_new_slices, + 'new_slice_attributes':nb_new_slice_attributes, } diff --git a/PLC/Methods/GetPeerData.py b/PLC/Methods/GetPeerData.py index da562e1..4b7d433 100644 --- a/PLC/Methods/GetPeerData.py +++ b/PLC/Methods/GetPeerData.py @@ -15,7 +15,7 @@ from PLC.Nodes import Node, Nodes from PLC.Persons import Person, Persons from PLC.SliceAttributeTypes import SliceAttributeType, SliceAttributeTypes from PLC.Slices import Slice, Slices - +from PLC.SliceAttributes import SliceAttribute, SliceAttributes class GetPeerData (Method): """ @@ -45,6 +45,7 @@ class GetPeerData (Method): 'Nodes' : Nodes (self.api), 'Persons' : Persons (self.api), 'SliceAttibuteTypes' : SliceAttributeTypes (self.api), - 'Slices' : Slices (self.api,{'peer_id':None}), + 'Slices' : Slices (self.api), + 'SliceAttributes': SliceAttributes (self.api) } diff --git a/PLC/Parameter.py b/PLC/Parameter.py index e45cd31..2307483 100644 --- a/PLC/Parameter.py +++ b/PLC/Parameter.py @@ -4,10 +4,11 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: Parameter.py,v 1.5 2006/11/02 18:32:55 mlhuang Exp $ +# $Id: Parameter.py,v 1.6 2006/11/08 22:10:00 mlhuang Exp $ # from types import * +from PLC.Faults import * class Parameter: """ diff --git a/PLC/SliceAttributes.py b/PLC/SliceAttributes.py index 2788b72..7d1283c 100644 --- a/PLC/SliceAttributes.py +++ b/PLC/SliceAttributes.py @@ -22,6 +22,7 @@ class SliceAttribute(Row): 'min_role_id': SliceAttributeType.fields['min_role_id'], # XXX Arbitrary max, make configurable 'value': Parameter(str, "Slice attribute value", max = 254), + 'peer_id': Parameter(int, "Peer at which this node is managed", nullok = True), } class SliceAttributes(Table): diff --git a/TestPeers.py b/TestPeers.py index a99e7d1..a9083ec 100755 --- a/TestPeers.py +++ b/TestPeers.py @@ -345,7 +345,7 @@ def check_slivers_n (nn,esn,args=[1,2]): %(i,len(slivers),esn,nodename) for sliver in slivers: print '>>slivername = ',sliver['name'] - pp.pprint(sliver) + pretty_printer.pprint(sliver) assert len(slivers) == esn @@ -648,8 +648,8 @@ def test05_sa_atom (slice_name,sat_name,value,node,i): slice_name, sat_name, value) - print '%02d:== created SliceAttribute = %d'%(i,sa_id), - print 'On slice',slice_name,'and node',node + print '%02d:== created SliceAttribute = %d'%(i,sa_id), + print 'On slice',slice_name,'and node',node def test05_sa (args=[1,2]): for i in args: @@ -658,6 +658,119 @@ def test05_sa (args=[1,2]): test05_sa_atom (slice_name(i,1),'net_max','predefined sat/all nodes',None,i) test05_sa_atom (slice_name(i,1),'net_max','predefined sat/node1',node_name(i,1),i) +############################## +# readable dumps +############################## +def p_site (s): + print (s['site_id'],s['peer_id'],s['login_base'],s['name'],s['node_ids']) + +def p_key (k): + print (k['key_id'],k['peer_id'],k['key']) + +def p_person (p): + print (p['person_id'],p['peer_id'],p['email'],'keys:',p['key_ids'],'sites:',p['site_ids']) + +def p_node(n): + print (n['node_id'],n['peer_id'],n['hostname'],'sls=',n['slice_ids'],'site=',n['site_id']) + +def p_slice(s): + print (s['slice_id'],s['peer_id'],s['name'],'nodes=',s['node_ids'],'persons=',s['person_ids']) + print '---',('sas=',s['slice_attribute_ids'],s['name'],'crp=',s['creator_person_id']) + +def p_sat(sat): + print (sat['attribute_type_id'],sat['peer_id'], sat['name'], sat['min_role_id'], sat['description']) + +def p_sa (sa): + print (sa['slice_attribute_id'],sa['peer_id'],sa['name'],'AT_id:',sa['attribute_type_id']) + print '---',('v=',sa['value'],'sl=',sa['slice_id'],'n=',sa['node_id']) + +def p_sliver (x): + print ('SLIVERS for : hostname',x['hostname']) + print ('%d config files'%len(x['conf_files'])) + for sv in x['slivers']: + p_sliver_slice(sv,x['hostname']) + +import pprint +pretty_printer=pprint.PrettyPrinter(5) + +def p_sliver_slice(sliver,hostname): + print 'SLIVER on hostname %s, s='%hostname,sliver['name'] + print 'KEYS', + pretty_printer.pprint(sliver['keys']) + print 'ATTRIBUTES', + pretty_printer.pprint(sliver['attributes']) + +def dump (args=[1,2]): + for i in args: + print 'SITES' + [p_site(x) for x in s[i].GetSites(a[i])] + print 'KEYS' + [p_key(x) for x in s[i].GetKeys(a[i])] + print 'PERSONS' + [p_person(x) for x in s[i].GetPersons(a[i])] + print 'NODES' + [p_node(x) for x in s[i].GetNodes(a[i])] + print 'SLICES' + [p_slice(x) for x in s[i].GetSlices(a[i])] + print 'Slice Attribute Types' + [p_sat(x) for x in s[i].GetSliceAttributeTypes(a[i])] + print 'Slice Attributes' + [p_sa(x) for x in s[i].GetSliceAttributes(a[i])] + print 'SLIVERS' + [p_sliver(x) for x in s[i].GetSlivers(a[i])] + + +## for usage under the api +def pt (): + for x in GetSites(): + p_site(x) + +def pk (): + for x in GetKeys(): + print (x['key_id'],x['peer_id'],x['key']) + +def pp (): + for x in GetPersons(): + p_person(x) + +def pn (): + for x in GetNodes(): + p_node(x) + +def ps (): + for x in GetSlices(): + p_slice(x) + +def psat(): + for x in GetSliceAttributeTypes(): + p_sat(x) + +def psa(): + for x in GetSliceAttributes(): + p_sa(x) + +def pv (): + for s in GetSlivers(): + p_sliver(s) + +def all(): + print 'SITES' + pt() + print 'KEYS' + pk() + print 'PERSONS' + pp() + print 'NODES' + pn() + print 'SLICES' + ps() + print 'SLICE ATTR TYPES' + psat() + print 'SLICE ATTRS' + psa() + print 'SLIVERS' + pv() + #################### def test_all_init (): @@ -821,6 +934,8 @@ def test_all (): timer_show() test_all_sats () timer_show() + dump() + timer_show() message("END") ### ad hoc test sequences @@ -833,9 +948,10 @@ def populate (): test04_slice_add_lnode([1]) test05_sat() test05_sa([1]) -# test00_refresh ("populate: refreshing peer 1",[1]) -# test04_slice_add_fnode([1]) -# test00_refresh("populate: refresh all") + test00_refresh ("populate: refreshing peer 1",[1]) + test04_slice_add_fnode([1]) + test00_refresh("populate: refresh all") + dump() def test_now (): test_all_init() @@ -877,7 +993,8 @@ def main (): usage() show_test() func() - + timer_show() + if __name__ == '__main__': normal() main() diff --git a/TestPeers.ref b/TestPeers.ref index a9b4525..6e68d4f 100644 --- a/TestPeers.ref +++ b/TestPeers.ref @@ -27,7 +27,7 @@ Attempting to set passwd for person_id=4 in DB1UPDATE 1 -> system returns 0 Attempting to set passwd for person_id=4 in DB2UPDATE 1 -> system returns 0 -+++ 13.24 seconds ellapsed (13.24) ++++ 12.97 seconds ellapsed (12.97) 01:== Created site 2 with max_slices=4 02:== Created site 2 with max_slices=4 01:== Created site 3 with max_slices=4 @@ -37,18 +37,18 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01:== Created site 5 with max_slices=4 02:== Created site 5 with max_slices=4 === refresh after site creation -+++ 24.84 seconds ellapsed (11.61) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 4, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 1, 'new_nodes': 0} -+++ 27.08 seconds ellapsed (2.24) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 4, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 1, 'new_nodes': 0} -+++ 28.53 seconds ellapsed (1.45) -+++ 28.53 seconds ellapsed (0.00) ++++ 24.55 seconds ellapsed (11.58) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 4, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 1, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 26.83 seconds ellapsed (2.28) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 4, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 1, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 28.41 seconds ellapsed (1.58) ++++ 28.41 seconds ellapsed (0.00) === refresh before persons&keys creation -+++ 32.29 seconds ellapsed (3.76) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 34.52 seconds ellapsed (2.23) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 36.07 seconds ellapsed (1.55) ++++ 32.17 seconds ellapsed (3.76) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 34.42 seconds ellapsed (2.25) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 36.00 seconds ellapsed (1.58) 01: Checking keys: got 0 local (e=0) & 0 foreign (e=0) 02: Checking keys: got 0 local (e=0) & 0 foreign (e=0) 01: Checking persons: got 4 local (e=4) & 1 foreign (e=1) @@ -100,25 +100,25 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01: Checking persons: got 8 local (e=8) & 1 foreign (e=1) 02: Checking persons: got 8 local (e=8) & 1 foreign (e=1) === refresh after persons&keys creation -+++ 58.93 seconds ellapsed (22.86) -01:== Refreshing peer got {'new_keys': 8, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 4, 'new_nodes': 0} -+++ 61.32 seconds ellapsed (2.39) -02:== Refreshing peer got {'new_keys': 8, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 4, 'new_nodes': 0} -+++ 63.01 seconds ellapsed (1.70) ++++ 58.79 seconds ellapsed (22.79) +01:== Refreshing peer got {'new_keys': 8, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 4, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 61.16 seconds ellapsed (2.37) +02:== Refreshing peer got {'new_keys': 8, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 4, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 62.89 seconds ellapsed (1.73) 01: Checking keys: got 8 local (e=8) & 8 foreign (e=8) 02: Checking keys: got 8 local (e=8) & 8 foreign (e=8) 01: Checking persons: got 8 local (e=8) & 5 foreign (e=5) 02: Checking persons: got 8 local (e=8) & 5 foreign (e=5) -+++ 65.41 seconds ellapsed (2.40) ++++ 65.30 seconds ellapsed (2.41) ==================== ('RESETTING NODES',) 01:== Cleaning all nodes 02:== Cleaning all nodes === refresh cleaned nodes -+++ 66.35 seconds ellapsed (0.94) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 68.67 seconds ellapsed (2.32) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 70.77 seconds ellapsed (2.10) ++++ 66.24 seconds ellapsed (0.94) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 68.67 seconds ellapsed (2.43) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 70.39 seconds ellapsed (1.72) 01: Checking nodes: got 0 local (e=0) & 0 foreign (e=0) 02: Checking nodes: got 0 local (e=0) & 0 foreign (e=0) ==================== ('CREATING NODES',) @@ -135,11 +135,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01: Checking nodes: got 5 local (e=5) & 0 foreign (e=0) 02: Checking nodes: got 5 local (e=5) & 0 foreign (e=0) === refresh after node creation -+++ 82.39 seconds ellapsed (11.63) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 5} -+++ 84.92 seconds ellapsed (2.53) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 5} -+++ 86.84 seconds ellapsed (1.92) ++++ 82.05 seconds ellapsed (11.65) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 5, 'new_slice_attribute_types': 0} ++++ 84.59 seconds ellapsed (2.54) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 5, 'new_slice_attribute_types': 0} ++++ 86.50 seconds ellapsed (1.91) 01: Checking nodes: got 5 local (e=5) & 5 foreign (e=5) 02: Checking nodes: got 5 local (e=5) & 5 foreign (e=5) 02:== Deleted node 1, returns 1 @@ -170,11 +170,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02:== Deleted node 20, returns 1 02: Checking nodes: got 0 local (e=0) & 5 foreign (e=5) === refresh after deletion on plc2 -+++ 94.94 seconds ellapsed (8.09) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': -5} -+++ 97.35 seconds ellapsed (2.42) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 99.28 seconds ellapsed (1.93) ++++ 94.56 seconds ellapsed (8.06) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': -5, 'new_slice_attribute_types': 0} ++++ 97.09 seconds ellapsed (2.53) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 98.99 seconds ellapsed (1.90) 01: Checking nodes: got 5 local (e=5) & 0 foreign (e=0) 02: Checking nodes: got 0 local (e=0) & 5 foreign (e=5) ==================== ('ADD on plc2 for different indexes',) @@ -186,14 +186,14 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01: Checking nodes: got 5 local (e=5) & 0 foreign (e=0) 02: Checking nodes: got 5 local (e=5) & 5 foreign (e=5) === refresh after re-creation on plc2 -+++ 102.83 seconds ellapsed (3.54) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 5} -+++ 105.35 seconds ellapsed (2.52) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 107.23 seconds ellapsed (1.88) ++++ 102.53 seconds ellapsed (3.54) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 5, 'new_slice_attribute_types': 0} ++++ 105.07 seconds ellapsed (2.54) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 106.99 seconds ellapsed (1.91) 01: Checking nodes: got 5 local (e=5) & 5 foreign (e=5) 02: Checking nodes: got 5 local (e=5) & 5 foreign (e=5) -+++ 108.51 seconds ellapsed (1.28) ++++ 108.26 seconds ellapsed (1.28) ==================== ('RESETTING SLICES TEST',) 01:== Cleaning all nodes 01:==== Cleaning node 1 @@ -222,11 +222,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02:== Cleaning all slices 02:==== Cleaning slice 3 === refresh After slices init -+++ 125.98 seconds ellapsed (17.47) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 128.52 seconds ellapsed (2.54) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 130.38 seconds ellapsed (1.85) ++++ 125.63 seconds ellapsed (17.37) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 128.18 seconds ellapsed (2.55) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 130.06 seconds ellapsed (1.88) ==================== ('CREATING SLICES on plc1',) 01:== created slice 4 - max nodes=5 01:== Attached person user1-1@plc1.org to slice oneone_slice1 @@ -251,11 +251,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01: Checking slices: got 6 local (e=6) & 0 foreign (e=0) 02: Checking slices: got 2 local (e=2) & 0 foreign (e=0) === refresh after slice created on plc1 -+++ 152.20 seconds ellapsed (21.82) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 154.71 seconds ellapsed (2.51) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 4, 'new_persons': 0, 'new_nodes': 0} -+++ 156.64 seconds ellapsed (1.93) ++++ 151.77 seconds ellapsed (21.71) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 154.32 seconds ellapsed (2.56) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 4, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 156.32 seconds ellapsed (1.99) 01: Checking slices: got 6 local (e=6) & 0 foreign (e=0) 02: Checking slices: got 2 local (e=2) & 4 foreign (e=4) 01: local slice oneone_slice1 (e=0) on nodes [] @@ -267,10 +267,10 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02: foreign slice onethree_slice3 (e=0) on nodes [] 02: foreign slice onefour_slice4 (e=0) on nodes [] ==================== ('ADDING LOCAL NODES IN SLICES',) -01:== added in slice 4 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] -01:== added in slice 5 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] -01:== added in slice 6 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] -01:== added in slice 7 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== added in slice oneone_slice1 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== added in slice onetwo_slice2 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== added in slice onethree_slice3 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== added in slice onefour_slice4 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] 01: local slice oneone_slice1 (e=5) on nodes [16, 17, 18, 19, 20] [LOC:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org 01: local slice onetwo_slice2 (e=5) on nodes [16, 17, 18, 19, 20] @@ -284,11 +284,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02: foreign slice onethree_slice3 (e=0) on nodes [] 02: foreign slice onefour_slice4 (e=0) on nodes [] === refresh After local nodes were added on plc1 -+++ 181.07 seconds ellapsed (24.44) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 183.59 seconds ellapsed (2.52) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 185.52 seconds ellapsed (1.93) ++++ 177.39 seconds ellapsed (21.08) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 179.93 seconds ellapsed (2.54) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 181.91 seconds ellapsed (1.99) 01: local slice oneone_slice1 (e=5) on nodes [16, 17, 18, 19, 20] [LOC:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org 01: local slice onetwo_slice2 (e=5) on nodes [16, 17, 18, 19, 20] @@ -306,10 +306,10 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02: foreign slice onefour_slice4 (e=5) on nodes [8, 9, 10, 6, 7] [FOR:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org ==================== ('ADDING FOREIGN NODES IN SLICES',) -01:== added in slice 4 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] -01:== added in slice 5 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] -01:== added in slice 6 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] -01:== added in slice 7 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== added in slice oneone_slice1 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== added in slice onetwo_slice2 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== added in slice onethree_slice3 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== added in slice onefour_slice4 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] 01: local slice oneone_slice1 (e=10) on nodes [16, 17, 18, 19, 20, 11, 12, 13, 14, 15] [LOC:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org [FOR:5] : n201.plc2.org n202.plc2.org n203.plc2.org n204.plc2.org n205.plc2.org @@ -331,11 +331,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02: foreign slice onefour_slice4 (e=5) on nodes [8, 9, 10, 6, 7] [FOR:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org === refresh After foreign nodes were added in plc1 -+++ 209.31 seconds ellapsed (23.79) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 211.86 seconds ellapsed (2.55) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 213.88 seconds ellapsed (2.02) ++++ 202.35 seconds ellapsed (20.44) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 204.93 seconds ellapsed (2.58) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 206.96 seconds ellapsed (2.03) 01: local slice oneone_slice1 (e=10) on nodes [16, 17, 18, 19, 20, 11, 12, 13, 14, 15] [LOC:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org [FOR:5] : n201.plc2.org n202.plc2.org n203.plc2.org n204.plc2.org n205.plc2.org @@ -363,7 +363,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01: 4 slivers (exp. 4) in GetSlivers for node n101.plc1.org >>slivername = oneone_slice1 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839729, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -385,7 +385,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 4} >>slivername = onetwo_slice2 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839727, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -407,7 +407,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 5} >>slivername = onethree_slice3 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839739, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -429,7 +429,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 6} >>slivername = onefour_slice4 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839744, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -452,7 +452,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02: 4 slivers (exp. 4) in GetSlivers for node n201.plc2.org >>slivername = oneone_slice1 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839729, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user3-key1', 'key_type': 'ssh'}, @@ -474,7 +474,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 4} >>slivername = onetwo_slice2 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839727, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user3-key1', 'key_type': 'ssh'}, @@ -496,7 +496,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 5} >>slivername = onethree_slice3 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839739, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user3-key1', 'key_type': 'ssh'}, @@ -518,7 +518,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 6} >>slivername = onefour_slice4 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839744, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user3-key1', 'key_type': 'ssh'}, @@ -539,10 +539,10 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'name': 'onefour_slice4', 'slice_id': 7} ==================== ('DELETING FOREIGN NODES FROM SLICES',) -01:== deleted in slice 4 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] -01:== deleted in slice 5 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] -01:== deleted in slice 6 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] -01:== deleted in slice 7 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== deleted in slice oneone_slice1 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== deleted in slice onetwo_slice2 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== deleted in slice onethree_slice3 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] +01:== deleted in slice onefour_slice4 foreign ['n201.plc2.org', 'n202.plc2.org', 'n203.plc2.org', 'n204.plc2.org', 'n205.plc2.org'] 01: local slice oneone_slice1 (e=5) on nodes [16, 17, 18, 19, 20] [LOC:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org 01: local slice onetwo_slice2 (e=5) on nodes [16, 17, 18, 19, 20] @@ -566,7 +566,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01: 4 slivers (exp. 4) in GetSlivers for node n101.plc1.org >>slivername = oneone_slice1 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839729, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -588,7 +588,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 4} >>slivername = onetwo_slice2 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839727, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -610,7 +610,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 5} >>slivername = onethree_slice3 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839739, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -632,7 +632,7 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'slice_id': 6} >>slivername = onefour_slice4 { 'attributes': [], - 'expires': normalized, + 'expires': 1165839744, 'instantiation': 'plc-instantiated', 'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1', 'key_type': 'ssh'}, @@ -653,11 +653,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 'name': 'onefour_slice4', 'slice_id': 7} === refresh After foreign nodes were removed on plc1 -+++ 240.71 seconds ellapsed (26.83) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 243.24 seconds ellapsed (2.53) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 245.17 seconds ellapsed (1.93) ++++ 230.50 seconds ellapsed (23.55) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 233.03 seconds ellapsed (2.53) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 234.97 seconds ellapsed (1.94) 01: local slice oneone_slice1 (e=5) on nodes [16, 17, 18, 19, 20] [LOC:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org 01: local slice onetwo_slice2 (e=5) on nodes [16, 17, 18, 19, 20] @@ -675,10 +675,10 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02: foreign slice onefour_slice4 (e=5) on nodes [8, 9, 10, 6, 7] [FOR:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org ==================== ('DELETING LOCAL NODES FROM SLICES',) -01:== deleted in slice 4 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] -01:== deleted in slice 5 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] -01:== deleted in slice 6 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] -01:== deleted in slice 7 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== deleted in slice oneone_slice1 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== deleted in slice onetwo_slice2 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== deleted in slice onethree_slice3 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] +01:== deleted in slice onefour_slice4 local ['n101.plc1.org', 'n102.plc1.org', 'n103.plc1.org', 'n104.plc1.org', 'n105.plc1.org'] 01: local slice oneone_slice1 (e=0) on nodes [] 01: local slice onetwo_slice2 (e=0) on nodes [] 01: local slice onethree_slice3 (e=0) on nodes [] @@ -692,11 +692,11 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 02: foreign slice onefour_slice4 (e=5) on nodes [8, 9, 10, 6, 7] [FOR:5] : n101.plc1.org n102.plc1.org n103.plc1.org n104.plc1.org n105.plc1.org === refresh After local nodes were removed on plc1 -+++ 267.60 seconds ellapsed (22.43) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 270.09 seconds ellapsed (2.49) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 272.02 seconds ellapsed (1.92) ++++ 254.14 seconds ellapsed (19.17) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 256.67 seconds ellapsed (2.52) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 258.66 seconds ellapsed (1.99) 01: local slice oneone_slice1 (e=0) on nodes [] 01: local slice onetwo_slice2 (e=0) on nodes [] 01: local slice onethree_slice3 (e=0) on nodes [] @@ -714,12 +714,21 @@ Attempting to set passwd for person_id=4 in DB2UPDATE 1 01: Checking slices: got 2 local (e=2) & 0 foreign (e=0) 02: Checking slices: got 2 local (e=2) & 4 foreign (e=4) === refresh After slices clenaup -+++ 286.11 seconds ellapsed (14.09) -01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0} -+++ 288.65 seconds ellapsed (2.54) -02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': -4, 'new_persons': 0, 'new_nodes': 0} -+++ 290.56 seconds ellapsed (1.91) ++++ 272.37 seconds ellapsed (13.71) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 274.90 seconds ellapsed (2.53) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': -4, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 0} ++++ 276.84 seconds ellapsed (1.94) 01: Checking slices: got 2 local (e=2) & 0 foreign (e=0) 02: Checking slices: got 2 local (e=2) & 0 foreign (e=0) -+++ 292.44 seconds ellapsed (1.88) ++++ 278.73 seconds ellapsed (1.89) +01:== created SliceAttributeType = 20 +02:== created SliceAttributeType = 20 +=== refresh after SliceAttributeType creation ++++ 280.62 seconds ellapsed (1.90) +01:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc1', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 1} ++++ 283.18 seconds ellapsed (2.56) +02:== Refreshing peer got {'new_keys': 0, 'new_sites': 0, 'plcname': 'Thierry plc2 on devbox', 'new_slices': 0, 'new_persons': 0, 'new_nodes': 0, 'new_slice_attribute_types': 1} ++++ 285.12 seconds ellapsed (1.93) ++++ 285.12 seconds ellapsed (0.00) ==================== ('END',) diff --git a/planetlab4.sql b/planetlab4.sql index 3b26965..236a54a 100644 --- a/planetlab4.sql +++ b/planetlab4.sql @@ -9,7 +9,7 @@ -- -- Copyright (C) 2006 The Trustees of Princeton University -- --- $Id: planetlab4.sql,v 1.45 2006/11/25 09:35:36 thierry Exp $ +-- $Id: planetlab4.sql,v 1.46 2006/11/27 12:18:12 thierry Exp $ -- -------------------------------------------------------------------------------- @@ -981,7 +981,8 @@ slice_attribute_types.attribute_type_id, slice_attribute_types.name, slice_attribute_types.description, slice_attribute_types.min_role_id, -slice_attribute.value +slice_attribute.value, +slice_attribute.peer_id FROM slice_attribute INNER JOIN slice_attribute_types USING (attribute_type_id);