From d4f8ac0768b95d2f9da8f84de82b88c80a6705b6 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Wed, 31 May 2023 11:51:54 +0100 Subject: [PATCH] Update release notes for the London Release Issue-ID: POLICY-4661 Change-Id: I6c5cdf5395f850c5f033b5c85cbf96ca0e71db75 Signed-off-by: liamfallon --- docs/release-notes.rst | 420 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 420 insertions(+) diff --git a/docs/release-notes.rst b/docs/release-notes.rst index cf257275..fb43f4d5 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -14,6 +14,426 @@ Policy Framework Release Notes .. * Except the date and the version number, all the other sections are optional but there must be at least .. * one section describing the purpose of this new release. +.. ========================== +.. * * * LONDON * * * +.. ========================== + +Version: 12.0.0 +--------------- + +:Release Date: 2023-06-15 (London Release) + +Artifacts released: + +.. list-table:: + :widths: 15 10 10 + :header-rows: 1 + + * - Repository + - Java Artifact + - Docker Image (if applicable) + * - policy/parent + - 3.7.2 + - N/A + * - policy/docker + - 2.6.2 + - | policy-jre-alpine + | policy-jdk-alpine + | policy-db-migrator + * - policy/common + - 1.12.2 + - N/A + * - policy/models + - 2.8.2 + - N/A + * - policy/api + - 2.8.2 + - policy-api + * - policy/pap + - 2.8.2 + - policy-pap + * - policy/apex-pdp + - 2.9.2 + - policy-apex-pdp + * - policy/drools-pdp + - 1.12.2 + - policy-drools + * - policy/xacml-pdp + - 2.8.2 + - policy-xacml-pdp + * - policy/distribution + - 2.9.2 + - policy-distribution + * - policy/clamp + - 6.4.3 + - | policy-clamp-ac-pf-ppnt + | policy-clamp-ac-k8s-ppnt + | policy-clamp-ac-http-ppnt + | policy-clamp-runtime-acm' + * - policy/gui + - 2.4.2 + - policy-gui + * - policy/drools-applications + - 1.12.2 + - policy-pdpd-cl + +Key Updates +=========== + +* Improvements to CLAMP Automation Composition Management (ACM) + + CLAMP ACM is improved to allow much more flexibility in the specification and life cycle management of rApps. ACM can manage the lifecycle of + rApps made up of an arbitrary number of microservices and rules/learning models/schemas in the form of metadata. In the London release, + the state machine is improved to allow priming of rApp types, and to support deploymeent/undeployment and locking/unlocking of rApps. + Update of the properties of rApps is also supported at run time. In addition, + `ITU Recommendation X.731 `_ is now supported for state reporting from rApp microservices. + + See: + - `POLICY-4401 `_ - R12: Improvements specific to clamp + +* Improved database support in CLAMP ACM + + CLAMP ACM now supports MySql 8.x as a database and supports secured DB communication. + + See: + - `POLICY-4395 `_ - R12: Database related issues + +* Metadata driven API Generation + + Up until now, the Policy Framework components used handwritten code to implement their REST interfaces and the Swagger 2 API documentation was generated from + annotations in the code. From the London release on, the REST API code is generated from OpenAPI 3.0 (Swagger 3.0) documents. In addition, the API documentation + is substantially enhanced. See the `Policy Offered APIs in the documentation `_. + + See: + - `POLICY-4123 `_ - R12: OpenAPI Adaption and Swagger Cleanup + +* Improved Metrics and SLAs + + The metrics generated by the Policy Framework have been substantially improved for the London release. In addition to gathering metrics on REST call + performance and policy deployment and execution time, we have defined SLA values for these metrics. We have implemented automated tests that run + as part of the CSIT testing that ensure the SLAs are complied with. + + See: + - `POLICY-4124 `_ - R12: Add metrics to measure SLAs + +* Improved Testing + + Testing is much improved in the London release. + - S3P tests have been automated and run as CSIT tests + - Automated tests to verify SLA compliance using prometheus metrics are added + - A suite of contract tests is provided for each REST API + - Tests now use http rather than https + + See: + - `POLICY-4125 `_ - R12: New Test Development + - `POLICY-4126 `_ - R12: Improve Automated Testing and Policy Framework S3P Tests + +Known Limitations, Issues and Workarounds +========================================= + +System Limitations +~~~~~~~~~~~~~~~~~~ +N/A + +Known Vulnerabilities +~~~~~~~~~~~~~~~~~~~~~ +.. list-table:: + :widths: 8 3 5 15 + :header-rows: 1 + + * - Dependency + - Security Threat Level + - Policy Framework Components + - Comment + * - com.fasterxml.jackson.core:jackson-core:2.14.1 (2.15.1) + - 10 + - | policy/common (D) + | policy/models (T) + | policy/api (T) + | policy/pap (T) + | policy/distribution (T) + | policy/clamp (T) + | policy/gui (T) + | policy/apex-pdp (T) + | policy/xacml-pdp (T) + | policy/drools-pdp (T) + | policy/drools-applications (T) + - Used in the implementation of policy endpoints + * - com.google.protobuf:protobuf-java:3.10.0 + - 10 + - | policy/models (T) + | policy/clamp (T) + | policy/apex-pdp (T) + | policy/drools-applications (T) + - Transitive dependency pulled in by CDS/Spring/Springboot + * - com.squareup.okhttp3:okhttp:4.9.1 + - 10 + - | policy/clamp (T) + - Transitive dependency pulled in by Spring/Springboot + * - com.sthoughtworks.xstrea:xstream:1.4.19 + - 10 + - | policy/drools-pdp (T) + - Transitive dependency pulled in by Drools rules + * - net.minidev:json-smart:2.4.6 + - 10 + - | policy/models (T) + | policy/apex-pdp (T) + | policy/drools-applications (T) + - Transitive dependency pulled in by CDS + * - io.grpc:grpc-core:1.25.0 + - 6 + - | policy/models (T) + | policy/apex-pdp (T) + | policy/drools-applications (T) + - Transitive dependency pulled in by CDS + * - org.apache.maven:maven-model:3.8.6 + - 6 + - | policy/drools-pdp (T) + - Transitive dependency pulled in to handle artifact generation + * - org.apache.tomcat.embed:tomcat-embed-core:9.0.71 + - 10 + - | policy/api (T) + | policy/pap (T) + | policy/clamp (T) + - Transitive dependency pulled in by org.springframework.boot:spring-boot-starter-web + * - org.bouncycastle:bc.fips:1.0.2.3 + - 6 + - | policy/common (T) + | policy/models (T) + | policy/distribution (T) + | policy/apex-pdp (T) + - Transitive dependency pulled in by org.bouncycastle:bcpkix-fips:1.0.5 in the utils-test module + * - org.eclipse.jetty:jetty-http:10.0.13 + - 6 + - | policy/common (T) + | policy/models (T) + | policy/api (T) + | policy/pap (T) + | policy/distribution (T) + | policy/clamp (T) + | policy/gui (T) + | policy/apex-pdp (T) + | policy/drools-pdp (T) + | policy/xacml-pdp (T) + | policy/drools-applications (T) + - Transitive dependency pulled in by org.eclipse.jetty:jetty-server + * - org.eclipse.jetty:jetty-server:10.0.13 + - 6 + - | policy/common (D) + | policy/models (T) + | policy/api (T) + | policy/pap (T) + | policy/distribution (T) + | policy/clamp (T) + | policy/gui (T) + | policy/apex-pdp (T) + | policy/drools-pdp (T) + | policy/xacml-pdp (T) + | policy/drools-applications (T) + - Used in the implementation of policy endpoints + * - org.jetbrains.kotlin:kotlin-daemon-client:1.3.61 + - 6 + - | policy/models (T) + | policy/apex-pdp (T) + | policy/drools-applications (T) + - Transitive dependency pulled in by CDS + * - org.jetbrains.kotlin:kotlin-scripting-jvm:1.3.61 + - 6 + - | policy/models (T) + | policy/apex-pdp (T) + | policy/drools-applications (T) + - Transitive dependency pulled in by CDS + * - org.springframework:spring-web:5.3.25 + - 10 + - | policy/api (T) + | policy/pap (T) + | policy/clamp (T) + | policy/gui (T) + - Transitive dependency pulled in by Spring/Springboot + * - org.springframework:spring-webmvc:5.3.25 + - 10 + - | policy/api (T) + | policy/pap (T) + | policy/clamp (T) + | policy/gui (T) + - Transitive dependency pulled in by Spring/Springboot + * - org.springframework.boot:spring-boot-actuator-autoconfigure:2.7.8 + - 10 + - | policy/api (T) + | policy/pap (T) + | policy/clamp (T) + | policy/gui (T) + - Transitive dependency pulled in by Spring/Springboot + * - org.springframework.boot:spring-boot-autoconfigure:2.7.8 + - 10 + - | policy/models (T) + | policy/api (T) + | policy/pap (T) + | policy/clamp (T) + | policy/gui (T) + | policy/apex-pdp (T) + | policy/drools-applications (T) + - Transitive dependency pulled in by Spring/Springboot + * - org.springframework.security:spring-security-config:5.7.6 + - 10 + - | policy/api (T) + | policy/pap (T) + | policy/clamp (T) + - Transitive dependency pulled in by Spring/Springboot + * - org.springframework.security:spring-security-web:5.7.6 + - 10 + - | policy/api (T) + | policy/pap (T) + | policy/clamp (T) + - Transitive dependency pulled in by Spring/Springboot + * - org.webjars:jquery-ui:1.12.1 + - 6 + - | policy/gui (T) + - Used by GUI for doing jquery queries + +Workarounds +~~~~~~~~~~~ +N/A + +Security Notes +============== + +Upgrading to Spring 6 and Springboot 3 is required to remove security vulnerabilities above. This change requries moving to Java 17. +This change will be done in the Montreal release of the Policy Framework. See `POLICY-4665 `_. + +Functional Improvements +======================= +| `POLICY-4395 `_ - R12: Database related issues +| `POLICY-4184 `_ - ACM Support for MySql 8.x DB client interfaces +| `POLICY-4358 `_ - Support secured DB communications for CLAMP/ACM +| `POLICY-4401 `_ - R12: Improvements specific to clamp +| `POLICY-4282 `_ - Test and Verification of ACM State Management +| `POLICY-4330 `_ - Add Prometheus metric messages for ACM +| `POLICY-4413 `_ - Refactor the state machines in CLAMP ACM-R and the Participant Intermediary +| `POLICY-4418 `_ - Remove old implementation of statistics in ACM +| `POLICY-4458 `_ - Create a Participant for A1-PMS +| `POLICY-4525 `_ - Create a Participant for KServe +| `POLICY-4563 `_ - ACM manual and automation tests +| `POLICY-4639 `_ - UseState and OperationalState support in ACM + +Necessary Improvements and Bug Fixes +==================================== + +Necessary Improvements +~~~~~~~~~~~~~~~~~~~~~~ +| `POLICY-4122 `_ - R12: Refactoring and Removal of Unused Code +| `POLICY-4138 `_ - Transfer the API handling from the clamp-backend microservice to another microservice +| `POLICY-4139 `_ - Remove the clamp-backend microservice +| `POLICY-4140 `_ - Ensure that all unit tests and automated integration and S3P tests still pass when the unused code is removed +| `POLICY-4157 `_ - Investigation story For Server-Client in PF +| `POLICY-4123 `_ - R12: OpenAPI Adaption and Swagger Cleanup +| `POLICY-3368 `_ - Revise Rest API conventions and structure +| `POLICY-3465 `_ - Upgrade Swagger to io.swagger.core.v3 +| `POLICY-4143 `_ - Generate Contract Testing stubs from OpenAPI specifications +| `POLICY-4144 `_ - Ensure that all unit tests and automated integration and S3P tests still pass when the OpenAPI approach is reversed +| `POLICY-4158 `_ - Open API Specifications as a Source Artifacts ACM +| `POLICY-4159 `_ - Maven build for OpenAPI Interface Generation +| `POLICY-4160 `_ - Rest endpoint implementation code Acm +| `POLICY-4162 `_ - Spike to understand OpenAPI Adaption +| `POLICY-4404 `_ - Remove SpringFox from Policy Framework +| `POLICY-4448 `_ - Rest endpoint implementation code Api and Pap +| `POLICY-4124 `_ - R12: Add metrics to measure SLAs +| `POLICY-4145 `_ - Enable Observability and Performance Management +| `POLICY-4147 `_ - Add Prometheus counters for measuring APEX PDP performance SLAs +| `POLICY-4148 `_ - Check counter names for consistency +| `POLICY-4149 `_ - Verify that the counters are being produced +| `POLICY-4165 `_ - SLAs from Global Requirements +| `POLICY-4469 `_ - SLAs on REST Interfaces for Async Requests +| `POLICY-4125 `_ - R12: New Test Development +| `POLICY-4150 `_ - Add the tests to the automated test suite in the Policy Framework +| `POLICY-4151 `_ - Add tests that check SLA compliance +| `POLICY-4152 `_ - Execute the new tests +| `POLICY-4164 `_ - Verify SLAs on Policy Execution in PDPs +| `POLICY-4571 `_ - S3P Test to check multiple PDP registration +| `POLICY-4655 `_ - Remove k8s based csit from jenkins +| `POLICY-4126 `_ - R12: Improve Automated Testing and Policy Framework S3P Tests +| `POLICY-4111 `_ - S3P testing of APEX-PDP prometheus metrics +| `POLICY-4153 `_ - Ensure reports on SLA compliance are generated by test execution +| `POLICY-4154 `_ - Write a suite of automated contract tests. +| `POLICY-4155 `_ - Add the tests to the automated test suite in the Policy Framework +| `POLICY-4156 `_ - Automate the current S3P test suites in the Policy Framework +| `POLICY-4417 `_ - Support Policy CSIT tests in kubernetes environment with helm chart +| `POLICY-4501 `_ - Add ACM demo service template example in clamp +| `POLICY-4127 `_ - R12: Enhance Policy Framework Documentation +| `POLICY-4581 `_ - Policy Offered APIs +| `POLICY-4583 `_ - Update Policy Platform Development Tools documentation +| `POLICY-4586 `_ - Review and update the ACM design documentation +| `POLICY-4587 `_ - Write documentation for Composition and participant development in ACM +| `POLICY-4396 `_ - R12: Improvements specific to apex-pdp +| `POLICY-4411 `_ - Make apex-pdp dockerfile consistent +| `POLICY-4460 `_ - Add documentation for KafkaAvroSerializer support in apex-pdp +| `POLICY-4397 `_ - R12: Improvements specific to xacml-pdp +| `POLICY-4218 `_ - Add handling of references in the XACML-PDP Tutorial code to the release scripts +| `POLICY-4398 `_ - R12: Improvements specific to drools-pdp and drools-applications +| `POLICY-4405 `_ - Mitigate vulnerable dependencies in drools-pdp +| `POLICY-4399 `_ - R12: Improvements to api/pap and policy handling +| `POLICY-4451 `_ - Policy PAP hard codes topic names +| `POLICY-4455 `_ - Make topics in PAP configurable +| `POLICY-4463 `_ - Fix pap csit with topics names +| `POLICY-4407 `_ - R12: Software (non functional) improvements +| `POLICY-4360 `_ - Fix grafana compose +| `POLICY-4466 `_ - Move duplicate POM config for git-commit-id-maven-plugin to policy/parent +| `POLICY-4471 `_ - Check and repair CSIT jobs +| `POLICY-4474 `_ - Ensure code coverage in all components is over 80% +| `POLICY-4482 `_ - Mitigate Vulnerabilities in Dependencies of Policy Components +| `POLICY-4484 `_ - Perform Interim Release of Policy Framework for London +| `POLICY-4536 `_ - Fix Sonar issues in PF components +| `POLICY-4547 `_ - Fix issue in StartAndStop Activator Test +| `POLICY-4549 `_ - Improve MariaDB sqls for db-migrator +| `POLICY-4558 `_ - Remove Integration Docker base images from Policy Framework base images +| `POLICY-4570 `_ - Policy Framework Interim Release +| `POLICY-4578 `_ - Update vulnerabilities in Policy Components +| `POLICY-4628 `_ - Update sdc-distribution-client to 2.0.1 +| `POLICY-4638 `_ - Restructure policy-gui +| `POLICY-4648 `_ - Release images for M4 +| `POLICY-4680 `_ - Pin versions of python libraries in csit configuration +| `REQ-439 `_ - Continuation of Package Upgrades in Direct Dependencies +| `POLICY-4472 `_ - Packages Upgrades in Direct Dependencies for London Release + +Bug Fixes +~~~~~~~~~ +| `POLICY-4649 `_ - Fix postgres script syntax errors +| `POLICY-4625 `_ - Participant primed status is not updated correctly in the runtime +| `POLICY-4623 `_ - Fix Anchor installing-or-upgrading-policy in docs +| `POLICY-4576 `_ - Omission in release script to update oom images +| `POLICY-4575 `_ - Fix ClassCastException in ACM +| `POLICY-4562 `_ - Sonar hotspot Interrupted Exception +| `POLICY-4561 `_ - Fix UNDEPLOY transition in policyParticipant in ACM +| `POLICY-4560 `_ - Fix participantHtml issue with multi instances in ACM +| `POLICY-4537 `_ - Policy DB scripts are bound to fixed MariaDB version +| `POLICY-4527 `_ - Galera jobs must use repositoryGenerator quitQuit images +| `POLICY-4491 `_ - Fix PAP CSIT intermittent failure +| `POLICY-4490 `_ - Disable ACM CSITs due to ongoing work +| `POLICY-4486 `_ - Fix copy contructor in DocToscaServiceTemplate in ACM +| `POLICY-4473 `_ - Clamp ACM dockersuse profile not working +| `POLICY-4429 `_ - PDP-X guard table creation script problems with = in password +| `POLICY-4410 `_ - Fix ACM stability and performance jmx configuration for random failures +| `POLICY-4381 `_ - The REST path of ACM endpoints is not configurable via Spring properties + +References +========== + +For more information on the ONAP London release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + - `POLICY project page`_ + - `Passing Badge information for POLICY`_ + .. ========================== .. * * * KOHN * * * .. ========================== -- 2.16.6