コード例 #1
0
    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
コード例 #2
0
    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