summaryrefslogtreecommitdiffstats
path: root/controlloop
diff options
context:
space:
mode:
authorGao, Chenfei (cg287m) <cgao@research.att.com>2017-07-21 17:03:44 -0400
committerGao, Chenfei (cg287m) <cgao@research.att.com>2017-07-24 10:59:40 -0400
commitc182c8b95eda734f9d12dfa41e2959a1fc32ce42 (patch)
treed7871df5d1cca91b64d112ee8d76602a4ac89c50 /controlloop
parent542385d1e097a68ca8330e5c79b96d20a58d3f4a (diff)
[POLICY-76] Remove/rename ATT internal stuffs
Change-Id: I251bd2c4f6852a563a4899024d138ebad6c52999 Signed-off-by: Gao, Chenfei (cg287m) <cgao@research.att.com>
Diffstat (limited to 'controlloop')
-rw-r--r--controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor1
-rw-r--r--controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor1
-rw-r--r--controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor1
-rw-r--r--controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor1
-rw-r--r--controlloop/common/eventmanager/README.md2
-rw-r--r--controlloop/common/guard/README.md2
-rw-r--r--controlloop/common/guard/src/main/java/org/onap/policy/guard/PolicyGuardXacmlHelper.java1
-rw-r--r--controlloop/common/guard/src/main/resources/META-INF/persistence.xml1
-rw-r--r--controlloop/common/model-impl/events/README.md2
-rw-r--r--controlloop/common/model-impl/events/src/main/resources/definitions.yaml10
-rw-r--r--controlloop/common/model-impl/mso/src/test/java/org/onap/policy/mso/TestDemo.java (renamed from controlloop/common/model-impl/mso/src/test/java/org/openecomp/policy/mso/TestDemo.java)2
-rw-r--r--controlloop/common/model-impl/sdc/README.md2
-rw-r--r--controlloop/common/packages/basex/src/files/bin/create-closed-loop-demo.sh6
-rw-r--r--controlloop/common/policy-yaml/README-v1.0.0.md (renamed from controlloop/common/policy-yaml/README- v1.0.0.md)2
-rw-r--r--controlloop/common/policy-yaml/src/main/java/org/onap/policy/controlloop/policy/builder/ControlLoopPolicyBuilder.java2
-rw-r--r--controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-59a2ee3fB58045feB5a1-template.yml86
-rw-r--r--controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-Eace933104d443b496b8-template.yml116
-rw-r--r--controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-57e66ea70ed645c7970f-template.yml24
-rw-r--r--controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-D473899264974dca9db9-template.yml24
-rw-r--r--controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/pom.xml14
-rw-r--r--controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/config/__artifactId__-controller.rest.json20
-rw-r--r--controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl2
-rw-r--r--controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/test/resources/projects/basic/archetype.properties4
-rw-r--r--controlloop/templates/template.demo.v1.0.0/template.demo/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl1
-rw-r--r--controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1610_v1.1_xacml_guard.drl867
-rw-r--r--controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1707_xacml_guard_enodeb.drl952
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_1.xml37
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_2.xml52
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_3.xml37
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_4.xml51
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/old/xacml.properties119
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/old/xacml2.properties120
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/old/xacml3.properties123
-rw-r--r--controlloop/templates/template.demo/src/test/resources/xacml/xacml_guard_old.properties277
34 files changed, 162 insertions, 2800 deletions
diff --git a/controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor b/controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor
deleted file mode 100644
index 5e76150c4..000000000
--- a/controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor
+++ /dev/null
@@ -1 +0,0 @@
-com.att.ecomp.policy.controlloop.actor.appc.APPCActorServiceProvider \ No newline at end of file
diff --git a/controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor b/controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor
new file mode 100644
index 000000000..8181582b5
--- /dev/null
+++ b/controlloop/common/actors/actor.appc/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor
@@ -0,0 +1 @@
+org.onap.policy.controlloop.actor.appc.APPCActorServiceProvider \ No newline at end of file
diff --git a/controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor b/controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor
deleted file mode 100644
index aeed27b3b..000000000
--- a/controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/com.att.ecomp.policy.controlloop.actorServiceProvider.spi.Actor
+++ /dev/null
@@ -1 +0,0 @@
-com.att.ecomp.policy.controlloop.actor.mso.MSOActorServiceProvider \ No newline at end of file
diff --git a/controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor b/controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor
new file mode 100644
index 000000000..90d6c7f0e
--- /dev/null
+++ b/controlloop/common/actors/actor.mso/src/main/resources/META-INF/services/org.onap.policy.controlloop.actorServiceProvider.spi.Actor
@@ -0,0 +1 @@
+org.onap.policy.controlloop.actor.mso.MSOActorServiceProvider \ No newline at end of file
diff --git a/controlloop/common/eventmanager/README.md b/controlloop/common/eventmanager/README.md
index 38f62de82..7ad2bf7b7 100644
--- a/controlloop/common/eventmanager/README.md
+++ b/controlloop/common/eventmanager/README.md
@@ -1,3 +1,3 @@
-ECOMP Policy Closed Loop Event Management Code
+ONAP Policy Closed Loop Event Management Code
diff --git a/controlloop/common/guard/README.md b/controlloop/common/guard/README.md
index ba8593462..6135701d9 100644
--- a/controlloop/common/guard/README.md
+++ b/controlloop/common/guard/README.md
@@ -1,2 +1,2 @@
-ECOMP Policy Guard Implementation
+ONAP Policy Guard Implementation
diff --git a/controlloop/common/guard/src/main/java/org/onap/policy/guard/PolicyGuardXacmlHelper.java b/controlloop/common/guard/src/main/java/org/onap/policy/guard/PolicyGuardXacmlHelper.java
index 66d2f288e..20d50fd3b 100644
--- a/controlloop/common/guard/src/main/java/org/onap/policy/guard/PolicyGuardXacmlHelper.java
+++ b/controlloop/common/guard/src/main/java/org/onap/policy/guard/PolicyGuardXacmlHelper.java
@@ -30,7 +30,6 @@ import java.util.UUID;
import org.apache.commons.io.IOUtils;
import org.apache.http.entity.ContentType;
-//import org.openecomp.policy.appc.Response;
import com.att.research.xacml.api.Attribute;
import com.att.research.xacml.api.AttributeCategory;
diff --git a/controlloop/common/guard/src/main/resources/META-INF/persistence.xml b/controlloop/common/guard/src/main/resources/META-INF/persistence.xml
index 74edd566e..bc8381f50 100644
--- a/controlloop/common/guard/src/main/resources/META-INF/persistence.xml
+++ b/controlloop/common/guard/src/main/resources/META-INF/persistence.xml
@@ -7,7 +7,6 @@
<persistence-unit name="OperationsHistoryPU11" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<!-- <jar-file>packedEntity.jar</jar-file>-->
- <!-- <class>com.att.ecomp.policy.controlloop.eventmanager.OperationsHistoryDbEntry</class> -->
<properties>
<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="javax.persistence.jdbc.driver" value="org.mariadb.jdbc.Driver" />
diff --git a/controlloop/common/model-impl/events/README.md b/controlloop/common/model-impl/events/README.md
index 1347d78a6..0588ff903 100644
--- a/controlloop/common/model-impl/events/README.md
+++ b/controlloop/common/model-impl/events/README.md
@@ -1,6 +1,6 @@
Policy Control Loop
-This is the implementation of the Policy's Control Loop messages. This includes the Events consumed and Notifications produced by the ECOMP Policy Platform.
+This is the implementation of the Policy's Control Loop messages. This includes the Events consumed and Notifications produced by the ONAP Policy Platform.
diff --git a/controlloop/common/model-impl/events/src/main/resources/definitions.yaml b/controlloop/common/model-impl/events/src/main/resources/definitions.yaml
index cbe422b82..153fb9b93 100644
--- a/controlloop/common/model-impl/events/src/main/resources/definitions.yaml
+++ b/controlloop/common/model-impl/events/src/main/resources/definitions.yaml
@@ -37,12 +37,12 @@ ControlLoop:
type: string
description: A UNIQUE string identifying the Closed Loop ID this event is for. There are no semantics behind this string.
serviceInstance:
- $ref: '../../../com.att.ecomp.policy.asdc/src/main/resources/definitions.yaml#/serviceInstance'
+ $ref: '../../../../sdc/src/main/resources/definitions.yaml#/serviceInstance'
resourceInstance:
- $ref: '../../../com.att.ecomp.policy.asdc/src/main/resources/definitions.yaml#/resourceInstance'
+ $ref: '../../../../sdc/src/main/resources/definitions.yaml#/resourceInstance'
requestID:
type: string
- description: This is required via ECOMP Platform Logging Requirements.
+ description: This is required via ONAP Platform Logging Requirements.
pattern: /[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}/
triggerID:
type: string
@@ -52,10 +52,10 @@ ControlLoop:
description: pulled from eventSourceName of trigger H.P. alarm. The contents of this field should also be contained in the AAI Json sub-tag (see below).
closedLoopAlarmStart:
type: string
- description: firstEpoch. UTC Timestamp when this event was detected by DCAE. Conform to ECOMP Logging requirements.
+ description: firstEpoch. UTC Timestamp when this event was detected by DCAE. Conform to ONAP Logging requirements.
closedLoopAlarmEnd:
type: string
- description: lastEpoch. UTC Timestamp when this event was detected as cleared by DCAE. Conform to ECOMP Logging requirements.
+ description: lastEpoch. UTC Timestamp when this event was detected as cleared by DCAE. Conform to ONAP Logging requirements.
closedLoopEventClient:
type: string
description: Open DCAE sub-system that detected the event and published this event message.
diff --git a/controlloop/common/model-impl/mso/src/test/java/org/openecomp/policy/mso/TestDemo.java b/controlloop/common/model-impl/mso/src/test/java/org/onap/policy/mso/TestDemo.java
index c6c750568..c840894e8 100644
--- a/controlloop/common/model-impl/mso/src/test/java/org/openecomp/policy/mso/TestDemo.java
+++ b/controlloop/common/model-impl/mso/src/test/java/org/onap/policy/mso/TestDemo.java
@@ -18,7 +18,7 @@
* ============LICENSE_END=========================================================
*/
-package org.openecomp.policy.mso;
+package org.onap.policy.mso;
import java.util.HashMap;
import java.util.Map;
diff --git a/controlloop/common/model-impl/sdc/README.md b/controlloop/common/model-impl/sdc/README.md
index 2a17461e5..9431bf045 100644
--- a/controlloop/common/model-impl/sdc/README.md
+++ b/controlloop/common/model-impl/sdc/README.md
@@ -1,3 +1,3 @@
-ECOMP ASDC
+ONAP SDC
diff --git a/controlloop/common/packages/basex/src/files/bin/create-closed-loop-demo.sh b/controlloop/common/packages/basex/src/files/bin/create-closed-loop-demo.sh
index 3cd191f03..5fe83532c 100644
--- a/controlloop/common/packages/basex/src/files/bin/create-closed-loop-demo.sh
+++ b/controlloop/common/packages/basex/src/files/bin/create-closed-loop-demo.sh
@@ -27,10 +27,10 @@ echo "Closed Loop Demo Creator for standalone PDP-D"
echo "----------------------------------------------"
echo
-GROUPID="org.openecomp.policy.demo.rules"
+GROUPID="org.onap.policy.demo.rules"
ARTIFACTID="closed-loop-demo-rules"
VERSION="1.1.0-SNAPSHOT"
-PACKAGE="org.openecomp.policy.demo.rules"
+PACKAGE="org.onap.policy.demo.rules"
CLOSEDLOOPCONTROLNAME="CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"
POLICYSCOPE="service=test;resource=FRWL;type=configuration"
POLICYNAME="FirewallDemo"
@@ -198,7 +198,7 @@ if [ ! -w "${DIR_TMP}" ]; then
exit 1
fi
-ARCHETYPE_GROUP_ID="org.openecomp.policy.drools-applications"
+ARCHETYPE_GROUP_ID="org.onap.policy.drools-applications"
ARCHETYPE_ARTIFACT_ID="archetype-closedloop-demo-rules"
if [ -d "${DIR_TMP}/${ARTIFACTID}/" ]; then
diff --git a/controlloop/common/policy-yaml/README- v1.0.0.md b/controlloop/common/policy-yaml/README-v1.0.0.md
index 65b11adb2..1506b6834 100644
--- a/controlloop/common/policy-yaml/README- v1.0.0.md
+++ b/controlloop/common/policy-yaml/README-v1.0.0.md
@@ -154,7 +154,7 @@ This is an Operation Policy. It is used to instruct an actor (eg. APPC) to invok
| recipe | string | required | Name of recipe to be performed. Example "Restart" |
| target | string | required | Entity being targeted. Example: VM |
| timeout | int | required | Timeout for the actor to perform the recipe. |
-| retry | int | optional | Optional number of retries for ECOMP Policy to invoke the recipe on the actor. |
+| retry | int | optional | Optional number of retries for ONAP Policy to invoke the recipe on the actor. |
| success | string | required | By default, this value should be FINAL_SUCCESS. Otherwise this can be the ID of the operational Policy (included in this specification) to invoke upon successfully completing the recipe on the actor.
| failure | string | required | By default, this value should be FINAL_FAILURE. Otherwise this can be the ID of the operational Policy (included in this specification) to invoke upon failure to perform the operation. |
| failure_exception | string | required | By default, this value should be FINAL_FAILURE_EXCEPTION. Otherwise this can be the ID of an Operational Policy (included in this specification) to invoke upon an exception occurring while attempting to perform the operation. |
diff --git a/controlloop/common/policy-yaml/src/main/java/org/onap/policy/controlloop/policy/builder/ControlLoopPolicyBuilder.java b/controlloop/common/policy-yaml/src/main/java/org/onap/policy/controlloop/policy/builder/ControlLoopPolicyBuilder.java
index fcc783570..1947c53fc 100644
--- a/controlloop/common/policy-yaml/src/main/java/org/onap/policy/controlloop/policy/builder/ControlLoopPolicyBuilder.java
+++ b/controlloop/common/policy-yaml/src/main/java/org/onap/policy/controlloop/policy/builder/ControlLoopPolicyBuilder.java
@@ -120,7 +120,7 @@ public interface ControlLoopPolicyBuilder {
public Integer calculateTimeout();
/**
- * Sets the initial trigger policy when a DCAE Closed Loop Event arrives in the ECOMP Policy Platform.
+ * Sets the initial trigger policy when a DCAE Closed Loop Event arrives in the ONAP Policy Platform.
*
*
* @param name
diff --git a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-59a2ee3fB58045feB5a1-template.yml b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-59a2ee3fB58045feB5a1-template.yml
index f3e9bc4e4..4b501953c 100644
--- a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-59a2ee3fB58045feB5a1-template.yml
+++ b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-59a2ee3fB58045feB5a1-template.yml
@@ -22,10 +22,10 @@ topology_template:
inputs:
vf_module_id:
type: string
- description: The vLoadBalancer Module ID is provided by ECOMP
- ecomp_private_subnet_id:
+ description: The vLoadBalancer Module ID is provided by ONAP
+ onap_private_subnet_id:
type: string
- description: Private sub-network that connects ECOMP component and the VNF
+ description: Private sub-network that connects ONAP component and the VNF
repo_url_blob:
type: string
description: URL of the repository that hosts the demo packages
@@ -42,15 +42,15 @@ topology_template:
demo_artifacts_version:
type: string
description: Artifacts (jar, tar.gz) version used in demo vnfs
- ecomp_private_net_id:
+ onap_private_net_id:
type: string
- description: Private network that connects ECOMP component and the VNF
+ description: Private network that connects ONAP component and the VNF
pub_key:
type: string
description: Public key to be installed on the compute instance
vlb_private_ip_1:
type: string
- description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components
+ description: Private IP address that is assigned to the vLoadBalancer to communicate with ONAP components
key_name:
type: string
description: Public/Private key pair name
@@ -68,13 +68,13 @@ topology_template:
description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer
vnf_id:
type: string
- description: The VNF ID is provided by ECOMP
+ description: The VNF ID is provided by ONAP
dcae_collector_ip:
type: string
description: IP address of the DCAE collector
vdns_private_ip_1:
type: string
- description: Private IP address that is assigned to the vDNS to communicate with ECOMP components
+ description: Private IP address that is assigned to the vDNS to communicate with ONAP components
dcae_collector_port:
type: string
description: Port of the DCAE collector
@@ -89,12 +89,12 @@ topology_template:
vlb_private_ip_0:
type: string
description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs
- ecomp_private_net_cidr:
+ onap_private_net_cidr:
type: string
description: The CIDR of the protected private network
node_templates:
vdns_private_1_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -107,18 +107,18 @@ topology_template:
properties:
fixed_ips:
- subnet:
- get_input: ecomp_private_subnet_id
+ get_input: onap_private_subnet_id
ip_address:
get_input: vdns_private_ip_1
network:
- get_input: ecomp_private_net_id
+ get_input: onap_private_net_id
requirements:
- binding:
capability: tosca.capabilities.network.Bindable
node: vdns_0
relationship: tosca.relationships.network.BindsTo
vlb_private_network:
- type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+ type: org.onap.resource.vl.nodes.heat.network.neutron.Net
metadata:
invariantUUID: 2870cc3a-d6cd-4423-b7f6-2d63619b0eeb
UUID: b7e764ba-17f9-4f0a-ad29-29877766ef21
@@ -138,7 +138,7 @@ topology_template:
cidr:
get_input: vlb_private_net_cidr
vlb_private_1_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -151,18 +151,18 @@ topology_template:
properties:
fixed_ips:
- subnet:
- get_input: ecomp_private_subnet_id
+ get_input: onap_private_subnet_id
ip_address:
get_input: vlb_private_ip_1
network:
- get_input: ecomp_private_net_id
+ get_input: onap_private_net_id
requirements:
- binding:
capability: tosca.capabilities.network.Bindable
node: vlb_0
relationship: tosca.relationships.network.BindsTo
vdns_0:
- type: org.openecomp.resource.vfc.59a2ee3fB58045feB5a1.abstact.nodes.heat.vdns
+ type: org.onap.resource.vfc.59a2ee3fB58045feB5a1.abstact.nodes.heat.vdns
metadata:
invariantUUID: ee585c30-127b-492e-b2c1-871dc61d1dde
UUID: d816cb01-b5d0-4bbb-b614-f7c3e230ab19
@@ -187,7 +187,7 @@ topology_template:
name:
get_input: vdns_name_0
vlb_private_0_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -213,7 +213,7 @@ topology_template:
node: vlb_0
relationship: tosca.relationships.network.BindsTo
vdns_private_0_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -237,7 +237,7 @@ topology_template:
node: vdns_0
relationship: tosca.relationships.network.BindsTo
vlb_0:
- type: org.openecomp.resource.vfc.59a2ee3fB58045feB5a1.abstact.nodes.heat.vlb
+ type: org.onap.resource.vfc.59a2ee3fB58045feB5a1.abstact.nodes.heat.vlb
metadata:
invariantUUID: f7f1d745-cfb1-4aa9-83fc-31280d0ce513
UUID: 1821f13e-411f-4b29-87a5-ae935897b2e1
@@ -263,7 +263,7 @@ topology_template:
get_input: vlb_name_0
groups:
base_vlb:
- type: org.openecomp.groups.heat.HeatStack
+ type: org.onap.groups.heat.HeatStack
members:
- vdns_private_1_port
- vlb_private_network
@@ -278,7 +278,7 @@ topology_template:
version: '1'
name: base_vlb
59a2ee3fB58045feB5a1..dnsscaling..module-1:
- type: org.openecomp.groups.VfModule
+ type: org.onap.groups.VfModule
members:
- vdns_private_1_port
- vdns_0
@@ -293,7 +293,7 @@ topology_template:
vf_module_description:
volume_group: false
59a2ee3fB58045feB5a1..base_vlb..module-0:
- type: org.openecomp.groups.VfModule
+ type: org.onap.groups.VfModule
members:
- vdns_private_1_port
- vlb_private_network
@@ -312,7 +312,7 @@ topology_template:
vf_module_description:
volume_group: false
dnsscaling:
- type: org.openecomp.groups.heat.HeatStack
+ type: org.onap.groups.heat.HeatStack
members:
- vdns_private_1_port
- vdns_0
@@ -323,10 +323,10 @@ topology_template:
version: '1'
name: dnsscaling
substitution_mappings:
- node_type: org.openecomp.resource.vf.59a2ee3fB58045feB5a1
+ node_type: org.onap.resource.vf.59a2ee3fB58045feB5a1
capabilities:
vdns_0.memory:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM allocated to the instance
occurrences:
- 1
@@ -384,7 +384,7 @@ topology_template:
type: string
required: false
vdns_0.memory.resident:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance on the physical machine
occurrences:
- 1
@@ -442,7 +442,7 @@ topology_template:
type: string
required: false
vdns_0.cpu:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used
occurrences:
- 1
@@ -568,7 +568,7 @@ topology_template:
- 1
- UNBOUNDED
vlb_0.memory:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM allocated to the instance
occurrences:
- 1
@@ -650,7 +650,7 @@ topology_template:
- 0
- UNBOUNDED
vlb_0.vcpus:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average disk latency
occurrences:
- 1
@@ -708,7 +708,7 @@ topology_template:
type: string
required: false
vlb_0.instance:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance
occurrences:
- 1
@@ -794,7 +794,7 @@ topology_template:
- 1
- UNBOUNDED
vlb_0.cpu:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used
occurrences:
- 1
@@ -852,7 +852,7 @@ topology_template:
type: string
required: false
vdns_0.cpu.delta:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used since previous datapoint
occurrences:
- 1
@@ -910,7 +910,7 @@ topology_template:
type: string
required: false
vlb_0.memory.resident:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance on the physical machine
occurrences:
- 1
@@ -968,7 +968,7 @@ topology_template:
type: string
required: false
vdns_0.vcpus:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average disk latency
occurrences:
- 1
@@ -1026,7 +1026,7 @@ topology_template:
type: string
required: false
vdns_0.memory.usage:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance from the amount of its allocated memory
occurrences:
- 1
@@ -1084,7 +1084,7 @@ topology_template:
type: string
required: false
vlb_0.cpu.delta:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used since previous datapoint
occurrences:
- 1
@@ -1142,7 +1142,7 @@ topology_template:
type: string
required: false
vdns_0.instance:type:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance <type> (OpenStack types)
occurrences:
- 1
@@ -1243,7 +1243,7 @@ topology_template:
type: scalar-unit.size
required: false
vlb_0.instance:type:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance <type> (OpenStack types)
occurrences:
- 1
@@ -1316,7 +1316,7 @@ topology_template:
- 0
- UNBOUNDED
vlb_0.cpu_util:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average CPU utilization
occurrences:
- 1
@@ -1384,7 +1384,7 @@ topology_template:
- 1
- UNBOUNDED
vdns_0.cpu_util:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average CPU utilization
occurrences:
- 1
@@ -1442,7 +1442,7 @@ topology_template:
type: string
required: false
vdns_0.instance:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance
occurrences:
- 1
@@ -1524,7 +1524,7 @@ topology_template:
- 1
- UNBOUNDED
vlb_0.memory.usage:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance from the amount of its allocated memory
occurrences:
- 1
diff --git a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-Eace933104d443b496b8-template.yml b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-Eace933104d443b496b8-template.yml
index 3ce20b597..c0f4f4d39 100644
--- a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-Eace933104d443b496b8-template.yml
+++ b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/resource-Eace933104d443b496b8-template.yml
@@ -24,7 +24,7 @@ topology_template:
inputs:
vf_module_id:
type: string
- description: The vFirewall Module ID is provided by ECOMP
+ description: The vFirewall Module ID is provided by onap
repo_url_blob:
type: string
description: URL of the repository that hosts the demo packages
@@ -40,13 +40,13 @@ topology_template:
description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator
vfw_private_ip_2:
type: string
- description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components
+ description: Private IP address that is assigned to the vFirewall to communicate with ONAP components
vfw_name_0:
type: string
description: Name of the vFirewall
vnf_id:
type: string
- description: The VNF ID is provided by ECOMP
+ description: The VNF ID is provided by onap
dcae_collector_ip:
type: string
description: IP address of the DCAE collector
@@ -55,7 +55,7 @@ topology_template:
description: Port of the DCAE collector
vpg_private_ip_1:
type: string
- description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components
+ description: Private IP address that is assigned to the vPacketGenerator to communicate with ONAP components
vsn_private_ip_0:
type: string
description: Private IP address that is assigned to the vSink to communicate with the vFirewall
@@ -67,19 +67,19 @@ topology_template:
description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall
vsn_private_ip_1:
type: string
- description: Private IP address that is assigned to the vSink to communicate with ECOMP components
+ description: Private IP address that is assigned to the vSink to communicate with ONAP components
protected_private_net_cidr:
type: string
description: The CIDR of the protected private network
- ecomp_private_net_cidr:
+ onap_private_net_cidr:
type: string
description: The CIDR of the protected private network
unprotected_private_net_cidr:
type: string
description: The CIDR of the unprotected private network
- ecomp_private_subnet_id:
+ onap_private_subnet_id:
type: string
- description: Private sub-network that connects ECOMP component and the VNF
+ description: Private sub-network that connects ONAP component and the VNF
vsn_name_0:
type: string
description: Name of the vSink
@@ -93,9 +93,9 @@ topology_template:
demo_artifacts_version:
type: string
description: Artifacts (jar, tar.gz) version used in demo vnfs
- ecomp_private_net_id:
+ onap_private_net_id:
type: string
- description: Private network that connects ECOMP component and the VNF
+ description: Private network that connects ONAP component and the VNF
pub_key:
type: string
description: Public key to be installed on the compute instance
@@ -114,7 +114,7 @@ topology_template:
description: Private network that connects vFirewall with vSink
node_templates:
vfw_private_0_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -140,7 +140,7 @@ topology_template:
node: vfw_0
relationship: tosca.relationships.network.BindsTo
vsn_private_1_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -153,18 +153,18 @@ topology_template:
properties:
fixed_ips:
- subnet:
- get_input: ecomp_private_subnet_id
+ get_input: onap_private_subnet_id
ip_address:
get_input: vsn_private_ip_1
network:
- get_input: ecomp_private_net_id
+ get_input: onap_private_net_id
requirements:
- binding:
capability: tosca.capabilities.network.Bindable
node: vsn_0
relationship: tosca.relationships.network.BindsTo
unprotected_private_network:
- type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+ type: org.onap.resource.vl.nodes.heat.network.neutron.Net
metadata:
invariantUUID: 2870cc3a-d6cd-4423-b7f6-2d63619b0eeb
UUID: b7e764ba-17f9-4f0a-ad29-29877766ef21
@@ -182,7 +182,7 @@ topology_template:
cidr:
get_input: unprotected_private_net_cidr
vpg_private_1_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -195,18 +195,18 @@ topology_template:
properties:
fixed_ips:
- subnet:
- get_input: ecomp_private_subnet_id
+ get_input: onap_private_subnet_id
ip_address:
get_input: vpg_private_ip_1
network:
- get_input: ecomp_private_net_id
+ get_input: onap_private_net_id
requirements:
- binding:
capability: tosca.capabilities.network.Bindable
node: vpg_0
relationship: tosca.relationships.network.BindsTo
vfw_0:
- type: org.openecomp.resource.vfc.Eace933104d443b496b8.abstact.nodes.heat.vfw
+ type: org.onap.resource.vfc.Eace933104d443b496b8.abstact.nodes.heat.vfw
metadata:
invariantUUID: 0129e34c-d9fa-442d-bb2c-f925d018000a
UUID: 7fa1f6c7-c6bd-4444-8db2-63334a5aed1b
@@ -231,7 +231,7 @@ topology_template:
name:
get_input: vfw_name_0
vsn_0:
- type: org.openecomp.resource.vfc.Eace933104d443b496b8.abstact.nodes.heat.vsn
+ type: org.onap.resource.vfc.Eace933104d443b496b8.abstact.nodes.heat.vsn
metadata:
invariantUUID: b19f6643-3db0-4d73-b280-94d6f21caa71
UUID: 6dca6eb9-330c-4090-a542-7aca5f446e21
@@ -256,7 +256,7 @@ topology_template:
name:
get_input: vsn_name_0
vpg_private_0_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -282,7 +282,7 @@ topology_template:
node: vpg_0
relationship: tosca.relationships.network.BindsTo
vsn_private_0_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -308,7 +308,7 @@ topology_template:
node: vsn_0
relationship: tosca.relationships.network.BindsTo
vfw_private_1_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -334,7 +334,7 @@ topology_template:
node: vfw_0
relationship: tosca.relationships.network.BindsTo
vfw_private_2_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.onap.resource.cp.nodes.heat.network.neutron.Port
metadata:
invariantUUID: 7feb77d3-dcc5-4826-8a78-0c9089814a45
UUID: 06bc8ea7-0f6a-489a-9f8f-c7253653b457
@@ -347,18 +347,18 @@ topology_template:
properties:
fixed_ips:
- subnet:
- get_input: ecomp_private_subnet_id
+ get_input: onap_private_subnet_id
ip_address:
get_input: vfw_private_ip_2
network:
- get_input: ecomp_private_net_id
+ get_input: onap_private_net_id
requirements:
- binding:
capability: tosca.capabilities.network.Bindable
node: vfw_0
relationship: tosca.relationships.network.BindsTo
vpg_0:
- type: org.openecomp.resource.vfc.Eace933104d443b496b8.abstact.nodes.heat.vpg
+ type: org.onap.resource.vfc.Eace933104d443b496b8.abstact.nodes.heat.vpg
metadata:
invariantUUID: 7654ae14-4e98-45bc-a8c0-2c43e1805bb4
UUID: 5267d6dd-f676-4f98-abec-6387ce6beaf2
@@ -383,7 +383,7 @@ topology_template:
name:
get_input: vpg_name_0
protected_private_network:
- type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+ type: org.onap.resource.vl.nodes.heat.network.neutron.Net
metadata:
invariantUUID: 2870cc3a-d6cd-4423-b7f6-2d63619b0eeb
UUID: b7e764ba-17f9-4f0a-ad29-29877766ef21
@@ -402,7 +402,7 @@ topology_template:
get_input: protected_private_net_cidr
groups:
base_vfw:
- type: org.openecomp.groups.heat.HeatStack
+ type: org.onap.groups.heat.HeatStack
members:
- vfw_private_0_port
- vsn_private_1_port
@@ -422,7 +422,7 @@ topology_template:
version: '1'
name: base_vfw
Eace933104d443b496b8..base_vfw..module-0:
- type: org.openecomp.groups.VfModule
+ type: org.onap.groups.VfModule
members:
- vfw_private_0_port
- vsn_private_1_port
@@ -446,10 +446,10 @@ topology_template:
vf_module_description:
volume_group: false
substitution_mappings:
- node_type: org.openecomp.resource.vf.Eace933104d443b496b8
+ node_type: org.onap.resource.vf.Eace933104d443b496b8
capabilities:
vfw_0.instance:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance
occurrences:
- 1
@@ -521,7 +521,7 @@ topology_template:
default_instances:
type: integer
vfw_0.instance:type:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance <type> (OpenStack types)
occurrences:
- 1
@@ -584,7 +584,7 @@ topology_template:
- 0
- UNBOUNDED
vsn_0.cpu:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used
occurrences:
- 1
@@ -642,7 +642,7 @@ topology_template:
type: string
required: false
vpg_0.instance:type:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance <type> (OpenStack types)
occurrences:
- 1
@@ -705,7 +705,7 @@ topology_template:
- 1
- UNBOUNDED
vfw_0.memory:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM allocated to the instance
occurrences:
- 1
@@ -763,7 +763,7 @@ topology_template:
type: string
required: false
vpg_0.cpu_util:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average CPU utilization
occurrences:
- 1
@@ -869,7 +869,7 @@ topology_template:
- 1
- UNBOUNDED
vpg_0.cpu:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used
occurrences:
- 1
@@ -932,7 +932,7 @@ topology_template:
- 1
- UNBOUNDED
vsn_0.vcpus:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average disk latency
occurrences:
- 1
@@ -990,7 +990,7 @@ topology_template:
type: string
required: false
vpg_0.cpu.delta:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used since previous datapoint
occurrences:
- 1
@@ -1053,7 +1053,7 @@ topology_template:
- 1
- UNBOUNDED
vsn_0.cpu_util:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average CPU utilization
occurrences:
- 1
@@ -1111,7 +1111,7 @@ topology_template:
type: string
required: false
vpg_0.instance:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance
occurrences:
- 1
@@ -1188,7 +1188,7 @@ topology_template:
default_instances:
type: integer
vpg_0.memory:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM allocated to the instance
occurrences:
- 1
@@ -1269,7 +1269,7 @@ topology_template:
type: string
required: false
vfw_0.memory.resident:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance on the physical machine
occurrences:
- 1
@@ -1341,7 +1341,7 @@ topology_template:
default_instances:
type: integer
vsn_0.instance:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance
occurrences:
- 1
@@ -1432,7 +1432,7 @@ topology_template:
type: string
required: false
vsn_0.cpu.delta:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used since previous datapoint
occurrences:
- 1
@@ -1518,7 +1518,7 @@ topology_template:
- 1
- UNBOUNDED
vfw_0.memory.usage:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance from the amount of its allocated memory
occurrences:
- 1
@@ -1596,7 +1596,7 @@ topology_template:
type: scalar-unit.size
required: false
vsn_0.memory:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM allocated to the instance
occurrences:
- 1
@@ -1694,7 +1694,7 @@ topology_template:
- 1
- UNBOUNDED
vpg_0.vcpus:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average disk latency
occurrences:
- 1
@@ -1792,7 +1792,7 @@ topology_template:
- 0
- UNBOUNDED
vpg_0.memory.usage:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance from the amount of its allocated memory
occurrences:
- 1
@@ -1898,7 +1898,7 @@ topology_template:
- 1
- UNBOUNDED
vfw_0.cpu:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used
occurrences:
- 1
@@ -1956,7 +1956,7 @@ topology_template:
type: string
required: false
vsn_0.instance:type:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance <type> (OpenStack types)
occurrences:
- 1
@@ -2037,7 +2037,7 @@ topology_template:
- 1
- UNBOUNDED
vfw_0.vcpus:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average disk latency
occurrences:
- 1
@@ -2095,7 +2095,7 @@ topology_template:
type: string
required: false
vfw_0.cpu.delta:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used since previous datapoint
occurrences:
- 1
@@ -2153,7 +2153,7 @@ topology_template:
type: string
required: false
vsn_0.memory.resident:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance on the physical machine
occurrences:
- 1
@@ -2211,7 +2211,7 @@ topology_template:
type: string
required: false
vsn_0.memory.usage:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance from the amount of its allocated memory
occurrences:
- 1
@@ -2274,7 +2274,7 @@ topology_template:
- 1
- UNBOUNDED
vfw_0.cpu_util:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average CPU utilization
occurrences:
- 1
@@ -2332,7 +2332,7 @@ topology_template:
type: string
required: false
vpg_0.memory.resident:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance on the physical machine
occurrences:
- 1
diff --git a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-57e66ea70ed645c7970f-template.yml b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-57e66ea70ed645c7970f-template.yml
index b59c85269..4bfd629e9 100644
--- a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-57e66ea70ed645c7970f-template.yml
+++ b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-57e66ea70ed645c7970f-template.yml
@@ -6,7 +6,7 @@ metadata:
description: catalog service description
type: Service
category: Network L1-3
- serviceEcompNaming: false
+ serviceOnapNaming: false
serviceHoming: false
imports:
- eace9331-04d4-43b4-96b8:
@@ -14,7 +14,7 @@ imports:
topology_template:
node_templates:
eace9331-04d4-43b4-96b8 1:
- type: org.openecomp.resource.vf.Eace933104d443b496b8
+ type: org.onap.resource.vf.Eace933104d443b496b8
metadata:
invariantUUID: 06fe411e-d006-4ac3-8b0e-fb4f13cd78d3
UUID: 172ce7c5-c2e4-4f8d-b66c-edb49e8e548a
@@ -25,10 +25,10 @@ topology_template:
category: Generic
subcategory: Abstract
substitution_mappings:
- node_type: org.openecomp.service.57e66ea70ed645c7970f
+ node_type: org.onap.service.57e66ea70ed645c7970f
capabilities:
eace9331-04d4-43b4-96b8 1.memory.resident:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance on the physical machine
occurrences:
- 1
@@ -129,7 +129,7 @@ topology_template:
type: scalar-unit.size
required: false
eace9331-04d4-43b4-96b8 1.instance:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance
occurrences:
- 1
@@ -201,7 +201,7 @@ topology_template:
default_instances:
type: integer
eace9331-04d4-43b4-96b8 1.memory:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM allocated to the instance
occurrences:
- 1
@@ -264,7 +264,7 @@ topology_template:
- 1
- UNBOUNDED
eace9331-04d4-43b4-96b8 1.vcpus:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average disk latency
occurrences:
- 1
@@ -322,7 +322,7 @@ topology_template:
type: string
required: false
eace9331-04d4-43b4-96b8 1.cpu_util:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average CPU utilization
occurrences:
- 1
@@ -380,7 +380,7 @@ topology_template:
type: string
required: false
eace9331-04d4-43b4-96b8 1.cpu.delta:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used since previous datapoint
occurrences:
- 1
@@ -443,7 +443,7 @@ topology_template:
- 1
- UNBOUNDED
eace9331-04d4-43b4-96b8 1.cpu:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used
occurrences:
- 1
@@ -501,7 +501,7 @@ topology_template:
type: string
required: false
eace9331-04d4-43b4-96b8 1.instance:type:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance <type> (OpenStack types)
occurrences:
- 1
@@ -564,7 +564,7 @@ topology_template:
- 0
- UNBOUNDED
eace9331-04d4-43b4-96b8 1.memory.usage:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance from the amount of its allocated memory
occurrences:
- 1
diff --git a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-D473899264974dca9db9-template.yml b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-D473899264974dca9db9-template.yml
index 302cacc0a..2293b3aca 100644
--- a/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-D473899264974dca9db9-template.yml
+++ b/controlloop/common/policy-yaml/src/test/resources/v2.0.0/Demo-1.0.0-HeatTemplates/service-D473899264974dca9db9-template.yml
@@ -6,7 +6,7 @@ metadata:
description: catalog service description
type: Service
category: Network L1-3
- serviceEcompNaming: false
+ serviceOnapNaming: false
serviceHoming: false
imports:
- 59a2ee3f-b580-45fe-b5a1:
@@ -14,7 +14,7 @@ imports:
topology_template:
node_templates:
59a2ee3f-b580-45fe-b5a1 1:
- type: org.openecomp.resource.vf.59a2ee3fB58045feB5a1
+ type: org.onap.resource.vf.59a2ee3fB58045feB5a1
metadata:
invariantUUID: 4b8d4018-068b-4c33-b9bb-d980798e52c2
UUID: d7d28881-b24d-4512-bfee-1e2eb335591f
@@ -25,10 +25,10 @@ topology_template:
category: Generic
subcategory: Abstract
substitution_mappings:
- node_type: org.openecomp.service.D473899264974dca9db9
+ node_type: org.onap.service.D473899264974dca9db9
capabilities:
59a2ee3f-b580-45fe-b5a1 1.memory.resident:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance on the physical machine
occurrences:
- 1
@@ -134,7 +134,7 @@ topology_template:
- 0
- UNBOUNDED
59a2ee3f-b580-45fe-b5a1 1.vcpus:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average disk latency
occurrences:
- 1
@@ -212,7 +212,7 @@ topology_template:
type: scalar-unit.size
required: false
59a2ee3f-b580-45fe-b5a1 1.memory.usage:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM used by the instance from the amount of its allocated memory
occurrences:
- 1
@@ -270,7 +270,7 @@ topology_template:
type: string
required: false
59a2ee3f-b580-45fe-b5a1 1.instance:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance
occurrences:
- 1
@@ -342,7 +342,7 @@ topology_template:
default_instances:
type: integer
59a2ee3f-b580-45fe-b5a1 1.cpu_util:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Average CPU utilization
occurrences:
- 1
@@ -400,7 +400,7 @@ topology_template:
type: string
required: false
59a2ee3f-b580-45fe-b5a1 1.instance:type:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Existence of instance <type> (OpenStack types)
occurrences:
- 1
@@ -458,7 +458,7 @@ topology_template:
type: string
required: false
59a2ee3f-b580-45fe-b5a1 1.cpu.delta:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used since previous datapoint
occurrences:
- 1
@@ -516,7 +516,7 @@ topology_template:
type: string
required: false
59a2ee3f-b580-45fe-b5a1 1.memory:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: Volume of RAM allocated to the instance
occurrences:
- 1
@@ -579,7 +579,7 @@ topology_template:
- 0
- UNBOUNDED
59a2ee3f-b580-45fe-b5a1 1.cpu:
- type: org.openecomp.capabilities.metric.Ceilometer
+ type: org.onap.capabilities.metric.Ceilometer
description: CPU time used
occurrences:
- 1
diff --git a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/pom.xml b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/pom.xml
index c3973a7d9..370431dfb 100644
--- a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/pom.xml
+++ b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/pom.xml
@@ -37,37 +37,37 @@
<dependencies>
<dependency>
- <groupId>org.openecomp.policy.drools-applications</groupId>
+ <groupId>org.onap.policy.drools-applications</groupId>
<artifactId>demo</artifactId>
<version>${dependenciesVersion}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.drools-applications</groupId>
+ <groupId>org.onap.policy.drools-applications</groupId>
<artifactId>controlloop</artifactId>
<version>${dependenciesVersion}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.drools-applications</groupId>
+ <groupId>org.onap.policy.drools-applications</groupId>
<artifactId>rest</artifactId>
<version>${dependenciesVersion}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.drools-applications</groupId>
+ <groupId>org.onap.policy.drools-applications</groupId>
<artifactId>appc</artifactId>
<version>${dependenciesVersion}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.drools-applications</groupId>
+ <groupId>org.onap.policy.drools-applications</groupId>
<artifactId>aai</artifactId>
<version>${dependenciesVersion}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.drools-applications</groupId>
+ <groupId>org.onap.policy.drools-applications</groupId>
<artifactId>mso</artifactId>
<version>${dependenciesVersion}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.drools-applications</groupId>
+ <groupId>org.onap.policy.drools-applications</groupId>
<artifactId>trafficgenerator</artifactId>
<version>${dependenciesVersion}</version>
</dependency>
diff --git a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/config/__artifactId__-controller.rest.json b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/config/__artifactId__-controller.rest.json
index de5db52df..712cf7034 100644
--- a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/config/__artifactId__-controller.rest.json
+++ b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/config/__artifactId__-controller.rest.json
@@ -6,30 +6,30 @@
"ueb.source.topics.${dcaeTopic}.servers": "${dcaeServers}",
"ueb.source.topics.${dcaeTopic}.apiKey": "${dcaeApiKey}",
"ueb.source.topics.${dcaeTopic}.apiSecret": "${dcaeApiSecret}",
- "ueb.source.topics.${dcaeTopic}.events": "org.openecomp.policy.controlloop.VirtualControlLoopEvent",
- "ueb.source.topics.${dcaeTopic}.events.org.openecomp.policy.controlloop.VirtualControlLoopEvent.filter": "closedLoopEventStatus=.*",
- "ueb.source.topics.${dcaeTopic}.events.custom.gson": "org.openecomp.policy.controlloop.util.Serialization,gsonPretty",
+ "ueb.source.topics.${dcaeTopic}.events": "org.onap.policy.controlloop.VirtualControlLoopEvent",
+ "ueb.source.topics.${dcaeTopic}.events.org.onap.policy.controlloop.VirtualControlLoopEvent.filter": "closedLoopEventStatus=.*",
+ "ueb.source.topics.${dcaeTopic}.events.custom.gson": "org.onap.policy.controlloop.util.Serialization,gsonPretty",
"ueb.source.topics.${appcTopic}.servers": "${appcServers}",
"ueb.source.topics.${appcTopic}.apiKey": "${appcApiKey}",
"ueb.source.topics.${appcTopic}.apiSecret": "${appcApiSecret}",
- "ueb.source.topics.${appcTopic}.events": "org.openecomp.policy.appc.Response",
- "ueb.source.topics.${appcTopic}.events.org.openecomp.policy.appc.Response.filter": "CommonHeader=.*,Status=.*",
- "ueb.source.topics.${appcTopic}.events.custom.gson": "org.openecomp.policy.appc.util.Serialization,gsonPretty",
+ "ueb.source.topics.${appcTopic}.events": "org.onap.policy.appc.Response",
+ "ueb.source.topics.${appcTopic}.events.org.onap.policy.appc.Response.filter": "CommonHeader=.*,Status=.*",
+ "ueb.source.topics.${appcTopic}.events.custom.gson": "org.onap.policy.appc.util.Serialization,gsonPretty",
"ueb.sink.topics": "${appcTopic},${notificationTopic}",
"ueb.sink.topics.${appcTopic}.servers": "${appcServers}",
"ueb.sink.topics.${appcTopic}.apiKey": "${appcApiKey}",
"ueb.sink.topics.${appcTopic}.apiSecret": "${appcApiSecret}",
- "ueb.sink.topics.${appcTopic}.events": "org.openecomp.policy.appc.Request",
- "ueb.sink.topics.${appcTopic}.events.custom.gson": "org.openecomp.policy.appc.util.Serialization,gsonPretty",
+ "ueb.sink.topics.${appcTopic}.events": "org.onap.policy.appc.Request",
+ "ueb.sink.topics.${appcTopic}.events.custom.gson": "org.onap.policy.appc.util.Serialization,gsonPretty",
"ueb.sink.topics.${notificationTopic}.servers": "${notificationServers}",
"ueb.sink.topics.${notificationTopic}.apiKey": "${notificationApiKey}",
"ueb.sink.topics.${notificationTopic}.apiSecret": "${notificationApiSecret}",
- "ueb.sink.topics.${notificationTopic}.events": "org.openecomp.policy.controlloop.VirtualControlLoopNotification",
- "ueb.sink.topics.${notificationTopic}.events.custom.gson": "org.openecomp.policy.controlloop.util.Serialization,gsonPretty",
+ "ueb.sink.topics.${notificationTopic}.events": "org.onap.policy.controlloop.VirtualControlLoopNotification",
+ "ueb.sink.topics.${notificationTopic}.events.custom.gson": "org.onap.policy.controlloop.util.Serialization,gsonPretty",
"rules.groupId": "${groupId}",
"rules.artifactId": "${artifactId}",
diff --git a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl
index 98b7b060c..ff5d82e5e 100644
--- a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl
+++ b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl
@@ -78,7 +78,7 @@ import org.onap.policy.mso.MSORelatedInstanceListElement;
import org.onap.policy.mso.MSORelatedInstance;
import org.onap.policy.mso.MSOResponse;
-import org.openecomp.policy.drools.system.PolicyEngine;
+import org.onap.policy.drools.system.PolicyEngine;
//
// These parameters are required to build the runtime policy
diff --git a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/test/resources/projects/basic/archetype.properties b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/test/resources/projects/basic/archetype.properties
index 6dce9747d..0b077b052 100644
--- a/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/test/resources/projects/basic/archetype.properties
+++ b/controlloop/templates/template.demo.v1.0.0/archetype-closedloop-demo-rules/src/test/resources/projects/basic/archetype.properties
@@ -18,10 +18,10 @@
# ============LICENSE_END=========================================================
###
-groupId=org.openecomp.policy.demo.drools
+groupId=org.onap.policy.demo.drools
artifactId=closedloop-demo-rules
version=1.0.0-SNAPSHOT
-package=org.openecomp.policy.demo.drools
+package=org.onap.policy.demo.drools
closedLoopControlName=CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8
policyScope=service=test;resource=FRWL;type=configuration
policyName=FirewallDemo
diff --git a/controlloop/templates/template.demo.v1.0.0/template.demo/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl b/controlloop/templates/template.demo.v1.0.0/template.demo/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl
index 4ac822661..2f1155e56 100644
--- a/controlloop/templates/template.demo.v1.0.0/template.demo/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl
+++ b/controlloop/templates/template.demo.v1.0.0/template.demo/src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl
@@ -78,7 +78,6 @@ import org.onap.policy.mso.MSORelatedInstanceListElement;
import org.onap.policy.mso.MSORelatedInstance;
import org.onap.policy.mso.MSOResponse;
-//import org.openecomp.policy.drools.system.PolicyEngine;
//
// These parameters are required to build the runtime policy
diff --git a/controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1610_v1.1_xacml_guard.drl b/controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1610_v1.1_xacml_guard.drl
deleted file mode 100644
index a743502ce..000000000
--- a/controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1610_v1.1_xacml_guard.drl
+++ /dev/null
@@ -1,867 +0,0 @@
-/*
- * AT&T - PROPRIETARY
- * THIS FILE CONTAINS PROPRIETARY INFORMATION OF
- * AT&T AND IS NOT TO BE DISCLOSED OR USED EXCEPT IN
- * ACCORDANCE WITH APPLICABLE AGREEMENTS.
- *
- * Copyright (c) 2016 AT&T Knowledge Ventures
- * Unpublished and Not for Publication
- * All Rights Reserved
- */
-package com.att.ecomp.policy.controlloop;
-
-import com.att.ecomp.policy.controlloop.ATTControlLoopEvent;
-import org.openecomp.policy.controlloop.VirtualControlLoopEvent;
-import org.openecomp.policy.controlloop.VirtualControlLoopNotification;
-import org.openecomp.policy.controlloop.ControlLoopEventStatus;
-import com.att.ecomp.policy.controlloop.ATTControlLoopNotification;
-import org.openecomp.policy.controlloop.ControlLoopNotificationType;
-import com.att.ecomp.policy.controlloop.ControlLoopLogger;
-import com.att.ecomp.policy.controlloop.policy.PolicyResult;
-import com.att.ecomp.policy.controlloop.eventmanager.ControlLoopEventManager;
-import com.att.ecomp.policy.controlloop.eventmanager.ControlLoopEventManager.NEW_EVENT_STATUS;
-import com.att.ecomp.policy.controlloop.eventmanager.ControlLoopOperationManager;
-import org.openecomp.policy.appc.Request;
-import org.openecomp.policy.appc.Response;
-import org.openecomp.policy.appc.CommonHeader;
-import com.att.ecomp.policy.guard.PolicyGuard;
-import com.att.ecomp.policy.guard.PolicyGuard.LockResult;
-import com.att.ecomp.policy.guard.TargetLock;
-import com.att.ecomp.policy.guard.GuardResult;
-import com.att.ecomp.policy.guard.PolicyGuardRequest;
-import com.att.ecomp.policy.guard.PolicyGuardResponse;
-import com.att.ecomp.policy.guard.PolicyGuardXacmlRequestAttributes;
-import com.att.research.xacml.api.pdp.PDPEngine;
-import com.att.research.xacml.std.annotations.RequestParser;
-import com.att.ecomp.policy.guard.PolicyGuardXacmlHelper;
-
-//
-// REPLACE THESE WITH PRODUCTION VERSIONS
-//
-import com.att.ecomp.policy.controlloop.ControlLoopLogger;
-import com.att.ecomp.policy.drools.PolicyEngine;
-
-global ControlLoopLogger Logger;
-global PolicyEngine Engine;
-global PDPEngine XacmlPdpEngine;
-
-import java.time.Instant;
-import java.util.LinkedList;
-import java.util.Iterator;
-
-declare Params
- closedLoopControlName : String
- controlLoopYaml : String
-end
-
-declare OperationTimer
- closedLoopControlName : String
- requestID : String
- delay : String
-end
-
-declare ControlLoopTimer
- closedLoopControlName : String
- requestID : String
- delay : String
-end
-
-
-/*
-*
-* Called once and only once to insert the parameters into working memory for this Closed Loop policy.
-*
-*/
-rule "${policyName}.SETUP"
- when
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Params params = new Params();
- params.setClosedLoopControlName("${closedLoopControlName}");
- params.setControlLoopYaml("${controlLoopYaml}");
- insert(params);
- Logger.metrics("Inserted " + params);
- Logger.info("------------------------------------------------------------------------------------------------");
-end
-
-/*
-*
-* This rule responds to DCAE Events where there is no manager yet. Either it is
-* the first ONSET, or a subsequent badly formed Event (i.e. Syntax error, or is-closed-loop-disabled)
-*
-*/
-rule "${policyName}.EVENT"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- not ( ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID ) )
- then
- try {
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- //
- // Check the event, because we need it to not be null when
- // we create the ControlLoopEventManager. The ControlLoopEventManager
- // will do extra syntax checking as well check if the closed loop is disabled.
- //
- if ($event.requestID == null) {
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.REJECTED;
- notification.from = "policy";
- notification.message = "Missing requestID";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Retract it from memory
- //
- retract($event);
- } else {
- //
- // Create an EventManager
- //
- ControlLoopEventManager manager = new ControlLoopEventManager($params.getClosedLoopControlName(), $event.requestID);
- //
- // Determine if EventManager can actively process the event (i.e. syntax, is_closed_loop_disabled checks etc.)
- //
- VirtualControlLoopNotification notification = manager.activate($params.getControlLoopYaml(), $event);
- notification.from = "pdp-0001-controller=controlloop"; // Engine.getInstanceName()
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // Are we actively pursuing this event?
- //
- if (notification.notification == ControlLoopNotificationType.ACTIVE) {
- //
- // Insert Event Manager into memory, this will now kick off processing.
- //
- insert(manager);
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Setup the Overall Control Loop timer
- //
- ControlLoopTimer clTimer = new ControlLoopTimer();
- clTimer.setClosedLoopControlName($event.closedLoopControlName);
- clTimer.setRequestID($event.requestID.toString());
- clTimer.setDelay(manager.getControlLoopTimeout(1500) + "s");
- //
- // Insert it
- //
- insert(clTimer);
- } else {
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Retract it from memory
- //
- retract($event);
- }
- //
- // Now that the manager is inserted into Drools working memory, we'll wait for
- // another rule to fire in order to continue processing. This way we can also
- // then screen for additional ONSET and ABATED events for this RequestID.
- //
- }
- } catch (Exception e) {
- e.printStackTrace();
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.REJECTED;
- notification.message = "Exception occurred " + e.getMessage();
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- //
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Retract the event
- //
- retract($event);
- }
-end
-
-/*
-*
-* This rule happens when we got a valid ONSET, closed loop is enabled and an Event Manager
-* is now created. We can start processing the yaml specification via the Event Manager.
-*
-*/
-rule "${policyName}.EVENT.MANAGER"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $clTimer : ControlLoopTimer ( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($event);
- Logger.metrics($manager);
- Logger.metrics($clTimer);
- //
- // Check which event this is.
- //
- ControlLoopEventManager.NEW_EVENT_STATUS eventStatus = $manager.onNewEvent($event);
- Logger.info("Event status is " + eventStatus);
- //
- // Check what kind of event this is
- //
- if (eventStatus == NEW_EVENT_STATUS.SUBSEQUENT_ONSET) {
- //
- // We don't care about subsequent onsets
- //
- Logger.info("Retracting Subsequent Onset " + $event);
- retract($event);
- return;
- }
- if (eventStatus == NEW_EVENT_STATUS.SYNTAX_ERROR) {
- //
- // Ignore any bad syntax events
- //
- Logger.info("Retracting Bad Syntax Event " + $event);
- retract($event);
- return;
- }
- //
- // We only want the initial ONSET event in memory,
- // all the other events need to be retracted to support
- // cleanup and avoid the other rules being fired for this event.
- //
- if (eventStatus != NEW_EVENT_STATUS.FIRST_ONSET) {
- Logger.info("Retracting Event " + $event);
- retract($event);
- }
- Logger.info("Checking due to new event " + $event.triggerID);
- //
- // Now start seeing if we need to process this event
- //
- try {
- //
- // Check if this is a Final Event
- //
- ATTControlLoopNotification notification = $manager.isControlLoopFinal();
-
-
- if (notification != null) {
- //
- // Its final, but are we waiting for abatement?
- //
- if ($manager.getNumAbatements() > 0) {
- Logger.info("Abatement received, close out the control loop for " + $event.requestID);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // In this case, we are done
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Unlock the target
- //
- TargetLock lock = $manager.unlockCurrentOperation();
- if (lock != null) {
- System.out.println("retracting lock " + lock);
- retract(lock);
- }
- //
- // Retract everything from memory
- //
- System.out.println("retracting onset");
- retract($manager.getOnsetEvent());
- retract($manager);
- retract($clTimer);
- //
- // TODO - what if we get subsequent Events for this RequestID?
- // By default, it will all start over again. May be confusing for Ruby.
- // Or, we could track this and then subsequently ignore the events
- //
- } else {
- //
- // Check whether we need to wait for abatement
- //
- if ($manager.getProcessor().getControlLoop().abatement == true && notification.notification == ControlLoopNotificationType.FINAL_SUCCESS) {
- Logger.info("Waiting for abatement.");
- } else {
- Logger.info("No abatement is promised to come, close out the control loop for " + $event.requestID);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // In this case, we are done
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Unlock the target
- //
- TargetLock lock = $manager.unlockCurrentOperation();
- if (lock != null) {
- System.out.println("retracting lock " + lock);
- retract(lock);
- }
- //
- // Retract everything from memory
- //
- System.out.println("retracting onset");
- retract($manager.getOnsetEvent());
- retract($manager);
- retract($clTimer);
- }
- }
- } else {
- //
- // NOT final, so let's ask for the next operation
- //
- ControlLoopOperationManager operation = $manager.processControlLoop();
- if (operation != null) {
- Logger.info("starting a new operation" + operation);
- //
- // insert into memory
- //
- insert(operation);
- //
- // insert operation timeout object
- //
- OperationTimer opTimer = new OperationTimer();
- opTimer.setClosedLoopControlName($event.closedLoopControlName);
- opTimer.setRequestID($event.requestID.toString());
- opTimer.setDelay(operation.getOperationTimeout().toString() + "s");
- insert(opTimer);
-
- //
- // Let's ask for a lock right away
- //
- LockResult<GuardResult, TargetLock> result = $manager.lockCurrentOperation();
- if (result.getA().equals(GuardResult.LOCK_ACQUIRED)) {
- Logger.info("manager returned lock " + result.getB());
- //
- // Insert into memory
- //
- insert(result.getB());
- }
- } else {
- //
- // Probably waiting for abatement
- //
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- /*
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.REJECTED;
- notification.from = "policy";
- notification.message = "Exception occurred " + e.getMessage();
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- //
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // TODO should we abort if we get an exception?
- //
- */
- }
-
-end
-
-/*
-*
-*
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.NOT_LOCKED.TIMEOUT"
- timer (int: 5s 5s)
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- not ( TargetLock (requestID == $event.requestID) )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- //
- // Need to ask for a Lock
- //
- LockResult<GuardResult, TargetLock> result = $manager.lockCurrentOperation();
- if (result.getA().equals(GuardResult.LOCK_ACQUIRED)) {
- Logger.info("Lock acquired: " + result.getB());
- //
- // Insert into memory
- //
- insert(result.getB());
- }
-end
-
-/*
-*
-*
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.LOCKED.GUARD_PERMITTED"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID, getGuardApprovalStatus() == "Permit" )
- $lock : TargetLock (requestID == $event.requestID)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($lock);
- //
- // Start the Operation
- //
- //Object request = $operation.startOperation($event);
- //$operation.startOperation($event);
- Object request = $operation.getOperationRequest();
-
- if (request != null) {
- Logger.info("Starting operation");
- //
- // Tell interested parties we are performing this Operation
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.OPERATION;
- notification.message = $operation.getOperationMessage();
- notification.history = $operation.getHistory();
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Send the APPC request
- //
- if (request instanceof Request) {
- Engine.deliver("UEB", "APPC-CL", request);
- }
- //
- // TODO: send different types of requests
- //
-
- } else {
- //
- // What happens if its null?
- //
- }
-end
-
-
-/*
-*
-*
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.LOCKED.GUARD_NOT_YET_QUERIED"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID, getGuardApprovalStatus() == "NONE" )
- $lock : TargetLock (requestID == $event.requestID)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($lock);
-
- $operation.startOperation($event);
- //
- // Now send Guard Request to XACML Guard
- //
- PolicyGuardXacmlRequestAttributes xacmlReq = new PolicyGuardXacmlRequestAttributes($operation.policy.actor.toString(), $operation.policy.recipe, $event.target, $event.requestID.toString());
- //Engine.deliver("UEB", "GUARD-CL", xacmlReq/*request*/);
- System.out.println("\n********** XACML REQUEST START ********");
- System.out.println(RequestParser.parseRequest(xacmlReq));
- System.out.println("********** XACML REQUEST END ********\n");
-
- com.att.research.xacml.api.Response xacmlResponse = PolicyGuardXacmlHelper.callPDP(XacmlPdpEngine, "", (com.att.research.xacml.api.Request) RequestParser.parseRequest(xacmlReq), false);
-
- System.out.println("\n********** XACML RESPONSE 1 START ********");
- System.out.println(xacmlResponse);
- System.out.println("********** XACML RESPONSE 1 END ********\n");
-
- PolicyGuardResponse guardResponse = PolicyGuardXacmlHelper.ParseXacmlPdpResponse(xacmlResponse);
- System.out.println("\n\n============ Guard inserted with decision "+ guardResponse.result + " !!! ===========\n\n");
-
-
- insert(guardResponse);
-
-end
-
-
-
-rule "${policyName}.GUARD.RESPONSE"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName(), closedLoopEventStatus == ControlLoopEventStatus.ONSET )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- $lock : TargetLock (requestID == $event.requestID)
- $opTimer : OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() )
- $guardResponse : PolicyGuardResponse(/*requestID == $event.requestID, $operation.policy.recipe == operation*/)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($event);
- Logger.metrics($operation);
- Logger.metrics($lock);
- Logger.metrics($guardResponse);
-
-
- //we will permit the operation if there was no Guard for it
- if($guardResponse.result == "Indeterminate"){
- $guardResponse.result = "Permit";
- }
-
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.OPERATION;
- notification.message = $operation.getOperationMessage($guardResponse.result);//"Guard result: " + $guardResponse.result;
- notification.history = $operation.getHistory();
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
-
-
-
- if($guardResponse.result == "Permit"){
-
- modify($operation){setGuardApprovalStatus($guardResponse.result)};
- }
- else {
- //This is the Deny case
- $operation.setOperationHasGuardDeny();
- retract($opTimer);
- retract($operation);
- modify($manager) {finishOperation($operation)};
- }
-
- retract($guardResponse);
-
-end
-
-
-
-
-/*
-*
-* This rule responds to APPC Response Events
-*
-* I would have like to be consistent and write the Response like this:
-* $response : Response( CommonHeader.RequestID == $onset.requestID )
-*
-* However, no compile error was given. But a runtime error was given. I think
-* because drools is confused between the classname CommonHeader vs the property CommonHeader.
-*
-*/
-rule "${policyName}.APPC.RESPONSE"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName(), closedLoopEventStatus == ControlLoopEventStatus.ONSET )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- $opTimer : OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() )
- $lock : TargetLock (requestID == $event.requestID)
- $response : Response( getCommonHeader().RequestID == $event.requestID )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($event);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($opTimer);
- Logger.metrics($lock);
- Logger.metrics($response);
- //
- // Get the result of the operation
- //
- PolicyResult policyResult = $operation.onResponse($response);
- if (policyResult != null) {
- Logger.info("operation finished with result: " + policyResult);
- //
- // This Operation has completed, construct a notification showing our results
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- notification.message = $operation.getOperationHistory();
- notification.history = $operation.getHistory();
- if (policyResult.equals(PolicyResult.SUCCESS)) {
- notification.notification = ControlLoopNotificationType.OPERATION_SUCCESS;
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- } else {
- notification.notification = ControlLoopNotificationType.OPERATION_FAILURE;
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- }
- //
- // Ensure the operation is complete
- //
- if ($operation.isOperationComplete() == true) {
- //
- // It is complete, remove it from memory
- //
- retract($operation);
- //
- // We must also retract the timer object
- // NOTE: We could write a Rule to do this
- //
- retract($opTimer);
- //
- // Complete the operation
- //
- modify($manager) {finishOperation($operation)};
- } else {
- //
- // Just doing this will kick off the LOCKED rule again
- //
- modify($operation) {};
- }
- } else {
- //
- // Its not finished yet (i.e. expecting more Response objects)
- //
- // Or possibly it is a leftover response that we timed the request out previously
- //
- }
- //
- // We are going to retract these objects from memory
- //
- retract($response);
-end
-
-/*
-*
-* The problem with Responses is that they don't have a controlLoopControlName
-* field in them, so the only way to attach them is via RequestID. If we have multiple
-* control loop .drl's loaded in the same container, we need to be sure the cleanup
-* rules don't remove Responses for other control loops.
-*
-*/
-rule "${policyName}.APPC.RESPONSE.CLEANUP"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $response : Response($id : getCommonHeader().RequestID )
- not ( ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName(), requestID == $id, closedLoopEventStatus == ControlLoopEventStatus.ONSET ) )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- //
- // Retract it
- //
- retract($response);
-end
-/*
-*
-* This is the timer that manages the timeout for an individual operation.
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.TIMEOUT"
- timer (expr: $to )
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- $opTimer : OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString(), $to : getDelay() )
- $lock : TargetLock (requestID == $event.requestID)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($opTimer);
- Logger.metrics($lock);
- //
- // Tell it its timed out
- //
- $operation.setOperationHasTimedOut();
- //
- // Create a notification for it
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- notification.notification = ControlLoopNotificationType.OPERATION_FAILURE;
- notification.message = $operation.getOperationHistory();
- notification.history = $operation.getHistory();
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Get rid of the timer
- //
- retract($opTimer);
- //
- // Ensure the operation is complete
- //
- if ($operation.isOperationComplete() == true) {
- //
- // It is complete, remove it from memory
- //
- retract($operation);
- //
- // Complete the operation
- //
- modify($manager) {finishOperation($operation)};
- } else {
- //
- // Just doing this will kick off the LOCKED rule again
- //
- modify($operation) {};
- }
-end
-
-/*
-*
-* This is the timer that manages the overall control loop timeout.
-*
-*/
-rule "${policyName}.EVENT.MANAGER.TIMEOUT"
- timer (expr: $to )
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $clTimer : ControlLoopTimer ( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString(), $to : getDelay() )
- $operations : LinkedList()
- from collect( ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID ) )
- $opTimers : LinkedList()
- from collect( OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() ) )
- $locks : LinkedList()
- from collect( TargetLock (requestID == $event.requestID) )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($clTimer);
- if ($operations == null) {
- Logger.info("no operations found");
- } else {
- Logger.info("found " + $operations.size() + " operations");
- }
- //
- // Tell the Event Manager it has timed out
- //
- VirtualControlLoopNotification notification = $manager.setControlLoopTimedOut();
- if (notification != null) {
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- }
- //
- // Retract EVERYTHING
- //
- retract($event);
- retract($manager);
- retract($clTimer);
- if ($operations != null && $operations.size() > 0) {
- Iterator<ControlLoopOperationManager> iter = $operations.iterator();
- while (iter.hasNext()) {
- ControlLoopOperationManager manager = iter.next();
- retract(manager);
- }
- }
- if ($opTimers != null && $opTimers.size() > 0) {
- Iterator<OperationTimer> iter = $opTimers.iterator();
- while (iter.hasNext()) {
- OperationTimer opTimer = iter.next();
- retract(opTimer);
- }
- }
- if ($locks != null && $locks.size() > 0) {
- Iterator<TargetLock> iter = $locks.iterator();
- while (iter.hasNext()) {
- TargetLock lock = iter.next();
- //
- // Ensure we release the lock
- //
- PolicyGuard.unlockTarget(lock);
- //
- //
- //
- retract(lock);
- }
- }
-end
diff --git a/controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1707_xacml_guard_enodeb.drl b/controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1707_xacml_guard_enodeb.drl
deleted file mode 100644
index b4f160951..000000000
--- a/controlloop/templates/template.demo/src/main/resources/old/ControlLoop_Template_1707_xacml_guard_enodeb.drl
+++ /dev/null
@@ -1,952 +0,0 @@
-/*
- * AT&T - PROPRIETARY
- * THIS FILE CONTAINS PROPRIETARY INFORMATION OF
- * AT&T AND IS NOT TO BE DISCLOSED OR USED EXCEPT IN
- * ACCORDANCE WITH APPLICABLE AGREEMENTS.
- *
- * Copyright (c) 2016 AT&T Knowledge Ventures
- * Unpublished and Not for Publication
- * All Rights Reserved
- */
-package com.att.ecomp.policy.controlloop;
-
-import com.att.ecomp.policy.controlloop.ATTControlLoopEvent;
-import org.openecomp.policy.controlloop.VirtualControlLoopEvent;
-import org.openecomp.policy.controlloop.VirtualControlLoopNotification;
-import org.openecomp.policy.controlloop.ControlLoopEventStatus;
-import com.att.ecomp.policy.controlloop.ATTControlLoopNotification;
-import org.openecomp.policy.controlloop.ControlLoopNotificationType;
-import com.att.ecomp.policy.controlloop.ControlLoopLogger;
-import com.att.ecomp.policy.controlloop.policy.PolicyResult;
-import com.att.ecomp.policy.controlloop.eventmanager.ControlLoopEventManager;
-import com.att.ecomp.policy.controlloop.eventmanager.ControlLoopEventManager.NEW_EVENT_STATUS;
-import com.att.ecomp.policy.controlloop.eventmanager.ControlLoopOperationManager;
-import org.openecomp.policy.appc.Request;
-import org.openecomp.policy.appc.Response;
-import org.openecomp.policy.appc.CommonHeader;
-import com.att.ecomp.policy.guard.PolicyGuard;
-import com.att.ecomp.policy.guard.PolicyGuard.LockResult;
-import com.att.ecomp.policy.guard.TargetLock;
-import com.att.ecomp.policy.guard.GuardResult;
-import com.att.ecomp.policy.guard.PolicyGuardRequest;
-import com.att.ecomp.policy.guard.PolicyGuardResponse;
-import com.att.ecomp.policy.guard.PolicyGuardXacmlRequestAttributes;
-import com.att.research.xacml.api.pdp.PDPEngine;
-import com.att.research.xacml.std.annotations.RequestParser;
-import com.att.ecomp.policy.guard.PolicyGuardXacmlHelper;
-import com.att.ecomp.policy.controlloop.policy.ControlLoopPolicy;
-import com.att.ecomp.policy.controlloop.policy.Policy;
-import java.net.URLDecoder;
-import org.eclipse.persistence.exceptions.DatabaseException;
-
-//
-// REPLACE THESE WITH PRODUCTION VERSIONS
-//
-import com.att.ecomp.policy.controlloop.ControlLoopLogger;
-import com.att.ecomp.policy.drools.PolicyEngine;
-import org.yaml.snakeyaml.Yaml;
-import org.yaml.snakeyaml.constructor.Constructor;
-
-global ControlLoopLogger Logger;
-global PolicyEngine Engine;
-global PDPEngine XacmlPdpEngine;
-
-import java.time.Instant;
-import java.util.LinkedList;
-import java.util.Iterator;
-
-declare Params
- closedLoopControlName : String
- controlLoopYaml : String
-end
-
-declare EnbParams
- enbOperationsPeriodicTimer : String
-end
-
-
-declare OperationTimer
- closedLoopControlName : String
- requestID : String
- delay : String
-end
-
-declare ControlLoopTimer
- closedLoopControlName : String
- requestID : String
- delay : String
-end
-
-
-/*
-*
-* Called once and only once to insert the parameters into working memory for this Closed Loop policy.
-*
-*/
-rule "${policyName}.SETUP"
- when
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Params params = new Params();
- params.setClosedLoopControlName("${closedLoopControlName}");
- params.setControlLoopYaml("${controlLoopYaml}");
- insert(params);
- Logger.metrics("Inserted " + params);
- Logger.info("------------------------------------------------------------------------------------------------");
- EnbParams enbParams = new EnbParams();
-
- //
- //Fetching the eNodeB timer from the Yaml
- //
- Yaml yaml = new Yaml(new Constructor(ControlLoopPolicy.class));
- Object obj = yaml.load(URLDecoder.decode(params.getControlLoopYaml(), "UTF-8"));
-
- enbParams.setEnbOperationsPeriodicTimer("0s");
- for(Policy policy : ((ControlLoopPolicy)obj).policies){
- if(policy.actor.equals("APPC")){
- if(policy.payload != null){
- if(policy.payload.containsKey("enbOperationPeriodicTimer")){
- enbParams.setEnbOperationsPeriodicTimer(policy.payload.get("enbOperationPeriodicTimer"));
- }
- }
- break;
- }
- }
- insert(enbParams);
- System.out.println("################ got timer: " + enbParams.getEnbOperationsPeriodicTimer());
-
-end
-
-/*
-*
-* This rule responds to DCAE Events where there is no manager yet. Either it is
-* the first ONSET, or a subsequent badly formed Event (i.e. Syntax error, or is-closed-loop-disabled)
-*
-*/
-rule "${policyName}.EVENT"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- not ( ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID ) )
- then
- try {
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- //
- // Check the event, because we need it to not be null when
- // we create the ControlLoopEventManager. The ControlLoopEventManager
- // will do extra syntax checking as well check if the closed loop is disabled.
- //
- if ($event.requestID == null) {
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.REJECTED;
- notification.from = "policy";
- notification.message = "Missing requestID";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Retract it from memory
- //
- retract($event);
- } else {
- //
- // Create an EventManager
- //
- ControlLoopEventManager manager = new ControlLoopEventManager($params.getClosedLoopControlName(), $event.requestID);
- //
- // Determine if EventManager can actively process the event (i.e. syntax, is_closed_loop_disabled checks etc.)
- //
- VirtualControlLoopNotification notification = manager.activate($params.getControlLoopYaml(), $event);
- notification.from = "pdp-0001-controller=controlloop"; // Engine.getInstanceName()
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // Are we actively pursuing this event?
- //
- if (notification.notification == ControlLoopNotificationType.ACTIVE) {
- //
- // Insert Event Manager into memory, this will now kick off processing.
- //
- insert(manager);
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Setup the Overall Control Loop timer
- //
- ControlLoopTimer clTimer = new ControlLoopTimer();
- clTimer.setClosedLoopControlName($event.closedLoopControlName);
- clTimer.setRequestID($event.requestID.toString());
- clTimer.setDelay(manager.getControlLoopTimeout(1500) + "s");
- //
- // Insert it
- //
- insert(clTimer);
- } else {
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Retract it from memory
- //
- retract($event);
- }
- //
- // Now that the manager is inserted into Drools working memory, we'll wait for
- // another rule to fire in order to continue processing. This way we can also
- // then screen for additional ONSET and ABATED events for this RequestID.
- //
- }
- } catch (Exception e) {
- e.printStackTrace();
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.REJECTED;
- notification.message = "Exception occurred " + e.getMessage();
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- //
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Retract the event
- //
- retract($event);
- }
-end
-
-/*
-*
-* This rule happens when we got a valid ONSET, closed loop is enabled and an Event Manager
-* is now created. We can start processing the yaml specification via the Event Manager.
-*
-*/
-rule "${policyName}.EVENT.MANAGER"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $clTimer : ControlLoopTimer ( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($event);
- Logger.metrics($manager);
- Logger.metrics($clTimer);
- //
- // Check which event this is.
- //
- ControlLoopEventManager.NEW_EVENT_STATUS eventStatus = $manager.onNewEvent($event);
- Logger.info("Event status is " + eventStatus);
- //
- // Check what kind of event this is
- //
- if (eventStatus == NEW_EVENT_STATUS.SUBSEQUENT_ONSET) {
- //
- // We don't care about subsequent onsets
- //
- Logger.info("Retracting Subsequent Onset " + $event);
- retract($event);
- return;
- }
- if (eventStatus == NEW_EVENT_STATUS.SYNTAX_ERROR) {
- //
- // Ignore any bad syntax events
- //
- Logger.info("Retracting Bad Syntax Event " + $event);
- retract($event);
- return;
- }
- //
- // We only want the initial ONSET event in memory,
- // all the other events need to be retracted to support
- // cleanup and avoid the other rules being fired for this event.
- //
- if (eventStatus != NEW_EVENT_STATUS.FIRST_ONSET) {
- Logger.info("Retracting Event " + $event);
- retract($event);
- }
- Logger.info("Checking due to new event " + $event.triggerID);
- //
- // Now start seeing if we need to process this event
- //
- try {
- //
- // Check if this is a Final Event
- //
- ATTControlLoopNotification notification = $manager.isControlLoopFinal();
-
-
- if (notification != null) {
- //
- // Its final, but are we waiting for abatement?
- //
- if ($manager.getNumAbatements() > 0) {
- Logger.info("Abatement received, close out the control loop for " + $event.requestID);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // In this case, we are done
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Unlock the target
- //
- TargetLock lock = $manager.unlockCurrentOperation();
- if (lock != null) {
- System.out.println("retracting lock " + lock);
- retract(lock);
- }
- //
- // Retract everything from memory
- //
- System.out.println("retracting onset");
- retract($manager.getOnsetEvent());
- retract($manager);
- retract($clTimer);
- //
- // TODO - what if we get subsequent Events for this RequestID?
- // By default, it will all start over again. May be confusing for Ruby.
- // Or, we could track this and then subsequently ignore the events
- //
- } else {
- //
- // Check whether we need to wait for abatement
- //
- if ($manager.getProcessor().getControlLoop().abatement == true && notification.notification == ControlLoopNotificationType.FINAL_SUCCESS) {
- Logger.info("Waiting for abatement.");
- } else {
- Logger.info("No abatement is promised to come, close out the control loop for " + $event.requestID);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // In this case, we are done
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Unlock the target
- //
- TargetLock lock = $manager.unlockCurrentOperation();
- if (lock != null) {
- System.out.println("retracting lock " + lock);
- retract(lock);
- }
- //
- // Retract everything from memory
- //
- System.out.println("retracting onset");
- retract($manager.getOnsetEvent());
- retract($manager);
- retract($clTimer);
- }
- }
- } else {
- //
- // NOT final, so let's ask for the next operation
- //
- ControlLoopOperationManager operation = $manager.processControlLoop();
- if (operation != null) {
- Logger.info("starting a new operation" + operation);
- //
- // insert into memory
- //
- insert(operation);
- //
- // insert operation timeout object
- //
- OperationTimer opTimer = new OperationTimer();
- opTimer.setClosedLoopControlName($event.closedLoopControlName);
- opTimer.setRequestID($event.requestID.toString());
- opTimer.setDelay(operation.getOperationTimeout().toString() + "s");
- insert(opTimer);
-
- //
- // Let's ask for a lock right away
- //
- LockResult<GuardResult, TargetLock> result = $manager.lockCurrentOperation();
- if (result.getA().equals(GuardResult.LOCK_ACQUIRED)) {
- Logger.info("manager returned lock " + result.getB());
- //
- // Insert into memory
- //
- insert(result.getB());
- }
- } else {
- //
- // Probably waiting for abatement
- //
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- /*
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.REJECTED;
- notification.from = "policy";
- notification.message = "Exception occurred " + e.getMessage();
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- //
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // TODO should we abort if we get an exception?
- //
- */
- }
-
-end
-
-/*
-*
-*
-*
-*/
-rule "${policyName}.PERIODIC_CHECK_OF_PENDING_ENB_OPERATIONS"
- timer (expr: "0s", $t)
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $enbParams : EnbParams($t : getEnbOperationsPeriodicTimer())
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $operations : LinkedList(size() > 0)
- from collect( ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName) )
-
- then
- System.out.println(drools.getRule().getName() + " ********** operations size: " + $operations.size());
- //System.out.println(drools.getRule().getName());
- //The limt of 5 should also be defined in Yaml.
-end
-
-
-/*
-*
-*
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.NOT_LOCKED.TIMEOUT"
- timer (int: 5s 5s)
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- not ( TargetLock (requestID == $event.requestID) )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- //
- // Need to ask for a Lock
- //
- LockResult<GuardResult, TargetLock> result = $manager.lockCurrentOperation();
- if (result.getA().equals(GuardResult.LOCK_ACQUIRED)) {
- Logger.info("Lock acquired: " + result.getB());
- //
- // Insert into memory
- //
- insert(result.getB());
- }
-end
-
-/*
-*
-* Guard Permitted, let's send request to the actor.
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.LOCKED.GUARD_PERMITTED"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID, getGuardApprovalStatus() == "Permit" )
- $lock : TargetLock (requestID == $event.requestID)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($lock);
-
-
- Object request = $operation.getOperationRequest();
-
- if (request != null) {
- Logger.info("Starting operation");
- //
- // Tell interested parties we are performing this Operation
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.OPERATION;
- notification.message = $operation.getOperationMessage();
- notification.history = $operation.getHistory();
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
-
- switch ($operation.policy.actor){
-
- case "APPC":
-
- if (request instanceof Request) {
- Engine.deliver("UEB", "APPC-CL", request);
- }
- case "SDNR":
- default:
- }
-
-
- } else {
- //
- // What happens if its null?
- //
- }
-end
-
-
-/*
-*
-* We were able to acquire a lock so now let's ask Xacml Guard whether we are allowed to proceed with the request to the actor.
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.LOCKED.GUARD_NOT_YET_QUERIED"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID, getGuardApprovalStatus() == "NONE" )
- $lock : TargetLock (requestID == $event.requestID)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($lock);
-
-
-
-
- //
- // We are starting the operation but the actor won't be contacted until Guard is queried and permitted.
- //
- $operation.startOperation($event);
-
- //
- // Sending notification that we are about to query Guard ("DB write - start operation")
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.OPERATION;
- notification.message = $operation.getOperationMessage();
- notification.history = $operation.getHistory();
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
-
- //
- // Now send Guard Request to XACML Guard. In order to bypass the call to Guard, just change guardEnabled to false.
- //
- // In order to use REST XACML, provide a URL instead of "" as a second argument o the CallGuardTask() and set the first
- // argument to null (instead of XacmlPdpEngine).
- //
- boolean guardEnabled = true;
-
- if(guardEnabled){
-
- Thread t = new Thread(new com.att.ecomp.policy.guard.CallGuardTask(
- XacmlPdpEngine,
- "",
- drools.getWorkingMemory(),
- $operation.policy.actor.toString(),
- $operation.policy.recipe,
- $event.target,
- $event.requestID.toString()
- ));
- t.start();
- }
- else{
- insert(new PolicyGuardResponse("Permit", $event.requestID, $operation.policy.recipe));
- }
-
-
-
-
-end
-
-//
-//This rule will be triggered when a thread talking to the XACML Guard inserts a guardResponse object into the working memory
-//
-rule "${policyName}.GUARD.RESPONSE"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName(), closedLoopEventStatus == ControlLoopEventStatus.ONSET )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- $lock : TargetLock (requestID == $event.requestID)
- $opTimer : OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() )
- $guardResponse : PolicyGuardResponse(requestID == $event.requestID, $operation.policy.recipe == operation)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($event);
- Logger.metrics($operation);
- Logger.metrics($lock);
- Logger.metrics($guardResponse);
-
-
- //we will permit the operation if there was no Guard for it
- if($guardResponse.result == "Indeterminate"){
- $guardResponse.result = "Permit";
- }
-
- //
- // This notification has Guard result in "message". ("DB write - end operation in case of Guard Deny")
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.notification = ControlLoopNotificationType.OPERATION;
- notification.message = $operation.getOperationMessage($guardResponse.result);
- notification.history = $operation.getHistory();
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
-
-
-
- if($guardResponse.result == "Permit"){
-
- modify($operation){setGuardApprovalStatus($guardResponse.result)};
- }
- else {
- //This is the Deny case
- $operation.setOperationHasGuardDeny();
- retract($opTimer);
- retract($operation);
- modify($manager) {finishOperation($operation)};
- }
-
- retract($guardResponse);
-
-end
-
-
-
-
-/*
-*
-* This rule responds to APPC Response Events
-*
-* I would have like to be consistent and write the Response like this:
-* $response : Response( CommonHeader.RequestID == $onset.requestID )
-*
-* However, no compile error was given. But a runtime error was given. I think
-* because drools is confused between the classname CommonHeader vs the property CommonHeader.
-*
-*/
-rule "${policyName}.APPC.RESPONSE"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName(), closedLoopEventStatus == ControlLoopEventStatus.ONSET )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- $opTimer : OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() )
- $lock : TargetLock (requestID == $event.requestID)
- $response : Response( getCommonHeader().RequestID == $event.requestID )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($event);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($opTimer);
- Logger.metrics($lock);
- Logger.metrics($response);
- //
- // Get the result of the operation
- //
- PolicyResult policyResult = $operation.onResponse($response);
- if (policyResult != null) {
- Logger.info("operation finished with result: " + policyResult);
- //
- // This Operation has completed, construct a notification showing our results. (DB write - end operation)
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- notification.message = $operation.getOperationHistory();
- notification.history = $operation.getHistory();
- if (policyResult.equals(PolicyResult.SUCCESS)) {
- notification.notification = ControlLoopNotificationType.OPERATION_SUCCESS;
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- } else {
- notification.notification = ControlLoopNotificationType.OPERATION_FAILURE;
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- }
- //
- // Ensure the operation is complete
- //
- if ($operation.isOperationComplete() == true) {
- //
- // It is complete, remove it from memory
- //
- retract($operation);
- //
- // We must also retract the timer object
- // NOTE: We could write a Rule to do this
- //
- retract($opTimer);
- //
- // Complete the operation
- //
- modify($manager) {finishOperation($operation)};
- } else {
- //
- // Just doing this will kick off the LOCKED rule again
- //
- modify($operation) {};
- }
- } else {
- //
- // Its not finished yet (i.e. expecting more Response objects)
- //
- // Or possibly it is a leftover response that we timed the request out previously
- //
- }
- //
- // We are going to retract these objects from memory
- //
- retract($response);
-end
-
-/*
-*
-* The problem with Responses is that they don't have a controlLoopControlName
-* field in them, so the only way to attach them is via RequestID. If we have multiple
-* control loop .drl's loaded in the same container, we need to be sure the cleanup
-* rules don't remove Responses for other control loops.
-*
-*/
-rule "${policyName}.APPC.RESPONSE.CLEANUP"
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $response : Response($id : getCommonHeader().RequestID )
- not ( ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName(), requestID == $id, closedLoopEventStatus == ControlLoopEventStatus.ONSET ) )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- //
- // Retract it
- //
- retract($response);
-end
-/*
-*
-* This is the timer that manages the timeout for an individual operation.
-*
-*/
-rule "${policyName}.EVENT.MANAGER.OPERATION.TIMEOUT"
- timer (expr: $to )
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $operation : ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID )
- $opTimer : OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString(), $to : getDelay() )
- $lock : TargetLock (requestID == $event.requestID)
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($operation);
- Logger.metrics($opTimer);
- Logger.metrics($lock);
- //
- // Tell it its timed out
- //
- $operation.setOperationHasTimedOut();
- //
- // Create a notification for it ("DB Write - end operation")
- //
- ATTControlLoopNotification notification = new ATTControlLoopNotification($event);
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- notification.notification = ControlLoopNotificationType.OPERATION_FAILURE;
- notification.message = $operation.getOperationHistory();
- notification.history = $operation.getHistory();
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- //
- // Get rid of the timer
- //
- retract($opTimer);
- //
- // Ensure the operation is complete
- //
- if ($operation.isOperationComplete() == true) {
- //
- // It is complete, remove it from memory
- //
- retract($operation);
- //
- // Complete the operation
- //
- modify($manager) {finishOperation($operation)};
- } else {
- //
- // Just doing this will kick off the LOCKED rule again
- //
- modify($operation) {};
- }
-end
-
-/*
-*
-* This is the timer that manages the overall control loop timeout.
-*
-*/
-rule "${policyName}.EVENT.MANAGER.TIMEOUT"
- timer (expr: $to )
- when
- $params : Params( getClosedLoopControlName() == "${closedLoopControlName}" )
- $event : ATTControlLoopEvent( closedLoopControlName == $params.getClosedLoopControlName() )
- $manager : ControlLoopEventManager( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID )
- $clTimer : ControlLoopTimer ( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString(), $to : getDelay() )
- $operations : LinkedList()
- from collect( ControlLoopOperationManager( onset.closedLoopControlName == $event.closedLoopControlName, onset.requestID == $event.requestID ) )
- $opTimers : LinkedList()
- from collect( OperationTimer( closedLoopControlName == $event.closedLoopControlName, requestID == $event.requestID.toString() ) )
- $locks : LinkedList()
- from collect( TargetLock (requestID == $event.requestID) )
- then
- //
- // Logging
- //
- Logger.info("------------------------------------------------------------------------------------------------");
- Logger.metrics(Instant.now() + " " + drools.getRule().getName() + " " + drools.getRule().getPackage());
- Logger.metrics($params);
- Logger.metrics($manager);
- Logger.metrics($clTimer);
- if ($operations == null) {
- Logger.info("no operations found");
- } else {
- Logger.info("found " + $operations.size() + " operations");
- }
- //
- // Tell the Event Manager it has timed out
- //
- VirtualControlLoopNotification notification = $manager.setControlLoopTimedOut();
- if (notification != null) {
- notification.from = "policy";
- notification.policyName = drools.getRule().getName();
- notification.policyScope = "${policyScope}";
- notification.policyVersion = "${policyVersion}";
- //
- // Let interested parties know
- //
- Engine.deliver("UEB", "POLICY-CL-MGT", notification);
- }
- //
- // Retract EVERYTHING
- //
- retract($event);
- retract($manager);
- retract($clTimer);
- if ($operations != null && $operations.size() > 0) {
- Iterator<ControlLoopOperationManager> iter = $operations.iterator();
- while (iter.hasNext()) {
- ControlLoopOperationManager manager = iter.next();
- retract(manager);
- }
- }
- if ($opTimers != null && $opTimers.size() > 0) {
- Iterator<OperationTimer> iter = $opTimers.iterator();
- while (iter.hasNext()) {
- OperationTimer opTimer = iter.next();
- retract(opTimer);
- }
- }
- if ($locks != null && $locks.size() > 0) {
- Iterator<TargetLock> iter = $locks.iterator();
- while (iter.hasNext()) {
- TargetLock lock = iter.next();
- //
- // Ensure we release the lock
- //
- PolicyGuard.unlockTarget(lock);
- //
- //
- //
- retract(lock);
- }
- }
-end
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_1.xml b/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_1.xml
deleted file mode 100644
index 1a70d0468..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_1.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:com:att:xacml:policy:id:25e12b06-11d5-4895-b2a2-6f6c594de069" Version="1" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable">
- <Description>Policy for frequency limiter.</Description>
- <Target>
- <AnyOf>
- <AllOf>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">APPC</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:actor:actor-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Restart</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:operation:operation-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- </AllOf>
- </AnyOf>
- </Target>
- <Rule RuleId="urn:com:att:xacml:rule:id:e1e8c5c0-e2ba-47d5-9289-6c015305ed21" Effect="Permit">
- <Description>PERMIT - only if number of operations performed in the past is less than the limit.</Description>
- <Target/>
- <Condition>
- <VariableReference VariableId="isHistoryLessOrEqual"/>
- </Condition>
- </Rule>
- <VariableDefinition VariableId="isHistoryLessOrEqual">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-less-than-or-equal">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-one-and-only">
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="com:att:research:xacml:test:sql:resource:operations:count" DataType="http://www.w3.org/2001/XMLSchema#integer" Issuer="com:att:research:xacml:test:sql" MustBePresent="false"/>
- </Apply>
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#integer">1</AttributeValue>
- </Apply>
- </VariableDefinition>
- <Rule RuleId="urn:com:att:xacml:rule:id:c9a3fb7d-d0b9-48bb-bdca-87eb4957120c" Effect="Deny">
- <Description>DENY - default.</Description>
- <Target/>
- </Rule>
-</Policy>
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_2.xml b/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_2.xml
deleted file mode 100644
index e7e34feeb..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_2.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:com:att:xacml:policy:id:25e12b06-11d5-4895-b2a2-6f6c594de069" Version="1" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable">
- <Description>Policy for frequency limiter.</Description>
- <Target>
- <AnyOf>
- <AllOf>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">APPC</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:actor:actor-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Restart</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:operation:operation-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- </AllOf>
- </AnyOf>
- </Target>
- <Rule RuleId="urn:com:att:xacml:rule:id:e1e8c5c0-e2ba-47d5-9289-6c015305ed21" Effect="Permit">
- <Description>PERMIT - only if number of operations performed in the past is less than the limit.</Description>
-
- <Condition>
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-equal">
-
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:boolean-bag-size">
-
- <Apply FunctionId="urn:oasis:names:tc:xacml:3.0:function:map">
-
- <Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:dateTime-less-than-or-equal"/>
-
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:dateTime-subtract-dayTimeDuration">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:dateTime-one-and-only">
- <AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-dateTime" DataType="http://www.w3.org/2001/XMLSchema#dateTime" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" MustBePresent="false"/>
- </Apply>
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#dayTimeDuration">PT10M</AttributeValue>
- </Apply>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="com:att:research:xacml:test:sql:resource:operations:starttimebag" DataType="http://www.w3.org/2001/XMLSchema#dateTime" Issuer="com:att:research:xacml:test:sql" MustBePresent="false"/>
- </Apply>
- </Apply>
-
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#integer">22</AttributeValue>
-
- </Apply>
- </Condition>
- </Rule>
-
-
- <Rule RuleId="urn:com:att:xacml:rule:id:c9a3fb7d-d0b9-48bb-bdca-87eb4957120c" Effect="Deny">
- <Description>DENY - default.</Description>
- <Target/>
- </Rule>
-
-</Policy>
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_3.xml b/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_3.xml
deleted file mode 100644
index c171968d2..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_3.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:com:att:xacml:policy:id:25e12b06-11d5-4895-b2a2-6f6c594de069" Version="1" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable">
- <Description>Policy for frequency limiter.</Description>
- <Target>
- <AnyOf>
- <AllOf>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">APPC</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:actor:actor-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Restart</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:operation:operation-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- </AllOf>
- </AnyOf>
- </Target>
- <Rule RuleId="urn:com:att:xacml:rule:id:e1e8c5c0-e2ba-47d5-9289-6c015305ed21" Effect="Permit">
- <Description>PERMIT - only if number of operations performed in the past is less than the limit.</Description>
- <Target/>
- <Condition>
- <VariableReference VariableId="isHistoryLessOrEqual"/>
- </Condition>
- </Rule>
- <VariableDefinition VariableId="isHistoryLessOrEqual">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-less-than-or-equal">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-one-and-only">
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="com:att:research:xacml:test:sql:resource:operations:count" DataType="http://www.w3.org/2001/XMLSchema#integer" Issuer="com:att:research:xacml:test:sql:tw10min" MustBePresent="false"/>
- </Apply>
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#integer">1</AttributeValue>
- </Apply>
- </VariableDefinition>
- <Rule RuleId="urn:com:att:xacml:rule:id:c9a3fb7d-d0b9-48bb-bdca-87eb4957120c" Effect="Deny">
- <Description>DENY - default.</Description>
- <Target/>
- </Rule>
-</Policy>
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_4.xml b/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_4.xml
deleted file mode 100644
index 53e83d9cd..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/old/frequency_limiter_4.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:com:att:xacml:policy:id:25e12b06-11d5-4895-b2a2-6f6c594de069" Version="1" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable">
- <Description>Policy for frequency limiter.</Description>
- <Target>
- <AnyOf>
- <AllOf>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">APPC</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:actor:actor-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Restart</AttributeValue>
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:operation:operation-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
- </Match>
- </AllOf>
- </AnyOf>
- </Target>
- <Rule RuleId="urn:com:att:xacml:rule:id:e1e8c5c0-e2ba-47d5-9289-6c015305ed21" Effect="Permit">
- <Description>PERMIT - only if number of operations performed in the past is less than the limit.</Description>
- <Target/>
- <Condition>
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:or">
- <VariableReference VariableId="isGuardNotActive"/>
- <VariableReference VariableId="isHistoryLessOrEqual"/>
- </Apply>
- </Condition>
- </Rule>
- <VariableDefinition VariableId="isGuardNotActive">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
- <Apply FunctionId="urn:oasis:names:tc:xacml:2.0:function:time-in-range">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:time-one-and-only">
- <AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-time" DataType="http://www.w3.org/2001/XMLSchema#time" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" MustBePresent="false"/>
- </Apply>
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#time">05:00:00-05:00</AttributeValue>
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#time">23:59:59-05:00</AttributeValue>
- </Apply>
- </Apply>
- </VariableDefinition>
- <VariableDefinition VariableId="isHistoryLessOrEqual">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-less-than-or-equal">
- <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-one-and-only">
- <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="com:att:research:xacml:test:sql:resource:operations:count" DataType="http://www.w3.org/2001/XMLSchema#integer" Issuer="com:att:research:xacml:test:sql:tw10min" MustBePresent="false"/>
- </Apply>
- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#integer">1</AttributeValue>
- </Apply>
- </VariableDefinition>
- <Rule RuleId="urn:com:att:xacml:rule:id:c9a3fb7d-d0b9-48bb-bdca-87eb4957120c" Effect="Deny">
- <Description>DENY - default.</Description>
- <Target/>
- </Rule>
-</Policy>
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml.properties b/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml.properties
deleted file mode 100644
index e51f038e9..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml.properties
+++ /dev/null
@@ -1,119 +0,0 @@
-#
-#
-# This is test set that tests configurable SQL PIP engine. It uses sample data from MySQL world database
-#
-# http://dev.mysql.com/doc/world-setup/en/index.html
-#
-# The Policy was created using the PAP Admin Tool.
-#
-#
-
-#
-# Default XACML Properties File
-# Standard API Factories
-#
-xacml.dataTypeFactory=com.att.research.xacml.std.StdDataTypeFactory
-xacml.pdpEngineFactory=com.att.research.xacmlatt.pdp.ATTPDPEngineFactory
-xacml.pepEngineFactory=com.att.research.xacml.std.pep.StdEngineFactory
-xacml.pipFinderFactory=com.att.research.xacml.std.pip.StdPIPFinderFactory
-xacml.traceEngineFactory=com.att.research.xacml.std.trace.LoggingTraceEngineFactory
-#
-# AT&T PDP Implementation Factories
-#
-xacml.att.evaluationContextFactory=com.att.research.xacmlatt.pdp.std.StdEvaluationContextFactory
-xacml.att.combiningAlgorithmFactory=com.att.research.xacmlatt.pdp.std.StdCombiningAlgorithmFactory
-xacml.att.functionDefinitionFactory=com.att.research.xacmlatt.pdp.std.StdFunctionDefinitionFactory
-xacml.att.policyFinderFactory=com.att.research.xacmlatt.pdp.std.StdPolicyFinderFactory
-
-#
-# NOTE: If you are testing against a RESTful PDP, then the PDP must be configured with the
-# policies and PIP configuration as defined below. Otherwise, this is the configuration that
-# the embedded PDP uses.
-#
-
-# Policies to load
-#
-xacml.rootPolicies=sql
-sql.file=src/test/resources/xacml/frequency_limiter_1.xml
-
-# PIP Engine Definition
-#
-xacml.pip.engines=sql1
-
-sql1.classname=com.att.research.xacml.std.pip.engines.jdbc.JDBCEngine
-sql1.name=World
-sql1.description=World Database from MySQL website. Copyright Statistics Finland, http://www.stat.fi/worldinfigures.
-# This will be the default issuer for the resolvers. NOTE: Issuer only used for attributes provided by the engine.
-sql1.issuer=com:att:research:xacml:test:sql
-#
-# This is the configuration for JDBC. You will have to setup the database and run the data\world*.sql script to
-# create the tables and load the data.
-#
-sql1.type=jdbc
-
-# Postgres DB
-#sql1.jdbc.driver=org.postgresql.Driver
-#sql1.jdbc.url=jdbc:postgresql://localhost:7778/postgres
-#sql1.jdbc.conn.user=postgres
-#sql1.jdbc.conn.password=
-
-# MariaDB
-sql1.jdbc.driver=org.mariadb.jdbc.Driver
-sql1.jdbc.url=jdbc:mariadb://localhost:7779/policy
-sql1.jdbc.conn.user=root
-sql1.jdbc.conn.password=lmpg
-
-#
-# This is the configuration for JNDI datasource.
-#
-#sql1.type=jndi
-#sql1.datasource=jdbc/xacml
-
-sql1.resolvers=langer
-
-sql1.resolver.langer.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.langer.name=Language
-sql1.resolver.langer.description=This returns the number of previous operations within the given time window
-
-# Query for Postgres DB
-#sql1.resolver.langer.select=select count(*) from operationshistory where actor=? and operation=? and target=? and endtime between now()::timestamp with time zone - (interval '1000000000s') and now()::timestamp with time zone
-
-# Query for MariaDB
-#sql1.resolver.langer.select=select count(*) as count from operationshistory where actor=? and operation=? and target=? and convert_tz(endtime,@@session.time_zone,'-05:00') between date_sub(convert_tz(now(),@@session.time_zone,'-05:00'),interval 100 hour) and convert_tz(now(),@@session.time_zone,'-05:00')
-sql1.resolver.langer.select=select count(*) as count from operationshistory9 where actor=? and operation=? and target=? and endtime between date_sub(now(),interval 100 hour) and now()
-
-sql1.resolver.langer.fields=count
-sql1.resolver.langer.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.langer.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.langer.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
-#You can override the default issuer that is set in the JDBCEngine definition if you want.
-#sql1.resolver.langer.field.language.issuer=com:att:research:xacml:test:sql
-sql1.resolver.langer.parameters=actor,operation,target
-
-sql1.resolver.langer.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.langer.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.langer.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-
-sql1.resolver.langer.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.langer.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.langer.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-
-sql1.resolver.langer.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.langer.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.langer.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-#
-# These properties are for an attribute generator to build into requests.
-#
-xacml.attribute.generator=generate_subjectid
-
-xacml.attribute.generator.generate_subjectid.file=generate.data
-xacml.attribute.generator.generate_subjectid.attributes=city
-
-xacml.attribute.generator.generate_subjectid.attributes.city.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-xacml.attribute.generator.generate_subjectid.attributes.city.datatype=http://www.w3.org/2001/XMLSchema#string
-xacml.attribute.generator.generate_subjectid.attributes.city.id=urn:oasis:names:tc:xacml:1.0:resource:resource-id
-xacml.attribute.generator.generate_subjectid.attributes.city.field=0
-
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml2.properties b/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml2.properties
deleted file mode 100644
index 2d1276b51..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml2.properties
+++ /dev/null
@@ -1,120 +0,0 @@
-#
-#
-# This is test set that tests configurable SQL PIP engine. It uses sample data from MySQL world database
-#
-# http://dev.mysql.com/doc/world-setup/en/index.html
-#
-# The Policy was created using the PAP Admin Tool.
-#
-#
-
-#
-# Default XACML Properties File
-# Standard API Factories
-#
-xacml.dataTypeFactory=com.att.research.xacml.std.StdDataTypeFactory
-xacml.pdpEngineFactory=com.att.research.xacmlatt.pdp.ATTPDPEngineFactory
-xacml.pepEngineFactory=com.att.research.xacml.std.pep.StdEngineFactory
-xacml.pipFinderFactory=com.att.research.xacml.std.pip.StdPIPFinderFactory
-xacml.traceEngineFactory=com.att.research.xacml.std.trace.LoggingTraceEngineFactory
-#
-# AT&T PDP Implementation Factories
-#
-xacml.att.evaluationContextFactory=com.att.research.xacmlatt.pdp.std.StdEvaluationContextFactory
-xacml.att.combiningAlgorithmFactory=com.att.research.xacmlatt.pdp.std.StdCombiningAlgorithmFactory
-xacml.att.functionDefinitionFactory=com.att.research.xacmlatt.pdp.std.StdFunctionDefinitionFactory
-xacml.att.policyFinderFactory=com.att.research.xacmlatt.pdp.std.StdPolicyFinderFactory
-
-#
-# NOTE: If you are testing against a RESTful PDP, then the PDP must be configured with the
-# policies and PIP configuration as defined below. Otherwise, this is the configuration that
-# the embedded PDP uses.
-#
-
-# Policies to load
-#
-xacml.rootPolicies=sql
-sql.file=src/test/resources/xacml/frequency_limiter_2.xml
-
-# PIP Engine Definition
-#
-xacml.pip.engines=sql1
-
-sql1.classname=com.att.research.xacml.std.pip.engines.jdbc.JDBCEngine
-sql1.name=World
-sql1.description=World Database from MySQL website. Copyright Statistics Finland, http://www.stat.fi/worldinfigures.
-# This will be the default issuer for the resolvers. NOTE: Issuer only used for attributes provided by the engine.
-sql1.issuer=com:att:research:xacml:test:sql
-#
-# This is the configuration for JDBC. You will have to setup the database and run the data\world*.sql script to
-# create the tables and load the data.
-#
-sql1.type=jdbc
-
-# Postgres DB
-#sql1.jdbc.driver=org.postgresql.Driver
-#sql1.jdbc.url=jdbc:postgresql://localhost:7778/postgres
-#sql1.jdbc.conn.user=postgres
-#sql1.jdbc.conn.password=
-
-# MariaDB
-sql1.jdbc.driver=org.mariadb.jdbc.Driver
-sql1.jdbc.url=jdbc:mariadb://localhost:7779/policy
-sql1.jdbc.conn.user=root
-sql1.jdbc.conn.password=lmpg
-
-#
-# This is the configuration for JNDI datasource.
-#
-#sql1.type=jndi
-#sql1.datasource=jdbc/xacml
-
-sql1.resolvers=langer
-
-sql1.resolver.langer.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.langer.name=Language
-sql1.resolver.langer.description=This returns the number of previous operations within the given time window
-
-# Query for Postgres DB
-#sql1.resolver.langer.select=select count(*) from operationshistory where actor=? and operation=? and target=? and endtime between now()::timestamp with time zone - (interval '1000000000s') and now()::timestamp with time zone
-
-# Query for MariaDB
-#sql1.resolver.langer.select=select count(*) as count from operationshistory where actor=? and operation=? and target=? and convert_tz(endtime,@@session.time_zone,'-05:00') between date_sub(convert_tz(now(),@@session.time_zone,'-05:00'),interval 100 hour) and convert_tz(now(),@@session.time_zone,'-05:00')
-sql1.resolver.langer.select=select starttime as starttimebag from operationshistory9 where actor=? and operation=? and target=? and endtime between date_sub(now(),interval 100 hour) and now()
-
-#sql1.resolver.langer.fields=count
-sql1.resolver.langer.fields=starttimebag
-sql1.resolver.langer.field.starttimebag.id=com:att:research:xacml:test:sql:resource:operations:starttimebag
-sql1.resolver.langer.field.starttimebag.datatype=http://www.w3.org/2001/XMLSchema#dateTime
-sql1.resolver.langer.field.starttimebag.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
-#You can override the default issuer that is set in the JDBCEngine definition if you want.
-#sql1.resolver.langer.field.language.issuer=com:att:research:xacml:test:sql
-sql1.resolver.langer.parameters=actor,operation,target
-
-sql1.resolver.langer.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.langer.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.langer.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-
-sql1.resolver.langer.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.langer.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.langer.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-
-sql1.resolver.langer.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.langer.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.langer.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-#
-# These properties are for an attribute generator to build into requests.
-#
-xacml.attribute.generator=generate_subjectid
-
-xacml.attribute.generator.generate_subjectid.file=generate.data
-xacml.attribute.generator.generate_subjectid.attributes=city
-
-xacml.attribute.generator.generate_subjectid.attributes.city.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-xacml.attribute.generator.generate_subjectid.attributes.city.datatype=http://www.w3.org/2001/XMLSchema#string
-xacml.attribute.generator.generate_subjectid.attributes.city.id=urn:oasis:names:tc:xacml:1.0:resource:resource-id
-xacml.attribute.generator.generate_subjectid.attributes.city.field=0
-
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml3.properties b/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml3.properties
deleted file mode 100644
index a3e6f2f44..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/old/xacml3.properties
+++ /dev/null
@@ -1,123 +0,0 @@
-#
-#
-# This is test set that tests configurable SQL PIP engine. It uses sample data from MySQL world database
-#
-# http://dev.mysql.com/doc/world-setup/en/index.html
-#
-# The Policy was created using the PAP Admin Tool.
-#
-#
-
-#
-# Default XACML Properties File
-# Standard API Factories
-#
-xacml.dataTypeFactory=com.att.research.xacml.std.StdDataTypeFactory
-xacml.pdpEngineFactory=com.att.research.xacmlatt.pdp.ATTPDPEngineFactory
-xacml.pepEngineFactory=com.att.research.xacml.std.pep.StdEngineFactory
-xacml.pipFinderFactory=com.att.research.xacml.std.pip.StdPIPFinderFactory
-xacml.traceEngineFactory=com.att.research.xacml.std.trace.LoggingTraceEngineFactory
-#
-# AT&T PDP Implementation Factories
-#
-xacml.att.evaluationContextFactory=com.att.research.xacmlatt.pdp.std.StdEvaluationContextFactory
-xacml.att.combiningAlgorithmFactory=com.att.research.xacmlatt.pdp.std.StdCombiningAlgorithmFactory
-xacml.att.functionDefinitionFactory=com.att.research.xacmlatt.pdp.std.StdFunctionDefinitionFactory
-xacml.att.policyFinderFactory=com.att.research.xacmlatt.pdp.std.StdPolicyFinderFactory
-
-#
-# NOTE: If you are testing against a RESTful PDP, then the PDP must be configured with the
-# policies and PIP configuration as defined below. Otherwise, this is the configuration that
-# the embedded PDP uses.
-#
-
-# Policies to load
-#
-xacml.rootPolicies=sql
-sql.file=src/test/resources/xacml/frequency_limiter_3.xml
-
-# PIP Engine Definition
-#
-xacml.pip.engines=sql1
-
-sql1.classname=com.att.research.xacml.std.pip.engines.jdbc.JDBCEngine
-sql1.name=OperationsHistory
-sql1.description=Database of operations performed via closed loop.
-sql1.issuer=com:att:research:xacml:test:sql123
-sql1.type=jdbc
-sql1.jdbc.driver=org.mariadb.jdbc.Driver
-sql1.jdbc.url=jdbc:mariadb://localhost:7779/policy
-sql1.jdbc.conn.user=root
-sql1.jdbc.conn.password=lmpg
-
-#Each of the following resolvers corresponds to a specific time window. The only difference between them is the "interval" in the "select" SQL query and the "issuer".
-sql1.resolvers=tw10min,tw1h,tw100h
-
-##############################################
-sql1.resolver.tw10min.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 10 minute) and now()
-sql1.resolver.tw10min.field.count.issuer=com:att:research:xacml:test:sql:tw10min
-
-sql1.resolver.tw10min.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw10min.name=OperationsCount
-sql1.resolver.tw10min.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw10min.fields=count
-sql1.resolver.tw10min.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw10min.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw10min.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw10min.parameters=actor,operation,target
-sql1.resolver.tw10min.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw10min.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw10min.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw10min.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw10min.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw10min.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw10min.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw10min.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw10min.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-##############################################
-sql1.resolver.tw1h.select=select count(*) as count from operationshistory10 where actor=? and operation=? and target=? and endtime between date_sub(now(),interval 1 hour) and now()
-sql1.resolver.tw1h.field.count.issuer=com:att:research:xacml:test:sql:tw1h
-
-sql1.resolver.tw1h.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw1h.name=OperationsCount
-sql1.resolver.tw1h.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw1h.fields=count
-sql1.resolver.tw1h.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw1h.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw1h.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw1h.parameters=actor,operation,target
-sql1.resolver.tw1h.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw1h.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1h.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw1h.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw1h.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1h.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw1h.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw1h.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1h.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
-#############################
-sql1.resolver.tw100h.select=select count(*) as count from operationshistory10 where actor=? and operation=? and target=? and endtime between date_sub(now(),interval 100 hour) and now()
-sql1.resolver.tw100h.field.count.issuer=com:att:research:xacml:test:sql:tw100h
-
-sql1.resolver.tw100h.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw100h.name=OperationsCount
-sql1.resolver.tw100h.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw100h.fields=count
-sql1.resolver.tw100h.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw100h.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw100h.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw100h.parameters=actor,operation,target
-sql1.resolver.tw100h.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw100h.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw100h.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw100h.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw100h.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw100h.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw100h.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw100h.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw100h.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
diff --git a/controlloop/templates/template.demo/src/test/resources/xacml/xacml_guard_old.properties b/controlloop/templates/template.demo/src/test/resources/xacml/xacml_guard_old.properties
deleted file mode 100644
index 82ae09f85..000000000
--- a/controlloop/templates/template.demo/src/test/resources/xacml/xacml_guard_old.properties
+++ /dev/null
@@ -1,277 +0,0 @@
-#
-#
-# This files defines PIPs that will be used by XACML Guard Policies. One PIP per time window (5 min, 10min,...,1 month).
-#
-#
-#
-
-#
-# Default XACML Properties File
-# Standard API Factories
-#
-xacml.dataTypeFactory=com.att.research.xacml.std.StdDataTypeFactory
-xacml.pdpEngineFactory=com.att.research.xacmlatt.pdp.ATTPDPEngineFactory
-xacml.pepEngineFactory=com.att.research.xacml.std.pep.StdEngineFactory
-xacml.pipFinderFactory=com.att.research.xacml.std.pip.StdPIPFinderFactory
-xacml.traceEngineFactory=com.att.research.xacml.std.trace.LoggingTraceEngineFactory
-#
-# AT&T PDP Implementation Factories
-#
-xacml.att.evaluationContextFactory=com.att.research.xacmlatt.pdp.std.StdEvaluationContextFactory
-xacml.att.combiningAlgorithmFactory=com.att.research.xacmlatt.pdp.std.StdCombiningAlgorithmFactory
-xacml.att.functionDefinitionFactory=com.att.research.xacmlatt.pdp.std.StdFunctionDefinitionFactory
-xacml.att.policyFinderFactory=com.att.research.xacmlatt.pdp.std.StdPolicyFinderFactory
-
-
-#
-# NOTE: If you are testing against a RESTful PDP, then the PDP must be configured with the
-# policies and PIP configuration as defined below. Otherwise, this is the configuration that
-# the embedded PDP uses.
-#
-
-# In case we have multiple applicable Guard policies, we will deny if any of them denies.
-#xacml.att.policyFinderFactory.combineRootPolicies=urn:com:att:xacml:3.0:policy-combining-algorithm:combined-deny-overrides
-xacml.att.policyFinderFactory.combineRootPolicies=urn:oasis:names:tc:xacml:3.0:policy-combining-algorithm:permit-unless-deny
-
-
-# Policies to load
-#
-xacml.rootPolicies=p1,p2,p3,p4
-p1.file=src/test/resources/xacml/autogenerated_frequency_limiter_restart.xml
-p2.file=src/test/resources/xacml/autogenerated_frequency_limiter_rebuild.xml
-p3.file=src/test/resources/xacml/autogenerated_frequency_limiter_migrate.xml
-p4.file=src/test/resources/xacml/autogenerated_frequency_limiter_rebuild_1.xml
-#p5.file=src/test/resources/xacml/autogenerated_blacklist.xml
-#p6.file=src/test/resources/xacml/new_restart1.xml
-#p7.file=src/test/resources/xacml/new_restart2.xml
-#p8.file=src/test/resources/xacml/new_rebuild1.xml
-#p9.file=src/test/resources/xacml/new_rebuild2.xml
-#p10.file=src/test/resources/xacml/new_migrate1.xml
-#p11.file=src/test/resources/xacml/new_migrate2.xml
-
-# PIP Engine Definition
-#
-xacml.pip.engines=sql1,test1
-test1.classname=com.att.ecomp.policy.guard.PIPEngineGetHistory
-test1.issuer=com:att:research:xacml:guard:historydb
-
-
-sql1.classname=com.att.research.xacml.std.pip.engines.jdbc.JDBCEngine
-sql1.name=OperationsHistory
-sql1.description=Database of operations performed via closed loop.
-sql1.issuer=com:att:research:xacml:test:sql123
-sql1.type=jdbc
-sql1.jdbc.driver=org.mariadb.jdbc.Driver
-#sql1.jdbc.url=jdbc:mariadb://localhost:7779/policy
-sql1.jdbc.url=jdbc:mariadb://localhost:3306/policy
-sql1.jdbc.conn.user=root
-sql1.jdbc.conn.password=lmpg
-
-#Each of the following resolvers corresponds to a specific time window. The only difference between them is the "interval" in the "select" SQL query and the "issuer".
-sql1.resolvers=tw5min,tw10min,tw30min,tw1h,tw12h,tw1d,tw5d,tw1w,tw1mon
-
-
-
-##############################################
-sql1.resolver.tw5min.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 5 minute) and now()
-sql1.resolver.tw5min.field.count.issuer=com:att:research:xacml:test:sql:tw5min
-
-sql1.resolver.tw5min.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw5min.name=OperationsCount
-sql1.resolver.tw5min.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw5min.fields=count
-sql1.resolver.tw5min.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw5min.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw5min.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw5min.parameters=actor,operation,target
-sql1.resolver.tw5min.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw5min.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw5min.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw5min.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw5min.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw5min.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw5min.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw5min.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw5min.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-##############################################
-sql1.resolver.tw10min.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 10 minute) and now()
-sql1.resolver.tw10min.field.count.issuer=com:att:research:xacml:test:sql:tw10min
-
-sql1.resolver.tw10min.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw10min.name=OperationsCount
-sql1.resolver.tw10min.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw10min.fields=count
-sql1.resolver.tw10min.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw10min.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw10min.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw10min.parameters=actor,operation,target
-sql1.resolver.tw10min.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw10min.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw10min.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw10min.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw10min.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw10min.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw10min.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw10min.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw10min.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-##############################################
-sql1.resolver.tw30min.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 30 minute) and now()
-sql1.resolver.tw30min.field.count.issuer=com:att:research:xacml:test:sql:tw30min
-
-sql1.resolver.tw30min.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw30min.name=OperationsCount
-sql1.resolver.tw30min.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw30min.fields=count
-sql1.resolver.tw30min.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw30min.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw30min.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw30min.parameters=actor,operation,target
-sql1.resolver.tw30min.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw30min.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw30min.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw30min.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw30min.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw30min.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw30min.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw30min.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw30min.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-##############################################
-sql1.resolver.tw1h.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 1 hour) and now()
-sql1.resolver.tw1h.field.count.issuer=com:att:research:xacml:test:sql:tw1h
-
-sql1.resolver.tw1h.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw1h.name=OperationsCount
-sql1.resolver.tw1h.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw1h.fields=count
-sql1.resolver.tw1h.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw1h.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw1h.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw1h.parameters=actor,operation,target
-sql1.resolver.tw1h.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw1h.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1h.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw1h.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw1h.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1h.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw1h.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw1h.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1h.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
-##############################################
-sql1.resolver.tw12h.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 12 hour) and now()
-sql1.resolver.tw12h.field.count.issuer=com:att:research:xacml:test:sql:tw12h
-
-sql1.resolver.tw12h.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw12h.name=OperationsCount
-sql1.resolver.tw12h.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw12h.fields=count
-sql1.resolver.tw12h.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw12h.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw12h.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw12h.parameters=actor,operation,target
-sql1.resolver.tw12h.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw12h.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw12h.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw12h.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw12h.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw12h.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw12h.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw12h.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw12h.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
-#############################
-sql1.resolver.tw1d.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 1 day) and now()
-sql1.resolver.tw1d.field.count.issuer=com:att:research:xacml:test:sql:tw1d
-
-sql1.resolver.tw1d.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw1d.name=OperationsCount
-sql1.resolver.tw1d.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw1d.fields=count
-sql1.resolver.tw1d.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw1d.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw1d.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw1d.parameters=actor,operation,target
-sql1.resolver.tw1d.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw1d.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1d.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw1d.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw1d.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1d.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw1d.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw1d.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1d.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
-#############################
-sql1.resolver.tw5d.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 5 day) and now()
-sql1.resolver.tw5d.field.count.issuer=com:att:research:xacml:test:sql:tw5d
-
-sql1.resolver.tw5d.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw5d.name=OperationsCount
-sql1.resolver.tw5d.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw5d.fields=count
-sql1.resolver.tw5d.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw5d.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw5d.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw5d.parameters=actor,operation,target
-sql1.resolver.tw5d.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw5d.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw5d.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw5d.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw5d.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw5d.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw5d.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw5d.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw5d.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-
-#############################
-sql1.resolver.tw1w.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 1 week) and now()
-sql1.resolver.tw1w.field.count.issuer=com:att:research:xacml:test:sql:tw1w
-
-sql1.resolver.tw1w.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw1w.name=OperationsCount
-sql1.resolver.tw1w.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw1w.fields=count
-sql1.resolver.tw1w.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw1w.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw1w.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw1w.parameters=actor,operation,target
-sql1.resolver.tw1w.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw1w.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1w.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw1w.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw1w.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1w.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw1w.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw1w.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1w.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-#############################
-sql1.resolver.tw1mon.select=select count(*) as count from operationshistory10 where outcome<>'Failure_Guard' and actor=? and operation=? and target=? and endtime between date_sub(now(),interval 1 month) and now()
-sql1.resolver.tw1mon.field.count.issuer=com:att:research:xacml:test:sql:tw1mon
-
-sql1.resolver.tw1mon.classname=com.att.research.xacml.std.pip.engines.jdbc.ConfigurableJDBCResolver
-sql1.resolver.tw1mon.name=OperationsCount
-sql1.resolver.tw1mon.description=This returns the number of previous operations within the given time window
-sql1.resolver.tw1mon.fields=count
-sql1.resolver.tw1mon.field.count.id=com:att:research:xacml:test:sql:resource:operations:count
-sql1.resolver.tw1mon.field.count.datatype=http://www.w3.org/2001/XMLSchema#integer
-sql1.resolver.tw1mon.field.count.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-sql1.resolver.tw1mon.parameters=actor,operation,target
-sql1.resolver.tw1mon.parameter.actor.id=urn:oasis:names:tc:xacml:1.0:actor:actor-id
-sql1.resolver.tw1mon.parameter.actor.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1mon.parameter.actor.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
-sql1.resolver.tw1mon.parameter.operation.id=urn:oasis:names:tc:xacml:1.0:operation:operation-id
-sql1.resolver.tw1mon.parameter.operation.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1mon.parameter.operation.category=urn:oasis:names:tc:xacml:3.0:attribute-category:action
-sql1.resolver.tw1mon.parameter.target.id=urn:oasis:names:tc:xacml:1.0:target:target-id
-sql1.resolver.tw1mon.parameter.target.datatype=http://www.w3.org/2001/XMLSchema#string
-sql1.resolver.tw1mon.parameter.target.category=urn:oasis:names:tc:xacml:3.0:attribute-category:resource
-
-