aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Freeman <bf1936@att.com>2019-01-17 17:37:59 -0500
committerBrian Freeman <bf1936@att.com>2019-01-17 17:38:09 -0500
commit75f5ad1f10a344c04229e82320277d16d83bb486 (patch)
treeb224d106e8ab63780e42aa0bbc4995c9ec4c9dda
parent893c12a45db90f35dea17d4bd255b5f9436d8cd9 (diff)
Add Save and Validate Model
Issue-ID: INT-808 Change-Id: I782aca5ee0f5b0012838c0b38aa8ea112946e880 Signed-off-by: Brian Freeman <bf1936@att.com>
-rw-r--r--robot/assets/templates/clamp/save_model_vlb.template1
-rw-r--r--robot/resources/clamp_interface.robot21
2 files changed, 22 insertions, 0 deletions
diff --git a/robot/assets/templates/clamp/save_model_vlb.template b/robot/assets/templates/clamp/save_model_vlb.template
new file mode 100644
index 00000000..27b3168c
--- /dev/null
+++ b/robot/assets/templates/clamp/save_model_vlb.template
@@ -0,0 +1 @@
+{"name":"${MODEL_NAME}","controlNamePrefix":"ClosedLoop-","bpmnText":"","propText":"{\"Policy_12lup3h\":{\"${POLICY_NAME}\":[{\"name\":\"pname\",\"value\":\"${POLICY_NAME}\"},{\"name\":\"pid\",\"value\":\"0\"},{\"name\":\"timeout\",\"value\":\"345\"},{\"policyConfigurations\":[[{\"name\":\"maxRetries\",\"value\":[\"3\"]},{\"name\":\"retryTimeLimit\",\"value\":[\"180\"]},{\"name\":\"_id\",\"value\":[\"YJ6lIO4\"]},{\"name\":\"parentPolicy\",\"value\":[\"\"]},{\"name\":\"actor\",\"value\":[\"APPC\"]},{\"name\":\"recipePayload\",\"value\":[\"\"]},{\"name\":\"recipeLevel\",\"value\":[\"\"]},{\"name\":\"targetResourceId\",\"value\":[\"\"]},{\"name\":\"targetResourceIdOther\",\"value\":[\"\"]},{\"name\":\"guardPolicyType\",\"value\":[\"GUARD_MIN_MAX\"]},{\"name\":\"guardTargets\",\"value\":[\".*\"]},{\"name\":\"minGuard\",\"value\":[\"1\"]},{\"name\":\"maxGuard\",\"value\":[\"1\"]},{\"name\":\"limitGuard\",\"value\":[\"1\"]},{\"name\":\"timeUnitsGuard\",\"value\":[\"minute\"]},{\"name\":\"timeWindowGuard\",\"value\":[\"10\"]},{\"name\":\"guardActiveStart\",\"value\":[\"00:00:01-05:00\"]},{\"name\":\"guardActiveEnd\",\"value\":[\"00:00:00-05:00\"]}]]}]},\"TCA_1d13unw\":{\"New_Set\":[{\"name\":\"tname\",\"value\":\"New_Set\"},{\"name\":\"tuuid\",\"value\":\"6aae3b26-6c63-t4de-f072-c812fb90204b\"},{\"name\":\"tcaPol\",\"value\":\"${POLICY_NAME}\"},{\"name\":\"eventName\",\"value\":\"vLoadBalancer\"},{\"name\":\"controlLoopSchemaType\",\"value\":\"VNF\"},{\"name\":\"tcaPolId\",\"value\":\"0\"},{\"serviceConfigurations\":[[\"${DOLLAR_SIGN}.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"GREATER\",\"200\",\"ONSET\"]]}]}}","imageText":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"100%\" height=\"100%\">\n\t\t<defs>\n\t\t\t\t<marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSjdype4kmnw\">\n\t\t\t\t\t\t<path d=\"M 1 5 L 11 10 L 1 15 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\"></path>\n\t\t\t\t</marker>\n\t\t\t\t<marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"6\" refY=\"6\" id=\"markerSjdype4kmny\">\n\t\t\t\t\t\t<circle cx=\"6\" cy=\"6\" r=\"3.5\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"></circle>\n\t\t\t\t</marker>\n\t\t\t\t<marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"8.5\" refY=\"5\" id=\"markerSjdype4kmo0\">\n\t\t\t\t\t\t<path d=\"m 1 5 l 0 -3 l 7 3 l -7 3 z\" style=\"stroke-width: 1; stroke-linecap: butt; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"></path>\n\t\t\t\t</marker>\n\t\t\t\t<marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSjdype4kmo2\">\n\t\t\t\t\t\t<path d=\"M 1 5 L 11 10 L 1 15\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"></path>\n\t\t\t\t</marker>\n\t\t\t\t<marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-1\" refY=\"10\" id=\"markerSjdype4kmo4\">\n\t\t\t\t\t\t<path d=\"M 0 10 L 8 6 L 16 10 L 8 14 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"></path>\n\t\t\t\t</marker>\n\t\t\t\t<marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-5\" refY=\"10\" id=\"markerSjdype4kmo6\">\n\t\t\t\t\t\t<path d=\"M 1 4 L 5 16\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\" stroke=\"#000000\"></path>\n\t\t\t\t</marker>\n\t\t</defs>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1\" transform=\"matrix(1,0,0,1,50,162)\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></circle>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1_label\" transform=\"matrix(1,0,0,1,23,198)\" style=\"display: none;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"45\" y=\"0\"></tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"VesCollector_1g9cmz0\" transform=\"matrix(1,0,0,1,207,140)\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect>\n\t\t\t\t\t\t\t\t<polyline points=\"120,80 120,20 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline>\n\t\t\t\t\t\t\t\t<polyline points=\"20,0 20,80 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline>\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 12px;\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"5\" y=\"14\">V</tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 12px;\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"5\" y=\"26\">E</tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 12px;\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"5\" y=\"38\">S</tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"25.5\" y=\"43.5\">VesCollector</tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"TCA_1d13unw\" transform=\"matrix(1,0,0,1,453,140)\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect>\n\t\t\t\t\t\t\t\t<polyline points=\"0,60 120,60 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline>\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"48\" y=\"43.5\">TCA</tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"Policy_12lup3h\" transform=\"matrix(1,0,0,1,687,140)\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect>\n\t\t\t\t\t\t\t\t<polyline points=\"0,40 60,0 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline>\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"43.5\" y=\"43.5\">Policy</tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape selected\" data-element-id=\"EndEvent_16kg9fx\" transform=\"matrix(1,0,0,1,925,162)\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 4;\" stroke=\"#000000\" fill=\"#ffffff\"></circle>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t\t\t<g class=\" djs-resizer djs-resizer-nw\" transform=\"matrix(1,0,0,1,0,0)\">\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect>\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<g class=\" djs-resizer djs-resizer-ne\" transform=\"matrix(0,1,-1,0,36,0)\">\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect>\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<g class=\" djs-resizer djs-resizer-se\" transform=\"matrix(-1,0,0,-1,36,36)\">\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect>\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<g class=\" djs-resizer djs-resizer-sw\" transform=\"matrix(0,-1,1,0,0,36)\">\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect>\n\t\t\t\t\t\t\t\t<rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect>\n\t\t\t\t\t\t</g>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"EndEvent_16kg9fx_label\" transform=\"matrix(1,0,0,1,898,198)\" style=\"display: none;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"45\" y=\"0\"></tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_1ahk7jg\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"80\" y=\"174\" width=\"133\" height=\"12\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<path d=\"m 86,180L207,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSjdype4kmnw&quot;);\" fill=\"none\" stroke=\"#000000\"></path>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<polyline points=\"86,180 207,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_1ahk7jg_label\" transform=\"matrix(1,0,0,1,101.5,170)\" style=\"display: none;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"45\" y=\"0\"></tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_18ahat1\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"321\" y=\"174\" width=\"138\" height=\"12\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<path d=\"m 327,180L453,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSjdype4kmnw&quot;);\" fill=\"none\" stroke=\"#000000\"></path>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<polyline points=\"327,180 453,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_18ahat1_label\" transform=\"matrix(1,0,0,1,345,170)\" style=\"display: none;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"45\" y=\"0\"></tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_1mo9gxb\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"567\" y=\"174\" width=\"126\" height=\"12\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<path d=\"m 573,180L687,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSjdype4kmnw&quot;);\" fill=\"none\" stroke=\"#000000\"></path>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<polyline points=\"573,180 687,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_1mo9gxb_label\" transform=\"matrix(1,0,0,1,585,170)\" style=\"display: none;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"45\" y=\"0\"></tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_1dgtrrq\" style=\"display: block;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"801\" y=\"174\" width=\"130\" height=\"12\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<path d=\"m 807,180L925,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSjdype4kmnw&quot;);\" fill=\"none\" stroke=\"#000000\"></path>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<polyline points=\"807,180 925,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline>\n\t\t\t\t</g>\n\t\t</g>\n\t\t<g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_1dgtrrq_label\" transform=\"matrix(1,0,0,1,821,170)\" style=\"display: none;\">\n\t\t\t\t\t\t<rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect>\n\t\t\t\t\t\t<g class=\"djs-visual\">\n\t\t\t\t\t\t\t\t<text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\">\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"45\" y=\"0\"></tspan>\n\t\t\t\t\t\t\t\t</text>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect>\n\t\t\t\t</g>\n\t\t</g>\n</svg>","templateName":"${TEMPLATE_NAME}","typeId":null,"deploymentId":null}
diff --git a/robot/resources/clamp_interface.robot b/robot/resources/clamp_interface.robot
index 4d29b095..3a3e0b82 100644
--- a/robot/resources/clamp_interface.robot
+++ b/robot/resources/clamp_interface.robot
@@ -27,6 +27,27 @@ Run CLAMP Create Model
${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/model/${model_name}
${resp}= Run CLAMP HTTPS Put Request ${data_path} ${data}
Should Be Equal As Strings ${resp.status_code} 200
+ ${random}= Generate Random String 4 [LOWER][NUMBERS]
+ ${policy_name}= Catenate PolicyTest ${random}
+ Run CLAMP Save vLB Model ${model_name} ${template_name} ${policy_name}
+
+Run CLAMP Save vLB Model
+ [Documentation] Save CLAMP Model
+ [Arguments] ${model_name} ${template_name} ${policy_name}
+ ${dict}= Create Dictionary MODEL_NAME=${model_name} TEMPLATE_NAME=${template_name} POLICY_NAME=${policy_name} DOLLAR_SIGN=$
+ ${data}= Fill JSON Template File ${CLAMP_TEMPLATE_PATH}/save_model_vlb.template ${dict}
+ ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/model/${model_name}
+ ${resp}= Run CLAMP HTTPS Put Request ${data_path} ${data}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Run CLAMP Validation Test ${model_name} ${data}
+
+Run CLAMP Validation Test
+ [Documentation] Validate CLAMP Control Loop CLAMP Model
+ [Arguments] ${model_name} ${model_data}
+ ${data_path}= Set Variable ${CLAMP_BASE_PATH}/clds/action/submit/${model_name}?test=true
+ ${resp}= Run CLAMP HTTPS Put Request ${data_path} ${model_data}
+ Should Be Equal As Strings ${resp.status_code} 200
+
Run CLAMP Get Properties
[Documentation] get CLAMP Control Loop properties