~~~~~~~~~~~~
Check the *drools-pdp* `released versions <https://wiki.onap.org/display/DW/Policy+Framework+Project%3A+Component+Versions>`__ page for the latest versions.
-At the time of this writing *1.6.3* is the latest version.
+At the time of this writing *1.8.2* is the latest version.
.. code-block:: bash
- docker pull onap/policy-drools:1.6.3
+ docker pull onap/policy-drools:1.8.2
A container instantiated from this image will run under the non-priviledged *policy* account.
.. code-block:: bash
- docker run --rm -it nexus3.onap.org:10001/onap/policy-drools:1.6.3 -- bash
+ docker run --rm -it nexus3.onap.org:10001/onap/policy-drools:1.8.2 -- bash
Communication Endpoints
=======================
defined in *<name>-controller.properties* files.
For example, see the
-`frankfurt controller configuration <https://git.onap.org/policy/drools-applications/tree/controlloop/common/feature-controlloop-frankfurt/src/main/feature/config/frankfurt-controller.properties>`__.
+`usecases controller configuration <https://git.onap.org/policy/drools-applications/tree/controlloop/common/feature-controlloop-usecases/src/main/feature/config/usecases-controller.properties>`__.
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 <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/src/main/resources/frankfurt.drl>`__ file (there may be more than one DRL file included).
+`usecases DRL <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/src/main/resources/usecases.drl>`__ file (there may be more than one DRL file included).
.. code-block:: bash
...
The DRL in conjuction with the dependent java libraries in the kjar
-`pom <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/pom.xml>`__
+`pom <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/pom.xml>`__
realizes the application's function. For intance, it realizes the
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
application *controller* that understands them to execute them. These are:
- *onap.policies.controlloop.operational.common.Drools*
-- *onap.policies.controlloop.Operational*
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 <https://git.onap.org/policy/drools-applications>`__
repository.
}
The *controller* application could declare its supported policy types in the *kjar*.
-For example, the *frankfurt controller* packages this information in the
-`kmodule.xml <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-frankfurt/src/main/resources/META-INF/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 <https://git.onap.org/policy/drools-applications/tree/controlloop/common/controller-usecases/src/main/resources/META-INF/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
<kbase name="onap.policies.controlloop.operational.common.Drools" default="false" equalsBehavior="equality"/>
<kbase name="onap.policies.controlloop.Operational" equalsBehavior="equality"
packages="org.onap.policy.controlloop" includes="onap.policies.controlloop.operational.common.Drools">
- <ksession name="frankfurt"/>
+ <ksession name="usecases"/>
</kbase>
</kmodule>
Software Architecture
-======================
+=====================
PDP-D is divided into 2 layers:
feature_sesspersist.rst
feature_statemgmt.rst
feature_testtransaction.rst
+ feature_nolocking.rst
Data Migration
==============
db-migrator -s ALL -o report
-For example in the official frankfurt delivery:
+For example in the official guilin delivery:
.. code-block:: bash
The default *settings.xml* file specifies the repositories to search. This configuration
can be overriden with a custom copy that would sit in a mounted configuration
directory. See an example of the OOM override
-`settings.xml <https://git.onap.org/oom/tree/kubernetes/policy/charts/drools/resources/configmaps/settings.xml>`__.
+`settings.xml <https://github.com/onap/oom/blob/master/kubernetes/policy/components/policy-drools-pdp/resources/configmaps/settings.xml>`_.
The default ONAP installation of the *control loop* child image *onap/policy-pdpd-cl:1.6.4* is *OFFLINE*.
In this configuration, the *rules* artifact and the *dependencies* retrieves all the artifacts from the local
- *OFFLINE* environment variable set to true.
- override *settings.xml* customization, see
- `settings.xml <https://git.onap.org/oom/tree/kubernetes/policy/charts/drools/resources/configmaps/settings.xml>`__.
+ `settings.xml <https://github.com/onap/oom/blob/master/kubernetes/policy/components/policy-drools-pdp/resources/configmaps/settings.xml>`_.
The default mode in the *onap/policy-drools:1.6.3* is ONLINE instead.
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
Server: Jetty(9.4.24.v20191120)
[
- "frankfurt"
+ "usecases"
]
https://localhost:9696/policy/pdp/engine> exit
.. code-block:: bash
- bash -c "http --verify=no -a ${TELEMETRY_USER}:${TELEMETRY_PASSWORD} PUT https://localhost:9696/policy/pdp/engine/lifecycle/state/ACTIVE"
+ bash -c "http --verify=no -a ${TELEMETRY_USER}:${TELEMETRY_PASSWORD} PUT <http|https>://localhost:9696/policy/pdp/engine/lifecycle/state/ACTIVE"
Bring up the PDP-D, nexus, and mariadb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Other examples
~~~~~~~~~~~~~~
-The reader can also look at the `integration/csit repository <https://git.onap.org/integration/csit>`__.
+The reader can also look at the `policy/docker repository <https://github.com/onap/policy-docker/tree/master/csit>`__.
More specifically, these directories have examples of other PDP-D configurations:
-* `plans <https://git.onap.org/integration/csit/tree/plans/policy/drools-pdp>`__: startup scripts.
-* `scripts <https://git.onap.org/integration/csit/tree/scripts/policy/docker-compose-drools.yml>`__: docker-compose related files.
-* `plans <https://git.onap.org/integration/csit/tree/tests/policy/drools-pdp>`__: test plan.
+* `plans <https://github.com/onap/policy-docker/tree/master/compose>`__: startup & teardown scripts.
+* `scripts <https://github.com/onap/policy-docker/blob/master/compose/docker-compose.yml>`__: docker-compose file.
+* `tests <https://github.com/onap/policy-docker/blob/master/csit/resources/tests/drools-pdp-test.robot>`__: test plan.
Configuring the PDP-D in an OOM Kubernetes installation
=======================================================
-The `PDP-D OOM chart <https://git.onap.org/oom/tree/kubernetes/policy/charts/drools>`__ can be
+The `PDP-D OOM chart <https://github.com/onap/oom/tree/master/kubernetes/policy/components/policy-drools-pdp>`__ can be
customized at the following locations:
-* `values.yaml <https://git.onap.org/oom/tree/kubernetes/policy/charts/drools/values.yaml>`__: custom values for your installation.
-* `configmaps <https://git.onap.org/oom/tree/kubernetes/policy/charts/drools/resources/configmaps>`__: place in this directory any configuration extensions or overrides to customize the PDP-D that does not contain sensitive information.
-* `secrets <https://git.onap.org/oom/tree/kubernetes/policy/charts/drools/resources/secrets>`__: place in this directory any configuration extensions or overrides to customize the PDP-D that does contain sensitive information.
+* `values.yaml <https://github.com/onap/oom/blob/master/kubernetes/policy/components/policy-drools-pdp/values.yaml>`__: custom values for your installation.
+* `configmaps <https://github.com/onap/oom/tree/master/kubernetes/policy/components/policy-drools-pdp/resources/configmaps>`__: place in this directory any configuration extensions or overrides to customize the PDP-D that does not contain sensitive information.
+* `secrets <https://github.com/onap/oom/tree/master/kubernetes/policy/components/policy-drools-pdp/resources/secrets>`__: place in this directory any configuration extensions or overrides to customize the PDP-D that does contain sensitive information.
The same customization techniques described in the docker sections for PDP-D, fully apply here, by placing the corresponding
files or scripts in these two directories.
======================
For additional information, please see the
-`Drools PDP Development and Testing (In Depth) <https://wiki.onap.org/display/DW/2020+Frankfurt+Tutorials>`__ page.
+`Drools PDP Development and Testing (In Depth) <https://wiki.onap.org/display/DW/2020-08+Frankfurt+Tutorials>`__ page.