use of org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group in project openflowplugin by opendaylight.
the class OpenflowPluginBulkGroupTransactionProvider method _modifyGroups.
public void _modifyGroups(CommandInterpreter ci) {
String nref = ci.nextArgument();
if (nref == null) {
ci.println("test node added");
createTestNode();
} else {
ci.println("User node added" + nref);
createUserNode(nref);
}
Integer count = Integer.parseInt(ci.nextArgument());
switch(count) {
case 1:
GroupBuilder group = createTestGroup("a4", "g1", "modify", "1");
GroupBuilder group1 = createTestGroup("a5", "g1", "modify", "2");
writeGroup(ci, group.build(), group1.build());
break;
case 2:
GroupBuilder group2 = createTestGroup("a1", "g1", "modify", "4");
GroupBuilder group3 = createTestGroup("a2", "g1", "modify", "5");
writeGroup(ci, group2.build(), group3.build());
break;
case 3:
GroupBuilder group4 = createTestGroup("a9", "g1", "modify", "6");
GroupBuilder group5 = createTestGroup("a10", "g1", "modify", "7");
writeGroup(ci, group4.build(), group5.build());
break;
case 4:
GroupBuilder group6 = createTestGroup("a6", "g1", "modify", "5");
GroupBuilder group7 = createTestGroup("a29", "g1", "modify", "6");
writeGroup(ci, group6.build(), group7.build());
break;
default:
break;
}
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group in project openflowplugin by opendaylight.
the class OpenflowPluginBulkGroupTransactionProvider method _addGroups.
public void _addGroups(CommandInterpreter ci) {
String nref = ci.nextArgument();
if (nref == null) {
ci.println("test node added");
createTestNode();
} else {
ci.println("User node added" + nref);
createUserNode(nref);
}
Integer count = Integer.parseInt(ci.nextArgument());
switch(count) {
case 1:
GroupBuilder group = createTestGroup("a7", "g1", "add", "1");
GroupBuilder group1 = createTestGroup("a3", "g1", "add", "2");
writeGroup(ci, group.build(), group1.build());
break;
case 2:
GroupBuilder group2 = createTestGroup("a4", "g1", "add", "4");
GroupBuilder group3 = createTestGroup("a5", "g1", "add", "5");
writeGroup(ci, group2.build(), group3.build());
break;
case 3:
GroupBuilder group4 = createTestGroup("a6", "g1", "add", "6");
GroupBuilder group5 = createTestGroup("a7", "g1", "add", "7");
writeGroup(ci, group4.build(), group5.build());
break;
case 4:
// -ve
GroupBuilder group6 = createTestGroup("a14", "g1", "add", "5");
GroupBuilder group7 = createTestGroup("a3", "g1", "add", "6");
writeGroup(ci, group6.build(), group7.build());
break;
default:
break;
}
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group in project openflowplugin by opendaylight.
the class OpenflowPluginBulkGroupTransactionProvider method createTestGroup.
private GroupBuilder createTestGroup(String actionType, String groupType, String groupmod, String strId) {
// Sample data , committing to DataStore
GroupBuilder group = new GroupBuilder();
BucketBuilder bucket = new BucketBuilder();
bucket.setBucketId(new BucketId((long) 12));
bucket.setKey(new BucketKey(new BucketId((long) 12)));
if (groupType == null) {
groupType = "g1";
}
if (actionType == null) {
actionType = "a1";
}
switch(groupType) {
case "g1":
group.setGroupType(GroupTypes.GroupSelect);
break;
case "g2":
group.setGroupType(GroupTypes.GroupAll);
break;
case "g3":
group.setGroupType(GroupTypes.GroupIndirect);
break;
case "g4":
group.setGroupType(GroupTypes.GroupFf);
break;
default:
break;
}
switch(actionType) {
case "a1":
bucket.setAction(createPopVlanAction());
break;
case "a2":
bucket.setAction(createPushVlanAction());
break;
case "a3":
bucket.setAction(createPushMplsAction());
break;
case "a4":
bucket.setAction(createPopMplsAction());
break;
case "a5":
bucket.setAction(createPopPbbAction());
break;
case "a6":
case "a7":
bucket.setAction(createPushPbbAction());
break;
case "a8":
bucket.setAction(createCopyTtlInAction());
break;
case "a9":
bucket.setAction(createCopyTtlOutAction());
break;
case "a10":
bucket.setAction(createDecMplsTtlAction());
break;
case "a14":
bucket.setAction(createGroupAction());
break;
case "a29":
bucket.setAction(createNonAppyPushVlanAction());
break;
default:
break;
}
if ("add".equals(groupmod)) {
bucket.setWatchGroup((long) 14);
bucket.setWatchPort((long) 1234);
bucket.setWeight(50);
} else {
bucket.setWatchGroup((long) 13);
bucket.setWatchPort((long) 134);
bucket.setWeight(30);
}
long id = Long.parseLong(strId);
GroupKey key = new GroupKey(new GroupId(id));
group.setKey(key);
// group.setInstall(false);
group.setGroupId(new GroupId(id));
group.setGroupName(originalGroupName);
group.setBarrier(false);
BucketsBuilder value = new BucketsBuilder();
List<Bucket> value1 = new ArrayList<>();
value1.add(bucket.build());
value.setBucket(value1);
group.setBuckets(value.build());
return group;
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group in project openflowplugin by opendaylight.
the class OpenflowPluginBulkGroupTransactionProvider method deleteGroup.
private void deleteGroup(final CommandInterpreter ci, Group group, Group group1) {
ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
InstanceIdentifier<Group> path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode12.getKey()).augmentation(FlowCapableNode.class).child(Group.class, new GroupKey(group.getGroupId()));
modification.delete(LogicalDatastoreType.OPERATIONAL, path1);
modification.delete(LogicalDatastoreType.CONFIGURATION, path1);
InstanceIdentifier<Group> path2 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode12.getKey()).augmentation(FlowCapableNode.class).child(Group.class, new GroupKey(group1.getGroupId()));
modification.delete(LogicalDatastoreType.OPERATIONAL, path2);
modification.delete(LogicalDatastoreType.CONFIGURATION, path2);
CheckedFuture<Void, TransactionCommitFailedException> commitFuture = modification.submit();
Futures.addCallback(commitFuture, new FutureCallback<Void>() {
@Override
public void onSuccess(Void notUsed) {
ci.println("Status of Group Data Loaded Transaction: success.");
}
@Override
public void onFailure(Throwable throwable) {
ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
}
}, MoreExecutors.directExecutor());
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group in project openflowplugin by opendaylight.
the class OpenflowPluginBulkGroupTransactionProvider method _removeGroups.
public void _removeGroups(CommandInterpreter ci) {
String nref = ci.nextArgument();
if (nref == null) {
ci.println("test node added");
createTestNode();
} else {
ci.println("User node added" + nref);
createUserNode(nref);
}
Integer count = Integer.parseInt(ci.nextArgument());
switch(count) {
case 1:
GroupBuilder group = createTestGroup("a2", "g1", "remove", "1");
GroupBuilder group1 = createTestGroup("a3", "g1", "remove", "2");
deleteGroup(ci, group.build(), group1.build());
break;
case 2:
GroupBuilder group2 = createTestGroup("a4", "g1", "remove", "4");
GroupBuilder group3 = createTestGroup("a5", "g1", "remove", "5");
deleteGroup(ci, group2.build(), group3.build());
break;
case 3:
GroupBuilder group4 = createTestGroup("a6", "g1", "remove", "6");
GroupBuilder group5 = createTestGroup("a7", "g1", "remove", "7");
deleteGroup(ci, group4.build(), group5.build());
break;
case 4:
GroupBuilder group6 = createTestGroup("a14", "g1", "remove", "5");
GroupBuilder group7 = createTestGroup("a3", "g1", "remove", "6");
deleteGroup(ci, group6.build(), group7.build());
break;
case 5:
GroupBuilder group8 = createTestGroup("a4", "g1", "modify", "1");
GroupBuilder group9 = createTestGroup("a5", "g1", "modify", "2");
writeGroup(ci, group8.build(), group9.build());
break;
case 6:
GroupBuilder group10 = createTestGroup("a1", "g1", "modify", "4");
GroupBuilder group11 = createTestGroup("a2", "g1", "modify", "5");
writeGroup(ci, group10.build(), group11.build());
break;
case 7:
GroupBuilder group12 = createTestGroup("a9", "g1", "modify", "6");
GroupBuilder group13 = createTestGroup("a10", "g1", "modify", "7");
writeGroup(ci, group12.build(), group13.build());
break;
case 8:
GroupBuilder group14 = createTestGroup("a6", "g1", "modify", "5");
GroupBuilder group15 = createTestGroup("a29", "g1", "modify", "6");
writeGroup(ci, group14.build(), group15.build());
break;
default:
break;
}
}
Aggregations