@Override
    public void submit(VplsOperation vplsOperation) {
        if (isLeader) {
            // Only leader can execute operation
            addVplsOperation(vplsOperation);
        }
    }
@Test
    public void testSubmitAddOperationFail() {
        vplsOperationManager.intentService = new AlwaysFailureIntentService();
        VplsData vplsData = VplsData.of(VPLS1);
        vplsData.addInterfaces(ImmutableSet.of(V100H1, V100H2));

        VplsOperation vplsOperation = VplsOperation.of(vplsData,
                                                       VplsOperation.Operation.ADD);
        vplsOperationManager.submit(vplsOperation);
        assertAfter(OPERATION_DELAY, OPERATION_DURATION, () -> {
            Collection<VplsData> vplss = vplsOperationManager.vplsStore.getAllVpls();
            assertEquals(1, vplss.size());
            VplsData result = vplss.iterator().next();

            assertEquals(vplsData, result);
            assertEquals(VplsData.VplsState.FAILED, result.state());
        });
    }