X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Fdrools%2FpdpdApps.rst;h=2e5a93def1947f35988fdb101f820dfdebc6678a;hb=fbf1f26654e36ea5aa9d30bebcb7779000f1750a;hp=331f3ac65e29ec57b5b82513c9c842b67643e5a9;hpb=162f0081782622854ae939dddad733efd0d0b212;p=policy%2Fparent.git diff --git a/docs/drools/pdpdApps.rst b/docs/drools/pdpdApps.rst index 331f3ac6..2e5a93de 100644 --- a/docs/drools/pdpdApps.rst +++ b/docs/drools/pdpdApps.rst @@ -18,9 +18,8 @@ See :ref:`pdpd-engine-label` for the description of the PDP-D infrastructure. At this time *Control Loops* are the only type of applications supported. -*Control Loop* applications must support at least one of the following *Policy Types*: +*Control Loop* applications must support the following *Policy Type*: -- **onap.policies.controlloop.Operational** (Operational Policies for Legacy Control Loops) - **onap.policies.controlloop.operational.common.Drools** (Tosca Compliant Operational Policies) Software @@ -45,56 +44,67 @@ for the latest images: .. code-block:: bash - docker pull onap/policy-pdpd-cl:1.6.4 + docker pull onap/policy-pdpd-cl:1.8.2 -At the time of this writing *1.6.4* is the latest version. +At the time of this writing *1.8.2* is the latest version. The *onap/policy-pdpd-cl* image extends the *onap/policy-drools* image with -the *frankfurt* controller that realizes the *control loop* application. +the *usecases* controller that realizes the *control loop* application. -Frankfurt Controller +Usecases Controller ==================== -The `frankfurt `__ +The `usecases `__ controller is the *control loop* application in ONAP. There are three parts in this controller: -* The `drl rules `__. -* The `kmodule.xml `__. -* The `dependencies `__. +* The `drl rules `__. +* The `kmodule.xml `__. +* The `dependencies `__. The `kmodule.xml` specifies only one session, and declares in the *kbase* section the two operational policy types that it supports. -The Frankfurt controller relies on the new Actor framework to interact with remote +The Usecases controller relies on the new Actor framework to interact with remote components, part of a control loop transaction. The reader is referred to the *Policy Platform Actor Development Guidelines* in the documentation for further information. Operational Policy Types ======================== -The *frankfurt* controller supports the two Operational policy types: +The *usecases* controller supports the following policy type: -- *onap.policies.controlloop.Operational*. - *onap.policies.controlloop.operational.common.Drools*. -The *onap.policies.controlloop.Operational* is the legacy operational type, used before -the *frankfurt* release. The *onap.policies.controlloop.operational.common.Drools* +The *onap.policies.controlloop.operational.common.Drools* is the Tosca compliant policy type introduced in *frankfurt*. -The legacy operational policy type is defined at the -`onap.policies.controlloop.Operational.yaml `__. - The Tosca Compliant Operational Policy Type is defined at the `onap.policies.controlloop.operational.common.Drools `__. -An example of a Legacy Operational Policy can be found -`here `__. - An example of a Tosca Compliant Operational Policy can be found `here `__. +Policy Chaining +=============== + +The *usecases* controller supports chaining of multiple operations inside a Tosca Operational Policy. The next operation can be chained based on the result/output from an operation. +The possibilities available for chaining are: + +- *success: chain after the result of operation is success* +- *failure: chain after the result of operation is failure due to issues with controller/actor* +- *failure_timeout: chain after the result of operation is failure due to timeout* +- *failure_retries: chain after the result of operation is failure after all retries* +- *failure_exception: chain after the result of operation is failure due to exception* +- *failure_guard: chain after the result of operation is failure due to guard not allowing the operation* + +An example of policy chaining for VNF can be found +`here `__. + +An example of policy chaining for PNF can be found +`here `__. + Features ======== @@ -108,11 +118,11 @@ The enabled features in the *onap/policy-pdpd-cl* image are: - **lifecycle**: enables the lifecycle APIs. - **controlloop-trans**: control loop transaction tracking. - **controlloop-management**: generic controller capabilities. -- **controlloop-frankfurt**: new *controller* introduced in the frankfurt release to realize the ONAP use cases. +- **controlloop-usecases**: new *controller* introduced in the guilin release to realize the ONAP use cases. The following features are installed but disabled: -- **controlloop-usecases**: *controller* used pre-frankfurt releases. +- **controlloop-tdjam**: experimental java-only *controller* to be deprecated post guilin. - **controlloop-utils**: *actor* simulators. Control Loops Transaction (controlloop-trans) @@ -129,17 +139,18 @@ It installs common control loop application resources, and provides telemetry API extensions. *Actor* configurations are packaged in this feature. -Frankfurt Controller (controlloop-frankfurt) +Usecases Controller (controlloop-usecases) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -It is the *frankfurt* release implementation of the ONAP use cases. +It is the *guilin* release implementation of the ONAP use cases. It relies on the new *Actor* model framework to carry out a policy's execution. -Usecases Controller (controlloop-usecases) +TDJAM Controller (controlloop-tdjam) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This is the deprecated pre-frankfurt controller. +This is an experimental, java-only controller that will be deprecated after the +guilin release. Utilities (controlloop-utils) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -149,7 +160,7 @@ Enables *actor simulators* for testing purposes. Offline Mode ============ -The default ONAP installation in *onap/policy-pdpd-cl:1.6.4* is *OFFLINE*. +The default ONAP installation in *onap/policy-pdpd-cl:1.8.2* is *OFFLINE*. In this configuration, the *rules* artifact and the *dependencies* are all in the local maven repository. This requires that the maven dependencies are preloaded in the local repository. @@ -158,7 +169,7 @@ An offline configuration requires two configuration items: - *OFFLINE* environment variable set to true (see `values.yaml `__. - override of the default *settings.xml* (see - `settings.xml `__) override. + `settings.xml `__) override. Running the PDP-D Control Loop Application in a single container ================================================================ @@ -338,7 +349,7 @@ The *active.post.sh* script makes the PDP-D active. Actor Properties """""""""""""""" -In the *frankfurt* release, some *actors* configurations need to be overridden to support *http* for compatibility +In the *guilin* release, some *actors* configurations need to be overridden to support *http* for compatibility with the *controlloop-utils* feature. AAI-http-client.properties @@ -548,7 +559,7 @@ Verify that the policy shows with the telemetry tools: docker exec -it PDPD bash -c "/opt/app/policy/bin/telemetry" > get /policy/pdp/engine/lifecycle/policies - > get /policy/pdp/engine/controllers/frankfurt/drools/facts/frankfurt/controlloops + > get /policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops dcae.vdns.onset.json @@ -644,7 +655,7 @@ Verify that the policy shows with the telemetry tools: docker exec -it PDPD bash -c "/opt/app/policy/bin/telemetry" > get /policy/pdp/engine/lifecycle/policies - > get /policy/pdp/engine/controllers/frankfurt/drools/facts/frankfurt/controlloops + > get /policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops dcae.vcpe.onset.json @@ -788,7 +799,7 @@ Verify that the policy shows with the telemetry tools: docker exec -it PDPD bash -c "/opt/app/policy/bin/telemetry" > get /policy/pdp/engine/lifecycle/policies - > get /policy/pdp/engine/controllers/frankfurt/drools/facts/frankfurt/controlloops + > get /policy/pdp/engine/controllers/usecases/drools/facts/usecases/controlloops dcae.vfw.onset.json @@ -863,12 +874,11 @@ and an entry is added to the *$POLICY_LOGS/audit.log* indicating successful comp Running PDP-D Control Loop Application with other components ============================================================ -The reader can also look at the `integration/csit repository `__. +The reader can also look at the `policy/docker repository `__. More specifically, these directories have examples of other PDP-D Control Loop configurations: -* `plans `__: startup scripts. -* `scripts `__: docker-compose and related files. -* `plans `__: test plan. +* `plans `__: startup scripts. +* `tests `__: test plan. Additional information ======================