Ejemplo n.º 1
0
    def test_handle_eds_pkt_core_ident_AW(self):
        self.db = RCPDB()
        coreIdentRecord = CcapCoreIdentification()
        coreIdentRecord.Index = 0
        coreIdentRecord.IsPrincipal = True
        coreIdentRecord.CoreMode = 1
        coreIdentRecord.CoreId = 'CoreId'
        coreIdentRecord.CoreIpAddress = '127.0.0.1'
        coreIdentRecord.CoreName = 'CoreName'
        coreIdentRecord.VendorId = 9
        coreIdentRecord.write()
        self.slave_orchestrator.add_sessions([self.slave_desc])
        if not len(self.slave_orchestrator.sessions_active):
            print 'session init fail'
            return
        slave = self.slave_orchestrator.sessions_active.values()[0]
        pkt_handler = self.slave_orchestrator.pkt_handler.handle_msg_eds_req

        # read rpd capability
        pkt, msg = self.construct_eds_pkt_redirect()
        pkt_handler(msg, slave, pkt)

        # write ssd
        slave.ccap_identification = self.master_desc.capabilities
        slave.ccap_identification.is_active = False
        pkt, msg = self.construct_eds_pkt_write_ssd()
        pkt_handler(msg, slave, pkt)

        # Global, not active
        pkt, msg = self.construct_eds_pkt_RpdGlobal()
        pkt_handler(msg, slave, pkt)

        # CcapCoreIdentification
        pkt, msg = self.construct_eds_pkt_CcapCoreIdentification_AW(
            TestOrchestrator.CORE_STATE_INIT)
        pkt_handler(msg, slave, pkt)

        pkt, msg = self.construct_eds_pkt_CcapCoreIdentification_AW(
            TestOrchestrator.CORE_STATE_CFG_COMPLETE)
        pkt_handler(msg, slave, pkt)

        # configuration done
        pkt, msg = self.construct_eds_pkt_RpdConfigurationDone()
        pkt_handler(msg, slave, pkt)

        # Global, principal and active
        pkt, msg = self.construct_eds_pkt_RpdGlobal()
        pkt_handler(msg, slave, pkt)

        pkt, msg = self.construct_eds_pkt_CcapCoreIdentification_AW(
            TestOrchestrator.CORE_STATE_MOVE_TO_OPTIONAL)
        pkt_handler(msg, slave, pkt)
        coreIdentRecord.index = 1
        coreIdentRecord.read()
        self.assertTrue((coreIdentRecord.index == 1))
        self.assertEqual(coreIdentRecord.move_to_operational, True)
Ejemplo n.º 2
0
    def test_handle_eds_pkt_AW(self):
        coreIdentRecord = CcapCoreIdentification()
        coreIdentRecord.Index = 0
        coreIdentRecord.IsPrincipal = True
        coreIdentRecord.CoreMode = 1
        coreIdentRecord.CoreId = 'CoreId'
        coreIdentRecord.CoreIpAddress = '127.0.0.1'
        coreIdentRecord.CoreName = 'CoreName'
        coreIdentRecord.VendorId = 9
        coreIdentRecord.write()
        aw_type = rcp_tlv_def.RCP_OPERATION_TYPE_ALLOCATE_WRITE
        wr_type = rcp_tlv_def.RCP_OPERATION_TYPE_WRITE
        self.slave_orchestrator.add_sessions([self.slave_desc])
        if not len(self.slave_orchestrator.sessions_active):
            print 'session init fail'
            return
        slave = self.slave_orchestrator.sessions_active.values()[0]
        pkt_handler = self.slave_orchestrator.pkt_handler.handle_msg_eds_req

        # CcapCoreIdentification
        pkt, msg = self.construct_eds_pkt_CcapCoreIdentification(
            False, aw_type)
        pkt_handler(msg, slave, pkt)

        pkt, msg = self.construct_eds_pkt_CcapCoreIdentification(True, wr_type)
        pkt_handler(msg, slave, pkt)

        # configuration done
        pkt, msg = self.construct_eds_pkt_RpdConfigurationDone()
        pkt_handler(msg, slave, pkt)

        # Global, principal and active
        pkt, msg = self.construct_eds_pkt_RpdGlobal()
        pkt_handler(msg, slave, pkt)

        # Configured core table
        pkt, msg = self.construct_eds_pkt_ConfiguredCoreTable()
        pkt_handler(msg, slave, pkt)

        # Active principal core get request
        pkt, msg = self.construct_eds_pkt_ActivePrincipalCore()
        pkt_handler(msg, slave, pkt)
        self.assertTrue(slave.is_ira_recv)