From ae9582c44f6032ff6504bdc5b773f598b1b5ef90 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Mon, 2 Nov 2020 14:36:25 -0500 Subject: [PATCH] Document usecases controller The usecases controller replaced the frankfurt controller during the guilin release. The latter will be removed in Honolulu. Updated the documentation to reflect the change. This must be cherry picked into guilin. Issue-ID: POLICY-2821 Change-Id: Ifad02970c2231b7d006f38c6546d099597ec2a4a Signed-off-by: Jim Hahn --- docs/drools/pdpdApps.rst | 44 ++++++++++++++++++++++++++------------------ docs/drools/pdpdEngine.rst | 29 ++++++++++++++--------------- 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/docs/drools/pdpdApps.rst b/docs/drools/pdpdApps.rst index 331f3ac6..afb246ea 100644 --- a/docs/drools/pdpdApps.rst +++ b/docs/drools/pdpdApps.rst @@ -50,31 +50,31 @@ for the latest images: At the time of this writing *1.6.4* 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 two Operational policy types: - *onap.policies.controlloop.Operational*. - *onap.policies.controlloop.operational.common.Drools*. @@ -108,11 +108,12 @@ 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-frankfurt**: *controller* used in the frankfurt release. +- **controlloop-tdjam**: experimental java-only *controller* to be deprecated post guilin. - **controlloop-utils**: *actor* simulators. Control Loops Transaction (controlloop-trans) @@ -129,17 +130,24 @@ 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) +Frankfurt Controller (controlloop-frankfurt) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is the frankfurt controller that will be deprecated after the +guilin release. + +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) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -338,7 +346,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 +556,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 +652,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 +796,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 diff --git a/docs/drools/pdpdEngine.rst b/docs/drools/pdpdEngine.rst index 3456cc6d..360d85eb 100644 --- a/docs/drools/pdpdEngine.rst +++ b/docs/drools/pdpdEngine.rst @@ -216,27 +216,27 @@ Controllers defined in *-controller.properties* files. For example, see the -`frankfurt controller configuration `__. +`usecases controller configuration `__. This configuration file has two sections: *a)* application maven coordinates, and *b)* endpoint references and coders. Maven Coordinates ~~~~~~~~~~~~~~~~~ -The coordinates section (*rules*) points to the *controller-frankfurt* *kjar* artifact. +The coordinates section (*rules*) points to the *controller-usecases* *kjar* artifact. It is the *brain* of the control loop application. .. code-block:: bash - controller.name=frankfurt + controller.name=usecases rules.groupId=${project.groupId} - rules.artifactId=controller-frankfurt + rules.artifactId=controller-usecases rules.version=${project.version} ..... This *kjar* contains the -`frankfurt DRL `__ file (there may be more than one DRL file included). +`usecases DRL `__ file (there may be more than one DRL file included). .. code-block:: bash @@ -256,7 +256,7 @@ This *kjar* contains the ... The DRL in conjuction with the dependent java libraries in the kjar -`pom `__ +`pom `__ realizes the application's function. For intance, it realizes the vFirewall, vCPE, and vDNS use cases in ONAP. @@ -274,7 +274,7 @@ vFirewall, vCPE, and vDNS use cases in ONAP. Endpoints References and Coders ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The *frankfurt-controller.properties* configuration also contains a mix of +The *usecases-controller.properties* configuration also contains a mix of source (of incoming controller traffic) and sink (of outgoing controller traffic) configuration. This configuration also contains specific filtering and mapping rules for incoming and outgoing dmaap messages @@ -442,7 +442,7 @@ application *controller* that understands them to execute them. These are: A minimum of one application *controller* that supports these capabilities must be installed in order to honor the *operational policy types*. -One such controller is the *frankfurt* controller residing in the +One such controller is the *usecases* controller residing in the `policy/drools-applications `__ repository. @@ -459,8 +459,8 @@ explicitly in a native *onap.policies.native.drools.Controller* policy. } The *controller* application could declare its supported policy types in the *kjar*. -For example, the *frankfurt controller* packages this information in the -`kmodule.xml `__. One advantage of this approach is that the PDP-D would only +For example, the *usecases controller* packages this information in the +`kmodule.xml `__. One advantage of this approach is that the PDP-D would only commit to execute policies against these policy types if a supporting controller is up and running. .. code-block:: bash @@ -469,7 +469,7 @@ commit to execute policies against these policy types if a supporting controller - + @@ -841,7 +841,7 @@ The following command will provide a report on the upgrade or downgrade activies db-migrator -s ALL -o report -For example in the official frankfurt delivery: +For example in the official guilin delivery: .. code-block:: bash @@ -960,8 +960,7 @@ The *status* option provides generic status of the system. controlloop-management 1.6.4 enabled controlloop-utils 1.6.4 enabled controlloop-trans 1.6.4 enabled - controlloop-frankfurt 1.6.4 enabled - controlloop-usecases 1.6.4 disabled + controlloop-usecases 1.6.4 enabled [migration] pooling: OK @ 1811 @@ -993,7 +992,7 @@ Telemetry Shell Server: Jetty(9.4.24.v20191120) [ - "frankfurt" + "usecases" ] https://localhost:9696/policy/pdp/engine> exit -- 2.16.6