Search in sources :

Example 1 with TriggerSyncInputBuilder

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev200120.TriggerSyncInputBuilder in project bgpcep by opendaylight.

the class PCEPTriggeredReSynchronizationProcedureTest method testTriggeredResynchronizationLsp.

@Test
public void testTriggeredResynchronizationLsp() throws Exception {
    // session up - sync skipped (LSP-DBs match)
    session = getPCEPSession(getOpen(), getOpen());
    listener.onSessionUp(session);
    // report LSP + LSP-DB version number
    final Pcrpt pcRpt = getPcrt();
    listener.onMessage(session, pcRpt);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        assertEquals(PccSyncState.Synchronized, pcc.getStateSync());
        assertFalse(pcc.nonnullReportedLsp().isEmpty());
        return pcc;
    });
    // Trigger Full Resync
    listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).setName("test").build());
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        assertEquals(PccSyncState.PcepTriggeredResync, pcc.getStateSync());
        assertFalse(pcc.nonnullReportedLsp().isEmpty());
        return pcc;
    });
    listener.onMessage(session, pcRpt);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        assertFalse(pcc.nonnullReportedLsp().isEmpty());
        return pcc;
    });
    // sync rpt + LSP-DB
    final Pcrpt syncMsg = getSyncMsg();
    listener.onMessage(session, syncMsg);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        // check node - synchronized
        assertEquals(PccSyncState.Synchronized, pcc.getStateSync());
        // check reported LSP
        assertEquals(1, pcc.nonnullReportedLsp().size());
        return pcc;
    });
    // Trigger Full Resync
    listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).setName("test").build());
    listener.onMessage(session, syncMsg);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        // check node - synchronized
        assertEquals(PccSyncState.Synchronized, pcc.getStateSync());
        // check reported LSP
        assertNull(pcc.getReportedLsp());
        return pcc;
    });
}
Also used : TriggerSyncInputBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev200120.TriggerSyncInputBuilder) Pcrpt(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.Pcrpt) Test(org.junit.Test)

Example 2 with TriggerSyncInputBuilder

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev200120.TriggerSyncInputBuilder in project bgpcep by opendaylight.

the class PCEPTriggeredReSynchronizationProcedureTest method testTriggeredResynchronization.

@Test
public void testTriggeredResynchronization() throws Exception {
    // session up - sync skipped (LSP-DBs match)
    session = getPCEPSession(getOpen(), getOpen());
    listener.onSessionUp(session);
    // report LSP + LSP-DB version number
    final Pcrpt pcRpt = getPcrt();
    listener.onMessage(session, pcRpt);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        assertEquals(PccSyncState.Synchronized, pcc.getStateSync());
        assertFalse(pcc.nonnullReportedLsp().isEmpty());
        return pcc;
    });
    // PCEP Trigger Full Resync
    listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).build());
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        assertEquals(PccSyncState.PcepTriggeredResync, pcc.getStateSync());
        return pcc;
    });
    // end of sync
    final Pcrpt syncMsg = getSyncMsg();
    listener.onMessage(session, syncMsg);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        // check node - synchronized
        assertEquals(PccSyncState.Synchronized, pcc.getStateSync());
        return pcc;
    });
    listener.onMessage(session, pcRpt);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        final Map<?, ?> lsp = pcc.getReportedLsp();
        assertNotNull(lsp);
        assertEquals(1, lsp.size());
        return pcc;
    });
    // Trigger Full Resync
    listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).build());
    listener.onMessage(session, pcRpt);
    // end of sync
    listener.onMessage(session, syncMsg);
    readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> {
        // check node - synchronized
        assertEquals(PccSyncState.Synchronized, pcc.getStateSync());
        // check reported LSP is not empty, Stale LSP state were purged
        assertEquals(1, pcc.getReportedLsp().size());
        return pcc;
    });
}
Also used : TriggerSyncInputBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev200120.TriggerSyncInputBuilder) Pcrpt(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.Pcrpt) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)2 Pcrpt (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.Pcrpt)2 TriggerSyncInputBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev200120.TriggerSyncInputBuilder)2