aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/apex/APEX-MyFirstPolicyExample.rst3
-rw-r--r--docs/apex/APEX-User-Manual.rst2
-rw-r--r--docs/clamp/acm/acm-participant-guide.rst5
-rw-r--r--docs/clamp/acm/acm-user-guide.rst10
-rw-r--r--docs/clamp/acm/api-protocol/acm-participant-protocol.rst4
-rw-r--r--docs/clamp/acm/design-impl/clamp-runtime-acm.rst20
-rw-r--r--docs/clamp/acm/design-impl/participants/participant-intermediary.rst20
-rwxr-xr-xdocs/clamp/acm/files/AC-migrate.json6
-rwxr-xr-xdocs/clamp/acm/files/ACM-Message-Table.csv3
-rw-r--r--docs/development/devtools/devtools.rst106
-rw-r--r--docs/drools/pdpdApps.rst31
-rw-r--r--docs/drools/pdpdEngine.rst100
-rw-r--r--docs/installation/docker.rst7
-rw-r--r--docs/installation/oom.rst233
-rw-r--r--docs/pap/InternalPapPdp.rst57
-rw-r--r--docs/system-attributes/policy-db-migrator.rst12
-rw-r--r--integration/pom.xml41
17 files changed, 190 insertions, 470 deletions
diff --git a/docs/apex/APEX-MyFirstPolicyExample.rst b/docs/apex/APEX-MyFirstPolicyExample.rst
index 55dd2b87..d58eeb1d 100644
--- a/docs/apex/APEX-MyFirstPolicyExample.rst
+++ b/docs/apex/APEX-MyFirstPolicyExample.rst
@@ -367,8 +367,7 @@ Events
.. container:: paragraph
- ``Avro`` schema definitions can be any valid `Avro <https://avro.apac
- he.org/docs/current/spec.html>`__ schema. For events using fields defined with
+ ``Avro`` schema definitions can be any valid `Avro <https://avro.apache.org/docs/1.12.0/specification/>`__ schema. For events using fields defined with
Avro schemas, any incoming event containing that field must contain a value that conforms to the Avro schema.
.. container:: paragraph
diff --git a/docs/apex/APEX-User-Manual.rst b/docs/apex/APEX-User-Manual.rst
index 8a4996b1..81e5cd1f 100644
--- a/docs/apex/APEX-User-Manual.rst
+++ b/docs/apex/APEX-User-Manual.rst
@@ -2099,7 +2099,7 @@ Configure Context Schema Handler
are supported. Characters commonly used in field names,
such as ``.`` and ``-``, are not supported by AVRO. for
more information see `Avro Spec:
- Names <https://avro.apache.org/docs/1.8.1/spec.html#names>`__.
+ Names <https://avro.apache.org/docs/1.12.0/specification/>`__.
.. container:: paragraph
diff --git a/docs/clamp/acm/acm-participant-guide.rst b/docs/clamp/acm/acm-participant-guide.rst
index d46c5611..56710a4c 100644
--- a/docs/clamp/acm/acm-participant-guide.rst
+++ b/docs/clamp/acm/acm-participant-guide.rst
@@ -91,7 +91,7 @@ AutomationCompositionElementListener:
Every participant should implement a handler class that implements the AutomationCompositionElementListener interface
from the Participant Intermediary. The intermediary listener class listens for the incoming events from the ACM-runtime
and invoke the handler class implementations for various operations. This class implements the methods for deploying,
- undeploying, locking, unlocking , deleting, updating, preparing, reviewing, migrating, migrationPrechecking, priming, depriming requests that are coming from the ACM-runtime.
+ undeploying, locking, unlocking, deleting, updating, preparing, reviewing, migrating, migrationPrechecking, priming, depriming requests that are coming from the ACM-runtime.
The methods are as follows.
.. code-block:: java
@@ -524,6 +524,7 @@ This following methods are invoked to update the AC element state or AC element
1. void updateAutomationCompositionElementState(UUID instanceId, UUID elementId, DeployState deployState, LockState lockState, StateChangeResult stateChangeResult, String message);
2. void updateCompositionState(UUID compositionId, AcTypeState state, StateChangeResult stateChangeResult, String message);
+ 3. void updateAutomationCompositionElementStage(UUID instance, UUID elementId, StateChangeResult stateChangeResult, int stage, String message);
In/Out composition Properties
-----------------------------
@@ -729,7 +730,7 @@ The following example shows the Handler implementation and how could be the impl
.. code-block:: java
@Component
- public class AutomationCompositionElementHandler extends AcElementListenerV2 {
+ public class AutomationCompositionElementHandler extends AcElementListenerV3 {
@Override
public void deploy(CompositionElementDto compositionElement, InstanceElementDto instanceElement)
diff --git a/docs/clamp/acm/acm-user-guide.rst b/docs/clamp/acm/acm-user-guide.rst
index 0f814b4b..8cc4c40f 100644
--- a/docs/clamp/acm/acm-user-guide.rst
+++ b/docs/clamp/acm/acm-user-guide.rst
@@ -347,8 +347,12 @@ Example payload to migrate-precheck
Migrate AC instance
-------------------
After the AC instance is deployed, the user can migrate it to other composition definition.
-The target composition have to be primed.
-The user can update the instance property values if needed.
+The target composition have to be primed and there can be an addition/removal of elements at this stage.
+The user can update the instance property values for the existing elements if needed.
+A new element can be added and any elements that are no longer needed can be removed from the target composition and
+the migration payload.
+The migration payload should contain the updated element list for the instance.
+
.. code-block:: bash
@@ -358,6 +362,8 @@ The user can update the instance property values if needed.
Request Payload
Example payload to migrate and update the base url of the http request
+A new element with id "709c62b3-8918-41b9-a747-d21eb79c6c22" has been added during migration which will be deployed
+by the participant.
.. literalinclude:: files/AC-migrate.json
:language: json
diff --git a/docs/clamp/acm/api-protocol/acm-participant-protocol.rst b/docs/clamp/acm/api-protocol/acm-participant-protocol.rst
index 2a8e05a0..d384633a 100644
--- a/docs/clamp/acm/api-protocol/acm-participant-protocol.rst
+++ b/docs/clamp/acm/api-protocol/acm-participant-protocol.rst
@@ -36,7 +36,7 @@ Participant Deregistration is performed by a Participant when it shuts down. It
Automation Composition Priming and De-Priming
---------------------------------------------
-The Priming operation sends Automation Composition Types and common property values to participants for each Automation Composition Element Type in the Automation Composition Type. The ParticipantPrime message type is sent to trigger priming and depriming in participants in participants
+The Priming operation sends Automation Composition Types and common property values to participants for each Automation Composition Element Type in the Automation Composition Type. The ParticipantPrime message type is sent to trigger priming and depriming in participants.
.. image:: ../images/system-dialogues/PrimeAcTypeOnPpnts.png
@@ -65,7 +65,7 @@ Automation Composition Update
Automation Composition Update handles creation, change, and deletion of Automation Compositions on
participants. Change of Automation Compositions uses a semantic versioning approach and follows the
-semantics described on the page :ref:`4.1 Management of Automation Composition Instance
+semantics described on the page :ref:`5.1 Management of Automation Composition Instance
Configurations <management-acm-instance-configs>`.
.. image:: ../images/acm-participants-protocol/acm-update.png
diff --git a/docs/clamp/acm/design-impl/clamp-runtime-acm.rst b/docs/clamp/acm/design-impl/clamp-runtime-acm.rst
index 81b7376f..46d4a85f 100644
--- a/docs/clamp/acm/design-impl/clamp-runtime-acm.rst
+++ b/docs/clamp/acm/design-impl/clamp-runtime-acm.rst
@@ -294,6 +294,26 @@ Example of MIGRATE order with Http_PMSHMicroserviceAutomationCompositionElement
In that scenario the message AUTOMATION_COMPOSITION_MIGRATION has been sent three times,
Http_PMSHMicroserviceAutomationCompositionElement and PMSH_K8SMicroserviceAutomationCompositionElement will be executed two times.
+Add and remove elements during Migration
+****************************************
+When an AC instance is migrated to a new AC definition, the user has the flexibility to add a new element or remove an existing element from the instance.
+The target AC composition definition should contain the new element definition added and also the respective elements removed while commissioning to ACM-R.
+The new elements are further instantiated in the migration request with the instance properties, and the elements required to be undeployed are removed accordingly.
+ACM-R sends the updated element list in the migration request to the participants where the participant is expected to handle the add/remove scenario.
+The migration method on the participant receives the details of previously existed composition/instance as well as the updated composition/instance and hence the difference in the new and old properties for an
+element can be identified by the participant.
+Participants can also identify the newly added elements and the removed elements with the ElementState enum that is set for each element.
+
+Example:
+ For a newly added element in the migration, the element information about the previously existed element will contain the ElementState enum set to the value "NOT_PRESENT" by the intermediary, and the updated element object will contain the
+ ElementState value "NEW". Based on these enum values on both the objects, the participant can identify a new element added in the migration. The participant can choose to trigger a deployment of this new element and update the element state once the
+ deploy operation is complete.
+
+ For the elements that are removed in the migration, the element information about the previously existed element will contain the ElementState enum set to the value "PRESENT" by the intermediary, and the object for the updated element info will contain the
+ ElementState value "REMOVED". Based on this, the participant can identify a removed element in the migration and choose to trigger an undeployment of this element. The element state after the undeploy operation need not be updated to ACM-R as the element is already removed in the ACM-R.
+ The participant is also expected to trigger a "DELETE" operation for the removed element if required in order to delete any element OutProperties if stored in the memory. Similarly, The element state after the delete operation need not be updated to ACM-R for the removed element.
+
+
Configure custom namings for TOSCA node types
*********************************************
diff --git a/docs/clamp/acm/design-impl/participants/participant-intermediary.rst b/docs/clamp/acm/design-impl/participants/participant-intermediary.rst
index 909ad263..92ab6d42 100644
--- a/docs/clamp/acm/design-impl/participants/participant-intermediary.rst
+++ b/docs/clamp/acm/design-impl/participants/participant-intermediary.rst
@@ -43,7 +43,7 @@ Outbound messages
Design of a PARTICIPANT_REGISTER message
----------------------------------------
- A participant starts and send a PARTICIPANT_REGISTER message with participantId, replicaId and Supported Element Definition Types
-- in AC-runtime ParticipantRegisterListener collects the message from Message Broker
+- in ACM-runtime ParticipantRegisterListener collects the message from Message Broker
- if participant is not present in DB, it saves participant reference with status ON_LINE to DB
- It triggers the execution to send a PARTICIPANT_REGISTER_ACK message to the participant registered
- if participant is present in DB and there are AC Definitions related to the Participant,
@@ -52,14 +52,14 @@ Design of a PARTICIPANT_REGISTER message
Design of a PARTICIPANT_DEREGISTER message
------------------------------------------
- A participant is going to close and undeploys all AC-elements and send a PARTICIPANT_DEREGISTER message
-- in AC-runtime, ParticipantDeregisterListener collects the message from Message Broker
+- in ACM-runtime, ParticipantDeregisterListener collects the message from Message Broker
- It saves participant reference with status OFF_LINE to DB
- It triggers the execution to send a PARTICIPANT_DEREGISTER_ACK message to the participant deregistered
- Participant is not monitored.
Prime of an Automation Composition Definition Type
--------------------------------------------------
-- AC-runtime assigns the AC Definition to the participants based of Supported Element Definition Type by participant
+- ACM-runtime assigns the AC Definition to the participants based of Supported Element Definition Type by participant
- it triggers the execution to send a broadcast PARTICIPANT_PRIME message
- the message is built by ParticipantPrimePublisher using Tosca Service Template data (to fill the list of ParticipantDefinition)
- Participant-intermediary will receive a PARTICIPANT_PRIME message and stores the Tosca Service Template data on CacheProvider
@@ -67,7 +67,7 @@ Prime of an Automation Composition Definition Type
DePrime of an Automation Composition Definition Type
----------------------------------------------------
-- AC-runtime triggers the execution to send a broadcast PARTICIPANT_PRIME message
+- ACM-runtime triggers the execution to send a broadcast PARTICIPANT_PRIME message
- the message is built by ParticipantPrimePublisher with an empty list of ParticipantDefinition
- Participant-intermediary will receive a PARTICIPANT_PRIME message and deletes the Tosca Service Template data on CacheProvider
- Each participant performs its designated job of deprime
@@ -100,7 +100,7 @@ Design of "issues automation composition commands to automation compositions" -
Update of an Automation Composition Instance
--------------------------------------------
-- AC-runtime updates the instance properties of the deployed Ac instances
+- ACM-runtime updates the instance properties of the deployed Ac instances
- it triggers the execution to send a broadcast PROPERTIES_UPDATE message
- the message is built by AcElementPropertiesPublisher using the REST request payload (to fill the list of elements with the updated property values)
- Participant-intermediary will receive a PROPERTIES_UPDATE message and stores the updated values of the elements on CacheProvider
@@ -115,7 +115,7 @@ Migrate-precheck of an Automation Composition Instance
Migrate of an Automation Composition Instance
---------------------------------------------
-- AC-runtime saves the compositionTargetId and updates the instance properties of the deployed Ac instances
+- ACM-runtime saves the compositionTargetId and updates the instance properties of the deployed Ac instances
- it triggers the execution to send a broadcast AUTOMATION_COMPOSITION_MIGRATION message with precheck set to false
- the message is built by AutomationCompositionMigrationPublisher using the REST request payload (to fill the compositionTargetId and list of elements with the updated property values)
- Participant-intermediary will receive a AUTOMATION_COMPOSITION_MIGRATION message and stores the compositionTargetId and the updated values of the elements on CacheProvider
@@ -132,6 +132,7 @@ Design of "issues automation composition commands to automation compositions" -
-------------------------------------------------------------------------------------------------------
- AUTOMATION_COMPOSITION_STATE_CHANGE message with instantiation details and LOCK order state is sent to participants
- Participant-intermediary validates the current lockState change
+- Participant-intermediary will receive AUTOMATION_COMPOSITION_STATE_CHANGE message
- Each participant performs its designated job of lock
Design of Delete - case UNDEPLOYED to DELETED
@@ -141,11 +142,10 @@ Design of Delete - case UNDEPLOYED to DELETED
- Participant-intermediary will receive AUTOMATION_COMPOSITION_STATE_CHANGE message and sends AC-element details to participants
- Each participant performs its designated job of removing instantiation data if not done in undeployment
- Participant-intermediary will remove instantiation data
-- Each participant performs its designated job of delete
Design of a PARTICIPANT_STATUS_REQ message
------------------------------------------
-- AC-runtime triggers the execution to send a broadcast PARTICIPANT_STATUS_REQ message or to send it to a specific participant
+- ACM-runtime triggers the execution to send a broadcast PARTICIPANT_STATUS_REQ message or to send it to a specific participant
- the message is built by ParticipantStatusReqPublisher
- Participant-intermediary will receive a PARTICIPANT_STATUS_REQ message
@@ -159,7 +159,7 @@ Design of a AUTOMATION_COMPOSITION_DEPLOY_ACK message
-----------------------------------------------------
- A participant sends AUTOMATION_COMPOSITION_DEPLOY_ACK message in response to a AUTOMATION_COMPOSITION_DEPLOY message.
- For each AC-elements moved to the ordered state as indicated by the AUTOMATION_COMPOSITION_DEPLOY
-- AutomationCompositionUpdateAckListener in AC-runtime collects the messages from Message Broker
+- AutomationCompositionUpdateAckListener in ACM-runtime collects the messages from Message Broker
- It checks the deployStatus of all automation composition elements
- It updates the AC-instance in DB accordingly
@@ -167,6 +167,6 @@ Design of a AUTOMATIONCOMPOSITION_STATECHANGE_ACK message
---------------------------------------------------------
- A participant sends AUTOMATIONCOMPOSITION_STATECHANGE_ACK message in response to a AUTOMATIONCOMPOSITION_STATECHANGE message.
- For each AC-elements moved to the ordered state as indicated by the AUTOMATIONCOMPOSITION_STATECHANGE
-- AutomationCompositionStateChangeAckListener in AC-runtime collects the messages from Message Broker
+- AutomationCompositionStateChangeAckListener in ACM-runtime collects the messages from Message Broker
- It checks the deployStatus/lockStatus of all automation composition elements
- It updates the AC-instance in DB accordingly
diff --git a/docs/clamp/acm/files/AC-migrate.json b/docs/clamp/acm/files/AC-migrate.json
index 32b56fd4..27932fca 100755
--- a/docs/clamp/acm/files/AC-migrate.json
+++ b/docs/clamp/acm/files/AC-migrate.json
@@ -11,6 +11,12 @@
"properties": {
"baseUrl": "http://acm-starter-ac-element-impl_updated:8084"
}
+ },
+ "709c62b3-8918-41b9-a747-d21eb79c6c22": {
+ "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
+ "properties": {
+ "baseUrl": "http://acm-sink-ac-element-impl_updated:8085"
+ }
}
}
}
diff --git a/docs/clamp/acm/files/ACM-Message-Table.csv b/docs/clamp/acm/files/ACM-Message-Table.csv
index 0ade0b81..b3f09a7a 100755
--- a/docs/clamp/acm/files/ACM-Message-Table.csv
+++ b/docs/clamp/acm/files/ACM-Message-Table.csv
@@ -31,7 +31,6 @@ ParticipantStatus,Participant,ACM Runtime,Status update message,state,Enum indic
,,,,participantSupportedElementTypes,Ac element types that this participant is capable for deployinh/supporting
,,,,messageType,Enum indicating the type of message PARTICIPANT_STATUS
AutomationCompositionDeploy,ACM Runtime,Participant,Message to request change state of composition to DEPLOY,participantUpdatesList,A list of ParticipantUpdates instances which carries details of an updated participant.
-,,,,replicaId,The replica ID of this participant – in UUID format
,,,,compositionId,The id of the AC Definition related to this message
,,,,automationCompositionId,The id of the automation composition related to this message
,,,,startPhase,Integer indicating the start up order of the elements
@@ -72,7 +71,7 @@ AutomationCompositionMigration,ACM Runtime,Participant,Message to request update
,,,,compositionTargetId,The id of the AC Definition target
,,,,automationCompositionId,The id of the automation composition related to this message
,,,,participantId,UUID indicating the participant the message is intended for
-,,,,messageType,Enum indicating the type of message PROPERTIES_UPDATE
+,,,,messageType,Enum indicating the type of message AUTOMATION_COMPOSITION_MIGRATION
AutomationCompositionPrepare,ACM Runtime,Participant,Message to request prepare/review,participantList,A list of ParticipantUpdates instances which carries details of an updated participant.
,,,,preDeploy,Flag - if true the instance is Undeployed and the action is a Prepare - otherwise (false) the instance is Deployed and the action is a Review
,,,,compositionId,The id of the AC Definition related to this message
diff --git a/docs/development/devtools/devtools.rst b/docs/development/devtools/devtools.rst
index ecddbf52..4e63fdbc 100644
--- a/docs/development/devtools/devtools.rst
+++ b/docs/development/devtools/devtools.rst
@@ -234,34 +234,17 @@ With docker images:
Developing and Debugging each Policy Component
**********************************************
-Running a MariaDb Instance
-++++++++++++++++++++++++++
-
-The Policy Framework requires a MariaDb instance running. The easiest way to do this is to run a docker image locally.
-
-One example on how to do this is to use the scripts used by the policy/api S3P tests.
-
-`Simulator Setup Script Example <https://gerrit.onap.org/r/gitweb?p=policy/api.git;a=tree;f=testsuites/stability/src/main/resources/simulatorsetup;h=9038413f67cff2e2a79d6345f198f96ee0c57de1;hb=refs/heads/master>`_
-
- .. code-block:: bash
-
- cd ~/git/onap/api/testsuites/stability/src/main/resources/simulatorsetup
- ./setup_components.sh
-
-Another example on how to run the MariaDb is using the docker compose file used by the Policy API CSITs:
-
-`Example Compose Script to run MariaDB <https://gerrit.onap.org/r/gitweb?p=integration/csit.git;a=blob;f=scripts/policy/docker-compose-api.yml;h=e32190f1e6cb6d9b64ddf53a2db2c746723a0c6a;hb=refs/heads/master>`_
Running the API component standalone
++++++++++++++++++++++++++++++++++++
Assuming you have successfully built the codebase using the instructions above. The only requirement for the API
-component to run is a running MariaDb database instance. The easiest way to do this is to run the docker image, please
-see the mariadb documentation for the latest information on doing so. Once the mariadb is up and running, a
-configuration file must be provided to the api in order for it to know how to connect to the mariadb. You can locate
-the default configuration file in the packaging of the api component:
+component to run is a running MariaDb/Postgres database instance. The easiest way to do this is to run the docker
+image, please see the official documentation for the latest information on doing so. Once the database is up and
+running, a configuration file must be provided to the api in order for it to know how to connect to the database.
+You can locate the default configuration file in the packaging of the api component:
-`Default Policy API Configuration <https://gerrit.onap.org/r/gitweb?p=policy/api.git;a=blob;f=packages/policy-api-tarball/src/main/resources/etc/apiParameters.yaml;h=2c19199a8a889cb0ab203334182662fe15e1635e;hb=refs/heads/master>`_
+`Default Policy API Configuration <https://github.com/onap/policy-api/blob/master/packages/policy-api-tarball/src/main/resources/etc/apiParameters.yaml>`_
You will want to change the fields pertaining to "host", "port" and "databaseUrl" to your local environment settings
and start the policy-api springboot application either using your IDE of choice or using the run goal from Spring Boot
@@ -272,22 +255,21 @@ Running the API component using Docker Compose
An example of running the api using a docker compose script is located in the Policy Integration CSIT test repository.
-`Policy CSIT API Docker Compose <https://gerrit.onap.org/r/gitweb?p=integration/csit.git;a=blob;f=scripts/policy/docker-compose-api.yml;h=e32190f1e6cb6d9b64ddf53a2db2c746723a0c6a;hb=refs/heads/master>`_
+`Policy CSIT Docker Compose <https://github.com/onap/policy-docker/blob/master/compose/compose.yaml>`_
Running the PAP component standalone
++++++++++++++++++++++++++++++++++++
-Once you have successfully built the PAP codebase, a running MariaDb database and DMaaP instance will also be required
-to start up the application. For MariaDb instance, the easiest way is to run the docker image, please see the mariadb
-documentation for the latest information on doing so. For DMaaP, the easiest way during development is to run the DMaaP
-simulator which is explained in the below sections. Once the mariadb and DMaaP are running, a configuration file must
-be provided to the PAP component in order for it to know how to connect to the mariadb and DMaaP along with other
-relevant configuration details. You can locate the default configuration file in the packaging of the PAP component:
+Once you have successfully built the PAP codebase, a running MariaDb/Postgres database and Kafka instance will also be
+required to start up the application. To start database and Kafka, check official documentation on how to run an
+instance of each. After database and Kafka are up and running, a configuration file must be provided to the PAP
+component in order for it to know how to connect to the database and Kafka along with other relevant configuration
+details. You can locate the default configuration file in the packaging of the PAP component:
-`Default PAP Configuration <https://gerrit.onap.org/r/gitweb?p=policy/pap.git;a=blob;f=packages/policy-pap-tarball/src/main/resources/etc/papParameters.yaml;h=06dd45f4946fd0a11ed8ef859f8fc5bcf409a3f0;hb=HEAD>`_
+`Default PAP Configuration <https://github.com/onap/policy-pap/blob/master/packages/policy-pap-tarball/src/main/resources/etc/papParameters.yaml>`_
-Update the fields related to MariaDB, DMaaP and the RestServer for the application as per your local environment settings.
-Then to start the application, just run the Spring Boot application using IDE or command line.
+Update the fields related to database, Kafka and the RestServer for the application as per your local environment
+settings. Then to start the application, just run the Spring Boot application using IDE or command line.
Running the Smoke Tests
@@ -315,8 +297,8 @@ familiar with the Policy Framework components and test any local changes.
Running the Stability/Performance Tests
***************************************
-The following links contain instructions on how to run the S3P Stability and Performance tests. These may be helpful to developers to become
-familiar with the Policy Framework components and test any local changes.
+The following links contain instructions on how to run the S3P Stability and Performance tests. These may be helpful
+to developers to become familiar with the Policy Framework components and test any local changes.
.. toctree::
:maxdepth: 2
@@ -334,8 +316,8 @@ familiar with the Policy Framework components and test any local changes.
Running the Pairwise Tests
**************************
-The following links contain instructions on how to run the pairwise tests. These may be helpful to developers check that
-the Policy Framework works in a full ONAP deployment.
+The following links contain instructions on how to run the pairwise tests. These may be helpful to developers check
+that the Policy Framework works in a full ONAP deployment.
.. toctree::
:maxdepth: 1
@@ -426,7 +408,8 @@ To test these images, CSITs will be run.
Running Policy Components Locally
*********************************
-The following page outlines how to run the policy framework components locally using IntelliJ, Eclipse and the Command Line.
+The following page outlines how to run the policy framework components locally using IntelliJ,
+Eclipse and the Command Line.
.. toctree::
:maxdepth: 1
@@ -457,57 +440,14 @@ Using the Swagger-UI maven dependency Swagger HTML documentation can be accessed
- The generated swagger.json can be accessed at: *https://service_IP:service_port/v2/api-docs*
- Swagger UI can be accessed at: *https://service_IP:service_port/swagger-ui/index.html*
-Running the DMaaP Simulator during Development
-**********************************************
-It is sometimes convenient to run the DMaaP simulator during development. You can run it from the command line using Maven or from within your IDE.
-
-Running on the Command Line
-+++++++++++++++++++++++++++
-1. Check out the policy models repository
-2. Go to the *models-sim/policy-models-simulators* subdirectory in the policy-models repo
-3. Run the following Maven command:
-
- .. code-block:: bash
-
- mvn exec:java -Dexec.mainClass=org.onap.policy.models.simulators.Main -Dexec.args="src/test/resources/simParameters.json"
-
-Running in Eclipse
-++++++++++++++++++
-1. Check out the policy models repository
-2. Go to the *models-sim/policy-models-simulators* module in the policy-models repo
-3. Specify a run configuration using the class *org.onap.policy.models.simulators.Main* as the main class
-4. Specify an argument of *src/test/resources/simParameters.json* to the run configuration
-5. Run the configuration
-
-Specifying a local configuration file
-+++++++++++++++++++++++++++++++++++++
-
-You may specify a local configuration file instead of *src/test/resources/simParameters.json* on the command line or as an argument in the run configuration in eclipse:
-
-.. code-block:: json
-
- {
- "dmaapProvider": {
- "name": "DMaaP simulator",
- "topicSweepSec": 900
- },
- "restServers": [
- {
- "name": "DMaaP simulator",
- "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1",
- "host": "localhost",
- "port": 3904,
- "https": false
- }
- ]
- }
Bringing up Strimzi-Kafka Deploment with Policy Framework
*********************************************************
-This page will explain how to setup a local Kubernetes cluster and minimal helm setup to run and deploy Policy Framework on a single host.
+This page will explain how to setup a local Kubernetes cluster and minimal helm setup to run and deploy
+Policy Framework on a single host.
-This is meant for a development purpose only as we are going to use microk8s in this page
+This is meant for a development purpose only as we are going to use microk8s in this page:
.. toctree::
:maxdepth: 1
diff --git a/docs/drools/pdpdApps.rst b/docs/drools/pdpdApps.rst
index 5ef0a3fc..6dceee5f 100644
--- a/docs/drools/pdpdApps.rst
+++ b/docs/drools/pdpdApps.rst
@@ -44,9 +44,9 @@ for the latest images:
.. code-block:: bash
- docker pull onap/policy-pdpd-cl:1.8.2
+ docker pull onap/policy-pdpd-cl:3.0.0
-At the time of this writing *1.8.2* is the latest version.
+At the time of this writing *3.0.0* is the latest version.
The *onap/policy-pdpd-cl* image extends the *onap/policy-drools* image with
the *usecases* controller that realizes the *control loop* application.
@@ -120,10 +120,6 @@ The enabled features in the *onap/policy-pdpd-cl* image are:
- **controlloop-management**: generic controller capabilities.
- **controlloop-usecases**: new *controller* introduced in the guilin release to realize the ONAP use cases.
-The following features are installed but disabled:
-
-- **controlloop-tdjam**: experimental java-only *controller* to be deprecated post guilin.
-- **controlloop-utils**: *actor* simulators.
Control Loops Transaction (controlloop-trans)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -146,11 +142,6 @@ 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.
-TDJAM Controller (controlloop-tdjam)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This is an experimental, java-only controller that will be deprecated after the
-guilin release.
Utilities (controlloop-utils)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -273,10 +264,6 @@ First create an environment file (in this example *env.conf*) to configure the P
DCAE_SERVERS=localhost
DCAE_CONSUMER_GROUP=dcae.policy.shared
- # Open DMaaP
-
- DMAAP_SERVERS=localhost
-
# AAI
AAI_HOST=localhost
@@ -311,18 +298,6 @@ First create an environment file (in this example *env.conf*) to configure the P
Configuration
~~~~~~~~~~~~~
-noop.pre.sh
-"""""""""""
-
-In order to avoid the noise in the logs that relate to dmaap configuration, a startup script (*noop.pre.sh*) is added
-to convert *dmaap* endpoints to *noop* in the host directory to be mounted.
-
-.. code-block:: bash
-
- #!/bin/bash -x
-
- sed -i "s/^dmaap/noop/g" $POLICY_HOME/config/*.properties
-
features.pre.sh
"""""""""""""""
@@ -878,7 +853,7 @@ The reader can also look at the `policy/docker repository <https://github.com/on
More specifically, these directories have examples of other PDP-D Control Loop configurations:
* `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.
+* `scripts <https://github.com/onap/policy-docker/blob/master/compose/compose.yaml>`__: docker-compose file.
* `tests <https://github.com/onap/policy-docker/blob/master/csit/resources/tests/drools-applications-test.robot>`__: test plan.
Additional information
diff --git a/docs/drools/pdpdEngine.rst b/docs/drools/pdpdEngine.rst
index 084eb6d7..d943d561 100644
--- a/docs/drools/pdpdEngine.rst
+++ b/docs/drools/pdpdEngine.rst
@@ -40,11 +40,11 @@ Docker Image
~~~~~~~~~~~~
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.8.2* is the latest version.
+At the time of this writing *3.0.0* is the latest version.
.. code-block:: bash
- docker pull onap/policy-drools:1.8.2
+ docker pull onap/policy-drools:3.0.0
A container instantiated from this image will run under the non-priviledged *policy* account.
@@ -60,7 +60,7 @@ The following command can be used to explore the directory layout.
.. code-block:: bash
- docker run --rm -it nexus3.onap.org:10001/onap/policy-drools:1.8.2 -- bash
+ docker run --rm -it nexus3.onap.org:10001/onap/policy-drools:3.0.0 -- bash
Communication Endpoints
=======================
@@ -674,16 +674,6 @@ A feature is packaged in a *feature-<name>.zip* and has this internal layout:
# of pdp-d that are necessary for <feature-name> to operate
# correctly.
# lib/feature the single feature jar that implements the feature.
- # [db] database directory, if the feature contains sql.
- # [db]/<db-name> database to which underlying sql scripts should be applied.
- # ideally, <db-name> = <feature-name> so it is easily to associate
- # the db data with a feature itself. In addition, since a feature is
- # a somewhat independent isolated unit of functionality,the <db-name>
- # database ideally isolates all its data.
- # [db]/<db-name>/sql directory with all the sql scripts.
- # [db]/<db-name>/sql/<sql-scripts> for this feature, sql
- # upgrade scripts should be suffixed with ".upgrade.sql"
- # and downgrade scripts should be suffixed with ".downgrade.sql"
# [artifacts] maven artifacts to be deployed in a maven repository.
# [artifacts]/<artifact> maven artifact with identifiable maven coordinates embedded
# in the artifact.
@@ -835,41 +825,13 @@ See the
`feature-distributed-locking sql directory <https://git.onap.org/policy/docker/tree/policy-db-migrator/src/main/docker/config/pooling/sql>`__
for an example of upgrade/downgrade scripts.
-The following command will provide a report on the upgrade or downgrade activies:
-
-.. code-block:: bash
-
- db-migrator -s ALL -o report
-
-For example in the official guilin delivery:
-
-.. code-block:: bash
-
- policy@dev-drools-0:/tmp/policy-install$ db-migrator -s ALL -o report
- +---------+---------+
- | name | version |
- +---------+---------+
- | pooling | 1811 |
- +---------+---------+
- +-------------------------------------+-----------+---------+---------------------+
- | script | operation | success | atTime |
- +-------------------------------------+-----------+---------+---------------------+
- | 1804-distributedlocking.upgrade.sql | upgrade | 1 | 2020-05-22 19:33:09 |
- | 1811-distributedlocking.upgrade.sql | upgrade | 1 | 2020-05-22 19:33:09 |
- +-------------------------------------+-----------+---------+---------------------+
-
-In order to use the *db-migrator* tool, the system must be configured with a database.
-
-.. code-block:: bash
-
- SQL_HOST=mariadb
Maven Repositories
==================
The drools libraries in the PDP-D uses maven to fetch rules artifacts and software dependencies.
-The default *settings.xml* file specifies the repositories to search. This configuration
+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://github.com/onap/oom/blob/master/kubernetes/policy/components/policy-drools-pdp/resources/configmaps/settings.xml>`_.
@@ -920,19 +882,6 @@ in a container.
-s|--settings: custom settings.xml
-a|--artifact: file artifact (jar or pom) to deploy and/or install
-AAF
-===
-
-Policy can talk to AAF for authorization requests. To enable AAF set
-the following environment variables:
-
-.. code-block:: bash
-
- AAF=true
- AAF_NAMESPACE=org.onap.policy
- AAF_HOST=aaf-locate.onap
-
-By default AAF is disabled.
Policy Tool
===========
@@ -969,15 +918,14 @@ It contains 3 sections:
- *PDP-D* running status
- *features* applied
-- Data migration status on a per database basis.
The *start* and *stop* commands are useful for developers testing functionality on a docker container instance.
Telemetry Shell
===============
-*PDP-D* offers an ample set of REST APIs to debug, introspect, and change state on a running PDP-D. This is known as the
-*telemetry* API. The *telemetry* shell wraps these APIs for shell-like access using
+*PDP-D* offers an ample set of REST APIs to debug, introspect, and change state on a running PDP-D. This is known as the
+*telemetry* API. The *telemetry* shell wraps these APIs for shell-like access using
`http-prompt <http://http-prompt.com/>`__.
.. code-block:: bash
@@ -1040,7 +988,6 @@ These are the configuration items that can reside externally and override the de
- ***.post.sh** scripts that will be executed after the PDP-D starts.
- **policy-keystore** to override the default PDP-D java keystore.
- **policy-truststore** to override the default PDP-D java truststore.
-- **aaf-cadi.keyfile** to override the default AAF CADI Key generated by AAF.
- ***.properties** to override or add any properties file for the PDP-D, this includes *controller*, *endpoint*,
*engine* or *system* configurations.
- **logback*.xml** to override the default logging configuration.
@@ -1109,9 +1056,6 @@ First create an environment file (in this example *env.conf*) to configure the P
POLICY_PDP_PAP_API_KEY=
POLICY_PDP_PAP_API_SECRET=
- # DMaaP
-
- DMAAP_SERVERS=localhost
Note that *SQL_HOST*, and *REPOSITORY* are empty, so the PDP-D does not attempt
to integrate with those components.
@@ -1119,18 +1063,6 @@ to integrate with those components.
Configuration
~~~~~~~~~~~~~
-In order to avoid the noise in the logs that relate to dmaap configuration, a startup script (*noop.pre.sh*) is added
-to convert *dmaap* endpoints to *noop* in the host directory to be mounted.
-
-noop.pre.sh
-"""""""""""
-
-.. code-block:: bash
-
- #!/bin/bash -x
-
- sed -i "s/^dmaap/noop/g" $POLICY_HOME/config/*.properties
-
active.post.sh
""""""""""""""
@@ -1171,7 +1103,6 @@ To run the *telemetry shell* and other tools from the host:
docker exec -it PDPD bash -c "/opt/app/policy/bin/telemetry"
docker exec -it PDPD bash -c "/opt/app/policy/bin/policy status"
- docker exec -it PDPD bash -c "/opt/app/policy/bin/db-migrator -s ALL -o report"
Controlled instantiation of the PDP-D
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1332,23 +1263,6 @@ and the *mariadb* database:
POLICY_PDP_PAP_API_KEY=
POLICY_PDP_PAP_API_SECRET=
- # DMaaP
-
- DMAAP_SERVERS=localhost
-
-prepare.pre.sh
-~~~~~~~~~~~~~~
-
-A pre-start script *config/prepare.pres.sh"can be added the custom config directory
-to prepare the PDP-D to activate the distributed-locking feature (using the database)
-and to use "noop" topics instead of *dmaap* topics:
-
-.. code-block:: bash
-
- #!/bin/bash
-
- bash -c "/opt/app/policy/bin/features enable distributed-locking"
- sed -i "s/^dmaap/noop/g" $POLICY_HOME/config/*.properties
active.post.sh
~~~~~~~~~~~~~~
@@ -1381,7 +1295,7 @@ The reader can also look at the `policy/docker repository <https://github.com/on
More specifically, these directories have examples of other PDP-D configurations:
* `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.
+* `scripts <https://github.com/onap/policy-docker/blob/master/compose/compose.yaml>`__: 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
diff --git a/docs/installation/docker.rst b/docs/installation/docker.rst
index b2b45ed5..5a3baca5 100644
--- a/docs/installation/docker.rst
+++ b/docs/installation/docker.rst
@@ -141,10 +141,10 @@ Start the containers manually
**Step 1:** Set the containers location and project.
-For *local* images, set CONTAINER_LOCATION="", located at the `export-ports.sh` script
+For *local* images, set `LOCAL_IMAGES=true`, located at the `get-versions.sh` script
*You will need to build locally all the images using the steps in the previous section*
-For *remote* images set CONTAINER_LOCATION="nexus3.onap.org:10001/"
+Remote images are downloaded by default from "nexus3.onap.org:10001"
**Step 2:** Set gerrit branch
@@ -207,7 +207,7 @@ Before the `-jar /app/pap.jar \ ` line, add the following block:
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.local.only=false \
-On `docker-compose.yml` compose file, add to the port section the mapping 5005.
+On `compose.yml` file, add to the port section the mapping 5005.
.. code-block:: yaml
@@ -215,7 +215,6 @@ On `docker-compose.yml` compose file, add to the port section the mapping 5005.
image: ${CONTAINER_LOCATION}onap/policy-pap:${POLICY_PAP_VERSION}
container_name: policy-pap
depends_on:
- - mariadb
- simulator
- api
hostname: policy-pap
diff --git a/docs/installation/oom.rst b/docs/installation/oom.rst
index d1dca3d9..d975e752 100644
--- a/docs/installation/oom.rst
+++ b/docs/installation/oom.rst
@@ -16,14 +16,15 @@ Notes
Cluster Used in this Guide
**************************
-* Ubuntu-based cluster using Ubuntu 20.04.1 LTS
-* 3 nodes - each having 8GB RAM and 4CPU
+* Ubuntu-based VM using Ubuntu 22.04.1 LTS
+* VM has 16GB RAM and 150 GB HDD and 4CPU
+* microk8s-based cluster is used
Prerequisites
*************
-* K8s Cluster capable of running kubectl commands
-* Both kubectl client and the server use v1.22.4
-* Helm version v3.6.3 is installed
+* Microk8s Cluster capable of running kubectl commands
+* Both kubectl client and the server use v1.30.4
+* Helm version v3.15.4 is installed
* There should be a running chart repo called "local"
* Chartmuseum used to create the chart repo
@@ -60,19 +61,19 @@ Once this is completed, we should be able to see all of the charts in the local
helm search repo local
- local/policy 12.0.0 ONAP Policy
- local/policy-apex-pdp 12.0.0 ONAP Policy APEX PDP
- local/policy-api 12.0.0 ONAP Policy Design API
- local/policy-clamp-ac-a1pms-ppnt 12.0.0 ONAP Policy Clamp A1PMS Participant
- local/policy-clamp-ac-http-ppnt 12.0.0 ONAP Policy Clamp Controlloop Http Participant
- local/policy-clamp-ac-k8s-ppnt 12.0.0 ONAP Policy Clamp Controlloop K8s Participant
- local/policy-clamp-ac-kserve-ppnt 12.0.0 ONAP Policy Clamp Kserve Participant
- local/policy-clamp-ac-pf-ppnt 12.0.0 ONAP Policy Clamp Controlloop Policy Participant
- local/policy-clamp-runtime-acm 12.0.0 ONAP Policy Clamp Controlloop Runtime
- local/policy-distribution 12.0.0 ONAP Policy Distribution
- local/policy-drools-pdp 12.0.0 ONAP Drools Policy Engine (PDP-D)
- local/policy-pap 12.0.0 ONAP Policy Administration (PAP)
- local/policy-xacml-pdp 12.0.0 ONAP Policy XACML PDP (PDP-X)
+ local/policy 14.0.5 ONAP Policy
+ local/policy-apex-pdp 14.0.1 ONAP Policy APEX PDP
+ local/policy-api 14.0.2 ONAP Policy Design API
+ local/policy-clamp-ac-a1pms-ppnt 14.0.1 ONAP Policy Clamp A1PMS Participant
+ local/policy-clamp-ac-http-ppnt 14.0.1 ONAP Policy Clamp Controlloop Http Participant
+ local/policy-clamp-ac-k8s-ppnt 14.0.1 ONAP Policy Clamp Controlloop K8s Participant
+ local/policy-clamp-ac-kserve-ppnt 14.0.1 ONAP Policy Clamp Kserve Participant
+ local/policy-clamp-ac-pf-ppnt 14.0.1 ONAP Policy Clamp Controlloop Policy Participant
+ local/policy-clamp-runtime-acm 14.0.2 ONAP Policy Clamp Controlloop Runtime
+ local/policy-distribution 14.0.1 ONAP Policy Distribution
+ local/policy-drools-pdp 14.0.2 ONAP Drools Policy Engine (PDP-D)
+ local/policy-pap 14.0.2 ONAP Policy Administration (PAP)
+ local/policy-xacml-pdp 14.0.3 ONAP Policy XACML PDP (PDP-X)
.. note::
Only the policy/acm charts are shown above - there will be many others.
@@ -101,7 +102,7 @@ Install Strimzi Kafka Operator
.. code-block:: bash
helm repo add strimzi https://strimzi.io/charts/
- helm install strimzi-kafka-operator strimzi/strimzi-kafka-operator --namespace strimzi-system --version 0.32.0 --set watchAnyNamespace=true --create-namespace
+ helm install strimzi-kafka-operator strimzi/strimzi-kafka-operator --namespace strimzi-system --version 0.43.0 --set watchAnyNamespace=true --create-namespace
Once these are installed and running, we can move on to the installation of the policy and related helm charts
@@ -113,9 +114,9 @@ At this stage, we have all the required charts that we need for either Policy Fr
helm deploy dev local/onap --namespace onap -f ~/override.yaml --create-namespace
-In the above **helm deploy** command we provide an override file called **override.yaml**. In this file, we can turn on/off different parts of the onap installation. we have provided 2 different override files below in the collapsable code. One is for just the policy components and requirements. One is for the ACM components and requirements. These are provided just as examples - you can adjust any way you see fit.
+In the above **helm deploy** command we provide an override file called **override.yaml**. In this file, we can turn on/off different parts of the onap installation. we have provided an file below in the collapsable code. This is provided just as examples - you can adjust any way you see fit. The choice between postgres and mariadb is controlled by **global.mariadbGalera.localCluster & global.mariadbGalera.useInPolicy** for mariadb and **global.postgres.localCluster & global.postgres.useInPolicy** for postgres
-.. collapse:: Policy Chart Override
+.. collapse:: Policy/ACM Chart Override
.. code-block:: yaml
@@ -127,6 +128,35 @@ In the above **helm deploy** command we provide an override file called **overri
enabled: false
cmpv2Enabled: false
addTestingComponents: false
+ useStrimziKafka: true
+ useStrimziKafkaPf: false
+ mariadbGalera:
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: false
+ # if useOperator set to "true", set "enableServiceAccount to "false"
+ # as the SA is created by the Operator
+ enableServiceAccount: true
+ localCluster: true
+ # '&mariadbConfig' means we "store" the values for later use in the file
+ # with '*mariadbConfig' pointer.
+ config: &mariadbConfig
+ mysqlDatabase: policyadmin
+ service: &mariadbService policy-mariadb
+ internalPort: 3306
+ nameOverride: *mariadbService
+ # (optional) if localCluster=false and an external secret is used set this variable
+ #userRootSecret: <secretName>
+ useInPolicy: true
+ prometheusEnabled: false
+ postgres:
+ localCluster: false
+ service:
+ name: pgset
+ name2: policy-pg-primary
+ name3: policy-pg-replica
+ container:
+ name: postgres
+ useInPolicy: false
robot:
enabled: false
so:
@@ -134,145 +164,8 @@ In the above **helm deploy** command we provide an override file called **overri
cassandra:
enabled: false
mariadb-galera:
- enabled: true
- replicaCount: 1
- appc:
- enabled: false
- sdnc:
enabled: false
replicaCount: 1
- config:
- enableClustering: false
- aaf:
- enabled: false
- aai:
- enabled: false
- clamp:
- enabled: false
- cli:
- enabled: false
- cds:
- enabled: false
- consul:
- enabled: false
- contrib:
- enabled: false
- awx:
- enabled: false
- netbox:
- enabled: false
- dcaegen2:
- enabled: false
- pnda:
- enabled: false
- dmaap:
- enabled: true
- message-router:
- enabled: true
- dmaap-bc:
- enabled: false
- dmaap-dr-prov:
- enabled: false
- dmaap-dr-node:
- enabled: false
- dmaap-strimzi:
- enabled: false
- esr:
- enabled: false
- log:
- enabled: false
- sniro-emulator:
- enabled: false
- oof:
- enabled: false
- msb:
- enabled: false
- multicloud:
- enabled: false
- nbi:
- enabled: false
- pomba:
- enabled: false
- portal:
- enabled: false
- platform:
- enabled: false
- sdc:
- enabled: false
- uui:
- enabled: false
- vfc:
- enabled: false
- vid:
- enabled: false
- modeling:
- enabled: false
- cps:
- enabled: false
- vnfsdk:
- enabled: false
- vvp:
- enabled: false
- strimzi:
- enabled: true
- replicaCount: 1
- persistence:
- kafka:
- size: 1Gi
- zookeeper:
- size: 256Mi
- strimzi-kafka-bridge:
- enabled: false
- policy:
- enabled: true
- policy-clamp-ac-a1pms-ppnt:
- enabled: false
- policy-clamp-ac-k8s-ppnt:
- enabled: false
- policy-clamp-ac-http-ppnt:
- enabled: false
- policy-clamp-ac-pf-ppnt:
- enabled: false
- policy-clamp-runtime-acm:
- enabled: false
- policy-gui:
- enabled: false
- policy-apex-pdp:
- enabled: true
- policy-nexus:
- enabled: false
- policy-api:
- enabled: true
- policy-pap:
- enabled: true
- policy-xacml-pdp:
- enabled: true
- policy-drools-pdp:
- enabled: true
- policy-distribution:
- enabled: true
-
-.. collapse:: ACM Chart Override
-
- .. code-block:: yaml
-
- global:
- repository: nexus3.onap.org:10001
- pullPolicy: IfNotPresent
- masterPassword: password
- serviceMesh:
- enabled: false
- cmpv2Enabled: false
- addTestingComponents: false
- robot:
- enabled: false
- so:
- enabled: false
- cassandra:
- enabled: false
- mariadb-galera:
- enabled: true
- replicaCount: 1
appc:
enabled: false
sdnc:
@@ -303,9 +196,9 @@ In the above **helm deploy** command we provide an override file called **overri
pnda:
enabled: false
dmaap:
- enabled: true
+ enabled: false
message-router:
- enabled: true
+ enabled: false
dmaap-bc:
enabled: false
dmaap-dr-prov:
@@ -364,6 +257,8 @@ In the above **helm deploy** command we provide an override file called **overri
enabled: true
policy-clamp-ac-a1pms-ppnt:
enabled: true
+ policy-clamp-ac-kserve-ppnt:
+ enabled: true
policy-clamp-ac-k8s-ppnt:
enabled: true
policy-clamp-ac-http-ppnt:
@@ -375,7 +270,7 @@ In the above **helm deploy** command we provide an override file called **overri
policy-gui:
enabled: false
policy-apex-pdp:
- enabled: false
+ enabled: true
policy-nexus:
enabled: false
policy-api:
@@ -383,9 +278,9 @@ In the above **helm deploy** command we provide an override file called **overri
policy-pap:
enabled: true
policy-xacml-pdp:
- enabled: false
+ enabled: true
policy-drools-pdp:
- enabled: false
+ enabled: true
policy-distribution:
enabled: false
@@ -428,8 +323,8 @@ The assumption is you have cloned the charts from the OOM repository into a loca
From your local copy, edit any of the values.yaml files in the policy tree to make desired changes.
-The policy schema will be installed automatically as part of the database configuration using ``db-migrator``.
-By default the policy schema is upgraded to the latest version.
+The policy/acm schemas will be installed automatically as part of the database configuration using ``db-migrator``.
+By default the policy/acm schemas is upgraded to the latest version.
For more information on how to change the ``db-migrator`` setup please see
:ref:`Using Policy DB Migrator <policy-db-migrator-label>`.
@@ -448,8 +343,8 @@ After undeploying policy, loop on monitoring the policy pods until they go away.
.. code-block:: bash
- helm undeploy dev-policy
- kubectl get pods -n onap | grep dev-policy
+ helm undeploy dev
+ kubectl get pods -n onap | grep dev
**Step 4** Re-Deploy Policy pods
@@ -458,8 +353,8 @@ After deploying policy, loop on monitoring the policy pods until they come up.
.. code-block:: bash
- helm deploy dev-policy local/onap --namespace onap
- kubectl get pods -n onap | grep dev-policy
+ helm deploy dev local/onap --namespace onap -f override.yaml
+ kubectl get pods -n onap | grep dev
.. note::
If you want to purge the existing data and start with a clean install,
diff --git a/docs/pap/InternalPapPdp.rst b/docs/pap/InternalPapPdp.rst
index 132e0df1..77395f5b 100644
--- a/docs/pap/InternalPapPdp.rst
+++ b/docs/pap/InternalPapPdp.rst
@@ -10,20 +10,19 @@ The Internal Policy Framework PAP-PDP API
.. contents::
:depth: 3
-This page describes the API between the PAP and PDPs. The APIs in this section are implemented using `DMaaP
-API <https://wiki.onap.org/display/DW/DMaaP+API>`__ messaging. The APIs in this section are used for internal
-communication in the Policy Framework. The APIs are NOT supported for use by components outside the Policy Framework and
-are subject to revision and change at any time.
+This page describes the API between the PAP and PDPs. The APIs in this section are used for internal
+communication in the Policy Framework, using Kafka as messaging system. The APIs are NOT supported for
+use by components outside the Policy Framework and are subject to revision and change at any time.
There are three messages on the API:
1. PDP_STATUS: PDP→PAP, used by PDPs to report to the PAP
-2. PDP_UPDATE: PAP→PDP, used by the PAP to update the policies running on PDPs, triggers a PDP_STATUS message with
- the result of the PDP_UPDATE operation
+2. PDP_UPDATE: PAP→PDP, used by the PAP to update the policies running on PDPs, triggers a PDP_STATUS
+ message with the result of the PDP_UPDATE operation
-3. PDP_STATE_CHANGE: PAP→PDP, used by the PAP to change the state of PDPs, triggers a PDP_STATUS message with the result
- of the PDP_STATE_CHANGE operation
+3. PDP_STATE_CHANGE: PAP→PDP, used by the PAP to change the state of PDPs, triggers a PDP_STATUS message
+ with the result of the PDP_STATE_CHANGE operation
The fields in the table below are valid on API calls:
@@ -57,7 +56,7 @@ policiesToBeUndeployed N/A M N/A The list of policies
->(name) O M N/A The name of a TOSCA policy running on the PDP
->policy_type O M N/A The TOSCA policy type of the policyWhen a PDP starts,
it commences periodic sending of *PDP_STATUS*
- messages on DMaaP. The PAP receives these messages
+ messages. The PAP receives these messages
and acts in whatever manner is appropriate.
->policy_type_version O M N/A The version of the TOSCA policy type of the policy
->properties O M N/A The properties of the policy for the XACML, Drools,
@@ -95,9 +94,9 @@ type in the implementation of this API.
==================
The purpose of this API is for PDPs to provide heartbeat, status, health, and statistical information to Policy
Administration. There is a single *PDP_STATUS* message on this API. PDPs send this message to the PAP using the
-*POLICY_PDP_PAP* DMaaP topic. The PAP listens on this topic for messages.
+*POLICY_PDP_PAP* topic. The PAP listens on this topic for messages.
-When a PDP starts, it commences periodic sending of *PDP_STATUS* messages on DMaaP. The PAP receives these messages and
+When a PDP starts, it commences periodic sending of *PDP_STATUS* messages. The PAP receives these messages and
acts in whatever manner is appropriate. *PDP_UPDATE* and *PDP_STATE_CHANGE* operations trigger a
*PDP_STATUS* message as a response.
@@ -133,13 +132,6 @@ sent to the PAP in a *PDP_STATUS* message is unknown to the PAP, the PAP locks t
name: xacml-23d33c2a-8715-43a8-ade5-5923fc0f185c
pdpGroup: defaultGroup
pdpSubgroup: xacml
- statistics:
- policyDeployCount: 0
- policyDeploySuccessCount: 0
- policyDeployFailCount: 0
- policyExecutedCount: 123
- policyExecutedSuccessCount: 122
- policyExecutedFailCount: 1
.. code-block:: yaml
@@ -160,16 +152,6 @@ sent to the PAP in a *PDP_STATUS* message is unknown to the PAP, the PAP locks t
deployment_instance_info:
node_address: drools_2_pod
# Other deployment instance info
- statistics:
- policyDeployCount: 3
- policyDeploySuccessCount: 3
- policyDeployFailCount: 0
- policyExecutedCount: 123
- policyExecutedSuccessCount: 122
- policyExecutedFailCount: 1
- policyUndeployCount: 0
- policyUndeploySuccessCount: 0
- policyUndeployFailCount: 0
response:
responseTo: 52117e25-f416-45c7-a955-83ed929d557f
responseStatus: SUCCESSSS
@@ -191,16 +173,6 @@ sent to the PAP in a *PDP_STATUS* message is unknown to the PAP, the PAP locks t
policies:
- name: onap.controllloop.operational.apex.bbs.EastRegion
version: 1.0.0
- statistics:
- policyExecutedCount: 0
- policyExecutedSuccessCount: 0
- policyExecutedFailCount: 0
- policyDeployCount: 1
- policyDeploySuccessCount: 1
- policyDeployFailCount: 0
- policyUndeployCount: 0
- policyUndeploySuccessCount: 0
- policyUndeployFailCount: 0
response:
responseTo: 679fad9b-abbf-4b9b-971c-96a8372ec8af
responseStatus: SUCCESS
@@ -235,20 +207,13 @@ sent to the PAP in a *PDP_STATUS* message is unknown to the PAP, the PAP locks t
name: xacml-23d33c2a-8715-43a8-ade5-5923fc0f185c
pdpGroup: onap.pdpgroup.Monitoring
pdpSubgroup: xacml
- statistics:
- policyDeployCount: 0
- policyDeploySuccessCount: 0
- policyDeployFailCount: 0
- policyExecutedCount: 123
- policyExecutedSuccessCount: 122
- policyExecutedFailCount: 1
2 PDP API for PAPs
==================
The purpose of this API is for the PAP to load and update policies on PDPs and to change the state of PDPs.
-The PAP sends *PDP_UPDATE* and *PDP_STATE_CHANGE* messages to PDPs using the *POLICY_PAP_PDP* DMaaP topic.
+The PAP sends *PDP_UPDATE* and *PDP_STATE_CHANGE* messages to PDPs using the *POLICY_PAP_PDP* topic.
PDPs listen on this topic for messages.
The PAP can set the scope of *PDP_STATE_CHANGE* message:
diff --git a/docs/system-attributes/policy-db-migrator.rst b/docs/system-attributes/policy-db-migrator.rst
index 81019efe..351f4852 100644
--- a/docs/system-attributes/policy-db-migrator.rst
+++ b/docs/system-attributes/policy-db-migrator.rst
@@ -53,13 +53,13 @@ These script can take up to four parameters:
- upgrade/downgrade/report
* - schema
- -s
- - policyadmin/clampacm
+ - schema_name
* - to
- -t
- - 0800/0900
+ - target_version (latest is 1600)
* - from
- -f
- - 0800/0900
+ - origin_version (earliest is 0800)
The container also consists of several sql files which are used to upgrade/downgrade
the policy database.
@@ -76,7 +76,7 @@ to run and connect to the database.
* - SQL_HOST
- mariadb
* - SQL_DB
- - policyadmin/clampacm
+ - policyadmin clampacm etc [one or more schema separated by space]
* - SQL_USER
- policy_user
* - SQL_PASSWORD
@@ -98,7 +98,7 @@ to run and connect to the database.
* - SQL_HOST
- postgres
* - SQL_DB
- - policyadmin/clampacm
+ - policyadmin clampacm etc [one or more schema separated by space]
* - SQL_USER
- policy_user
* - SQL_PASSWORD
@@ -369,6 +369,6 @@ current schema version is set to 1300 and only sql scripts from later versions a
.. note::
It is advisable to take a backup of your database prior to running this utility.
- Please refer to the mariadb documentation on how to do this.
+ Please refer to the mariadb or postgres documentation on how to do this.
End of Document
diff --git a/integration/pom.xml b/integration/pom.xml
index 2bd5f2f1..c2a85878 100644
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -61,39 +61,40 @@
<version.guava>33.0.0-jre</version.guava>
<version.httpclient>5.3.1</version.httpclient>
<version.io.prometheus>0.16.0</version.io.prometheus>
- <version.jackson>2.16.1</version.jackson>
+ <version.jackson>2.17.2</version.jackson>
<version.jacoco>0.8.11</version.jacoco>
<version.jaxb>4.0.5</version.jaxb>
- <version.jersey>3.1.5</version.jersey>
- <version.jetty>11.0.20</version.jetty>
+ <version.jersey>3.1.8</version.jersey>
+ <version.jetty>11.0.23</version.jetty>
+ <version.jexl3>3.2.1</version.jexl3>
<version.json-path>2.9.0</version.json-path>
<version.json-schema-friend>0.12.4</version.json-schema-friend>
<version.json-schema-validator>1.5.0</version.json-schema-validator>
<version.jupiter>5.10.2</version.jupiter>
- <version.kafka>3.6.1</version.kafka>
- <version.kotlin>1.9.23</version.kotlin>
+ <version.kafka>3.8.0</version.kafka>
+ <version.kotlin>2.0.20</version.kotlin>
<version.log4j>2.23.1</version.log4j>
- <version.logback>1.5.6</version.logback>
+ <version.logback>1.5.7</version.logback>
<version.maven-checkstyle-plugin>3.3.1</version.maven-checkstyle-plugin>
<version.maven-remote-resources-plugin>3.1.0</version.maven-remote-resources-plugin>
- <version.micrometer>1.11.10</version.micrometer>
+ <version.micrometer>1.13.3</version.micrometer>
<version.mockito>5.5.0</version.mockito>
<version.mockserver>5.15.0</version.mockserver>
<version.netty>4.1.100.Final</version.netty>
<version.nsa-cambria>1.2.1-oss</version.nsa-cambria>
<version.nsa-sa-client>1.3.0-oss</version.nsa-sa-client>
- <version.opentel>1.25.0</version.opentel>
+ <version.opentel>1.41.0</version.opentel>
<version.plexus>3.5.0</version.plexus>
<version.sdc-dist>2.1.1</version.sdc-dist>
<version.sdc-tosca>1.9.0</version.sdc-tosca>
<version.slf4j>2.0.13</version.slf4j>
- <version.spring>6.1.11</version.spring>
- <version.springboot>3.3.1</version.springboot>
- <version.spring-security>6.3.1</version.spring-security>
+ <version.spring>6.1.12</version.spring>
+ <version.springboot>3.3.3</version.springboot>
+ <version.spring-security>6.3.3</version.spring-security>
<version.sonar>3.11.0.3922</version.sonar>
<version.swagger.codegen.v3>3.0.52</version.swagger.codegen.v3>
<version.swagger.core.v3>2.2.20</version.swagger.core.v3>
- <version.tomcat>10.1.19</version.tomcat>
+ <version.tomcat>10.1.28</version.tomcat>
<surefireArgLine>
--add-opens java.base/java.time=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED
@@ -233,7 +234,7 @@
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
- <version>6.0.0</version>
+ <version>6.1.0</version>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
@@ -243,7 +244,7 @@
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
- <version>3.1.0</version>
+ <version>4.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
@@ -715,7 +716,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl3</artifactId>
- <version>3.2.1</version>
+ <version>${version.jexl3}</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
@@ -895,7 +896,7 @@
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
- <version>10.1.25</version>
+ <version>10.1.28</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
@@ -922,17 +923,17 @@
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-fips</artifactId>
- <version>1.0.7</version>
+ <version>2.0.7</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-otel</artifactId>
- <version>1.1.8</version>
+ <version>1.3.3</version>
</dependency>
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-kafka-clients-2.6</artifactId>
- <version>${version.opentel}-alpha</version>
+ <version>2.7.0-alpha</version>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
@@ -942,7 +943,7 @@
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk-extension-autoconfigure</artifactId>
- <version>${version.opentel}-alpha</version>
+ <version>${version.opentel}</version>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>