diff options
35 files changed, 163 insertions, 2801 deletions
@@ -1,4 +1,4 @@ -This source repository contains OpenECOMP Policy application code. The settings file only needs to support the standard Maven repositories (e.g. central = http://repo1.maven.org/maven2/), and any proxy settings needed in your environment. +This source repository contains ONAP Policy application code. The settings file only needs to support the standard Maven repositories (e.g. central = http://repo1.maven.org/maven2/), and any proxy settings needed in your environment. To build it using Maven 3, run: mvn clean install 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 - - |