Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageyml
linenumberstrue
collapsetrue
After the PDPs have registered with the PAP:


http:{url}:{port}/pap/v1/pdps GET

#
# PAP - how it lists existing PDP Groups and Sub Groups and the models loaded
#
pdp_groups:
    -
        name: Control Loop runtime group
        description: ONAP Control Loop Operational and Guard policies
        subgroups:
            -
                pdp_type: drools
                models:
                  # Maven coordinates here
                  - "onap.controlloop.operational:operational-standard"
                  - "onap.controlloop.operational:operational-enhanced"
                instances:
                  # Parameters somehow passed to K8S for scaling
                  min_instances: 3
                  # The parameters below are for illustration in Dublin, may be implemented later
                  instance_spawn_load_threshold: 70%
                  instance_kill_load_threshold: 50%
                  instance_geo_redundnacy: true
            -
                pdp_type: apex
                models:
                  # Maven coordinates here
                  - "onap.controlloop.operational:operational-standard"
                  - "onap.controlloop.operational:operational-enhanced"
                instances:
                  # Parameters somehow passed to K8S for scaling
                  min_instances: 3
                  # The parameters below are for illustration in Dublin, may be implemented later
                  instance_spawn_load_threshold: 80%
                  instance_kill_load_threshold: 60%
                  instance_geo_redundnacy: true
            -
                pdp_type: xacml
                models:
                  - "onap.controlloop.guard:guard-standard"
                  - "onap.controlloop.coordination:coordination-standard"
                  # Parameters somehow passed to K8S for scaling
                  min_instances: 2
                  # The parameters below are for illustration in Dublin, may be implemented later
                  instance_geo_redundnacy: true

    -
        name: DCAE policy group
        subgroups:
            -
                pdp_type: xacml
                models:
                  - "onap.controlloop.monitoring:monitoring-standard"
                  - "onap.controlloop.monitoring:monitoring-acme-inc"
                  # Parameters somehow passed to K8S for scaling
                  min_instances: 2
                  # The parameters below are for illustration in Dublin, may be implemented later
                  instance_geo_redundnacy: true




3 Policy Lifecycle API - Model query

The Policy Lifecycle API will utilize the SQL database to make GET available to applications (eg CLAMP, Integration) for determining all the available models for policy creation:

NOTE: Seems this is a reverse hierarchy of the PAP PDP Groups listing:

Code Block
languagejs
linenumberstrue
collapsetrue
http:{url}:{port}/api/v1/models GET

{
	"policy_domains": [
		{
			"domain": "onap.monitoring",
			"id": "dublin.monitoring.base",
			"description": "This is the base domain that is used to help generate monitoring\ndomains for specific DCAE microservice models.\n",
			"pdp_types": [
				"xacml"
			],
			"version": 1
		},
		{
			"domain": "onap.controlloop.operational",
			"id": "dublin.operational.drools",
			"description": "This is the operational policy domain that support action policies for\ncontrol loops that are supported by the Drools PDP engine.\n",
			"pdp_types": [
				"drools"
			],
			"version": 1
		},
		{
			"domain": "onap.controlloop.operational",
			"id": "dublin.operational.apex",
			"description": "This is the operational policy domain that support action policies for\ncontrol loops that are supported by the Apex PDP engine.\n",
			"pdp_types": [
				"apex"
			],
			"version": 1
		},
		{
			"domain": "onap.controlloop.guard",
			"id": "dublin.guard",
			"description": "This is the XACML based guard policy domain that supports frequency limiter, blacklist/whitelist and min/max guard policies.\n",
			"pdp_types": [
				"xacml"
			],
			"version": 1
		},
		{
			"domain": "onap.controlloop.coordination",
			"id": "dublin.coordination",
			"description": "This is the XACML based guard policy domain that supports frequency limiter, blacklist/whitelist and min/max guard policies.\n",
			"pdp_types": [
				"xacml"
			],
			"version": 1
		}
	]
}

...


4 Policy Lifecycle API - Adding new DCAE microservice component domains

For Dublin, the DCAE microservice component developer will use TOSCA-LAB to generate a specific yaml for their microservice component. These can be now loaded into the policy framework using the Policy Lifecycle API using the onap.monitoring domain. TOSCA-LAB produces the following example yaml:

...


Now that domain is available to CLAMP for creating concrete policies creation.

...

5 Policy Lifecycle API - Creating Monitoring Policies

While designing a control loop using CLAMP, a Control Loop Designer will use the Model Schema for a specific DCAE mS component Policy Model and create a specific Policy.

...

Code Block
http:{url}:{port}/api/v1/models?model=onap.policy.monitoring.cdap.tca.hi.lo.app&id=dublin.tca PUT


Return payload:


PolicyId: UniqueId_1
PolicyVersion: 1




Should be able to GET


http:{url}:{port}/api/v1/domains/onap.policy.monitoring.cdap.tca.hi.lo.app/dublin.tca?PolicyId=UniqueId_1&PolicyVersion=1







...


6 Policy Lifecycle API - Creating Operational Policies

...



7 Policy Lifecycle API - Creating Guard Policies

...



8 Policy Lifecycle API - Creating Coordination Policies

...



9 PAP API - Deploying Policies

...



10 Policy Decision API - Getting Policy Decisions

Policy decisions are required by ONAP components to support the policy-driven ONAP architecture. Currently implemented using the XACML PDP.

...