def execute( self ): " Should return True if the execution completed successfully " self.fromScratch() # First client holds a0 affinity ns_client = self.getNetScheduleService( 'TEST', 'scenario311' ) ns_client.set_client_identification( 'node1', 'session1' ) changeAffinity( ns_client, [ 'a0' ], [] ) ns_admin = self.getNetScheduleService( 'TEST', 'scenario310' ) affInfo = getAffinityInfo( ns_admin ) if affInfo[ 'affinity_token' ] != 'a0': raise Exception( "Unexpected affinity registry content " "after adding 1 preferred affinity (token)" ) if 'clients__preferred' in affInfo: if affInfo[ 'clients__preferred' ] != [ 'node1' ]: raise Exception( "Unexpected affinity registry content " "after adding 1 preferred affinity (node)" ) if 'wn_clients__preferred' in affInfo: if affInfo[ 'wn_clients__preferred' ] != [ 'node1' ]: raise Exception( "Unexpected affinity registry content " "after adding 1 preferred affinity (node)" ) info = getClientInfo( ns_admin, 'node1' ) if info[ 'preferred_affinities_reset' ] != False: raise Exception( "Expected to have preferred affinities non reset, " "received: " + str( info[ 'preferred_affinities_reset' ] ) ) # Worker node timeout is 5 sec time.sleep( 7 ) info = getClientInfo( ns_admin, 'node1' ) if info[ 'preferred_affinities_reset' ] != True: raise Exception( "Expected to have preferred affinities reset, " "received: " + str( info[ 'preferred_affinities_reset' ] ) ) affInfo = getAffinityInfo( ns_admin ) if affInfo[ 'affinity_token' ] != 'a0': raise Exception( "Unexpected affinity registry content " "after worker node is expired (token)" ) if 'clients__preferred' in affInfo: if affInfo[ 'clients__preferred' ] != None: raise Exception( "Unexpected affinity registry content " "after worker node is expired (node)" ) if 'wn_clients__preferred' in affInfo: if affInfo[ 'wn_clients__preferred' ] != None: raise Exception( "Unexpected affinity registry content " "after worker node is expired (node)" ) try: output = execAny( ns_client, 'GET2 wnode_aff=1 any_aff=0 exclusive_new_aff=1' ) except Exception, excpt: if "ePrefAffExpired" in str( excpt ) or "expired" in str( excpt ): return True raise
def execute( self ): " Should return True if the execution completed successfully " self.fromScratch() # First client holds a0 affinity ns_client = self.getNetScheduleService( 'TEST', 'scenario312' ) ns_client.set_client_identification( 'node1', 'session1' ) changeAffinity( ns_client, [ 'a0' ], [] ) ns_admin = self.getNetScheduleService( 'TEST', 'scenario312' ) execAny( ns_client, 'GET2 wnode_aff=1 any_aff=0 exclusive_new_aff=0 ' 'port=9007 timeout=4' ) info = getNotificationInfo( ns_admin ) if info[ 'client_node' ] != 'node1': raise Exception( "Unexpected client in the notifications list: " + info[ 'client_node' ] ) # Worker node timeout is 5 sec time.sleep( 7 ) info = getClientInfo( ns_admin, 'node1' ) if info[ 'preferred_affinities_reset' ] != True: raise Exception( "Expected to have preferred affinities reset, " "received: " + str( info[ 'preferred_affinities_reset' ] ) ) affInfo = getAffinityInfo( ns_admin ) if affInfo[ 'affinity_token' ] != 'a0': raise Exception( "Unexpected affinity registry content " "after worker node is expired (token)" ) if 'clients__preferred' in affInfo: if affInfo[ 'clients__preferred' ] != None: raise Exception( "Unexpected affinity registry content " "after worker node is expired (node)" ) if 'wn_clients__preferred' in affInfo: if affInfo[ 'wn_clients__preferred' ] != None: raise Exception( "Unexpected affinity registry content " "after worker node is expired (node)" ) if getNotificationInfo( ns_admin, True, 0 ) != None: raise Exception( "Expected no notification, got some" ) return True