aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--checkstyle/pom.xml2
-rw-r--r--docs/development/devtools/smoke/acm-participants-smoke.rst99
-rw-r--r--docs/development/devtools/smoke/distribution-smoke.rst141
-rw-r--r--docs/development/devtools/smoke/files/api-application.yaml23
-rw-r--r--docs/development/devtools/smoke/files/docker-compose-policy.yaml61
-rw-r--r--docs/development/devtools/smoke/files/pap-application.yaml91
-rw-r--r--docs/development/devtools/smoke/files/participant-http-application.yaml23
-rw-r--r--docs/development/devtools/smoke/files/participant-kubernetes-application.yaml26
-rw-r--r--docs/development/devtools/smoke/files/participant-policy-application.yaml41
-rw-r--r--docs/development/devtools/smoke/json/acm-instantiation.json4
-rw-r--r--docs/development/devtools/smoke/json/instantiation_pptnt_smoke.json1
-rw-r--r--docs/development/devtools/smoke/policy-participant-smoke.rst581
-rw-r--r--docs/development/devtools/smoke/xacml-smoke.rst20
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/performance-monitor.pngbin199317 -> 173091 bytes
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/performance-statistics.pngbin79928 -> 56736 bytes
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threads.pngbin163004 -> 120014 bytes
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threshold.pngbin71656 -> 184094 bytes
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/stability-monitor.pngbin126910 -> 93084 bytes
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/stability-statistics.pngbin54210 -> 56211 bytes
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threads.pngbin167982 -> 124682 bytes
-rw-r--r--docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threshold.pngbin72322 -> 202685 bytes
-rw-r--r--docs/development/devtools/testing/s3p/pap-s3p-results/pap_performance_jmeter_results.pngbin238867 -> 83914 bytes
-rw-r--r--docs/development/devtools/testing/s3p/pap-s3p-results/pap_stability_jmeter_results.pngbin285324 -> 272805 bytes
-rw-r--r--docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_after_72h.pngbin14816 -> 14546 bytes
-rw-r--r--docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_before_72h.pngbin5398 -> 5186 bytes
-rw-r--r--docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_during_72h.pngbin5613 -> 5182 bytes
-rw-r--r--docs/development/devtools/testing/s3p/pap-s3p.rst4
-rw-r--r--docs/development/property-configuration.rst28
-rw-r--r--docs/pap/notification/kafka-pap-notif.json (renamed from docs/pap/notification/dmaap-pap-notif.json)0
-rw-r--r--docs/pap/pap.rst52
-rw-r--r--docs/pap/response/pdp-statistics-pap-resp.json45
-rw-r--r--docs/pap/response/statistics-pap-resp.json11
-rw-r--r--integration/pom.xml6
-rw-r--r--integration/src/main/resources/release/14.0.0-ONAP_pf_release_data.csv14
-rw-r--r--integration/src/main/resources/release/pf_release_data.csv26
-rwxr-xr-xintegration/src/main/scripts/release/updateRefs.sh6
-rw-r--r--pom.xml2
-rw-r--r--releases/4.1.3.yaml4
-rw-r--r--releases/4.1.4.yaml4
-rw-r--r--resources/pom.xml2
-rw-r--r--version.properties6
41 files changed, 743 insertions, 580 deletions
diff --git a/checkstyle/pom.xml b/checkstyle/pom.xml
index 313e4272..d2518ee0 100644
--- a/checkstyle/pom.xml
+++ b/checkstyle/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.onap.policy.parent</groupId>
<artifactId>policy-parent</artifactId>
- <version>4.1.3-SNAPSHOT</version>
+ <version>5.0.0-SNAPSHOT</version>
</parent>
<artifactId>checkstyle</artifactId>
<name>checkstyle</name>
diff --git a/docs/development/devtools/smoke/acm-participants-smoke.rst b/docs/development/devtools/smoke/acm-participants-smoke.rst
index 0b8061e2..ad377768 100644
--- a/docs/development/devtools/smoke/acm-participants-smoke.rst
+++ b/docs/development/devtools/smoke/acm-participants-smoke.rst
@@ -26,92 +26,71 @@ The procedure documented in this article has been verified using Ubuntu 20.04 LT
2.1 Prerequisites
=================
-- Java 11
+- Java 17
- Docker
-- Maven 3
+- Maven 3.9
- Git
- helm3
- k8s cluster
- Refer to this guide for basic environment setup `Setting up dev environment <https://wiki.onap.org/display/DW/Setting+Up+Your+Development+Environment>`_
-2.2 Assumptions
-===============
-- You are accessing the policy repositories through gerrit.
+2.2 Cloning CLAMP automation composition
+========================================
-The following repositories are required for development in this project. These repositories should be present on your machine and you should run "mvn clean install" on all of them so that the packages are present in your .m2 repository.
+Run a script such as the script below to clone the required modules from the `ONAP git repository <https://gerrit.onap.org/r/admin/repos/q/filter:policy>`_. This script clones CLAMP automation composition and all dependency.
-- policy/parent
-- policy/common
-- policy/models
-- policy/clamp
+.. code-block:: bash
-In this setup guide, we will be setting up all the components technically required for a working dev environment.
+ cd ~/git
+ git clone https://gerrit.onap.org/r/policy/clamp clamp
-2.3 Setting up the components
-=============================
-2.3.1 MariaDB Setup
-^^^^^^^^^^^^^^^^^^^
-We will be using Docker to run our mariadb instance. It will have the acm-runtime database running in it.
+Execution of the command above results in the following directory hierarchy in your *~/git* directory:
-- AutomationComposition: the runtime-acm db
+ * ~/git/clamp
-The easiest way to do this is to perform a SQL script. Create the *mariadb.sql* file in the directory *~/git*.
-.. code-block:: mysql
+2.3 Setting up the components
+=============================
- CREATE DATABASE `clampacm`;
- USE `clampacm`;
- CREATE USER 'policy';
- GRANT ALL on clampacm.* to 'policy' identified by 'P01icY' with GRANT OPTION;
+2.3.1 Running MariaDb and Kafka
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+We will be using Docker to run our mariadb instance and Kafka. It will have the acm-runtime database running in it.
+The easiest way to do this is to perform a SQL script. Create the *mariadb.sql* file in the directory *~/git*.
-Execution of the command above results in the creation and start of the *mariadb-smoke-test* container.
+.. literalinclude:: files/mariadb.sql
+ :language: SQL
- .. code-block:: bash
+Create the '*docker-compose.yaml*' using following code:
- cd ~/git
- docker run --name mariadb-smoke-test \
- -p 3306:3306 \
- -e MYSQL_ROOT_PASSWORD=my-secret-pw \
- --mount type=bind,source=$HOME/git/mariadb.sql,target=/docker-entrypoint-initdb.d/data.sql \
- -d mariadb:10.10.2 \
- --lower-case-table-names=1
+.. literalinclude:: files/docker-compose-local.yaml
+ :language: yaml
-The database will be exposed locally on port 3306 and will be backed by an anonymous docker volume.
+Run the docker composition:
-2.3.2 DMAAP Simulator
-^^^^^^^^^^^^^^^^^^^^^
-For convenience, a dmaap simulator has been provided in the policy/models repository. To start the simulator, you can do the following:
+ .. code-block:: bash
-1. Navigate to /models-sim/policy-models-simulators in the policy/models repository.
-2. Add a configuration file to src/test/resources with the following contents:
+ cd ~/git/
+ docker compose up
-.. code-block:: json
+2.3.2 Setting topicParameterGroup for kafka localhost
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+It needs to set 'kafka' as topicCommInfrastructure and 'localhost:29092' as server.
+In the clamp repo, you should find the file 'runtime-acm/src/main/resources/application.yaml'. This file (in the 'runtime' parameters section) may need to be altered as below:
- {
- "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
- }
- ]
- }
-
-3. You can then start dmaap with:
+.. literalinclude:: files/runtime-application.yaml
+ :language: yaml
-.. code-block:: bash
+Same changes (in the 'participant' parameters section)
+may need to be apply into the file 'participant/participant-impl/participant-impl-http/src/main/resources/config/application.yaml'.
- mvn exec:java -Dexec.mainClass=org.onap.policy.models.simulators.Main -Dexec.args="src/test/resources/YOUR_CONF_FILE.json"
+.. literalinclude:: files/participant-http-application.yaml
+ :language: yaml
-At this stage the dmaap simulator should be running on your local machine on port 3904.
+And into the file 'participant/participant-impl/participant-impl-kubernetes/src/main/resources/config/application.yaml'.
+.. literalinclude:: files/participant-kubernetes-application.yaml
+ :language: yaml
2.3.3 Automation composition Runtime
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -245,7 +224,7 @@ Verify automation composition state:
GET: https://<Runtime ACM IP> : <Port>/onap/policy/clamp/acm/v2/compositions/{compositionId}/instances/{instanceId}
-3.4 Automation Compositions can be "UNDEPLOYED" after deployment
+3.5 Automation Compositions can be "UNDEPLOYED" after deployment
================================================================
By changing the state to "UNDEPLOYED", all the helm deployments under the corresponding automation composition will be uninstalled from the cluster.
diff --git a/docs/development/devtools/smoke/distribution-smoke.rst b/docs/development/devtools/smoke/distribution-smoke.rst
index c0e3cb1d..ad57ee15 100644
--- a/docs/development/devtools/smoke/distribution-smoke.rst
+++ b/docs/development/devtools/smoke/distribution-smoke.rst
@@ -7,131 +7,72 @@
Policy Distribution Smoke Test
################################
-The policy-distribution smoke testing is executed against a custom ONAP docker installation as defined in the docker compose file in "policy/docker/csit/".
+The policy-distribution smoke testing is executed against a custom ONAP docker or Kubernetes installation as defined in the docker compose file in "policy/docker/csit/".
The policy-distribution configuration file is located in "docker/csit/config/distribution/".
-This test verifies the execution of the REST api's exposed by the component to make sure the CSAR Decoding and Forwarding works as expected.
+This test verifies the execution of the REST API's exposed by the component to make sure the CSAR Decoding and Forwarding works as expected.
+Also, the deployment of the policy is checked automatically. An event is then sent to the deployed policy, and thus, its correct operation is verified.
-General Setup
-*****************
-In policy/docker/csit/
-
-.. code-block:: bash
-
- ./start-grafana.sh distribution
-
-This script will compose the ONAP components used during the smoke tests are:
-
-- Policy API to perform CRUD of policies.
-- Policy DB to store the policies, and DB Migrator to start the db.
-- DMAAP Simulator for the communication between components.
-- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc).
-- Policy Apex-PDP to deploy & undeploy policies. And send heartbeats to PAP.
-- Policy Drools-PDP to deploy & undeploy policies. And send heartbeats to PAP.
-- Policy Xacml-PDP to deploy & undeploy policies. And send heartbeats to PAP.
-
-- Policy Distribution to test the Decoding and Forwarding functions.
-
-Use this script to easily bring down the containers :
-
-.. code-block:: bash
-
- ./stop-grafana.sh
-
-Testing procedure
-**********************
-
-The test set is focused on the following use cases:
-
-- Wait until Distribution starts and reach the built-in REST endpoints for fetching healthcheck & statistics.
-- Execute some of the REST api's exposed by policy-pap component.
-
-Starting Policy Distribution
-------------------------------------
-
-Check the docker logs to see when Distribution service is up and running.
-
-Get the ips of distribution and pap services:
+There are 2 alternative ways to carry out the tests. In Docker and in Kubernetes
-.. code::
- :number-lines:
+Docker Setup
+************
+In policy/docker/csit/
- ./get-instance-ip.sh policy-distribution
- ./get-instance-ip.sh policy-pap
+More detailed setup for docker CSIT is here
-Health check status & statistical data of running distribution system.
+`Policy CSIT Test Install Docker <https://docs.onap.org/projects/onap-policy-parent/en/latest/development/devtools/testing/csit.html>`_
.. code-block:: bash
- curl -u 'healthcheck:zb!XztG34' --basic http://{POLICY_DISTRIBUTION_IP}:6969/healthcheck
- curl -u 'healthcheck:zb!XztG34' --basic http://{POLICY_DISTRIBUTION_IP}:6969/statistics
-
-Expected result for healthcheck
-
-.. code-block:: json
-
- {"name":"Policy SSD","url":"policy-distribution","healthy":true,"code":200,"message":"alive"}
-
-Expected result for statistics
+ ./run-project-csit.sh distribution
-.. code-block:: json
+This script will do the following:
- {"code":200,"totalDistributionCount":0,"distributionSuccessCount":0,"distributionFailureCount":0,"totalDownloadCount":0,"downloadSuccessCount":0,"downloadFailureCount":0}
+- Deploys all required components - including api, pap and distribution
+- Runs distributions CSIT tests. These tests:
-Trigger Policy Distribution Core
-------------------------------------------
+ - Take a policy from a CSAR file in distribution.
+ - Distribution sends and deploys it in API and PAP.
+ - Send an event to the deployed policy - if the policy is NOT deployed successfully, this will FAIL with a 404.
-In order to test policy-distribution, we need to trigger the decoding copying a .csar in the mapped volume,
-defined in the docker-compose-distribution-smoke.yml as :
+- Takes down all the components.
+- Saves the results in a .html file in the csit/archives/distribution directory
+- Saves the docker compose logs in the same directory
-.. code-block:: yaml
-
- volumes:
- - ./distribution/config/temp/:/opt/app/policy/distribution/etc/temp/
-
-So now copy the "sample_csar_with_apex_policy.csar" from ./distribution/config/csar/ to ./distribution/config/temp/
-
-If the commissioning is successful we should see from the logs this message
+K8S Setup
+*********
+In policy/docker/csit/
-.. image:: images/message-commissioning-participant.png
+More detailed setup for K8S CSIT is here
-So if we check the distribution statistics again
+`Policy CSIT Test Install Kubernetes <https://docs.onap.org/projects/onap-policy-parent/en/latest/development/devtools/testing/csit.html>`_
.. code-block:: bash
- {"code":200,"totalDistributionCount":1,"distributionSuccessCount":1,"distributionFailureCount":0,"totalDownloadCount":1,"downloadSuccessCount":1,"downloadFailureCount":0}
+ ./run-k8s-csit.sh install distribution
-Execute policy-pap testing
-------------------------------------
-.. note::
- The user for pap is different.
+This script will do the following:
-Check the details of policies deployed
+- Installs microk8s and configures it.
+- Deploys all required components - including api, pap and distribution as helm charts
+- Waits for all the charts to come up
+- Runs distributions CSIT tests. These tests:
-.. code-block:: bash
-
- curl -k --user 'policyadmin:zb!XztG34' http://{POLICY_PAP_IP}:6969/policy/pap/v1/policies/status
-
-Expected SUCCESS result
-
-.. code-block:: json
+ - Take a policy from a CSAR file in distribution.
+ - Distribution sends and deploys it in API and PAP.
+ - Sends an event to the deployed policy - if the policy is NOT deployed successfully, this will FAIL with a 404.
- [{"pdpGroup":"defaultGroup","pdpType":"apex","pdpId":"apex-91fa25a1-0456-42fa-9556-6a4d2bd613fc","policy":{"name":"operational.apex.sampledomain","version":"1.0.0"},"policyType":{"name":"onap.policies.native.Apex","version":"1.0.0"},"deploy":true,"state":"SUCCESS"},{"pdpGroup":"defaultGroup","pdpType":"xacml","pdpId":"xacml-83e19452-0854-41dd-9f17-8b0a68f11813","policy":{"name":"SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP","version":"1.0.0"},"policyType":{"name":"onap.policies.Naming","version":"1.0.0"},"deploy":true,"state":"SUCCESS"}]
+- Saves the results in a .html file in the csit/archives/distribution directory
+- The pods are not automatically taken down.
-Check number of policies deployed
+To uninstall policy helm deployment and/or the microk8s cluster, use `run-k8s-csit.sh`
.. code-block:: bash
- curl -k --user 'policyadmin:zb!XztG34' http://{POLICY_PAP_IP}:6969/policy/pap/v1/policies/deployed
-
-Expected success-count result
-
-.. code-block:: json
-
- [{"policy-type":"onap.policies.native.Apex","policy-type-version":"1.0.0","policy-id":"operational.apex.sampledomain","policy-version":"1.0.0","success-count":1,"failure-count":0,"incomplete-count":0},{"policy-type":"onap.policies.Naming","policy-type-version":"1.0.0","policy-id":"SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP","policy-version":"1.0.0","success-count":1,"failure-count":0,"incomplete-count":0}]
-
-Or download & execute the steps in postman collection for verifying policy-pap component.
-The steps need to be performed sequentially one after another. And no input is required from user.
+ # to uninstall deployment
+ ./run-k8s-csit.sh uninstall
-`Policy Framework Administration API <https://github.com/onap/policy-pap/blob/master/postman/pap-api-collection.json>`_
+ # to remove cluster
+ ./run-k8s-csit.sh clean
-Make sure to execute the delete steps in order to clean the setup after testing.
+End of document \ No newline at end of file
diff --git a/docs/development/devtools/smoke/files/api-application.yaml b/docs/development/devtools/smoke/files/api-application.yaml
new file mode 100644
index 00000000..39f1de5d
--- /dev/null
+++ b/docs/development/devtools/smoke/files/api-application.yaml
@@ -0,0 +1,23 @@
+spring:
+ profiles:
+ active: default
+ security.user:
+ name: policyadmin
+ password: zb!XztG34
+ mvc.converters.preferred-json-mapper: gson
+ datasource:
+ url: jdbc:mariadb://localhost:3306/policyadmin
+ driverClassName: org.mariadb.jdbc.Driver
+ username: policy_user
+ password: policy_user
+ jpa:
+ hibernate:
+ ddl-auto: none
+ naming:
+ physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+ implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
+
+server:
+ port: 6968
+ servlet:
+ context-path: /policy/api/v1
diff --git a/docs/development/devtools/smoke/files/docker-compose-policy.yaml b/docs/development/devtools/smoke/files/docker-compose-policy.yaml
new file mode 100644
index 00000000..cdb50ebb
--- /dev/null
+++ b/docs/development/devtools/smoke/files/docker-compose-policy.yaml
@@ -0,0 +1,61 @@
+services:
+ mariadb:
+ image: mariadb:10.10.2
+ command: ['mysqld', '--lower_case_table_names=1']
+ volumes:
+ - type: bind
+ source: ./mariadb.sql
+ target: /docker-entrypoint-initdb.d/data.sql
+ environment:
+ - MYSQL_ROOT_PASSWORD=my-secret-pw
+ ports:
+ - "3306:3306"
+
+ policy-db-migrator:
+ image: nexus3.onap.org:10001/onap/policy-db-migrator:3.1.3-SNAPSHOT
+ container_name: policy-db-migrator
+ hostname: policy-db-migrator
+ depends_on:
+ - mariadb
+ expose:
+ - 6824
+ environment:
+ SQL_DB: policyadmin
+ SQL_HOST: mariadb
+ MYSQL_ROOT_PASSWORD: my-secret-pw
+ MYSQL_USER: policy_user
+ MYSQL_PASSWORD: policy_user
+ MYSQL_CMD: mysql
+ volumes:
+ - ./init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
+ - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+ entrypoint: /opt/app/policy/bin/wait_for_port.sh
+ command: [
+ '-c',
+ '/opt/app/policy/bin/db_migrator_policy_init.sh',
+ 'mariadb', '3306'
+ ]
+
+ zookeeper:
+ image: confluentinc/cp-zookeeper:latest
+ environment:
+ ZOOKEEPER_CLIENT_PORT: 2181
+ ZOOKEEPER_TICK_TIME: 2000
+ ports:
+ - 2181:2181
+
+ kafka:
+ image: confluentinc/cp-kafka:latest
+ container_name: kafka
+ depends_on:
+ - zookeeper
+ ports:
+ - 29092:29092
+ - 9092:9092
+ environment:
+ KAFKA_BROKER_ID: 1
+ KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+ KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
+ KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
+ KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
diff --git a/docs/development/devtools/smoke/files/pap-application.yaml b/docs/development/devtools/smoke/files/pap-application.yaml
new file mode 100644
index 00000000..8a03b1dd
--- /dev/null
+++ b/docs/development/devtools/smoke/files/pap-application.yaml
@@ -0,0 +1,91 @@
+spring:
+ security:
+ user:
+ name: policyadmin
+ password: zb!XztG34
+ datasource:
+ url: jdbc:mariadb://localhost:3306/policyadmin
+ driverClassName: org.mariadb.jdbc.Driver
+ username: policy_user
+ password: policy_user
+ jpa:
+ hibernate:
+ ddl-auto: none
+ naming:
+ physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+ implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
+ mvc:
+ converters:
+ preferred-json-mapper: gson
+
+server:
+ port: 6970
+ servlet:
+ context-path: /policy/pap/v1
+pap:
+ name: PapGroup
+ topic:
+ pdp-pap.name: POLICY-PDP-PAP
+ notification.name: POLICY-NOTIFICATION
+ heartbeat.name: POLICY-HEARTBEAT
+ pdpParameters:
+ heartBeatMs: 120000
+ updateParameters:
+ maxRetryCount: 1
+ maxWaitMs: 30000
+ stateChangeParameters:
+ maxRetryCount: 1
+ maxWaitMs: 30000
+ topicParameterGroup:
+ topicSources:
+ - topic: ${pap.topic.pdp-pap.name}
+ servers:
+ - kafka
+ topicCommInfrastructure: NOOP
+ fetchTimeout: 15000
+ - topic: ${pap.topic.heartbeat.name}
+ effectiveTopic: ${pap.topic.pdp-pap.name}
+ consumerGroup: policy-pap
+ servers:
+ - kafka
+ topicCommInfrastructure: NOOP
+ fetchTimeout: 15000
+ topicSinks:
+ - topic: ${pap.topic.pdp-pap.name}
+ servers:
+ - kafka
+ topicCommInfrastructure: NOOP
+ - topic: ${pap.topic.notification.name}
+ servers:
+ - kafka
+ topicCommInfrastructure: NOOP
+ healthCheckRestClientParameters:
+ - clientName: api
+ hostname: localhost
+ port: 6968
+ userName: policyadmin
+ password: zb!XztG34
+ useHttps: false
+ basePath: policy/api/v1/healthcheck
+ - clientName: distribution
+ hostname: policy-distribution
+ port: 6969
+ userName: healthcheck
+ password: zb!XztG34
+ useHttps: true
+ basePath: healthcheck
+ - clientName: kafka
+ hostname: kafka
+ port: 3905
+ useHttps: true
+ basePath: topics
+
+management:
+ endpoints:
+ web:
+ base-path: /
+ exposure:
+ include: health, metrics, prometheus
+ path-mapping:
+ -metrics: plain-metrics
+ -prometheus: metrics
diff --git a/docs/development/devtools/smoke/files/participant-http-application.yaml b/docs/development/devtools/smoke/files/participant-http-application.yaml
new file mode 100644
index 00000000..142c24e5
--- /dev/null
+++ b/docs/development/devtools/smoke/files/participant-http-application.yaml
@@ -0,0 +1,23 @@
+
+participant:
+ intermediaryParameters:
+ reportingTimeIntervalMs: 120000
+ description: Participant Description
+ participantId: 101c62b3-8918-41b9-a747-d21eb79c6c01
+ clampAutomationCompositionTopics:
+ topicSources:
+ - topic: policy-acruntime-participant
+ servers:
+ - ${topicServer:localhost:29092}
+ topicCommInfrastructure: kafka
+ fetchTimeout: 15000
+ topicSinks:
+ - topic: policy-acruntime-participant
+ servers:
+ - ${topicServer:localhost:29092}
+ topicCommInfrastructure: kafka
+ participantSupportedElementTypes:
+ -
+ typeName: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+ typeVersion: 1.0.0
+
diff --git a/docs/development/devtools/smoke/files/participant-kubernetes-application.yaml b/docs/development/devtools/smoke/files/participant-kubernetes-application.yaml
new file mode 100644
index 00000000..9b25c615
--- /dev/null
+++ b/docs/development/devtools/smoke/files/participant-kubernetes-application.yaml
@@ -0,0 +1,26 @@
+
+participant:
+ localChartDirectory: /home/policy/local-charts
+ infoFileName: CHART_INFO.json
+ intermediaryParameters:
+ reportingTimeIntervalMs: 120000
+ description: Participant Description
+ participantId: 101c62b3-8918-41b9-a747-d21eb79c6c02
+ clampAutomationCompositionTopics:
+ topicSources:
+ -
+ topic: policy-acruntime-participant
+ servers:
+ - ${topicServer:localhost:29092}
+ topicCommInfrastructure: kafka
+ fetchTimeout: 15000
+ topicSinks:
+ -
+ topic: policy-acruntime-participant
+ servers:
+ - ${topicServer:localhost:29092}
+ topicCommInfrastructure: kafka
+ participantSupportedElementTypes:
+ -
+ typeName: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
+ typeVersion: 1.0.0
diff --git a/docs/development/devtools/smoke/files/participant-policy-application.yaml b/docs/development/devtools/smoke/files/participant-policy-application.yaml
new file mode 100644
index 00000000..5b87d1b3
--- /dev/null
+++ b/docs/development/devtools/smoke/files/participant-policy-application.yaml
@@ -0,0 +1,41 @@
+participant:
+ pdpGroup: defaultGroup
+ pdpType: apex
+ policyApiParameters:
+ clientName: api
+ hostname: localhost
+ port: 6968
+ userName: policyadmin
+ password: zb!XztG34
+ useHttps: false
+ allowSelfSignedCerts: false
+ policyPapParameters:
+ clientName: pap
+ hostname: localhost
+ port: 6970
+ userName: policyadmin
+ password: zb!XztG34
+ useHttps: false
+ allowSelfSignedCerts: false
+ intermediaryParameters:
+ reportingTimeIntervalMs: 120000
+ description: Participant Description
+ participantId: 101c62b3-8918-41b9-a747-d21eb79c6c03
+ clampAutomationCompositionTopics:
+ topicSources:
+ -
+ topic: policy-acruntime-participant
+ servers:
+ - ${topicServer:localhost:29092}
+ topicCommInfrastructure: kafka
+ fetchTimeout: 15000
+ topicSinks:
+ -
+ topic: policy-acruntime-participant
+ servers:
+ - ${topicServer:localhost:29092}
+ topicCommInfrastructure: kafka
+ participantSupportedElementTypes:
+ -
+ typeName: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
+ typeVersion: 1.0.0
diff --git a/docs/development/devtools/smoke/json/acm-instantiation.json b/docs/development/devtools/smoke/json/acm-instantiation.json
index 28eef7da..2cf009cd 100644
--- a/docs/development/devtools/smoke/json/acm-instantiation.json
+++ b/docs/development/devtools/smoke/json/acm-instantiation.json
@@ -10,7 +10,6 @@
"name": "org.onap.policy.clamp.Local_K8SMicroserviceAutomationCompositionElement",
"version": "1.2.3"
},
- "participantId": "101c62b3-8918-41b9-a747-d21eb79c6c02",
"description": "K8s Automation composition Element for the nginx-ingress microservice",
"properties": {
"chart": {
@@ -29,7 +28,6 @@
"name": "org.onap.policy.clamp.Http_AutomationCompositionElement",
"version": "1.2.3"
},
- "participantId": "101c62b3-8918-41b9-a747-d21eb79c6c01",
"description": "Http Automation composition Element",
"properties": {
"baseUrl": "http://httpbin.org",
@@ -59,4 +57,4 @@
}
}
}
-} \ No newline at end of file
+}
diff --git a/docs/development/devtools/smoke/json/instantiation_pptnt_smoke.json b/docs/development/devtools/smoke/json/instantiation_pptnt_smoke.json
index aa8ca23d..6346d76b 100644
--- a/docs/development/devtools/smoke/json/instantiation_pptnt_smoke.json
+++ b/docs/development/devtools/smoke/json/instantiation_pptnt_smoke.json
@@ -10,7 +10,6 @@
"name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
"version": "1.2.3"
},
- "participantId": "101c62b3-8918-41b9-a747-d21eb79c6c03",
"description": "Starter Automation Composition Element for the Demo",
"properties": {
"policy_type_id": {
diff --git a/docs/development/devtools/smoke/policy-participant-smoke.rst b/docs/development/devtools/smoke/policy-participant-smoke.rst
index 58e34494..ba677e11 100644
--- a/docs/development/devtools/smoke/policy-participant-smoke.rst
+++ b/docs/development/devtools/smoke/policy-participant-smoke.rst
@@ -11,21 +11,23 @@ CLAMP Policy Participant Smoke Tests
The Smoke testing of the policy participant is executed in a local CLAMP/Policy environment. The CLAMP-ACM interfaces interact with the Policy Framework to perform actions based on the state of the policy participant. The goal of the Smoke tests is the ensure that CLAMP Policy Participant and Policy Framework work together as expected.
All applications will be running by console, so they need to run with different ports. Configuration files should be changed accordingly.
-+------------------------------+------+
-| Application | port |
-+==============================+======+
-| MariDB | 3306 |
-+------------------------------+------+
-| DMaaP simulator | 3904 |
-+------------------------------+------+
-| policy-api | 6968 |
-+------------------------------+------+
-| policy-pap | 6970 |
-+------------------------------+------+
-| policy-clamp-runtime-acm | 6969 |
-+------------------------------+------+
-| onap/policy-clamp-ac-pf-ppnt | 8085 |
-+------------------------------+------+
++------------------------------+-------+
+| Application | port |
++==============================+=======+
+| MariDB | 3306 |
++------------------------------+-------+
+| Zookeeper | 2181 |
++------------------------------+-------+
+| Kafka | 29092 |
++------------------------------+-------+
+| policy-api | 6968 |
++------------------------------+-------+
+| policy-pap | 6970 |
++------------------------------+-------+
+| policy-clamp-runtime-acm | 6969 |
++------------------------------+-------+
+| onap/policy-clamp-ac-pf-ppnt | 8085 |
++------------------------------+-------+
2. Setup Guide
@@ -36,301 +38,366 @@ This section will show the developer how to set up their environment to start te
2.1 Prerequisites
=================
-- Java 11
-- Maven 3
+- Java 17
+- Maven 3.9
- Git
- Refer to this guide for basic environment setup `Setting up dev environment <https://wiki.onap.org/display/DW/Setting+Up+Your+Development+Environment>`_
-2.2 Assumptions
-===============
+2.2 Cloning CLAMP automation composition and all dependency
+===========================================================
-- You are accessing the policy repositories through gerrit
-- You are using "git review".
+Run a script such as the script below to clone the required modules from the `ONAP git repository <https://gerrit.onap.org/r/admin/repos/q/filter:policy>`_. This script clones CLAMP automation composition and all dependency.
-The following repositories are required for development in this project. These repositories should be present on your machine and you should run "mvn clean install" on all of them so that the packages are present in your .m2 repository.
+.. code-block:: bash
+ :caption: Typical ONAP Policy Framework Clone Script
+ :linenos:
-- policy/parent
-- policy/common
-- policy/models
-- policy/clamp
-- policy/api
-- policy/pap
+ #!/usr/bin/env bash
-In this setup guide, we will be setting up all the components technically required for a working convenient dev environment.
+ ## script name for output
+ MOD_SCRIPT_NAME='basename $0'
-2.3 Setting up the components
-=============================
+ ## the ONAP clone directory, defaults to "onap"
+ clone_dir="onap"
-2.3.1 MariaDB Setup
-^^^^^^^^^^^^^^^^^^^
+ ## the ONAP repos to clone
+ onap_repos="\
+ policy/api \
+ policy/clamp \
+ policy/pap "
-We will be using Docker to run our mariadb instance. It will have a total of two databases running in it.
+ ##
+ ## Help screen and exit condition (i.e. too few arguments)
+ ##
+ Help()
+ {
+ echo ""
+ echo "$MOD_SCRIPT_NAME - clones all required ONAP git repositories"
+ echo ""
+ echo " Usage: $MOD_SCRIPT_NAME [-options]"
+ echo ""
+ echo " Options"
+ echo " -d - the ONAP clone directory, defaults to '.'"
+ echo " -h - this help screen"
+ echo ""
+ exit 255;
+ }
-- clampacm: the policy-clamp-runtime-acm db
-- policyadmin: the policy-api db
+ ##
+ ## read command line
+ ##
+ while [ $# -gt 0 ]
+ do
+ case $1 in
+ #-d ONAP clone directory
+ -d)
+ shift
+ if [ -z "$1" ]; then
+ echo "$MOD_SCRIPT_NAME: no clone directory"
+ exit 1
+ fi
+ clone_dir=$1
+ shift
+ ;;
-A sql such as the one below can be used to build the SQL initialization. Create the *mariadb.sql* file in a directory *PATH_DIRECTORY*.
+ #-h prints help and exists
+ -h)
+ Help;exit 0;;
- .. code-block:: SQL
+ *) echo "$MOD_SCRIPT_NAME: undefined CLI option - $1"; exit 255;;
+ esac
+ done
+
+ if [ -f "$clone_dir" ]; then
+ echo "$MOD_SCRIPT_NAME: requested clone directory '$clone_dir' exists as file"
+ exit 2
+ fi
+ if [ -d "$clone_dir" ]; then
+ echo "$MOD_SCRIPT_NAME: requested clone directory '$clone_dir' exists as directory"
+ exit 2
+ fi
+
+ mkdir $clone_dir
+ if [ $? != 0 ]
+ then
+ echo cannot clone ONAP repositories, could not create directory '"'$clone_dir'"'
+ exit 3
+ fi
+
+ for repo in $onap_repos
+ do
+ repoDir=`dirname "$repo"`
+ repoName=`basename "$repo"`
+
+ if [ ! -z $dirName ]
+ then
+ mkdir "$clone_dir/$repoDir"
+ if [ $? != 0 ]
+ then
+ echo cannot clone ONAP repositories, could not create directory '"'$clone_dir/repoDir'"'
+ exit 4
+ fi
+ fi
+
+ git clone https://gerrit.onap.org/r/${repo} $clone_dir/$repo
+ done
+
+ echo ONAP has been cloned into '"'$clone_dir'"'
+
+
+Execution of the script above results in the following directory hierarchy in your *~/git* directory:
+
+ * ~/git/onap
+ * ~/git/onap/policy
+ * ~/git/onap/policy/api
+ * ~/git/onap/policy/clamp
+ * ~/git/onap/policy/pap
+
+
+2.3 Building CLAMP automation composition and all dependency
+============================================================
+
+**Step 1:** Setting topicParameterGroup for kafka localhost in clamp and policy-participant.
+It needs to set 'kafka' as topicCommInfrastructure and 'localhost:29092' as server.
+In the clamp repo, you should find the file 'runtime-acm/src/main/resources/application.yaml'. This file (in the 'runtime' parameters section) may need to be altered as below:
+
+.. literalinclude:: files/runtime-application.yaml
+ :language: yaml
+
+Setting topicParameterGroup for kafka localhost and api/pap http client (in the 'participant' parameters section) may need to be apply into the file 'participant/participant-impl/participant-impl-policy/src/main/resources/config/application.yaml'.
+
+.. literalinclude:: files/participant-policy-application.yaml
+ :language: yaml
+
+
+**Step 2:** Setting datasource.url, hibernate.ddl-auto and server.port in policy-api.
+In the api repo, you should find the file 'main/src/main/resources/application.yaml'. This file may need to be altered as below:
+
+.. literalinclude:: files/api-application.yaml
+ :language: yaml
- create database clampacm;
- CREATE USER 'policy'@'%' IDENTIFIED BY 'P01icY';
- GRANT ALL PRIVILEGES ON clampacm.* TO 'policy'@'%';
- CREATE DATABASE `policyadmin`;
- CREATE USER 'policy_user'@'%' IDENTIFIED BY 'policy_user';
- GRANT ALL PRIVILEGES ON policyadmin.* to 'policy_user'@'%';
- FLUSH PRIVILEGES;
+**Step 3:** Setting datasource.url, server.port, and api http client in policy-pap.
+In the pap repo, you should find the file 'main/src/main/resources/application.yaml'. This file may need to be altered as below:
-Execution of the command above results in the creation and start of the *mariadb-smoke-test* container.
+.. literalinclude:: files/pap-application.yaml
+ :language: yaml
+
+
+**Step 4:** Optionally, for a completely clean build, remove the ONAP built modules from your local repository.
.. code-block:: bash
- docker run --name mariadb-smoke-test \
- -p 3306:3306 \
- -e MYSQL_ROOT_PASSWORD=my-secret-pw \
- --mount type=bind,source=PATH_DIRECTORY/mariadb.sql,target=/docker-entrypoint-initdb.d/data.sql \
- -d mariadb:10.10.2 \
- --lower-case-table-names=1
+ rm -fr ~/.m2/repository/org/onap
-This will setup the two databases needed. The database will be exposed locally on port 3306.
-2.3.2 DMAAP Simulator
-^^^^^^^^^^^^^^^^^^^^^
+**Step 5:** A pom such as the one below can be used to build the ONAP Policy Framework modules. Create the *pom.xml* file in the directory *~/git/onap/policy*.
-For convenience, a dmaap simulator has been provided in the policy/models repository. To start the simulator, you can do the following:
+.. code-block:: xml
+ :caption: Typical pom.xml to build the ONAP Policy Framework
+ :linenos:
-#. Navigate to models-sim/policy-models-simulators in the policy/models repository.
-#. Add a configuration file to src/test/resources with the following contents:
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.onap</groupId>
+ <artifactId>onap-policy</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>${project.artifactId}</name>
+ <inceptionYear>2024</inceptionYear>
+ <organization>
+ <name>ONAP</name>
+ </organization>
-.. code-block:: json
+ <modules>
+ <module>api</module>
+ <module>clamp</module>
+ <module>pap</module>
+ </modules>
+ </project>
- {
- "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
- }
- ]
- }
-3. You can then start dmaap with:
+**Step 6:** You can now build the Policy framework.
-.. code-block:: bash
+Build java artifacts only:
+
+ .. code-block:: bash
+
+ cd ~/git/onap/policy
+ mvn clean install -DskipTests
+
+Build with docker images:
+
+ .. code-block:: bash
+
+ cd ~/git/onap/policy/clamp/packages/
+ mvn clean install -P docker
+
+ cd ~/git/onap/policy/api/packages/
+ mvn clean install -P docker
+
+ cd ~/git/onap/policy/pap/packages/
+ mvn clean install -P docker
+
+2.4 Setting up the components
+=============================
- mvn exec:java -Dexec.mainClass=org.onap.policy.models.simulators.Main -Dexec.args="src/test/resources/YOUR_CONF_FILE.json"
+2.4.1 MariaDB and Kafka Setup
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-At this stage the dmaap simulator should be running on your local machine on port 3904.
+We will be using Docker to run our mariadb instance`and Zookeeper/Kafka. It will have a total of two databases running in mariadb.
-2.3.3 Policy API
+- clampacm: the policy-clamp-runtime-acm db
+- policyadmin: the policy-api db
+
+**Step 1:** Create the *mariadb.sql* file in a directory *~/git*.
+
+ .. code-block:: SQL
+
+ create database clampacm;
+ CREATE USER 'policy'@'%' IDENTIFIED BY 'P01icY';
+ GRANT ALL PRIVILEGES ON clampacm.* TO 'policy'@'%';
+ CREATE DATABASE `policyadmin`;
+ CREATE USER 'policy_user'@'%' IDENTIFIED BY 'policy_user';
+ GRANT ALL PRIVILEGES ON policyadmin.* to 'policy_user'@'%';
+ CREATE DATABASE `migration`;
+ GRANT ALL PRIVILEGES ON migration.* to 'policy_user'@'%';
+ FLUSH PRIVILEGES;
+
+
+**Step 2:** Create the *init.sh* file in a directory *~/git* with execution permission.
+
+ .. code-block:: sh
+
+ #!/bin/sh
+
+ export POLICY_HOME=/opt/app/policy
+ export SQL_USER=${MYSQL_USER}
+ export SQL_PASSWORD=${MYSQL_PASSWORD}
+ export SCRIPT_DIRECTORY=sql
+
+ /opt/app/policy/bin/prepare_upgrade.sh ${SQL_DB}
+ /opt/app/policy/bin/db-migrator -s ${SQL_DB} -o report
+ /opt/app/policy/bin/db-migrator -s ${SQL_DB} -o upgrade
+ rc=$?
+ /opt/app/policy/bin/db-migrator -s ${SQL_DB} -o report
+ nc -l -p 6824
+ exit $rc
+
+
+**Step 3:** Create the *wait_for_port.sh* file in a directory *~/git* with execution permission.
+
+ .. code-block:: sh
+
+ #!/bin/sh
+
+ usage() {
+ echo args: [-t timeout] [-c command] hostname1 port1 hostname2 port2 ... >&2
+ exit 1
+ }
+ tmout=300
+ cmd=
+ while getopts c:t: opt
+ do
+ case "$opt" in
+ c)
+ cmd="$OPTARG"
+ ;;
+ t)
+ tmout="$OPTARG"
+ ;;
+ *)
+ usage
+ ;;
+ esac
+ done
+ nargs=$((OPTIND-1))
+ shift "$nargs"
+ even_args=$(($#%2))
+ if [ $# -lt 2 ] || [ "$even_args" -ne 0 ]
+ then
+ usage
+ fi
+ while [ $# -ge 2 ]
+ do
+ export host="$1"
+ export port="$2"
+ shift
+ shift
+ echo "Waiting for $host port $port..."
+
+ while [ "$tmout" -gt 0 ]
+ do
+ if command -v docker > /dev/null 2>&1
+ then
+ docker ps --format "table {{ .Names }}\t{{ .Status }}"
+ fi
+ nc -vz "$host" "$port"
+ rc=$?
+ if [ $rc -eq 0 ]
+ then
+ break
+ else
+ tmout=$((tmout-1))
+ sleep 1
+ fi
+ done
+ if [ $rc -ne 0 ]
+ then
+ echo "$host port $port cannot be reached"
+ exit $rc
+ fi
+ done
+ $cmd
+ exit 0
+
+
+**Step 4:** Create the '*docker-compose.yaml*' using following code:
+
+.. literalinclude:: files/docker-compose-policy.yaml
+ :language: yaml
+
+
+**Step 5:** Run the docker composition:
+
+ .. code-block:: bash
+
+ cd ~/git/
+ docker compose up
+
+
+2.4.2 Policy API
^^^^^^^^^^^^^^^^
-Navigate to the "/main" directory. You can then run the following command to start the policy api:
+In the policy-api repo, navigate to the "/main" directory. You can then run the following command to start the policy api:
.. code-block:: bash
- java -jar target/api-main-2.8.2-SNAPSHOT.jar --spring.datasource.url=jdbc:mariadb://localhost:3306/policyadmin --spring.jpa.hibernate.ddl-auto=update --server.port=6968
+ mvn spring-boot:run
-2.3.4 Policy PAP
+2.4.3 Policy PAP
^^^^^^^^^^^^^^^^
-In the policy-pap repo, you should find the file 'main\src\main\resources\application.yaml'. This file may need to be altered slightly as below:
-
-.. code-block:: yaml
-
- spring:
- security:
- user:
- name: policyadmin
- password: zb!XztG34
- http:
- converters:
- preferred-json-mapper: gson
- datasource:
- url: jdbc:mariadb://localhost:3306/policyadmin
- driverClassName: org.mariadb.jdbc.Driver
- username: policy_user
- password: policy_user
- jpa:
- properties:
- hibernate:
- dialect: org.hibernate.dialect.MariaDB103Dialect
- hibernate:
- ddl-auto: update
- naming:
- physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
- implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
-
- server:
- port: 6970
- servlet:
- context-path: /policy/pap/v1
- pap:
- name: PapGroup
- aaf: false
- topic:
- pdp-pap.name: POLICY-PDP-PAP
- notification.name: POLICY-NOTIFICATION
- heartbeat.name: POLICY-HEARTBEAT
- pdpParameters:
- heartBeatMs: 120000
- updateParameters:
- maxRetryCount: 1
- maxWaitMs: 30000
- stateChangeParameters:
- maxRetryCount: 1
- maxWaitMs: 30000
- savePdpStatisticsInDb: true
- topicParameterGroup:
- topicSources:
- - topic: ${pap.topic.pdp-pap.name}
- servers:
- - localhost
- topicCommInfrastructure: dmaap
- fetchTimeout: 15000
- - topic: ${pap.topic.heartbeat.name}
- effectiveTopic: ${pap.topic.pdp-pap.name}
- consumerGroup: policy-pap
- servers:
- - localhost
- topicCommInfrastructure: dmaap
- fetchTimeout: 15000
- topicSinks:
- - topic: ${pap.topic.pdp-pap.name}
- servers:
- - localhost
- topicCommInfrastructure: dmaap
- - topic: ${pap.topic.notification.name}
- servers:
- - localhost
- topicCommInfrastructure: dmaap
- healthCheckRestClientParameters:
- - clientName: api
- hostname: localhost
- port: 6968
- userName: policyadmin
- password: zb!XztG34
- useHttps: false
- basePath: policy/api/v1/healthcheck
- - clientName: distribution
- hostname: policy-distribution
- port: 6969
- userName: healthcheck
- password: zb!XztG34
- useHttps: false
- basePath: healthcheck
- - clientName: dmaap
- hostname: localhost
- port: 3904
- useHttps: false
- basePath: topics
-
- management:
- endpoints:
- web:
- base-path: /
- exposure:
- include: health, metrics, prometheus
- path-mapping.metrics: plain-metrics
- path-mapping.prometheus: metrics
-
-Next, navigate to the "/main" directory. You can then run the following command to start the policy pap
+In the policy-pap repo, navigate to the "/main" directory. You can then run the following command to start the policy pap:
.. code-block:: bash
mvn spring-boot:run
-2.3.5 ACM Runtime
+2.4.4 ACM Runtime
^^^^^^^^^^^^^^^^^
-To start the clampacm runtime we need to go the "runtime-acm" directory in the clamp repo. There is a config file that is used, by default, for the clampacm runtime. That config file is here: "src/main/resources/application.yaml". For development in your local environment, it shouldn't need any adjustment and we can just run the clampacm runtime with:
+To start the clampacm runtime we need to go the "runtime-acm" directory in the clamp repo. You can then run the following command to start the clampacm runtime:
.. code-block:: bash
mvn spring-boot:run
-2.3.6 ACM Policy Participant
+2.4.5 ACM Policy Participant
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-To start the policy participant we need to go to the "participant/participant-impl/participant-impl-policy" directory in the clamp repo. There is a config file under "src/main/resources/config/application.yaml". For development in your local environment, we will need to adjust this file slightly:
-
-.. code-block:: yaml
-
- spring:
- security:
- user:
- name: participantUser
- password: zb!XztG34
- autoconfigure:
- exclude:
- - org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
- - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
- - org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
- - org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration
-
- participant:
- pdpGroup: defaultGroup
- pdpType: apex
- policyApiParameters:
- clientName: api
- hostname: localhost
- port: 6968
- userName: policyadmin
- password: zb!XztG34
- useHttps: false
- allowSelfSignedCerts: true
- policyPapParameters:
- clientName: pap
- hostname: localhost
- port: 6970
- userName: policyadmin
- password: zb!XztG34
- useHttps: false
- allowSelfSignedCerts: true
- intermediaryParameters:
- reportingTimeIntervalMs: 120000
- description: Participant Description
- participantId: 101c62b3-8918-41b9-a747-d21eb79c6c03
- clampAutomationCompositionTopics:
- topicSources:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:localhost}
- topicCommInfrastructure: dmaap
- fetchTimeout: 15000
- topicSinks:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:localhost}
- topicCommInfrastructure: dmaap
- participantSupportedElementTypes:
- -
- typeName: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
- typeVersion: 1.0.0
-
- management:
- endpoints:
- web:
- base-path: /
- exposure:
- include: health, metrics, prometheus
- server:
- port: 8085
- servlet:
- context-path: /onap/policy/clamp/acm/policyparticipant
-
-
-Navigate to the "participant/participant-impl/participant-impl-policy" directory. We can then run the policy-participant with the following command:
+To start the policy participant we need to go to the "participant/participant-impl/participant-impl-policy" directory in the clamp repo. You can then run the following command to start the policy-participant:
.. code-block:: bash
diff --git a/docs/development/devtools/smoke/xacml-smoke.rst b/docs/development/devtools/smoke/xacml-smoke.rst
index 2a0be4b6..61f3551f 100644
--- a/docs/development/devtools/smoke/xacml-smoke.rst
+++ b/docs/development/devtools/smoke/xacml-smoke.rst
@@ -10,37 +10,33 @@
XACML PDP Smoke Test
~~~~~~~~~~~~~~~~~~~~
-The policy-xacml-pdp smoke testing can be executed against a kubernetes based ONAP installation,
+The policy-xacml-pdp smoke testing can be executed against a kubernetes based policy framework installation,
and/or a docker-compose set up similar to the one executed by CSIT tests.
General Setup
*************
-ONAP OOM kubernetes
--------------------
+PF kubernetes Install
+---------------------
For installation instructions, please refer to the following documentation:
-`OOM Documentation <https://docs.onap.org/projects/onap-oom/en/latest/>`_
+`Policy Framework K8S Install <https://docs.onap.org/projects/onap-policy-parent/en/latest/development/devtools/testing/csit.html>`_
-At a minimum policy needs the following components installed:
-
-- onap base charts
-- AAF for certificate generation
-- DMaaP message-router for communication among policy components.
+The script referred to in the above link should handle the install of the of microk8s, docker and other required components for the install of the policy framework and clamp components. The scripts are used by policy as a means to run the CSIT tests in Kubernetes.
docker-compose based
--------------------
-A smaller testing environment can be put together by replicating the CSIT test environment:
+A smaller testing environment can be put together by replicating the docker-based CSIT test environment. Details are on the same page as K8s setup:
-`Policy CSIT Test infrastructure <https://git.onap.org/policy/docker/tree/csit>`_
+`Policy CSIT Test Install Docker <https://docs.onap.org/projects/onap-policy-parent/en/latest/development/devtools/testing/csit.html>`_
Testing procedures
******************
The smoke tests should be focused on verifying the proper workings of the xacml
-PDP and dependent components. The following scenarios should be considered:
+PDP and dependent components. The following scenarios should be considered:
- PDP-X registration with PAP.
- PDP-X restarts and re-registration with PAP.
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-monitor.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-monitor.png
index 98760e09..d535c4aa 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-monitor.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-monitor.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-statistics.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-statistics.png
index 440a177a..a2caab4e 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-statistics.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-statistics.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threads.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threads.png
index a04d98bc..9b6c3d23 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threads.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threads.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threshold.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threshold.png
index bf20cf32..6a26a09e 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threshold.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/performance-threshold.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-monitor.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-monitor.png
index 23030a42..cbb675ba 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-monitor.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-monitor.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-statistics.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-statistics.png
index f184a596..ae1853f9 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-statistics.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-statistics.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threads.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threads.png
index c7279d9c..67da4a62 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threads.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threads.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threshold.png b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threshold.png
index 37ad5c41..5aa6cc64 100644
--- a/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threshold.png
+++ b/docs/development/devtools/testing/s3p/distribution-s3p-results/stability-threshold.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_performance_jmeter_results.png b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_performance_jmeter_results.png
index 57746d3b..e061ba47 100644
--- a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_performance_jmeter_results.png
+++ b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_performance_jmeter_results.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stability_jmeter_results.png b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stability_jmeter_results.png
index 53f95fb2..c1c04f92 100644
--- a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stability_jmeter_results.png
+++ b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stability_jmeter_results.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_after_72h.png b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_after_72h.png
index b95b23f0..7c56f74a 100644
--- a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_after_72h.png
+++ b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_after_72h.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_before_72h.png b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_before_72h.png
index 49b05e96..0984521f 100644
--- a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_before_72h.png
+++ b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_before_72h.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_during_72h.png b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_during_72h.png
index e107864f..1d86b175 100644
--- a/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_during_72h.png
+++ b/docs/development/devtools/testing/s3p/pap-s3p-results/pap_stats_during_72h.png
Binary files differ
diff --git a/docs/development/devtools/testing/s3p/pap-s3p.rst b/docs/development/devtools/testing/s3p/pap-s3p.rst
index 04a16e61..c658cbc5 100644
--- a/docs/development/devtools/testing/s3p/pap-s3p.rst
+++ b/docs/development/devtools/testing/s3p/pap-s3p.rst
@@ -114,7 +114,7 @@ Stability test plan was triggered for 72 hours. There were no failures during th
======================= ================= ================== ==================================
**Total # of requests** **Success %** **Error %** **Average time taken per request**
======================= ================= ================== ==================================
- 168997 100 % 0.00 % 425 ms
+ 170212 100 % 0.00 % 419 ms
======================= ================= ================== ==================================
@@ -190,7 +190,7 @@ Test results are shown as below.
======================= ================= ================== ==================================
**Total # of requests** **Success %** **Error %** **Average time taken per request**
======================= ================= ================== ==================================
-199400 100 % 0.00 % 397 ms
+48093 100 % 0.00 % 1116 ms
======================= ================= ================== ==================================
**JMeter Screenshot**
diff --git a/docs/development/property-configuration.rst b/docs/development/property-configuration.rst
index 39691ade..d89b4769 100644
--- a/docs/development/property-configuration.rst
+++ b/docs/development/property-configuration.rst
@@ -10,13 +10,13 @@ Property-configuration mechanisms
.. contents::
:depth: 3
-This article explains how to implement handling and validation of common parameter into the Policy Framework Components.
+This article explains how to implement handling and validation of common parameters into the Policy Framework Components.
Not Spring boot framework
*************************
-The application should have a ParameterHandler class to support the map values from Json to a POJO, so it should be load the file, convert it performing all type conversion.
+The application should have a ParameterHandler class to support the map of values from Json to a POJO; so it should load the file and convert it; performing all type conversion.
-The code below shown an example of ParameterHandler:
+The code below shown is an example of ParameterHandler:
.. code-block:: java
@@ -59,9 +59,9 @@ The code below shown an example of ParameterHandler:
}
-The POJO have to implement **org.onap.policy.common.parameters.ParameterGroup** interface or eventually extend **org.onap.policy.common.parameters.ParameterGroupImpl**. The last one already implements **validate()** method that performs error checking using validation **org.onap.policy.common.parameters.annotations**.
+The POJO has to implement the **org.onap.policy.common.parameters.ParameterGroup** interface or eventually extend **org.onap.policy.common.parameters.ParameterGroupImpl**. The last one already implements the **validate()** method that performs error checking using validation **org.onap.policy.common.parameters.annotations**.
-The code below shown an example of POJO:
+The code below shows an example of the POJO:
.. code-block:: java
@@ -87,7 +87,7 @@ The code below shown an example of POJO:
}
-The code shows below, is an example of Unit Test validation of the POJO PapParameterGroup:
+The code shown below, is an example of Unit Test validation of the POJO PapParameterGroup:
.. code-block:: java
@@ -106,13 +106,13 @@ The code shows below, is an example of Unit Test validation of the POJO PapParam
Using Spring boot framework
***************************
-Spring loads automatically the property file and put it available under the **org.springframework.core.env.Environment** Spring component.
+Spring loads the property file automatically and makes it available under the **org.springframework.core.env.Environment** Spring component.
Environment
+++++++++++
A component can use Environment component directly.
-Environment component is not a good approach because there is not type conversion and error checking, but it could be useful when the name of the property you need to access changes dynamically.
+The Environment component is not a good approach because there is no type conversion or error checking, but it could be useful when the name of the property you need to access changes dynamically.
.. code-block:: java
@@ -134,7 +134,7 @@ Annotation-based Spring configuration
All annotation-based Spring configurations support the Spring Expression Language (SpEL), a powerful expression language that supports querying and manipulating an object graph at runtime.
A documentation about SpEL could be found here: https://docs.spring.io/spring-framework/docs/3.0.x/reference/expressions.html.
-A component can use **org.springframework.beans.factory.annotation.Value**, which reads from properties, performs a type conversion and injects the value into the filed. There is not error checking, but it can assign default value if the property is not defined.
+A component can use **org.springframework.beans.factory.annotation.Value**, which reads from properties, performs a type conversion and injects the value into the field. There is no error checking, but it can assign a default value if the property is not defined.
.. code-block:: java
@@ -178,9 +178,9 @@ ConfigurationProperties
private String description;
}
-In a scenario that we need to include into a POJO shown before, a class that implement **ParameterGroup** interface, we need to add the **org.onap.policy.common.parameters.validation.ParameterGroupConstraint** annotation. That annotation is configured to use **ParameterGroupValidator** that handles the conversion of a **org.onap.policy.common.parameters.BeanValidationResult** to a Spring validation.
+In a scenario where we need to include the properties in a POJO, as shown before, in a class that implements **ParameterGroup** interface, we need to add the **org.onap.policy.common.parameters.validation.ParameterGroupConstraint** annotation. That annotation is configured to use **ParameterGroupValidator**, which handles the conversion of a **org.onap.policy.common.parameters.BeanValidationResult** to a Spring validation.
-The code below shown how to add TopicParameterGroup parameter into ClRuntimeParameterGroup:
+The code below shows how to add the TopicParameterGroup parameter into acRuntimeParameterGroup:
.. code-block:: java
@@ -197,7 +197,7 @@ A bean configured with ConfigurationProperties, is automatically a Spring compon
@RequiredArgsConstructor
public class Example {
- private ClRuntimeParameterGroup parameters;
+ private acRuntimeParameterGroup parameters;
....
public void method() {
@@ -206,7 +206,7 @@ A bean configured with ConfigurationProperties, is automatically a Spring compon
.....
}
-The code shows below, is an example of Unit Test validation of the POJO ClRuntimeParameterGroup:
+The code shown below, is an example of Unit Test validation of the POJO acRuntimeParameterGroup:
.. code-block:: java
@@ -214,7 +214,7 @@ The code shows below, is an example of Unit Test validation of the POJO ClRuntim
@Test
void testParameters_NullTopicParameterGroup() {
- final ClRuntimeParameterGroup parameters = CommonTestData.geParameterGroup();
+ final acRuntimeParameterGroup parameters = CommonTestData.geParameterGroup();
parameters.setTopicParameterGroup(null);
assertThat(validatorFactory.getValidator().validate(parameters)).isNotEmpty();
}
diff --git a/docs/pap/notification/dmaap-pap-notif.json b/docs/pap/notification/kafka-pap-notif.json
index 07d1ac20..07d1ac20 100644
--- a/docs/pap/notification/dmaap-pap-notif.json
+++ b/docs/pap/notification/kafka-pap-notif.json
diff --git a/docs/pap/pap.rst b/docs/pap/pap.rst
index c6da41b2..1515af53 100644
--- a/docs/pap/pap.rst
+++ b/docs/pap/pap.rst
@@ -122,14 +122,13 @@ PAP supports the operations listed in the following table, via its REST API:
"Undeploy policy", "Undeploys a policy from the PDPs"
"Policy Status", "Queries the status of all policies"
"Policy deployment status", "Queries the status of all deployed policies"
- "PDP statistics", "Queries the statistics of PDPs"
"Policy Audit", "Queries the audit records of policies"
-1.2 DMaaP API
+1.2 KAFKA API
-------------
-PAP interacts with the PDPs via the DMaaP Message Router. The messages listed
-in the following table are transmitted via DMaaP:
+PAP interacts with the PDPs via the kafka interface. The messages listed
+in the following table are transmitted via Kafka:
.. csv-table::
:header: "Message", "Direction", "Description"
@@ -139,12 +138,12 @@ in the following table are transmitted via DMaaP:
"PDP update", "Outgoing", "Assigns a PDP to a PDP Group and Subgroup; also deploys or undeploys policies from the PDP"
"PDP state change", "Outgoing", "Changes the state of a PDP or all PDPs within a PDP Group or Subgroup"
-In addition, PAP generates notifications via the DMaaP Message Router when policies are successfully or unsuccessfully
+In addition, PAP generates notifications via the Kafka when policies are successfully or unsuccessfully
deployed (or undeployed) from all relevant PDPs.
Here is a sample notification:
-.. literalinclude:: notification/dmaap-pap-notif.json
+.. literalinclude:: notification/kafka-pap-notif.json
:language: json
@@ -201,22 +200,6 @@ Here is a sample response:
.. literalinclude:: response/consolidated-healthcheck-pap-resp.json
:language: json
-.. csv-table::
- :header: "/statistics"
- :widths: 10
-
- `Statistics PAP Swagger <./local-swagger.html#tag/StatisticsRestControllerV1>`_
-
-This operation allows statistics for PDP groups, PDP subgroups, and individual PDPs to be retrieved.
-
-.. note::
- While this API is supported, most of the statistics are not currently updated; that work has been deferred to a later
- release.
-
-Here is a sample response:
-
-.. literalinclude:: response/statistics-pap-resp.json
- :language: json
.. csv-table::
:header: "/pdps/groups/{name}"
@@ -387,21 +370,6 @@ Here is a sample response:
:language: json
.. csv-table::
- :header: "/pdps/statistics"
- :widths: 10
-
- `Policy Statistics PAP Swagger <./local-swagger.html#tag/StatisticsRestControllerV1>`_
-
-This operation allows the PDP statistics to be retrieved for all registered PDPs.
-The result can be filtered based on PDP group, PDP subgroup & PDP instance.
-Along with record count, start time & end time as query parameters.
-
-Here is a sample response:
-
-.. literalinclude:: response/pdp-statistics-pap-resp.json
- :language: json
-
-.. csv-table::
:header: "/policies/audit"
:widths: 10
@@ -424,15 +392,5 @@ The *PolicyAdministration* component (PAP) is initialized using a configuration
The configuration file is a YAML file containing the relevant fields for configuring the REST server, Database and DMaaP connectivity and so on.
-3.1 Disable collection of PDP Statistics
-========================================
-
-This configuration is to inform PAP to not save the PDP statistics in the database.
-
-In *papParameters.yaml*, add or change the property savePdpStatisticsInDb to false.
-
-.. note::
- By default, if the property is not present, it will be considered as false and
- PDP statistics will not be saved in the database.
End of Document
diff --git a/docs/pap/response/pdp-statistics-pap-resp.json b/docs/pap/response/pdp-statistics-pap-resp.json
deleted file mode 100644
index 77b03444..00000000
--- a/docs/pap/response/pdp-statistics-pap-resp.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "defaultGroup": {
- "apex": [
- {
- "pdpInstanceId": "dev-policy-apex-pdp-0",
- "timeStamp": "Apr 29, 2020, 6:15:29 PM",
- "pdpGroupName": "defaultGroup",
- "pdpSubGroupName": "apex",
- "policyDeployCount": 0,
- "policyDeploySuccessCount": 0,
- "policyDeployFailCount": 0,
- "policyExecutedCount": 0,
- "policyExecutedSuccessCount": 0,
- "policyExecutedFailCount": 0,
- "engineStats": []
- },
- {
- "pdpInstanceId": "dev-policy-apex-pdp-0",
- "timeStamp": "Apr 29, 2020, 6:17:29 PM",
- "pdpGroupName": "defaultGroup",
- "pdpSubGroupName": "apex",
- "policyDeployCount": 0,
- "policyDeploySuccessCount": 0,
- "policyDeployFailCount": 0,
- "policyExecutedCount": 0,
- "policyExecutedSuccessCount": 0,
- "policyExecutedFailCount": 0,
- "engineStats": []
- },
- {
- "pdpInstanceId": "dev-policy-apex-pdp-0",
- "timeStamp": "Apr 29, 2020, 6:19:29 PM",
- "pdpGroupName": "defaultGroup",
- "pdpSubGroupName": "apex",
- "policyDeployCount": 0,
- "policyDeploySuccessCount": 0,
- "policyDeployFailCount": 0,
- "policyExecutedCount": 0,
- "policyExecutedSuccessCount": 0,
- "policyExecutedFailCount": 0,
- "engineStats": []
- }
- ]
- }
-} \ No newline at end of file
diff --git a/docs/pap/response/statistics-pap-resp.json b/docs/pap/response/statistics-pap-resp.json
deleted file mode 100644
index 836b5956..00000000
--- a/docs/pap/response/statistics-pap-resp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "code": 200,
- "policyDeployFailureCount": 0,
- "policyDeploySuccessCount": 0,
- "policyDownloadFailureCount": 0,
- "policyDownloadSuccessCount": 0,
- "totalPdpCount": 0,
- "totalPdpGroupCount": 0,
- "totalPolicyDeployCount": 0,
- "totalPolicyDownloadCount": 0
-}
diff --git a/integration/pom.xml b/integration/pom.xml
index 7f5b1932..12656e2c 100644
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -29,7 +29,7 @@
<parent>
<groupId>org.onap.policy.parent</groupId>
<artifactId>policy-parent</artifactId>
- <version>4.1.3-SNAPSHOT</version>
+ <version>5.0.0-SNAPSHOT</version>
</parent>
<artifactId>integration</artifactId>
<packaging>pom</packaging>
@@ -38,8 +38,8 @@
<properties>
<java.version>17</java.version>
<!-- Note Well: For RELEASE/SNAPSHOT always set to the project version -->
- <version.parent.resources>4.1.3-SNAPSHOT</version.parent.resources>
- <version.parent.checkstyle>4.1.3-SNAPSHOT</version.parent.checkstyle>
+ <version.parent.resources>5.0.0-SNAPSHOT</version.parent.resources>
+ <version.parent.checkstyle>[4.1.2,)</version.parent.checkstyle>
<jacoco.destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</jacoco.destFile>
<!-- Default Sonar configuration -->
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
diff --git a/integration/src/main/resources/release/14.0.0-ONAP_pf_release_data.csv b/integration/src/main/resources/release/14.0.0-ONAP_pf_release_data.csv
new file mode 100644
index 00000000..4322b176
--- /dev/null
+++ b/integration/src/main/resources/release/14.0.0-ONAP_pf_release_data.csv
@@ -0,0 +1,14 @@
+Repo, Last Tag Version,Snapshot Version,Changed Files,Docker Images
+policy/parent,4.1.4,4.1.5-SNAPSHOT,0,
+policy/docker,3.1.3,3.1.4-SNAPSHOT,1,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
+policy/common,2.1.3,2.1.4-SNAPSHOT,0,
+policy/models,3.1.3,3.1.4-SNAPSHOT,2,'policy-models-simulator'
+policy/api,3.1.3,3.1.4-SNAPSHOT,1,'policy-api'
+policy/pap,3.1.3,3.1.4-SNAPSHOT,1,'policy-pap'
+policy/apex-pdp,3.1.3,3.1.4-SNAPSHOT,1,'policy-apex-pdp'
+policy/drools-pdp,2.1.3,2.1.4-SNAPSHOT,1,'policy-drools'
+policy/xacml-pdp,3.1.3,3.1.4-SNAPSHOT,1,'policy-xacml-pdp'
+policy/distribution,3.1.3,3.1.4-SNAPSHOT,1,'policy-distribution'
+policy/clamp,7.1.3,7.1.4-SNAPSHOT,8,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
+policy/gui,3.1.3,3.1.4-SNAPSHOT,2,'policy-gui'
+policy/drools-applications,2.1.3,2.1.4-SNAPSHOT,1,'policy-pdpd-cl'
diff --git a/integration/src/main/resources/release/pf_release_data.csv b/integration/src/main/resources/release/pf_release_data.csv
index d70991fb..ba380748 100644
--- a/integration/src/main/resources/release/pf_release_data.csv
+++ b/integration/src/main/resources/release/pf_release_data.csv
@@ -1,14 +1,14 @@
Repo, Last Tag Version,Snapshot Version,Changed Files,Docker Images
-policy/parent,4.1.2,4.1.3-SNAPSHOT,0,
-policy/docker,3.1.2,3.1.3-SNAPSHOT,7,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
-policy/common,2.1.2,2.1.3-SNAPSHOT,0,
-policy/models,3.1.2,3.1.3-SNAPSHOT,3,'policy-models-simulator'
-policy/api,3.1.2,3.1.3-SNAPSHOT,2,'policy-api'
-policy/pap,3.1.2,3.1.3-SNAPSHOT,2,'policy-pap'
-policy/apex-pdp,3.1.2,3.1.3-SNAPSHOT,3,'policy-apex-pdp'
-policy/drools-pdp,2.1.2,2.1.3-SNAPSHOT,2,'policy-drools'
-policy/xacml-pdp,3.1.2,3.1.3-SNAPSHOT,2,'policy-xacml-pdp'
-policy/distribution,3.1.2,3.1.3-SNAPSHOT,2,'policy-distribution'
-policy/clamp,7.1.2,7.1.3-SNAPSHOT,9,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
-policy/gui,3.1.2,3.1.3-SNAPSHOT,1,'policy-gui'
-policy/drools-applications,2.1.2,2.1.3-SNAPSHOT,0,'policy-pdpd-cl'
+policy/parent,4.1.4,5.0.0-SNAPSHOT,0,
+policy/docker,3.1.3,4.0.0-SNAPSHOT,1,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
+policy/common,2.1.3,3.0.0-SNAPSHOT,0,
+policy/models,3.1.3,4.0.0-SNAPSHOT,2,'policy-models-simulator'
+policy/api,3.1.3,4.0.0-SNAPSHOT,1,'policy-api'
+policy/pap,3.1.3,4.0.0-SNAPSHOT,1,'policy-pap'
+policy/apex-pdp,3.1.3,4.0.0-SNAPSHOT,1,'policy-apex-pdp'
+policy/drools-pdp,2.1.3,3.0.0-SNAPSHOT,1,'policy-drools'
+policy/xacml-pdp,3.1.3,4.0.0-SNAPSHOT,1,'policy-xacml-pdp'
+policy/distribution,3.1.3,4.0.0-SNAPSHOT,1,'policy-distribution'
+policy/clamp,7.1.3,8.0.0-SNAPSHOT,8,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
+policy/gui,3.1.3,4.0.0-SNAPSHOT,2,'policy-gui'
+policy/drools-applications,2.1.3,3.0.0-SNAPSHOT,1,'policy-pdpd-cl'
diff --git a/integration/src/main/scripts/release/updateRefs.sh b/integration/src/main/scripts/release/updateRefs.sh
index 47922063..22db3373 100755
--- a/integration/src/main/scripts/release/updateRefs.sh
+++ b/integration/src/main/scripts/release/updateRefs.sh
@@ -261,9 +261,6 @@ then
$SED -i \
"s/<version.parent.resources>.*<\/version.parent.resources>/<version.parent.resources>$new_snapshot_tag<\/version.parent.resources>/" \
"$repo_location/policy/parent/integration/pom.xml"
- $SED -i \
- "s/<version.parent.checkstyle>.*<\/version.parent.checkstyle>/<version.parent.checkstyle>$new_snapshot_tag<\/version.parent.checkstyle>/" \
- "$repo_location/policy/parent/integration/pom.xml"
result_code=$?
else
next_release_version=${parent_latest_snapshot_tag%-*}
@@ -272,9 +269,6 @@ then
$SED -i \
"s/<version.parent.resources>.*<\/version.parent.resources>/<version.parent.resources>$next_release_version<\/version.parent.resources>/" \
"$repo_location/policy/parent/integration/pom.xml"
- $SED -i \
- "s/<version.parent.checkstyle>.*<\/version.parent.checkstyle>/<version.parent.checkstyle>$next_release_version<\/version.parent.checkstyle>/" \
- "$repo_location/policy/parent/integration/pom.xml"
result_code=$?
fi
else
diff --git a/pom.xml b/pom.xml
index debd984d..511c6c1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.policy.parent</groupId>
<artifactId>policy-parent</artifactId>
- <version>4.1.3-SNAPSHOT</version>
+ <version>5.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
diff --git a/releases/4.1.3.yaml b/releases/4.1.3.yaml
new file mode 100644
index 00000000..f7610d01
--- /dev/null
+++ b/releases/4.1.3.yaml
@@ -0,0 +1,4 @@
+distribution_type: 'maven'
+version: '4.1.3'
+project: 'policy-parent'
+log_dir: 'policy-parent-maven-stage-master/1415/'
diff --git a/releases/4.1.4.yaml b/releases/4.1.4.yaml
new file mode 100644
index 00000000..7f2402b2
--- /dev/null
+++ b/releases/4.1.4.yaml
@@ -0,0 +1,4 @@
+distribution_type: 'maven'
+version: '4.1.4'
+project: 'policy-parent'
+log_dir: 'policy-parent-maven-stage-master/1416/'
diff --git a/resources/pom.xml b/resources/pom.xml
index 873a85da..2648a57c 100644
--- a/resources/pom.xml
+++ b/resources/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.onap.policy.parent</groupId>
<artifactId>policy-parent</artifactId>
- <version>4.1.3-SNAPSHOT</version>
+ <version>5.0.0-SNAPSHOT</version>
</parent>
<artifactId>policy-parent-resources</artifactId>
diff --git a/version.properties b/version.properties
index 68aaed8b..295674ed 100644
--- a/version.properties
+++ b/version.properties
@@ -2,9 +2,9 @@
# Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... )
# because they are used in Jenkins, whose plug-in doesn't support
-major=4
-minor=1
-patch=3
+major=5
+minor=0
+patch=0
base_version=${major}.${minor}.${patch}