use of org.openkilda.rulemanager.group.Bucket in project open-kilda by telstra.
the class IngressMirrorRuleGeneratorTest method assertGroupCommand.
private void assertGroupCommand(GroupSpeakerData command, Set<Action> flowActions) {
assertEquals(GROUP_ID, command.getGroupId());
assertEquals(SWITCH_1.getSwitchId(), command.getSwitchId());
assertEquals(SWITCH_1.getOfVersion(), command.getOfVersion().toString());
assertEquals(GroupType.ALL, command.getType());
assertTrue(command.getDependsOn().isEmpty());
assertEquals(2, command.getBuckets().size());
Bucket flowBucket = command.getBuckets().get(0);
assertBucketCommon(flowBucket);
assertEquals(flowActions, flowBucket.getWriteActions());
Bucket mirrorBucket = command.getBuckets().get(1);
assertBucketCommon(mirrorBucket);
assertEquals(newHashSet(new PushVlanAction(), SetFieldAction.builder().field(Field.VLAN_VID).value(MIRROR_VLAN).build(), new PortOutAction(new PortNumber(MIRROR_PORT))), mirrorBucket.getWriteActions());
}
use of org.openkilda.rulemanager.group.Bucket in project open-kilda by telstra.
the class EgressMirrorRuleGeneratorTest method assertGroupCommand.
private void assertGroupCommand(GroupSpeakerData command) {
assertEquals(GROUP_ID, command.getGroupId());
assertEquals(SWITCH_2.getSwitchId(), command.getSwitchId());
assertEquals(SWITCH_2.getOfVersion(), command.getOfVersion().toString());
assertEquals(GroupType.ALL, command.getType());
assertTrue(command.getDependsOn().isEmpty());
assertEquals(2, command.getBuckets().size());
Bucket flowBucket = command.getBuckets().get(0);
assertBucketCommon(flowBucket);
assertEquals(newHashSet(new PortOutAction(new PortNumber(PORT_NUMBER_4))), flowBucket.getWriteActions());
Bucket mirrorBucket = command.getBuckets().get(1);
assertBucketCommon(mirrorBucket);
assertEquals(newHashSet(new PushVlanAction(), SetFieldAction.builder().field(Field.VLAN_VID).value(MIRROR_VLAN).build(), new PortOutAction(new PortNumber(MIRROR_PORT))), mirrorBucket.getWriteActions());
}
use of org.openkilda.rulemanager.group.Bucket in project open-kilda by telstra.
the class OfGroupConverterTest method testConvertInstallGroupCommand.
@Test
public void testConvertInstallGroupCommand() {
List<Bucket> buckets = new ArrayList<>();
buckets.add(Bucket.builder().watchPort(WatchPort.ANY).watchGroup(WatchGroup.ALL).writeActions(Sets.newHashSet(new PortOutAction(new PortNumber(2, null)))).build());
buckets.add(Bucket.builder().watchPort(WatchPort.ANY).watchGroup(WatchGroup.ALL).writeActions(Sets.newHashSet(new PortOutAction(new PortNumber(1, null)))).build());
GroupSpeakerData groupSpeakerData = GroupSpeakerData.builder().groupId(new GroupId(GROUP_ID)).type(GroupType.ALL).buckets(buckets).build();
OFFactoryVer13 factory = new OFFactoryVer13();
OFGroupAdd ofGroupAdd = OfGroupConverter.INSTANCE.convertInstallGroupCommand(groupSpeakerData, factory);
assertEquals(OFGroup.of(GROUP_ID), ofGroupAdd.getGroup());
assertEquals(OFGroupType.ALL, ofGroupAdd.getGroupType());
assertEquals(2, ofGroupAdd.getBuckets().size());
List<OFBucket> expectedBuckets = new ArrayList<>();
expectedBuckets.add(factory.buildBucket().setWatchPort(OFPort.ANY).setWatchGroup(OFGroup.ALL).setActions(getActions(factory, 2)).build());
expectedBuckets.add(factory.buildBucket().setWatchPort(OFPort.ANY).setWatchGroup(OFGroup.ALL).setActions(getActions(factory, 1)).build());
assertEquals(expectedBuckets, ofGroupAdd.getBuckets());
}
use of org.openkilda.rulemanager.group.Bucket in project open-kilda by telstra.
the class OfGroupConverterTest method testConvertToGroupSpeakerData.
@Test
public void testConvertToGroupSpeakerData() {
OFFactoryVer13 factory = new OFFactoryVer13();
Builder builder = factory.buildGroupDescStatsReply();
List<OFGroupDescStatsEntry> entries = new ArrayList<>();
entries.add(getOfGroupEntry(factory));
builder.setEntries(entries);
List<GroupSpeakerData> groupSpeakerDataList = OfGroupConverter.INSTANCE.convertToGroupSpeakerData(builder.build());
assertEquals(1, groupSpeakerDataList.size());
GroupSpeakerData groupSpeakerData = groupSpeakerDataList.get(0);
assertEquals(new GroupId(GROUP_ID), groupSpeakerData.getGroupId());
assertEquals(GroupType.ALL, groupSpeakerData.getType());
List<Bucket> buckets = groupSpeakerData.getBuckets();
Set<Bucket> expectedBuckets = new HashSet<>();
expectedBuckets.add(Bucket.builder().watchPort(WatchPort.ANY).watchGroup(WatchGroup.ALL).writeActions(Sets.newHashSet(new PortOutAction(new PortNumber(2, null)))).build());
expectedBuckets.add(Bucket.builder().watchPort(WatchPort.ANY).watchGroup(WatchGroup.ALL).writeActions(Sets.newHashSet(new PortOutAction(new PortNumber(1, null)))).build());
assertEquals(expectedBuckets, new HashSet<>(buckets));
}
Aggregations