from PLC.Table import Row, Table
verbose_flag=False;
-#verbose_flag=True;
+verbose_flag=True;
def verbose (*args):
if verbose_flag:
print (args)
# 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
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
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)
# (*) 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:
else:
local_object.uptodate=True
- new_count=0
# scan the peer's local objects
for alien_object in alien_object_list:
verbose('Ignoring',object_name)
continue
- verbose ('update_table - Considering',object_name)
+ verbose ('update_table (%s) - Considering'%classname,object_name)
# create or update
try:
### 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]
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,
'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,
}
-> 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
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)
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',)
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
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',)
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
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
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 []
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]
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]
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
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
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'},
'slice_id': 4}
>>slivername = onetwo_slice2
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839727,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1',
'key_type': 'ssh'},
'slice_id': 5}
>>slivername = onethree_slice3
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839739,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1',
'key_type': 'ssh'},
'slice_id': 6}
>>slivername = onefour_slice4
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839744,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1',
'key_type': 'ssh'},
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'},
'slice_id': 4}
>>slivername = onetwo_slice2
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839727,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user3-key1',
'key_type': 'ssh'},
'slice_id': 5}
>>slivername = onethree_slice3
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839739,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user3-key1',
'key_type': 'ssh'},
'slice_id': 6}
>>slivername = onefour_slice4
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839744,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user3-key1',
'key_type': 'ssh'},
'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]
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'},
'slice_id': 4}
>>slivername = onetwo_slice2
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839727,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1',
'key_type': 'ssh'},
'slice_id': 5}
>>slivername = onethree_slice3
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839739,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1',
'key_type': 'ssh'},
'slice_id': 6}
>>slivername = onefour_slice4
{ 'attributes': [],
- 'expires': normalized,
+ 'expires': 1165839744,
'instantiation': 'plc-instantiated',
'keys': [ { 'key': 'ssh-rsa 1111111111111111 user1-key1',
'key_type': 'ssh'},
'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]
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 []
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 []
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',)