Resource group to share resources between intents
Change-Id: I5bf7d4261197449924d07dabac841cf8ccbe9389
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java
index f0f0046..f2283a0 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/HostToHostIntentCompiler.java
@@ -182,6 +182,7 @@
.applyTreatmentOnEgress(true)
.constraints(intent.constraints())
.priority(intent.priority())
+ .resourceGroup(intent.resourceGroup())
.build();
}
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java
index 6a0081f..0aa4e87 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/LinkCollectionIntentFlowObjectiveCompiler.java
@@ -119,7 +119,10 @@
});
}
return Collections.singletonList(
- new FlowObjectiveIntent(appId, intent.key(), devices, objectives, intent.resources()));
+ new FlowObjectiveIntent(appId, intent.key(), devices,
+ objectives,
+ intent.resources(),
+ intent.resourceGroup()));
}
@Override
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java
index 758c21b5..3b4dca9 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/MultiPointToSinglePointIntentCompiler.java
@@ -122,6 +122,7 @@
.filteredEgressPoints(ImmutableSet.of(intent.filteredEgressPoint()))
.priority(intent.priority())
.constraints(intent.constraints())
+ .resourceGroup(intent.resourceGroup())
.build();
return Collections.singletonList(result);
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java
index a2c26dd..0b0569a 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentCompiler.java
@@ -88,7 +88,9 @@
intent.key(),
rules,
intent.resources(),
- intent.type()));
+ intent.type(),
+ intent.resourceGroup()
+ ));
}
@Override
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java
index 521d6fc..7c466285 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PathIntentFlowObjectiveCompiler.java
@@ -93,7 +93,9 @@
intent.key(),
devices,
objectives,
- intent.resources()));
+ intent.resources(),
+ intent.resourceGroup()
+ ));
}
@Override
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java
index c3fc348..94fe6ed 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/PointToPointIntentCompiler.java
@@ -259,7 +259,8 @@
intent.key(),
createFailoverFlowRules(intent),
asList(ingressPoint.deviceId()),
- PathIntent.ProtectionType.FAILOVER);
+ PathIntent.ProtectionType.FAILOVER,
+ intent.resourceGroup());
intentList.add(frIntent);
} else {
updateFailoverGroup(intent, links);
@@ -320,6 +321,7 @@
.constraints(intent.constraints())
.priority(intent.priority())
.setType(type)
+ .resourceGroup(intent.resourceGroup())
.build();
}
@@ -353,6 +355,7 @@
.constraints(intent.constraints())
.priority(intent.priority())
.cost(cost)
+ .resourceGroup(intent.resourceGroup())
.build();
}
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java
index a3f7c49..504e4f3 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/SinglePointToMultiPointIntentCompiler.java
@@ -101,6 +101,7 @@
.priority(intent.priority())
.applyTreatmentOnEgress(true)
.constraints(intent.constraints())
+ .resourceGroup(intent.resourceGroup())
.build();
return Collections.singletonList(result);
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java
index 6deba8f..862a845 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/TwoWayP2PIntentCompiler.java
@@ -54,6 +54,7 @@
.egressPoint(intent.two())
.constraints(intent.constraints())
.priority(intent.priority())
+ .resourceGroup(intent.resourceGroup())
.build(),
PointToPointIntent.builder()
.appId(intent.appId())
@@ -64,6 +65,7 @@
.egressPoint(intent.one())
.constraints(intent.constraints())
.priority(intent.priority())
+ .resourceGroup(intent.resourceGroup())
.build());
}
}
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java
index 5eac0d4..2222b50 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/VirtualNetworkIntentCompiler.java
@@ -180,6 +180,7 @@
.constraints(intent.constraints())
.selector(intent.selector())
.treatment(intent.treatment())
+ .resourceGroup(intent.resourceGroup())
.build();
log.debug("Submitting physical intent: " + physicalIntent);
intentService.submit(physicalIntent);