summaryrefslogtreecommitdiffstats
path: root/ECOMP-ControlloopPolicy/src
diff options
context:
space:
mode:
authorTarun Tej Velaga <tt3868@att.com>2017-07-24 17:13:43 +0000
committerTarun Tej Velaga <tt3868@att.com>2017-07-25 14:23:59 +0000
commite92ff832cf993db876f22b2d27562fedf59f5043 (patch)
tree47429eeaaf4241905d7ea1f71dbdb5c2d0504618 /ECOMP-ControlloopPolicy/src
parent570290dc6ba8198e653022c2f6f8e5d01cfa8d1b (diff)
[Policy-52, Policy-92, Policy-93] Policy Enhancements and bugfixes
Change-Id: I5675cf4527e17963b3142cf7184c0df31a766197 Signed-off-by: Tarun Tej Velaga <tt3868@att.com>
Diffstat (limited to 'ECOMP-ControlloopPolicy/src')
-rw-r--r--ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/Constraint.java116
-rw-r--r--ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopParameter.java89
-rw-r--r--ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/GuardPolicy.java68
-rw-r--r--ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/MatchParameters.java142
-rw-r--r--ECOMP-ControlloopPolicy/src/test/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopGuardBuilderTest.java23
-rw-r--r--ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_1707_appc.yaml30
-rw-r--r--ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_OpenECOMP_demo_vDNS.yaml12
7 files changed, 353 insertions, 127 deletions
diff --git a/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/Constraint.java b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/Constraint.java
index 42a04e7b7..89526c5fd 100644
--- a/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/Constraint.java
+++ b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/Constraint.java
@@ -26,40 +26,46 @@ import java.util.Map;
public class Constraint {
- private Integer num;
- private String duration;
- private Map<String, String> time_in_range;
+ private Integer freq_limit_per_target;
+ private Map<String,String> time_window;
+ private Map<String, String> active_time_range;
private List<String> blacklist;
public Constraint() {
// Do Nothing empty constructor.
}
-
- public Integer getNum() {
- return num;
+
+ public Integer getFreq_limit_per_target() {
+ return freq_limit_per_target;
}
- public void setNum(Integer num) {
- this.num = num;
+
+ public void setFreq_limit_per_target(Integer freq_limit_per_target) {
+ this.freq_limit_per_target = freq_limit_per_target;
}
- public String getDuration() {
- return duration;
+
+ public Map<String, String> getTime_window() {
+ return time_window;
}
- public void setDuration(String duration) {
- this.duration = duration;
+
+ public void setTime_window(Map<String, String> time_window) {
+ this.time_window = time_window;
}
- public Map<String, String> getTime_in_range() {
- return time_in_range;
+
+ public Map<String, String> getActive_time_range() {
+ return active_time_range;
}
- public void setTime_in_range(Map<String, String> time_in_range) {
- this.time_in_range = time_in_range;
+
+ public void setActive_time_range(Map<String, String> active_time_range) {
+ this.active_time_range = active_time_range;
}
+
public List<String> getBlacklist() {
return blacklist;
}
@@ -68,69 +74,65 @@ public class Constraint {
this.blacklist = blacklist;
}
- public Constraint(Integer num, String duration) {
- this.num = num;
- this.duration = duration;
+ public Constraint(Integer freq_limit_per_target, Map<String, String> time_window) {
+ this.freq_limit_per_target = freq_limit_per_target;
+ if(time_window!=null){
+ this.time_window = Collections.unmodifiableMap(time_window);
+ }
}
public Constraint(List<String> blacklist) {
this.blacklist = new LinkedList<>(blacklist);
-
- }
-
- public Constraint(Map<String, String> time_in_range, List<String> blacklist) {
- if (time_in_range != null) {
- this.time_in_range = Collections.unmodifiableMap(time_in_range);
- }
- this.blacklist = new LinkedList<>(blacklist);
}
- public Constraint(Integer num, String duration, List<String> blacklist) {
- this.num = num;
- this.duration = duration;
+ public Constraint(Integer freq_limit_per_target, Map<String, String> time_window, List<String> blacklist) {
+ this.freq_limit_per_target = freq_limit_per_target;
+ this.time_window = Collections.unmodifiableMap(time_window);
this.blacklist = new LinkedList<>(blacklist);
}
- public Constraint(Integer num, String duration, Map<String, String> time_in_range) {
- this(num, duration);
- if (time_in_range != null) {
- this.time_in_range = Collections.unmodifiableMap(time_in_range);
+ public Constraint(Integer freq_limit_per_target, Map<String, String> time_window, Map<String, String> active_time_range) {
+ this(freq_limit_per_target, time_window);
+ if (active_time_range != null) {
+ this.active_time_range = Collections.unmodifiableMap(active_time_range);
}
}
- public Constraint(Integer num, String duration, Map<String, String> time_in_range, List<String> blacklist) {
- this(num, duration);
- if (time_in_range != null) {
- this.time_in_range = Collections.unmodifiableMap(time_in_range);
+ public Constraint(Integer freq_limit_per_target, Map<String, String> time_window, Map<String, String> active_time_range, List<String> blacklist) {
+ this(freq_limit_per_target, time_window);
+ if (active_time_range != null) {
+ this.active_time_range = Collections.unmodifiableMap(active_time_range);
+ }
+ if(blacklist!=null){
+ this.blacklist = new LinkedList<>(blacklist);
}
- this.blacklist = new LinkedList<>(blacklist);
}
public Constraint(Constraint constraint) {
- this.num = constraint.num;
- this.duration = constraint.duration;
- if (constraint.time_in_range != null) {
- this.time_in_range = Collections.unmodifiableMap(constraint.time_in_range);
+ this.freq_limit_per_target = constraint.freq_limit_per_target;
+ this.time_window = constraint.time_window;
+ if (constraint.active_time_range != null) {
+ this.active_time_range = Collections.unmodifiableMap(constraint.active_time_range);
}
this.blacklist = new LinkedList<>(constraint.blacklist);
}
public boolean isValid() {
- return ((num == null && duration != null)|| (duration == null && num != null))? false : true;
+ return ((freq_limit_per_target == null && time_window != null)|| (time_window == null && freq_limit_per_target != null))? false : true;
}
@Override
public String toString() {
- return "Constraint [num=" + num + ", duration=" + duration + ", time_in_range=" + time_in_range + ", blacklist=" + blacklist + "]";
+ return "Constraint [freq_limit_per_target=" + freq_limit_per_target + ", time_window=" + time_window + ", active_time_range=" + active_time_range + ", blacklist=" + blacklist + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((num == null) ? 0 : num.hashCode());
- result = prime * result + ((duration == null) ? 0 : duration.hashCode());
- result = prime * result + ((time_in_range == null) ? 0 : time_in_range.hashCode());
+ result = prime * result + ((freq_limit_per_target == null) ? 0 : freq_limit_per_target.hashCode());
+ result = prime * result + ((time_window == null) ? 0 : time_window.hashCode());
+ result = prime * result + ((active_time_range == null) ? 0 : active_time_range.hashCode());
result = prime * result + ((blacklist == null) ? 0 : blacklist.hashCode());
return result;
}
@@ -144,20 +146,20 @@ public class Constraint {
if (getClass() != obj.getClass())
return false;
Constraint other = (Constraint) obj;
- if (num == null) {
- if (other.num != null)
+ if (freq_limit_per_target == null) {
+ if (other.freq_limit_per_target != null)
return false;
- } else if (!num.equals(other.num))
+ } else if (!freq_limit_per_target.equals(other.freq_limit_per_target))
return false;
- if (duration == null) {
- if (other.duration != null)
+ if (time_window == null) {
+ if (other.time_window != null)
return false;
- } else if (!duration.equals(other.duration))
+ } else if (!time_window.equals(other.time_window))
return false;
- if (time_in_range == null) {
- if (other.time_in_range != null)
+ if (active_time_range == null) {
+ if (other.active_time_range != null)
return false;
- } else if (!time_in_range.equals(other.time_in_range))
+ } else if (!active_time_range.equals(other.active_time_range))
return false;
if (blacklist == null) {
if (other.blacklist != null)
diff --git a/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopParameter.java b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopParameter.java
new file mode 100644
index 000000000..e65b9810f
--- /dev/null
+++ b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopParameter.java
@@ -0,0 +1,89 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.policy.controlloop.policy.guard;
+
+public class ControlLoopParameter {
+ private String controlLoopName;
+ private String version;
+
+ public String getControlLoopName() {
+ return controlLoopName;
+ }
+
+ public void setControlLoopName(String controlLoopName) {
+ this.controlLoopName = controlLoopName;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public ControlLoopParameter(String controlLoopName, String version) {
+ super();
+ this.controlLoopName = controlLoopName;
+ this.version = version;
+ }
+
+ public ControlLoopParameter(ControlLoopParameter cl) {
+
+ this.controlLoopName = cl.controlLoopName;
+ this.version = cl.version;
+ }
+
+ @Override
+ public String toString() {
+ return "ControlLoopParameter [controlLoopName=" + controlLoopName + ", version=" + version + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((controlLoopName == null) ? 0 : controlLoopName.hashCode());
+ result = prime * result + ((version == null) ? 0 : version.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ControlLoopParameter other = (ControlLoopParameter) obj;
+ if (controlLoopName == null) {
+ if (other.controlLoopName != null)
+ return false;
+ } else if (!controlLoopName.equals(other.controlLoopName))
+ return false;
+ if (version == null) {
+ if (other.version != null)
+ return false;
+ } else if (!version.equals(other.version))
+ return false;
+ return true;
+ }
+}
diff --git a/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/GuardPolicy.java b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/GuardPolicy.java
index a4d56ff07..830736b42 100644
--- a/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/GuardPolicy.java
+++ b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/GuardPolicy.java
@@ -29,8 +29,7 @@ public class GuardPolicy {
private String id = UUID.randomUUID().toString();
private String name;
private String description;
- private String actor;
- private String recipe;
+ private MatchParameters match_parameters;
private LinkedList<Constraint> limit_constraints;
public GuardPolicy() {
@@ -61,20 +60,12 @@ public class GuardPolicy {
this.description = description;
}
- public String getActor() {
- return actor;
+ public MatchParameters getMatch_parameters() {
+ return match_parameters;
}
- public void setActor(String actor) {
- this.actor = actor;
- }
-
- public String getRecipe() {
- return recipe;
- }
-
- public void setRecipe(String recipe) {
- this.recipe = recipe;
+ public void setMatch_parameters(MatchParameters match_parameters) {
+ this.match_parameters = match_parameters;
}
public LinkedList<Constraint> getLimit_constraints() {
@@ -89,32 +80,31 @@ public class GuardPolicy {
this.id = id;
}
- public GuardPolicy(String name, String actor, String recipe) {
+ public GuardPolicy(String name, MatchParameters matchParameters) {
this.name = name;
- this.actor = actor;
- this.recipe = recipe;
+ this.match_parameters = matchParameters;
}
- public GuardPolicy(String id, String name, String description, String actor, String recipe) {
- this(name, actor, recipe);
+ public GuardPolicy(String id, String name, String description, MatchParameters matchParameters) {
+ this(name, matchParameters);
this.id = id;
this.description = description;
}
- public GuardPolicy(String name, String actor, String recipe, List<Constraint> limit_constraints) {
- this(name, actor, recipe);
+ public GuardPolicy(String name, MatchParameters matchParameters, List<Constraint> limitConstraints) {
+ this(name, matchParameters);
if (limit_constraints != null) {
- this.limit_constraints = (LinkedList<Constraint>) Collections.unmodifiableList(limit_constraints);
+ this.limit_constraints = (LinkedList<Constraint>) Collections.unmodifiableList(limitConstraints);
}
}
- public GuardPolicy(String name, String description, String actor, String recipe, List<Constraint> limit_constraints) {
- this(name, actor, recipe, limit_constraints);
+ public GuardPolicy(String name, String description, MatchParameters matchParameters, List<Constraint> limitConstraints) {
+ this(name, matchParameters, limitConstraints);
this.description = description;
}
- public GuardPolicy(String id, String name, String description, String actor, String recipe, List<Constraint> limit_constraints) {
- this(name, description, actor, recipe, limit_constraints);
+ public GuardPolicy(String id, String name, String description, MatchParameters matchParameters, List<Constraint> limitConstraints) {
+ this(name, description, matchParameters, limitConstraints);
this.id = id;
}
@@ -122,36 +112,31 @@ public class GuardPolicy {
this.id = policy.id;
this.name = policy.name;
this.description = policy.description;
- this.actor = policy.actor;
- this.recipe = policy.recipe;
+ this.match_parameters = new MatchParameters(policy.match_parameters);
if (policy.limit_constraints != null) {
this.limit_constraints = (LinkedList<Constraint>) Collections.unmodifiableList(policy.limit_constraints);
}
}
public boolean isValid() {
- if(id==null || name ==null|| actor==null|| recipe==null){
- return false;
- }
- return true;
+ return (id==null || name ==null)? false : true;
}
@Override
public String toString() {
- return "Policy [id=" + id + ", name=" + name + ", description=" + description + ", actor=" + actor + ", recipe="
- + recipe + ", limitConstraints=" + limit_constraints + "]";
+ return "Policy [id=" + id + ", name=" + name + ", description=" + description + ", match_parameters="
+ +match_parameters + ", limitConstraints=" + limit_constraints + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((actor == null) ? 0 : actor.hashCode());
result = prime * result + ((description == null) ? 0 : description.hashCode());
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((limit_constraints == null) ? 0 : limit_constraints.hashCode());
- result = prime * result + ((recipe == null) ? 0 : recipe.hashCode());
+ result = prime * result + ((match_parameters == null) ? 0 : match_parameters.hashCode());
return result;
}
@@ -164,11 +149,6 @@ public class GuardPolicy {
if (getClass() != obj.getClass())
return false;
GuardPolicy other = (GuardPolicy) obj;
- if (actor == null) {
- if (other.actor != null)
- return false;
- } else if (!actor.equals(other.actor))
- return false;
if (description == null) {
if (other.description != null)
return false;
@@ -189,10 +169,10 @@ public class GuardPolicy {
return false;
} else if (!limit_constraints.equals(other.limit_constraints))
return false;
- if (recipe == null) {
- if (other.recipe != null)
+ if (match_parameters==null){
+ if(other.match_parameters !=null)
return false;
- } else if (!recipe.equals(other.recipe))
+ } else if(!match_parameters.equals(other.match_parameters))
return false;
return true;
}
diff --git a/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/MatchParameters.java b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/MatchParameters.java
new file mode 100644
index 000000000..3696ab438
--- /dev/null
+++ b/ECOMP-ControlloopPolicy/src/main/java/org/openecomp/policy/controlloop/policy/guard/MatchParameters.java
@@ -0,0 +1,142 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.policy.controlloop.policy.guard;
+
+import java.util.LinkedList;
+import java.util.List;
+
+public class MatchParameters {
+ private String controlLoopName;
+ private String actor;
+ private String recipe;
+ private List<String> targets;
+
+ public MatchParameters() {
+ // Do Nothing Empty Constructor.
+ }
+
+ public String getControlLoopName() {
+ return controlLoopName;
+ }
+
+ public void setControlLoopName(String controlLoopName) {
+ this.controlLoopName = controlLoopName;
+ }
+
+ public String getActor() {
+ return actor;
+ }
+
+ public void setActor(String actor) {
+ this.actor = actor;
+ }
+
+ public String getRecipe() {
+ return recipe;
+ }
+
+ public void setRecipe(String recipe) {
+ this.recipe = recipe;
+ }
+
+ public List<String> getTargets() {
+ return targets;
+ }
+
+ public void setTargets(List<String> targets) {
+ this.targets = targets;
+ }
+
+ public MatchParameters(String actor, String recipe) {
+ this.actor = actor;
+ this.recipe = recipe;
+ }
+
+ public MatchParameters(String actor, String recipe, List<String> targets) {
+ this(actor, recipe);
+ if (targets != null) {
+ this.targets = new LinkedList<>(targets);
+ }
+ }
+
+ public MatchParameters(String controlLoopName, String actor, String recipe, List<String> targets) {
+ this(actor, recipe, targets);
+ this.controlLoopName = controlLoopName;
+ }
+
+ public MatchParameters(MatchParameters matchParameters) {
+
+ this.controlLoopName = matchParameters.controlLoopName;
+ this.actor = matchParameters.actor;
+ this.recipe = matchParameters.recipe;
+ if (matchParameters.targets != null) {
+ this.targets = new LinkedList<>(matchParameters.targets);
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "MatchParameters [controlLoopName=" + controlLoopName + ", actor=" + actor + ", recipe=" + recipe
+ + ", targets=" + targets + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((actor == null) ? 0 : actor.hashCode());
+ result = prime * result + ((controlLoopName == null) ? 0 : controlLoopName.hashCode());
+ result = prime * result + ((recipe == null) ? 0 : recipe.hashCode());
+ result = prime * result + ((targets == null) ? 0 : targets.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ MatchParameters other = (MatchParameters) obj;
+ if (actor == null) {
+ if (other.actor != null)
+ return false;
+ } else if (!actor.equals(other.actor))
+ return false;
+ if (controlLoopName == null) {
+ if (other.controlLoopName != null)
+ return false;
+ } else if (!controlLoopName.equals(other.controlLoopName))
+ return false;
+ if (recipe == null) {
+ if (other.recipe != null)
+ return false;
+ } else if (!recipe.equals(other.recipe))
+ return false;
+ if (targets == null) {
+ if (other.targets != null)
+ return false;
+ } else if (!targets.equals(other.targets))
+ return false;
+ return true;
+ }
+} \ No newline at end of file
diff --git a/ECOMP-ControlloopPolicy/src/test/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopGuardBuilderTest.java b/ECOMP-ControlloopPolicy/src/test/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopGuardBuilderTest.java
index 3137a1232..9dff9f33c 100644
--- a/ECOMP-ControlloopPolicy/src/test/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopGuardBuilderTest.java
+++ b/ECOMP-ControlloopPolicy/src/test/java/org/openecomp/policy/controlloop/policy/guard/ControlLoopGuardBuilderTest.java
@@ -66,7 +66,13 @@ public class ControlLoopGuardBuilderTest {
//
// Add a guard policy without limit constraint
//
- GuardPolicy policy1 = new GuardPolicy("1111", "guardpolicy1", "guardpolicy1", "APPC", "restart");
+ String clname = "CL_vUSP123";
+ LinkedList<String> targets = new LinkedList<String>();
+ targets.add("s1");
+ targets.add("s2");
+ targets.add("s3");
+ MatchParameters matchParameters = new MatchParameters(clname, "APPC", "Restart", targets);
+ GuardPolicy policy1 = new GuardPolicy("id123", "guardpolicy1", "description aaa", matchParameters);
builder = builder.addGuardPolicy(policy1);
//
// Assert there is no limit constraint associated with the only guard policy
@@ -83,13 +89,16 @@ public class ControlLoopGuardBuilderTest {
//
// Add a constraint to policy1
//
- Map<String, String> time_in_range = new HashMap<String, String>();
- time_in_range.put("arg2", "PT5H");
- time_in_range.put("arg3", "PT24H");
+ Map<String, String> active_time_range = new HashMap<String, String>();
+ active_time_range.put("start", "00:00:00-05:00");
+ active_time_range.put("end", "23:59:59-05:00");
List<String> blacklist = new LinkedList<String>();
blacklist.add("eNodeB_common_id1");
blacklist.add("eNodeB_common_id2");
- Constraint cons = new Constraint(5, "PT15M", time_in_range, blacklist);
+ Map<String, String> time_window = new HashMap<String, String>();
+ time_window.put("value", "10");
+ time_window.put("units", "minute");
+ Constraint cons = new Constraint(5, time_window, active_time_range, blacklist);
builder = builder.addLimitConstraint(policy1.getId(), cons);
//
// Add a duplicate constraint to policy1
@@ -142,12 +151,12 @@ public class ControlLoopGuardBuilderTest {
fail(e.getMessage());
}
}
-
+
@Test
public void test1() {
this.test("src/test/resources/v2.0.0-guard/policy_guard_OpenECOMP_demo_vDNS.yaml");
}
-
+
@Test
public void test2() {
this.test("src/test/resources/v2.0.0-guard/policy_guard_1707_appc.yaml");
diff --git a/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_1707_appc.yaml b/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_1707_appc.yaml
index 797a7a81f..6442cd5df 100644
--- a/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_1707_appc.yaml
+++ b/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_1707_appc.yaml
@@ -6,19 +6,19 @@ guards:
name: APPC 5 Restart
description:
We only allow 5 restarts over 15 minute window during the day time hours (i.e. avoid midnight to 5am)
- actor: APPC
- recipe: Restart
+ match_parameters:
+ controlLoopName: CL_NAME_ABC_123
+ actor: APPC
+ recipe: Restart
+ targets:
+ - s1
+ s2
+ s3
limit_constraints:
- - num: 5
- #
- # https://www.w3.org/TR/xmlschema-2/#duration
- #
- duration: PT15M
- #
- # XACML function time-in-range
- #
- # Assumption is that the "current time" is the 1st argument
- #
- time_in_range:
- arg2: PT5H
- arg3: PT24H \ No newline at end of file
+ - freq_limit_per_target: 5
+ time_window:
+ value: 15
+ units: minute
+ active_time_range:
+ start: 00:00:00-05:00
+ end: 23:59:59-05:00 \ No newline at end of file
diff --git a/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_OpenECOMP_demo_vDNS.yaml b/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_OpenECOMP_demo_vDNS.yaml
index 414e814d3..f2390fae0 100644
--- a/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_OpenECOMP_demo_vDNS.yaml
+++ b/ECOMP-ControlloopPolicy/src/test/resources/v2.0.0-guard/policy_guard_OpenECOMP_demo_vDNS.yaml
@@ -5,11 +5,15 @@ guards:
- id: unique_guard_ONAP_vDNS_1
name: MSO Spinup
description: We only spin up 1 instance over a 10 minute window
- actor: MSO
- recipe: VF Module Create
+ match_parameters:
+ actor: MSO
+ recipe: VF Module Create
limit_constraints:
- - num: 1
+ - freq_limit_per_target: 1
#
# https://www.w3.org/TR/xmlschema-2/#duration
#
- duration: PT10M
+ time_window:
+ value: 10
+ units: hour
+ \ No newline at end of file