Adding workaround for JSON Stringify issue
[policy/parent.git] / docs / release-notes.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2
3 .. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING
4 .. _release_notes:
5
6 Policy Release Notes
7 ====================
8
9 .. note
10 ..      * This Release Notes must be updated each time the team decides to Release new artifacts.
11 ..      * The scope of these Release Notes are for ONAP POLICY. In other words, each ONAP component has its Release Notes.
12 ..      * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of
13 ..      * this Release Notes.
14 ..      * Except the date and the version number, all the other sections are optional but there must be at least
15 ..      * one section describing the purpose of this new release.
16 ..      * This note must be removed after content has been added.
17
18 ..      ===========================
19 ..      * * *    FRANKFURT    * * *
20 ..      ===========================
21
22 Abstract
23 ========
24
25 This document provides the release notes for the Policy Framework Project's Frankfurt release.
26
27 Summary
28 =======
29
30 New features include policy update notifications, native policy support, streamlined health check for the Policy Administration Point (PAP),
31 configurable pre-loading/pre-deployment of policies, new APIs (e.g. to create one or more Policies with a single call), new experimental PDP monitoring GUI, and enhancements to all three PDPs: XACML, Drools, APEX.
32
33 Release Data
34 ============
35
36 +--------------------------------------+--------------------------------------+
37 | **Policy Project**                   |                                      |
38 |                                      |                                      |
39 +--------------------------------------+--------------------------------------+
40 | **Docker images**                    | - policy-api 2.2.4                   |
41 |                                      | - policy-pap 2.2.3                   |
42 |                                      | - policy-pdpd-cl 1.6.4               |
43 |                                      | - policy-xacml-pdp 2.2.2             |
44 |                                      | - policy-apex-pdp 2.3.2              |
45 |                                      | - policy-distribution 2.3.2          |
46 |                                      | - policy-pe 1.6.4                    |
47 |                                      |                                      |
48 +--------------------------------------+--------------------------------------+
49 | **Release designation**              | 6.0.0 frankfurt                      |
50 |                                      |                                      |
51 +--------------------------------------+--------------------------------------+
52 | **Release date**                     | 2020-06-04                           |
53 |                                      |                                      |
54 +--------------------------------------+--------------------------------------+
55
56
57 New features
58 ------------
59
60 Common changes in all policy components
61 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 * Upgraded all policy components to Java 11.
63 * Logback file can be now loaded using OOM configmap.
64   - If needed, logback file can be loaded as a configmap during the OOM deployment. For this, just put the logback.xml file in corresponding config directory in OOM charts.
65
66 * TOSCA changes:
67   - “tosca_definitions_version” is now “tosca_simple_yaml_1_1_0”
68   - typeVersion→ type_version, int→integer, bool→boolean, String→string, Map→map, List→list
69 * SupportedPolicyTypes now removed from pdp status message.
70   - All PDPs now send PdpGroup to which they belong to in the registration message.
71   - SupportedPolicyTypes are not sent anymore.
72
73 * Native Policy Support
74   - Each PDP engine has its own native policy language. A new Policy Type **onap.policies.Native** was created and supported for each PDP
75   engine to support native policy types.
76
77
78 POLICY-PAP
79 ~~~~~~~~~~
80 * Policy Update Notifications
81   - PAP now generates notifications  via the DMaaP Message Router when policies are successfully or unsuccessfully deployed (or undeployed) from all relevant PDPs.
82
83 * PAP API to fetch Policy deployment status
84   - Clients will be able to poll the PAP API to find out when policies have been successfully or unsuccessfully deployed to the PDP's.
85
86 * Removing supportedPolicyTypes from PdpStatus
87   - PDPs are assigned to a PdpGroup based on what group is mentioned in the heartbeat. Earlier this was done based on the supportedPolicyTypes.
88
89 * Support policy types with wild-cards, Preload wildcard supported type in PAP
90
91 * PAP should NOT make a PDP passive if it cannot deploy a policy.
92   - If a PDP fails to deploy one or more policies specified in a PDP-UPDATE message, PAP will undeploy those policies that failed to deploy to the PDP.  This entails removing the policies from the Pdp Group(s), issuing new PDP-UPDATE requests, and updating the notification tracking data.
93   - Also, re-register pdp if not found in the DB during heartbeat processing.
94
95 * Consolidated health check in PAP
96   - PAP can report the health check for ALL the policy components now. The PDP’s health is tracked based on heartbeats, and other component’s REST API is used for healthcheck.
97   - “healthCheckRestClientParameters” (REST parameters for API and Distribution healthcheck) are added to the startup config file in PAP.
98
99 * PDP statistics from PAP
100  - All PDPs send statistics data as part of the heartbeat. PAP reads this and saves this data to the database, and this statistics data can be accessed from the monitoring GUI.
101
102 * PAP API for Create or Update PdpGroups
103  - A new API is now available just for creating/updating PDP Groups. Policies cannot be added/updated during PDP Group create/update operations. There is another API for this. So, if provided in the create/update group request, they are ignored. Supported policy types are defined during PDP Group creation. They cannot be updated once they are created. Refer to this for details: https://github.com/onap/policy-parent/blob/master/docs/pap/pap.rst#id8
104
105 * PAP API to deploy policies to PdpGroups
106  - A new API is introduced to deploy policies on specific PDPGroups. Each subgroup includes an "action" property, which is used to indicate that the policies are being added (POST) to the subgroup, deleted (DELETE) from the subgroup, or that the subgroup's entire set of policies is being replaced (PATCH) by a new set of policies.
107
108 POLICY-API
109 ~~~~~~~~~~
110
111 * A new simplified API to create one or more policies in one call.
112   - This simplified API doesn’t require policy type id & policy type version to be part of the URL.
113   - The simple URI “policy/api/v1/policies” with a POST input body takes in a ToscaServiceTemplate with the policies in it.
114
115 * List of Preloaded policy types are made configurable
116   - Until El Alto, the list of pre-loaded policy types are hardcoded in the code. Now, this is made configurable, and the list can be specified in the startup config file for the API component under “preloadPolicyTypes”. The list is ignored if the DB already contains one or more policy types.
117
118 * Preload default policies for ONAP components
119   - The ability to configure the preloading of initial default policies into the system upon startup.
120
121 * A lot of improvements to the API code and validations corresponding to the changes in policy-models.
122   - Creating same policyType/policy repeatedly without any change in request body will always be successful with 200 response
123   - If there is any change in the request body, then that should be a new version. If any change is posted without a version change, then 406 error response is returned.
124
125 * Known versioning issues are there in Policy Types handling.
126   - https://jira.onap.org/browse/POLICY-2377 covers the versioning issues in Policy. Basically, multiple versions of a Policy Type cannot be handled in TOSCA. So, in Frankfurt, the latest version of the policy type is examined. This will be further looked into in Guilin.
127
128 * Cascaded GET of PolicyTypes and Policies
129   - Fetching/GET PolicyType now returns all of the referenced/parent policyTypes and dataTypes as well.
130   - Fetching/GET Policy allows specifying mode now.
131   - By default the mode is “BARE”, which returns only the requested Policy in response. If mode is specified as “REFERENCED”, all of the referenced/parent policyTypes and dataTypes are returned as well.
132
133 * The /deployed API is removed from policy/api
134   - This run time administration job to see the deployment status of a policy is now possible via PAP.
135
136 * Changes related to design and support of TOSCA Compliant Policy Types for the operational and guard policy models.
137
138 POLICY-DISTRIBUTION
139 ~~~~~~~~~~~~~~~~~~~
140
141 * From Frankfurt release, policy-distribution component uses APIs provided by Policy-API and Policy-PAP for creation of policy types and policies, and deployment of policies.
142   - Note: If “deployPolicies” field in the startup config file is true, then only the policies are deployed using PAP endpoint.
143
144 * Policy/engine & apex-pdp dependencies are removed from policy-distribution.
145
146
147 APEX-PDP
148 ~~~~~~~~
149
150 * Changed the JavaScript executor from Nashorn to Rhino as part of Java 11 upgrade.
151   - There are minor changes in the JavaScript task logic files associated with this Rhino migration. An example for this change can be seen here: https://gerrit.onap.org/r/c/policy/apex-pdp/+/103546/2/examples/examples-onap-bbs/src/main/resources/logic/SdncResourceUpdateTask.js
152
153   - There is a known issue in Rhino javascript related to the usage of JSON.stringify. This is captured in this JIRA https://jira.onap.org/browse/POLICY-2463.
154
155 * APEX supports multiple policy deployment in Frankfurt.
156   - Up through El Alto APEX-PDP had the capability to take in only a single ToscaPolicy. When PAP sends a list of Tosca Policies in PdpUpdate, only the first one is taken and only that single Policy is deployed in APEX. This is fixed in Frankfurt. Now, APEX can deploy a list of Tosca Policies altogether into the engine.
157
158   - Note: There shouldn’t be any duplicates in the deployed policies (for e.g. same input/output parameter names, or same event/task names etc).
159
160   - For example, when 3 policies are deployed and one has duplicates, say same input/task or any such concept is used in the 2nd and 3rd policy, then APEX-PDP ignores the 3rd policy and executes only the 1st and 2nd policies. APEX-PDP also respond back to PAP with the message saying that “only Policy 1 and 2 are deployed. Others failed due to duplicate concept”.
161
162 * Context retainment during policy upgrade.
163   - In APEX-PDP, context is referred by the apex concept ‘contextAlbum’. When there is no major version change in the upgraded policy to be deployed, the existing context of the currently running policy is retained. When the upgraded policy starts running, it will have access to this context as well.
164
165   - For example, Policy A v1.1 is currently deployed to APEX. It has a contextAlbum named HeartbeatContext and heartbeats are currently added to the HeartbeatContext based on events coming in to the policy execution. Now, when Policy A v1.2 (with some other changes and same HeartbeatContext) is deployed, Policy Av1.1 is replaced by Policy A1.2 in the APEX engine, but the content in HeartbeatContext is retained for Policy A1.2.
166
167 * APEX-PDP now specifies which PdpGroup it belongs to.
168   - Up through El Alto, PAP assigned each PDP to a PDP group based on the supportedPolicyTypes it sends in the heartbeat. But in Frankfurt, each PDP comes up saying which PdpGroup they belong to, and this is sent to PAP in the heartbeat. PAP then registers the PDP the PdpGroup specified by the PDP. If no group name is specified like this, then PAP assigns the PDP to defaultGroup by default. SupportedPolicyTypes are not sent to PAP by the PDP now.
169
170   - In APEX-PDP, this can be specified in the startup config file(OnapPfConfig.json). "pdpGroup": "<groupName>" is added under “pdpStatusParameters” in the config file.
171
172 * APEX-PDP now sends PdpStatistics data in heartbeat.
173   - Apex now sends the PdpStatistics data in every heartbeat sent to PAP. PAP saves this data to the database, and this statistics data can be accessed from the monitoring GUI.
174
175 * Removed “content” section from ToscaPolicy properties in APEX.
176   - Up through El Alto, APEX specific policy information was placed under properties|content in ToscaPolicy. Avoid placing under "content" and keep the information directly under properties. So, the ToscaPolicy structure will have apex specific policy information in properties|engineServiceParameters, properties|eventInputParameters, properties|eventOutputParameters.
177
178 * Passing parameters from ApexConfig to policy logic.
179   - TaskParameters can be used to pass parameters from ApexConfig to the policy logic. Consider a scenario where from CLAMP, serviceId or closedLoopId has to be passed to the policy, and this should be available to perform some logic or action within the policy. In the CLAMP UI, while configuring the APEX Policy, specifying taskParameters with these will enable this.
180
181   - More information about the usage of Task Parameters can be found here: https://onap.readthedocs.io/en/latest/submodules/policy/parent.git/docs/apex/APEX-User-Manual.html#configure-task-parameters
182
183   - In the taskLogic, taskParameters can be accessed as  executor.parameters.get("ParameterKey1"))
184
185   - More information can be found here: https://onap.readthedocs.io/en/latest/submodules/policy/parent.git/docs/apex/APEX-Policy-Guide.html#accessing-taskparameters
186
187 * GRPC support for APEX-CDS interaction.
188   - APEX-PDP now supports interaction with CDS over gRPC. Up through El Alto, CDS interaction was possible over REST only. A new plugin was developed in APEX for this feature. Refer the link for more details. https://onap.readthedocs.io/en/latest/submodules/policy/parent.git/docs/apex/APEX-User-Manual.html#grpc-io
189
190 POLICY-XACML
191 ~~~~~~~~~~~~
192
193 * Added optional Decision API param to Decision API for monitor decisions that returns abbreviated results.
194   - Return only an abbreviated list of policies (e.g. metadata Policy Id and Version) without the actual contents of the policies (e.g. the Properties).
195
196 * XACML PDP now support PASSIVE_MODE.
197 * Added support to return status and error if pdp-x failed to load a policy.
198 * Changed optimization Decision API application to support "closest matches" algorithm.
199 * Changed Xacml-pdp to report the pdp group defined in XacmlPdpParameters config file as part of heartbeat. Also, removed supportedPolicyType from pdpStatus message.
200 * Design the TOSCA policy model for SDNC naming policies and implement an application that translates it to a working policy and is available for decision API.
201 * XACML pdp support for Control Loop Coordination
202   - Added policies for SON and PCI to support each blocking the other, with test cases and appropriate requests
203
204 * Extend PDP-X capabilities so that it can load in and enforce the native XACML policies deployed from PAP.
205
206 POLICY-DROOLS-PDP
207 ~~~~~~~~~~~~~~~~~
208
209 * Support for offline mode.
210   - The OOM deployment now supports offline mode for PDP-D by default.
211
212 * Parameterize mvn repo urls and proxy settings
213   - This allows the users to build the docker images for drools-pdp and drools-application using their own CI pipelines if needed.
214
215 * TOSCA Policy Type design for operational policy supported by Drools so that policy is compliant with TOSCA policies
216 * pip updated to pip3 in docker.
217 * Extend PDP-D capabilities so that it can instantiate new drools controller instances for executing native Drools policies deployed from PAP.
218 * Updated drools to use the redesigned Actors in policy/models.
219 * Server Pool feature for supporting multiple active Drools PDP hosts.
220 * server-pool is a resilient implementation that supports redundancy within and across data centers involving multiple PDP-Drools. Implementation involves hashing of which PDP-Drools owns which transaction and routing transactions to the appropriate PDP-Drools. By implementing as a feature, any deployment can choose to use or not use server-pool for its redundancy needs.
221
222 POLICY-DROOLS-APPLICATIONS
223 ~~~~~~~~~~~~~~~~~~~~~~~~~~
224
225 * Support for offline mode.
226 * Rate limiting DCAE flooding of ONSETs
227   - Policy will get flooded with potentially hundreds of ONSETs at once being picked up from DMaaP. Processing of multiple ONSETs (potentially hundreds in a batch read) of the same underlying unique network alarm severely impacts performance.
228
229 * Design Operational Policy Type for Drools
230   - Design and preload the drools operational policy type.
231   - Backwards compatible support for tosca operational policies in usecases.
232   - Tosca compliant vCPE, vFirewall, vDNS
233
234 * PDP-D support for native Drools policy execution
235   - Topics are decoupled from controllers. Native policies require topics configured at installation. Topics can also be overridden or new ones added when being placed in the mounted config directory.
236
237 * Update Drools to use new actors.
238   - Add frankfurt rules for Actor redesign
239   - Usecases controller disabled (to be removed shortly after Frankfurt release) and the Frankfurt controller will be used.
240
241 * Delete template.demo sub-module and amsterdam controllers
242 * Removed vLB from drools-apps.
243 * Replace URL with host/port/contextURI in the controlloop properties.
244   - Corresponding changes in base.conf file in OOM which is mounted.
245
246 Known Limitations, Issues and Workarounds
247 =========================================
248
249 System Limitations
250 ------------------
251
252
253 Known Vulnerabilities
254 ---------------------
255
256 * `POLICY-2463 <https://jira.onap.org/browse/POLICY-2463>`_ - In APEX Policy javascript task logic, JSON.stringify causing stackoverflow exceptions
257 * `POLICY-2487 <https://jira.onap.org/browse/POLICY-2487>`_ - policy/api hangs in loop if preload policy does not exist
258
259 Workarounds
260 -----------
261 * `POLICY-2463 <https://jira.onap.org/browse/POLICY-2463>`_ - Parse incoming object using JSON.Parse() or cast the object to a String
262
263 Security Notes
264 --------------
265
266 * `POLICY-2221 <https://jira.onap.org/browse/POLICY-2221>`_ - Password removal from helm charts
267 * `POLICY-2064 <https://jira.onap.org/browse/POLICY-2064>`_ - Allow overriding of keystore and truststore in policy helm charts
268 * `POLICY-2381 <https://jira.onap.org/browse/POLICY-2381>`_ - Dependency upgrades
269     - Upgrade drools 7.33.0
270     - Upgrade jquery to 3.4.1 in jquery-ui
271     - Upgrade snakeyaml to 1.26
272     - Upgrade org.infinispan infinispan-core 10.1.5.Final
273     - upgrade io.netty 4.1.48.Final
274     - exclude org.glassfish.jersey.media jersey-media-jaxb artifact
275     - Upgrade com.fasterxml.jackson.core 2.10.0.pr3
276     - Upgrade org.org.jgroups 4.1.5.Final
277     - Upgrade commons-codec 20041127.091804
278     - Upgrade com.github.ben-manes.caffeine 2.8.0
279
280
281 References
282 ==========
283
284 For more information on the ONAP Frankfurt release, please see:
285
286 #. `ONAP Home Page`_
287 #. `ONAP Documentation`_
288 #. `ONAP Release Downloads`_
289 #. `ONAP Wiki Page`_
290
291
292 .. _`ONAP Home Page`: https://www.onap.org
293 .. _`ONAP Wiki Page`: https://wiki.onap.org
294 .. _`ONAP Documentation`: https://docs.onap.org
295 .. _`ONAP Release Downloads`: https://git.onap.org
296
297 Quick Links:
298     - `POLICY project page`_
299     - `Passing Badge information for POLICY`_
300
301 ..      ==========================
302 ..      * * *     EL ALTO    * * *
303 ..      ==========================
304
305 Version: 5.0.1
306 --------------
307
308 :Release Date: 2019-10-24 (El Alto Release)
309
310 **New Features**
311
312 Artifacts released:
313
314 .. csv-table::
315    :header: "Repository", "Java Artifact", "Docker Image (if applicable)"
316    :widths: 15,10,10
317
318    "policy/parent", "3.0.1", ""
319    "policy/common", "1.5.2", ""
320    "policy/models", "2.1.4", ""
321    "policy/api", "2.1.2", "onap/policy-api:2.1.2"
322    "policy/pap", "2.1.2", "onap/policy-pap:2.1.2"
323    "policy/drools-pdp", "1.5.2", "onap/policy-drools:1.5.2"
324    "policy/apex-pdp", "2.2.1", "onap/policy-apex-pdp:2.2.1"
325    "policy/xacml-pdp", "2.1.2", "onap/policy-xacml-pdp:2.1.2"
326    "policy/drools-applications", "1.5.3", "onap/policy-pdpd-cl:1.5.3"
327    "policy/engine", "1.5.2", "onap/policy-pe:1.5.2"
328    "policy/distribution", "2.2.1", "onap/policy-distribution:2.2.1"
329    "policy/docker", "1.4.0", "onap/policy-common-alpine:1.4.0 onap/policy/base-alpine:1.4.0"
330
331 The El Alto release for POLICY delivered the following Epics. For a full list of stories and tasks delivered in the El Alto release, refer to `JiraPolicyElAlto`_.
332
333     * [POLICY-1727] - This epic covers technical debt left over from Dublin
334         - POLICY-969    Docker improvement in policy framwork modules
335         - POLICY-1074   Fix checkstyle warnings in every repository
336         - POLICY-1121   RPM build for Apex
337         - POLICY-1223   CII Silver Badging Requirements
338         - POLICY-1600   Clean up hash code equality checks, cloning and copying in policy-models
339         - POLICY-1646   Replace uses of getCanonicalName() with getName()
340         - POLICY-1652   Move PapRestServer to policy/common
341         - POLICY-1732   Enable maven-checkstyle-plugin in apex-pdp
342         - POLICY-1737   Upgrade oParent 2.0.0 - change daily jobs to staging jobs
343         - POLICY-1742   Make HTTP return code handling configurable in APEX
344         - POLICY-1743   Make URL configurable in REST Requestor and REST Client
345         - POLICY-1744   Remove topic.properties and incorporate into overall properties
346         - POLICY-1770   PAP REST API for PDPGroup Healthcheck
347         - POLICY-1771   Boost policy/api JUnit code coverage
348         - POLICY-1772   Boost policy/xacml-pdp JUnit code coverage
349         - POLICY-1773   Enhance the policy/xacml-pdp S3P Stability and Performance tests
350         - POLICY-1784   Better Handling of "version" field value with clients
351         - POLICY-1785   Deploy same policy with a new version simply adds to the list
352         - POLICY-1786   Create a simple way to populate the guard database for testing
353         - POLICY-1791   Address Sonar issues in new policy repos
354         - POLICY-1795   PAP: bounced apex and xacml pdps show deleted instance in pdp status through APIs. 
355         - POLICY-1800   API|PAP components use different version formats
356         - POLICY-1805   Build up stability test for api component to follow S3P requirements
357         - POLICY-1806   Build up S3P performance test for api component
358         - POLICY-1847   Add control loop coordination as a preloaded policy type
359         - POLICY-1871   Change policy/distribution to support ToscaPolicyType & ToscaPolicy
360         - POLICY-1881   Upgrade policy/distribution to latest SDC artifacts
361         - POLICY-1885   Apex-pdp: Extend CLIEditor to generate policy in ToscaServiceTemplate format
362         - POLICY-1898   Move apex-pdp & distribution documents to policy/parent
363         - POLICY-1942   Boost policy/apex-pdp JUnit code coverage
364         - POLICY-1953   Create addTopic taking BusTopicParams instead of Properties in policy/endpoints
365
366     * Additional items delivered with the release.
367         - POLICY-1637   Remove "version" from PdpGroup
368         - POLICY-1653   Remove isNullVersion() method
369         - POLICY-1966   Fix more sonar issues in policy drools
370         - POLICY-1988   Generate El Alto AAF Certificates
371
372     * [POLICY-1823] - This epic covers the work to develop features that will be deployed dark in El Alto.
373         - POLICY-1762   Create CDS API model implementation
374         - POLICY-1763   Create CDS Actor
375         - POLICY-1899   Update optimization xacml application to support more flexible Decision API
376         - POLICY-1911   XACML PDP must be able to retrieve Policy Type from API
377
378
379 **Bug Fixes**
380
381 The following bug fixes have been deployed with this release:
382
383     * `[POLICY-1671] <https://jira.onap.org/browse/POLICY-1671>`_ - policy/engine JUnit tests now take over 30 minutes to run
384     * `[POLICY-1725] <https://jira.onap.org/browse/POLICY-1725>`_ - XACML PDP returns 500 vs 400 for bad syntax JSON
385     * `[POLICY-1793] <https://jira.onap.org/browse/POLICY-1793>`_ - API|MODELS: Retrieving Legacy Operational Policy as a Tosca Policy with wrong version
386     * `[POLICY-1795] <https://jira.onap.org/browse/POLICY-1795>`_ - PAP: bounced apex and xacml pdps show deleted instance in pdp status through APIs. 
387     * `[POLICY-1800] <https://jira.onap.org/browse/POLICY-1800>`_ - API|PAP components use different version formats
388     * `[POLICY-1802] <https://jira.onap.org/browse/POLICY-1802>`_ - Apex-pdp: context album is mandatory for policy model to compile
389     * `[POLICY-1803] <https://jira.onap.org/browse/POLICY-1803>`_ - PAP should undeploy policies when subgroup is deleted
390     * `[POLICY-1807] <https://jira.onap.org/browse/POLICY-1807>`_ - Latest version is always returned when using the endpoint to retrieve all versions of a particular policy 
391     * `[POLICY-1808] <https://jira.onap.org/browse/POLICY-1808>`_ - API|PAP|PDP-X [new] should publish docker images with the following tag X.Y-SNAPSHOT-latest 
392     * `[POLICY-1810] <https://jira.onap.org/browse/POLICY-1810>`_ - API: support "../deployed" REST API (URLs) for legacy policies
393     * `[POLICY-1811] <https://jira.onap.org/browse/POLICY-1811>`_ - The endpoint of retrieving the latest version of TOSCA policy does not return the latest one, especially when there are double-digit versions
394     * `[POLICY-1818] <https://jira.onap.org/browse/POLICY-1818>`_ - APEX does not allow arbitrary Kafka parameters to be specified
395     * `[POLICY-1838] <https://jira.onap.org/browse/POLICY-1838>`_ - Drools-pdp error log is missing data in ErrorDescription field
396     * `[POLICY-1839] <https://jira.onap.org/browse/POLICY-1839>`_ - Policy Model  currently needs to be escaped
397     * `[POLICY-1843] <https://jira.onap.org/browse/POLICY-1843>`_ - Decision API not returning monitoring policies when calling api with policy-type
398     * `[POLICY-1844] <https://jira.onap.org/browse/POLICY-1844>`_ - XACML PDP does not update policy statistics
399     * `[POLICY-1858] <https://jira.onap.org/browse/POLICY-1858>`_ - Usecase DRL - named query should not be invoked
400     * `[POLICY-1859] <https://jira.onap.org/browse/POLICY-1859>`_ - Drools rules should not timeout when given timeout=0 - should be treated as infinite
401     * `[POLICY-1872] <https://jira.onap.org/browse/POLICY-1872>`_ - brmsgw fails building a jar - trafficgenerator dependency does not exist
402     * `[POLICY-2047] <https://jira.onap.org/browse/POLICY-2047>`_ - TOSCA Policy Types should be map not a list
403     * `[POLICY-2060] <https://jira.onap.org/browse/POLICY-2060>`_ - ToscaProperties object is missing metadata field
404     * `[POLICY-2156] <https://jira.onap.org/browse/POLICY-2156>`_ - missing field in create VF module request to SO
405
406
407 **Security Notes**
408
409 *Fixed Security Issues*
410
411
412     * `[POLICY-2115] <https://jira.onap.org/browse/POLICY-2115>`_ - Upgrade org.jgroups : jgroups : 4.0.12.Final 
413     * `[POLICY-2084] <https://jira.onap.org/browse/POLICY-2084>`_ - Investigate pip (py2.py3-none-any) 9.0.1 (.whl) in apex-pdp
414     * `[POLICY-2072] <https://jira.onap.org/browse/POLICY-2072>`_ - Upgrade io.netty : netty-codec-http2 and netty-common to 4.1.39.Final
415     * `[POLICY-2005] <https://jira.onap.org/browse/POLICY-2005>`_ - Upgrade elastic search to 6.8.2
416     * `[POLICY-2001] <https://jira.onap.org/browse/POLICY-2001>`_ - Upgrade com.thoughtworks.xstream to 1.4.11.1
417     * `[POLICY-2000] <https://jira.onap.org/browse/POLICY-2000>`_ - Upgrade oparent 2.1.0-SNAPSHOT - to pull in jetty server to 9.4.20.v20190813
418     * `[POLICY-1999] <https://jira.onap.org/browse/POLICY-1999>`_ - Upgrade to httpcomponents httpclient 4.5.9
419     * `[POLICY-1598] <https://jira.onap.org/browse/POLICY-1598>`_ - mariadb container is outdated
420     * `[POLICY-1597] <https://jira.onap.org/browse/POLICY-1597>`_ - nexus container is outdated
421
422 *Known Security Issues*
423
424 *Known Vulnerabilities in Used Modules*
425
426 POLICY code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The POLICY open Critical security vulnerabilities and their risk assessment have been documented as part of the `project (El Alto Release) <https://wiki.onap.org/pages/viewpage.action?pageId=68541992>`_.
427
428 Quick Links:
429     - `POLICY project page`_
430     - `Passing Badge information for POLICY`_
431     - `Project Vulnerability Review Table for POLICY (El Alto Release) <https://wiki.onap.org/pages/viewpage.action?pageId=68541992>`_
432
433 **Known Issues**
434
435 The following known issues will be addressed in a future release:
436
437     * `[POLICY-1276] <https://jira.onap.org/browse/POLICY-1276>`_ - JRuby interpreter shutdown fails on second and subsequent runs
438     * `[POLICY-1291] <https://jira.onap.org/browse/POLICY-1291>`_ - Maven Error when building Apex documentation in Windows
439     * `[POLICY-1578] <https://jira.onap.org/browse/POLICY-1578>`_ - PAP pushPolicies.sh in startup fails due to race condition in some environments
440     * `[POLICY-1832] <https://jira.onap.org/browse/POLICY-1832>`_ - API|PAP: data race condition seem to appear sometimes when creating and deploying policy
441     * `[POLICY-2103] <https://jira.onap.org/browse/POLICY-2103>`_ - policy/distribution may need to re-synch if SDC gets reinstalled
442     * `[POLICY-2062] <https://jira.onap.org/browse/POLICY-2062>`_ - APEX PDP logs > 4G filled local storage
443     * `[POLICY-2080] <https://jira.onap.org/browse/POLICY-2080>`_ - drools-pdp JUnit fails intermittently in feature-active-standby-management
444     * `[POLICY-2111] <https://jira.onap.org/browse/POLICY-2111>`_ - PDP-D APPS: AAF Cadi conflicts with Aether libraries
445     * `[POLICY-2158] <https://jira.onap.org/browse/POLICY-2158>`_ - PAP loses synchronization with PDPs
446     * `[POLICY-2159] <https://jira.onap.org/browse/POLICY-2159>`_ - PAP console (legacy): cannot edit policies with GUI
447
448
449 ..      ==========================
450 ..      * * *      DUBLIN    * * *
451 ..      ==========================
452
453 Version: 4.0.0
454 --------------
455
456 :Release Date: 2019-06-26 (Dublin Release)
457
458 **New Features**
459
460 Artifacts released:
461
462 .. csv-table::
463    :header: "Repository", "Java Artifact", "Docker Image (if applicable)"
464    :widths: 15,10,10
465
466    "policy/parent", "2.1.0", ""
467    "policy/common", "1.4.0", ""
468    "policy/models", "2.0.2", ""
469    "policy/api", "2.0.1", "onap/policy-api:2.0.1"
470    "policy/pap", "2.0.1", "onap/policy-pap:2.0.1"
471    "policy/drools-pdp", "1.4.0", "onap/policy-drools:1.4.0"
472    "policy/apex-pdp", "2.1.0", "onap/policy-apex-pdp:2.1.0"
473    "policy/xacml-pdp", "2.1.0", "onap/policy-xacml-pdp:2.1.0"
474    "policy/drools-applications", "1.4.2", "onap/policy-pdpd-cl:1.4.2"
475    "policy/engine", "1.4.1", "onap/policy-pe:1.4.1"
476    "policy/distribution", "2.1.0", "onap/policy-distribution:2.1.0"
477    "policy/docker", "1.4.0", "onap/policy-common-alpine:1.4.0 onap/policy/base-alpine:1.4.0"
478
479 The Dublin release for POLICY delivered the following Epics. For a full list of stories and tasks delivered in the Dublin release, refer to `JiraPolicyDublin`_.
480
481     * [POLICY-1068] - This epic covers the work to cleanup, enhance, fix, etc. any Control Loop based code base.
482         - POLICY-1195   Separate model code from drools-applications into other repositories
483         - POLICY-1367   Spike - Experimentation for management of Drools templates and Operational Policies
484         - POLICY-1397   PDP-D: NOOP Endpoints Support to test Operational Policies.
485         - POLICY-1459   PDP-D [Control Loop] : Create a Control Loop flavored PDP-D image
486
487     * [POLICY-1069] - This epic covers the work to harden the codebase for the Policy Framework project.
488         - POLICY-1007   Remove Jackson from policy framework components
489         - POLICY-1202   policy-engine & apex-pdp are using different version of eclipselink
490         - POLICY-1250   Fix issues reported by sonar in policy modules
491         - POLICY-1368   Remove hibernate from policy repos
492         - POLICY-1457   Use Alpine in base docker images
493
494     * [POLICY-1072] - This epic covers the work to support S3P Performance criteria.
495         - S3P Performance related items
496
497     * [POLICY-1171] - Enhance CLC Facility
498         - POLICY-1173   High-level specification of coordination directives
499
500     * [POLICY-1220] - This epic covers the work to support S3P Security criteria
501         - POLICY-1538   Upgrade Elasticsearch to 6.4.x to clear security issue
502
503     * [POLICY-1269] - R4 Dublin - ReBuild Policy Infrastructure
504         - POLICY-1270   Policy Lifecycle API RESTful HealthCheck/Statistics Main Entry Point
505         - POLICY-1271   PAP RESTful HealthCheck/Statistics Main Entry Point
506         - POLICY-1272   Create the S3P JMeter tests for API, PAP, XACML (2nd Gen)
507         - POLICY-1273   Policy Type Application Design Requirements
508         - POLICY-1436   XACML PDP RESTful HealthCheck/Statistics Main Entry Point
509         - POLICY-1440   XACML PDP RESTful Decision API Main Entry Point
510         - POLICY-1441   Policy Lifecycle API RESTful Create/Read Main Entry Point for Policy Types
511         - POLICY-1442   Policy Lifecycle API RESTful Create/Read Main Entry Point for Concrete Policies
512         - POLICY-1443   PAP Dmaap PDP Register/UnRegister Main Entry Point
513         - POLICY-1444   PAP Dmaap Policy Deploy/Undeploy Policies Main Entry Point
514         - POLICY-1445   XACML PDP upgrade to xacml 2.0.0
515         - POLICY-1446   Policy Lifecycle API RESTful Delete Main Entry Point for Policy Types
516         - POLICY-1447   Policy Lifecycle API RESTful Delete Main Entry Point for Concrete Policies
517         - POLICY-1449   XACML PDP Dmaap Register/UnRegister Functionality
518         - POLICY-1451   XACML PDP Dmaap Deploy/UnDeploy Functionality
519         - POLICY-1452   Apex PDP Dmaap Register/UnRegister Functionality
520         - POLICY-1453   Apex PDP Dmaap Deploy/UnDeploy Functionality
521         - POLICY-1454   Drools PDP Dmaap Register/UnRegister Functionality
522         - POLICY-1455   Drools PDP Dmaap Deploy/UnDeploy Functionality
523         - POLICY-1456   Policy Architecture and Roadmap Documentation
524         - POLICY-1458   Create S3P JMeter Tests for Policy API
525         - POLICY-1460   Create S3P JMeter Tests for PAP
526         - POLICY-1461   Create S3P JMeter Tests for Policy XACML Engine (2nd Generation)
527         - POLICY-1462   Create S3P JMeter Tests for Policy SDC Distribution
528         - POLICY-1471   Policy Application Designer - Develop Guard and Control Loop Coordination Policy Type application
529         - POLICY-1474   Modifications of Control Loop Operational Policy to support new Policy Lifecycle API
530         - POLICY-1515   Prototype Policy Lifecycle API Swagger Entry Points
531         - POLICY-1516   Prototype the Policy Decision API
532         - POLICY-1541   PAP REST API for PDPGroup Query, Statistics & Delete
533         - POLICY-1542   PAP REST API for PDPGroup Deployment, State Management & Health Check
534
535     * [POLICY-1399] - This epic covers the work to support model drive control loop design as defined by the Control Loop Subcommittee
536         - Model drive control loop related items
537
538     * [POLICY-1404] - This epic covers the work to support the CCVPN Use Case for Dublin
539         - POLICY-1405   Develop SDNC API for trigger bandwidth
540
541     * [POLICY-1408] - This epic covers the work done with the Casablanca release
542         - POLICY-1410   List Policy API
543         - POLICY-1413   Dashboard enhancements
544         - POLICY-1414   Push Policy and DeletePolicy API enhancement
545         - POLICY-1416   Model enhancements to support CLAMP
546         - POLICY-1417   Resiliency improvements
547         - POLICY-1418   PDP APIs - make ClientAuth optional
548         - POLICY-1419   Better multi-role support
549         - POLICY-1420   Model enhancement to support embedded JSON
550         - POLICY-1421   New audit data for push/delete
551         - POLICY-1422   Enhanced encryption
552         - POLICY-1423   Save original model file
553         - POLICY-1427   Controller Logging Feature
554         - POLICY-1489   PDP-D: Nested JSON Event Filtering support with JsonPath
555         - POLICY-1499   Mdc Filter Feature
556
557     * [POLICY-1438] - This epic covers the work to support 5G OOF PCI Use Case
558         - POLICY-1463   Functional code changes in Policy for OOF SON use case
559         - POLICY-1464   Config related aspects for OOF SON use case
560
561     * [POLICY-1450] - This epic covers the work to support the Scale Out Use Case.
562         - POLICY-1278   AAI named-queries are being deprecated and should be replaced with custom-queries
563         - POLICY-1545   E2E Automation - Parse the newly added model ids from operation policy
564
565     * Additional items delivered with the release.
566         - POLICY-1159   Move expectException to policy-common/utils-test
567         - POLICY-1176   Work on technical debt introduced by CLC POC
568         - POLICY-1266   A&AI Modularity
569         - POLICY-1274   further improvement in PSSD S3P test
570         - POLICY-1401   Build onap.policies.Monitoring TOSCA Policy Template
571         - POLICY-1465   Support configurable Heap Memory Settings for JVM processes
572
573
574 **Bug Fixes**
575
576 The following bug fixes have been deployed with this release:
577
578     * `[POLICY-1241] <https://jira.onap.org/browse/POLICY-1241>`_ - Test failure in drools-pdp if JAVA_HOME is not set
579     * `[POLICY-1289] <https://jira.onap.org/browse/POLICY-1289>`_ - Apex only considers 200 response codes as successful result codes
580     * `[POLICY-1437] <https://jira.onap.org/browse/POLICY-1437>`_ - Fix issues in FileSystemReceptionHandler of policy-distribution component
581     * `[POLICY-1501] <https://jira.onap.org/browse/POLICY-1501>`_ - policy-engine JUnit tests are not independent
582     * `[POLICY-1627] <https://jira.onap.org/browse/POLICY-1627>`_ - APEX does not support specification of a partitioner class for Kafka
583
584 **Security Notes**
585
586 *Fixed Security Issues*
587
588     * `[OJSI-117] <https://jira.onap.org/browse/OJSI-117>`_ - In default deployment POLICY (nexus) exposes HTTP port 30236 outside of cluster.
589     * `[OJSI-157] <https://jira.onap.org/browse/OJSI-157>`_ - In default deployment POLICY (policy-api) exposes HTTP port 30240 outside of cluster.
590     * `[OJSI-118] <https://jira.onap.org/browse/OJSI-118>`_ - In default deployment POLICY (policy-apex-pdp) exposes HTTP port 30237 outside of cluster.
591     * `[OJSI-184] <https://jira.onap.org/browse/OJSI-184>`_ - In default deployment POLICY (brmsgw) exposes HTTP port 30216 outside of cluster.
592
593 *Known Security Issues*
594
595 *Known Vulnerabilities in Used Modules*
596
597 POLICY code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The POLICY open Critical security vulnerabilities and their risk assessment have been documented as part of the `project (Dublin Release) <https://wiki.onap.org/pages/viewpage.action?pageId=54723253>`_.
598
599 Quick Links:
600     - `POLICY project page`_
601     - `Passing Badge information for POLICY`_
602     - `Project Vulnerability Review Table for POLICY (Dublin Release) <https://wiki.onap.org/pages/viewpage.action?pageId=54723253>`_
603
604
605 **Known Issues**
606
607 The following known issues will be addressed in a future release:
608
609     * `[POLICY-1795] - <https://jira.onap.org/browse/POLICY-1795>`_ PAP: bounced apex and xacml pdps show deleted instance in pdp status through APIs. 
610     * `[POLICY-1810] - <https://jira.onap.org/browse/POLICY-1810>`_ API: ensure that the REST APISs (URLs) are supported and consistent regardless the type of policy: operational, guard, tosca-compliant.
611     * `[POLICY-1277] - <https://jira.onap.org/browse/POLICY-1277>`_ policy config takes too long time to become retrievable in PDP
612     * `[POLICY-1378] - <https://jira.onap.org/browse/POLICY-1378>`_ add support to append value into policyScope while one policy could be used by several services
613     * `[POLICY-1650] - <https://jira.onap.org/browse/POLICY-1650>`_ Policy UI doesn't show left menu or any content
614     * `[POLICY-1671] - <https://jira.onap.org/browse/POLICY-1671>`_ policy/engine JUnit tests now take over 30 minutes to run
615     * `[POLICY-1725] - <https://jira.onap.org/browse/POLICY-1725>`_ XACML PDP returns 500 vs 400 for bad syntax JSON
616     * `[POLICY-1793] - <https://jira.onap.org/browse/POLICY-1793>`_ API|MODELS: Retrieving Legacy Operational Policy as a Tosca Policy with wrong version
617     * `[POLICY-1800] - <https://jira.onap.org/browse/POLICY-1800>`_ API|PAP components use different version formats
618     * `[POLICY-1802] - <https://jira.onap.org/browse/POLICY-1802>`_ Apex-pdp: context album is mandatory for policy model to compile
619     * `[POLICY-1808] - <https://jira.onap.org/browse/POLICY-1808>`_ API|PAP|PDP-X [new] should publish docker images with the following tag X.Y-SNAPSHOT-latest 
620     * `[POLICY-1818] - <https://jira.onap.org/browse/POLICY-1818>`_ APEX does not allow arbitrary Kafka parameters to be specified
621     * `[POLICY-1276] - <https://jira.onap.org/browse/POLICY-1276>`_ JRuby interpreter shutdown fails on second and subsequent runs
622     * `[POLICY-1803] - <https://jira.onap.org/browse/POLICY-1803>`_ PAP should undeploy policies when subgroup is deleted
623     * `[POLICY-1291] - <https://jira.onap.org/browse/POLICY-1291>`_ Maven Error when building Apex documentation in Windows
624     * `[POLICY-1872] - <https://jira.onap.org/browse/POLICY-1872>`_ brmsgw fails building a jar - trafficgenerator dependency does not exist
625
626
627 ..      ==========================
628 ..      * * *   CASABLANCA   * * *
629 ..      ==========================
630
631 Version: 3.0.2
632 --------------
633
634 :Release Date: 2019-03-31 (Casablanca Maintenance Release #2)
635
636 The following items were deployed with the Casablanca Maintenance Release:
637
638 **Bug Fixes**
639
640     * [POLICY-1522] - Policy doesn't send "payload" field to APPC
641
642 **Security Fixes**
643
644     * [POLICY-1538] - Upgrade Elasticsearch to 6.4.x to clear security issue
645
646 **License Issues**
647
648     * [POLICY-1433] - Remove proprietary licenses in PSSD test CSAR
649
650 **Known Issues**
651
652 The following known issue will be addressed in a future release.
653
654     * `[POLICY-1650] <https://jira.onap.org/browse/POLICY-1277>`_ - Policy UI doesn't show left menu or any content
655
656 A workaround for this issue consists in bypassing the Portal UI when accessing the Policy UI.   See `PAP recipes <https://docs.onap.org/en/casablanca/submodules/policy/engine.git/docs/platform/cookbook.html?highlight=policy%20cookbook#id23>`_ for the specific procedure.
657
658
659 Version: 3.0.1
660 --------------
661
662 :Release Date: 2019-01-31 (Casablanca Maintenance Release)
663
664 The following items were deployed with the Casablanca Maintenance Release:
665
666 **New Features**
667
668     * [POLICY-1221] - Policy distribution application to support HTTPS communication
669     * [POLICY-1222] - Apex policy PDP to support HTTPS Communication
670
671 **Bug Fixes**
672
673     * `[POLICY-1282] <https://jira.onap.org/browse/POLICY-1282>`_ - Policy format with some problems
674     * `[POLICY-1395] <https://jira.onap.org/browse/POLICY-1395>`_ - Apex PDP does not preserve context on model upgrade
675
676
677 Version: 3.0.0
678 --------------
679
680 :Release Date: 2018-11-30 (Casablanca Release)
681
682 **New Features**
683
684 The Casablanca release for POLICY delivered the following Epics. For a full list of stories and tasks delivered in the Casablanca release, refer to `JiraPolicyCasablanca`_ (Note: Jira details can also be viewed from this link).
685
686     * [POLICY-701] - This epic covers the work to integrate Policy into the SDC Service Distribution
687
688     The policy team introduced a new application into the framework that provides integration of the Service Distribution Notifications from SDC to Policy.
689
690     * [POLICY-719] - This epic covers the work to build the Policy Lifecycle API
691     * [POLICY-726] - This epic covers the work to distribute policy from the PAP to the PDPs into the ONAP platform
692     * [POLICY-876] - This epics covers the work to re-build how the PAP organizes the PDP's into groups.
693
694     The policy team did some forward looking spike work towards re-building the Software Architecture.
695
696     * [POLICY-809] - Maintain and implement performance
697     * [POLICY-814] - 72 hour stability testing (component and platform)
698
699     The policy team made enhancements to the Drools PDP to further support S3P Performance.
700     For the new Policy SDC Distribution application and the newly ingested Apex PDP the team established S3P
701     performance standard and performed 72 hour stability tests.
702
703     * [POLICY-824] - maintain and implement security
704
705     The policy team established AAF Root Certificate for HTTPS communication and CADI/AAF integration into the
706     MVP applications. In addition, many java dependencies were upgraded to clear CLM security issues.
707
708     * [POLICY-840] - Flexible control loop coordination facility.
709
710     Work towards a POC for control loop coordination policies were implemented.
711
712     * [POLICY-841] - Covers the work required to support HPA
713
714     Enhancements were made to support the HPA use case through the use of the new Policy SDC Service Distribution application.
715
716     * [POLICY-842] - This epic covers the work to support the Auto Scale Out functional requirements
717
718     Enhancements were made to support Scale Out Use Case to enforce new guard policies and updated SO and A&AI APIs.
719
720     * [POLICY-851] - This epic covers the work to bring in the Apex PDP code
721
722     A new Apex PDP engine was ingested into the platform and work was done to ensure code cleared CLM security issues,
723     sonar issues, and checkstyle.
724
725     * [POLICY-1081] - This epic covers the contribution for the 5G OOF PCI Optimization use case.
726
727     Policy templates changes were submitted that supported the 5G OOF PCI optimization use case.
728
729     * [POLICY-1182] - Covers the work to support CCVPN use case
730
731     Policy templates changes were submitted that supported the CCVPN use case.
732
733 **Bug Fixes**
734
735 The following bug fixes have been deployed with this release:
736
737     * `[POLICY-799] <https://jira.onap.org/browse/POLICY-799>`_ - Policy API Validation Does Not Validate Required Parent Attributes in the Model
738     * `[POLICY-869] <https://jira.onap.org/browse/POLICY-869>`_ - Control Loop Drools Rules should not have exceptions as well as die upon an exception
739     * `[POLICY-872] <https://jira.onap.org/browse/POLICY-872>`_ - investigate potential race conditions during rules version upgrades during call loads
740     * `[POLICY-878] <https://jira.onap.org/browse/POLICY-878>`_ - pdp-d: feature-pooling disables policy-controllers preventing processing of onset events
741     * `[POLICY-909] <https://jira.onap.org/browse/POLICY-909>`_ - get_ZoneDictionaryDataByName class type error
742     * `[POLICY-920] <https://jira.onap.org/browse/POLICY-920>`_ - Hard-coded path in junit test
743     * `[POLICY-921] <https://jira.onap.org/browse/POLICY-921>`_ - XACML Junit test cannot find property file
744     * `[POLICY-1083] <https://jira.onap.org/browse/POLICY-1083>`_ - Mismatch in action cases between Policy and APPC
745
746
747 **Security Notes**
748
749 POLICY code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The POLICY open Critical security vulnerabilities and their risk assessment have been documented as part of the `project (Casablanca Release) <https://wiki.onap.org/pages/viewpage.action?pageId=45300864>`_.
750
751 Quick Links:
752     - `POLICY project page`_
753     - `Passing Badge information for POLICY`_
754     - `Project Vulnerability Review Table for POLICY (Casablanca Release) <https://wiki.onap.org/pages/viewpage.action?pageId=45300864>`_
755
756 **Known Issues**
757
758     * `[POLICY-1277] <https://jira.onap.org/browse/POLICY-1277>`_ - policy config takes too long time to become retrievable in PDP
759     * `[POLICY-1282] <https://jira.onap.org/browse/POLICY-1282>`_ - Policy format with some problems
760
761
762
763 ..      =======================
764 ..      * * *   BEIJING   * * *
765 ..      =======================
766
767 Version: 2.0.0
768 --------------
769
770 :Release Date: 2018-06-07 (Beijing Release)
771
772 **New Features**
773
774 The Beijing release for POLICY delivered the following Epics. For a full list of stories and tasks delivered in the Beijing release, refer to `JiraPolicyBeijing`_.
775
776     * [POLICY-390] - This epic covers the work to harden the Policy platform software base (incl 50% JUnit coverage)
777         - POLICY-238    policy/drools-applications: clean up maven structure
778         - POLICY-336    Address Technical Debt
779         - POLICY-338    Address JUnit Code Coverage
780         - POLICY-377    Policy Create API should validate input matches DCAE microservice template
781         - POLICY-389    Cleanup Jenkin's CI/CD process's
782         - POLICY-449    Policy API + Console : Common Policy Validation
783         - POLICY-568    Integration with org.onap AAF project
784         - POLICY-610    Support vDNS scale out for multiple times in Beijing release
785
786     * [POLICY-391] - This epic covers the work to support Release Planning activities
787         - POLICY-552    ONAP Licensing Scan - Use Restrictions
788
789     * [POLICY-392] - Platform Maturity Requirements - Performance Level 1
790         - POLICY-529    Platform Maturity Performance - Drools PDP
791         - POLICY-567    Platform Maturity Performance - PDP-X
792
793     * [POLICY-394] - This epic covers the work required to support a Policy developer environment in which Policy Developers can create, update policy templates/rules separate from the policy Platform runtime platform.
794         - POLICY-488    pap should not add rules to official template provided in drools applications
795
796     * [POLICY-398] - This epic covers the body of work involved in supporting policy that is platform specific.
797         - POLICY-434    need PDP /getConfig to return an indicator of where to find the config data - in config.content versus config field
798
799     * [POLICY-399] - This epic covers the work required to policy enable Hardware Platform Enablement
800         - POLICY-622    Integrate OOF Policy Model into Policy Platform
801
802     * [POLICY-512] - This epic covers the work to support Platform Maturity Requirements - Stability Level 1
803         - POLICY-525    Platform Maturity Stability - Drools PDP
804         - POLICY-526    Platform Maturity Stability - XACML PDP
805
806     * [POLICY-513] - Platform Maturity Requirements - Resiliency Level 2
807         - POLICY-527    Platform Maturity Resiliency - Policy Engine GUI and PAP
808         - POLICY-528    Platform Maturity Resiliency - Drools PDP
809         - POLICY-569    Platform Maturity Resiliency - BRMS Gateway
810         - POLICY-585    Platform Maturity Resiliency - XACML PDP
811         - POLICY-586    Platform Maturity Resiliency - Planning
812         - POLICY-681    Regression Test Use Cases
813
814     * [POLICY-514] - This epic covers the work to support Platform Maturity Requirements - Security Level 1
815         - POLICY-523    Platform Maturity Security - CII Badging - Project Website
816
817     * [POLICY-515] - This epic covers the work to support Platform Maturity Requirements - Escalability Level 1
818         - POLICY-531    Platform Maturity Scalability - XACML PDP
819         - POLICY-532    Platform Maturity Scalability - Drools PDP
820         - POLICY-623    Docker image re-design
821
822     * [POLICY-516] - This epic covers the work to support Platform Maturity Requirements - Manageability Level 1
823         - POLICY-533    Platform Maturity Manageability L1 - Logging
824         - POLICY-534    Platform Maturity Manageability - Instantiation < 1 hour
825
826     * [POLICY-517] - This epic covers the work to support Platform Maturity Requirements - Usability Level 1
827         - POLICY-535    Platform Maturity Usability - User Guide
828         - POLICY-536    Platform Maturity Usability - Deployment Documentation
829         - POLICY-537    Platform Maturity Usability - API Documentation
830
831     * [POLICY-546] - R2 Beijing - Various enhancements requested by clients to the way we handle TOSCA models.
832
833
834 **Bug Fixes**
835
836 The following bug fixes have been deployed with this release:
837
838     * `[POLICY-484] <https://jira.onap.org/browse/POLICY-484>`_ - Extend election handler run window and clean up error messages
839     * `[POLICY-494] <https://jira.onap.org/browse/POLICY-494>`_ - POLICY EELF Audit.log not in ECOMP Standards Compliance
840     * `[POLICY-501] <https://jira.onap.org/browse/POLICY-501>`_ - Fix issues blocking election handler and add directed interface for opstate
841     * `[POLICY-509] <https://jira.onap.org/browse/POLICY-509>`_ - Add IntelliJ file to .gitingore
842     * `[POLICY-510] <https://jira.onap.org/browse/POLICY-510>`_ - Do not enforce hostname validation
843     * `[POLICY-518] <https://jira.onap.org/browse/POLICY-518>`_ - StateManagement creation of EntityManagers.
844     * `[POLICY-519] <https://jira.onap.org/browse/POLICY-519>`_ - Correctly initialize the value of allSeemsWell in DroolsPdpsElectionHandler
845     * `[POLICY-629] <https://jira.onap.org/browse/POLICY-629>`_ - Fixed a bug on editor screen
846     * `[POLICY-684] <https://jira.onap.org/browse/POLICY-684>`_ - Fix regex for brmsgw dependency handling
847     * `[POLICY-707] <https://jira.onap.org/browse/POLICY-707>`_ - ONAO-PAP-REST unit tests fail on first build on clean checkout
848     * `[POLICY-717] <https://jira.onap.org/browse/POLICY-717>`_ - Fix a bug in checking required fields if the object has include function
849     * `[POLICY-734] <https://jira.onap.org/browse/POLICY-734>`_ - Fix Fortify Header Manipulation Issue
850     * `[POLICY-743] <https://jira.onap.org/browse/POLICY-743>`_ - Fixed data name since its name was changed on server side
851     * `[POLICY-753] <https://jira.onap.org/browse/POLICY-753>`_ - Policy Health Check failed with multi-node cluster
852     * `[POLICY-765] <https://jira.onap.org/browse/POLICY-765>`_ - junit test for guard fails intermittently
853
854
855 **Security Notes**
856
857 POLICY code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The POLICY open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=25437092>`_.
858
859 Quick Links:
860     - `POLICY project page`_
861     - `Passing Badge information for POLICY`_
862     - `Project Vulnerability Review Table for POLICY <https://wiki.onap.org/pages/viewpage.action?pageId=25437092>`_
863
864 **Known Issues**
865
866 The following known issues will be addressed in a future release:
867
868     * `[POLICY-522] <https://jira.onap.org/browse/POLICY-522>`_ - PAP REST APIs undesired HTTP response body for 500 responses
869     * `[POLICY-608] <https://jira.onap.org/browse/POLICY-608>`_ - xacml components : remove hardcoded secret key from source code
870     * `[POLICY-764] <https://jira.onap.org/browse/POLICY-764>`_ - Policy Engine PIP Configuration JUnit Test fails intermittently
871     * `[POLICY-776] <https://jira.onap.org/browse/POLICY-776>`_ - OOF Policy TOSCA models are not correctly rendered
872     * `[POLICY-799] <https://jira.onap.org/browse/POLICY-799>`_ - Policy API Validation Does Not Validate Required Parent Attributes in the Model
873     * `[POLICY-801] <https://jira.onap.org/browse/POLICY-801>`_ - fields mismatch for OOF flavorFeatures between implementation and wiki
874     * `[POLICY-869] <https://jira.onap.org/browse/POLICY-869>`_  - Control Loop Drools Rules should not have exceptions as well as die upon an exception
875     * `[POLICY-872] <https://jira.onap.org/browse/POLICY-872>`_  - investigate potential race conditions during rules version upgrades during call loads
876
877
878
879
880 Version: 1.0.2
881 --------------
882
883 :Release Date: 2018-01-18 (Amsterdam Maintenance Release)
884
885 **Bug Fixes**
886
887 The following fixes were deployed with the Amsterdam Maintenance Release:
888
889     * `[POLICY-486] <https://jira.onap.org/browse/POLICY-486>`_ - pdp-x api pushPolicy fails to push latest version
890
891
892 Version: 1.0.1
893 --------------
894
895 :Release Date: 2017-11-16 (Amsterdam Release)
896
897 **New Features**
898
899 The Amsterdam release continued evolving the design driven architecture of and functionality for POLICY.  The following is a list of Epics delivered with the release. For a full list of stories and tasks delivered in the Amsterdam release, refer to `JiraPolicyAmsterdam`_.
900
901     * [POLICY-31] - Stabilization of Seed Code
902         - POLICY-25  Replace any remaining openecomp reference by onap
903         - POLICY-32  JUnit test code coverage
904         - POLICY-66  PDP-D Feature mechanism enhancements
905         - POLICY-67  Rainy Day Decision Policy
906         - POLICY-93  Notification API
907         - POLICY-158  policy/engine: SQL injection Mitigation
908         - POLICY-269  Policy API Support for Rainy Day Decision Policy and Dictionaries
909
910     * [POLICY-33] - This epic covers the body of work involved in deploying the Policy Platform components
911         - POLICY-40  MSB Integration
912         - POLICY-124  Integration with oparent
913         - POLICY-41  OOM Integration
914         - POLICY-119  PDP-D: noop sinks
915
916     * [POLICY-34] - This epic covers the work required to support a Policy developer environment in which Policy Developers can create, update policy templates/rules separate from the policy Platform runtime platform.
917         - POLICY-57  VF-C Actor code development
918         - POLICY-43  Amsterdam Use Case Template
919         - POLICY-173  Deployment of Operational Policies Documentation
920
921     * [POLICY-35] - This epic covers the body of work involved in supporting policy that is platform specific.
922         - POLICY-68  TOSCA Parsing for nested objects for Microservice Policies
923
924     * [POLICY-36] - This epic covers the work required to capture policy during VNF on-boarding.
925
926     * [POLICY-37] - This epic covers the work required to capture, update, extend Policy(s) during Service Design.
927         - POLICY-64  CLAMP Configuration and Operation Policies for vFW Use Case
928         - POLICY-65  CLAMP Configuration and Operation Policies for vDNS Use Case
929         - POLICY-48  CLAMP Configuration and Operation Policies for vCPE Use Case
930         - POLICY-63  CLAMP Configuration and Operation Policies for VOLTE Use Case
931
932     * [POLICY-38] - This epic covers the work required to support service distribution by SDC.
933
934     * [POLICY-39] - This epic covers the work required to support the Policy Platform during runtime.
935         - POLICY-61  vFW Use Case - Runtime
936         - POLICY-62  vDNS Use Case - Runtime
937         - POLICY-59  vCPE Use Case - Runtime
938         - POLICY-60  VOLTE Use Case - Runtime
939         - POLICY-51  Runtime Policy Update Support
940         - POLICY-328  vDNS Use Case - Runtime Testing
941         - POLICY-324  vFW Use Case - Runtime Testing
942         - POLICY-320  VOLTE Use Case - Runtime Testing
943         - POLICY-316  vCPE Use Case - Runtime Testing
944
945     * [POLICY-76] - This epic covers the body of work involved in supporting R1 Amsterdam Milestone Release Planning Milestone Tasks.
946         - POLICY-77  Functional Test case definition for Control Loops
947         - POLICY-387  Deliver the released policy artifacts
948
949
950 **Bug Fixes**
951     - This is technically the first release of POLICY, previous release was the seed code contribution. As such, the defects fixed in this release were raised during the course of the release. Anything not closed is captured below under Known Issues. For a list of defects fixed in the Amsterdam release, refer to `JiraPolicyAmsterdam`_.
952
953
954 **Known Issues**
955     - The operational policy template has been tested with the vFW, vCPE, vDNS and VOLTE use cases.  Additional development may/may not be required for other scenarios.
956
957     - For vLBS Use Case, the following steps are required to setup the service instance:
958         -  Create a Service Instance via VID.
959         -  Create a VNF Instance via VID.
960         -  Preload SDNC with topology data used for the actual VNF instantiation (both base and DNS scaling modules). NOTE: you may want to set "vlb_name_0" in the base VF module data to something unique. This is the vLB server name that DCAE will pass to Policy during closed loop. If the same name is used multiple times, the Policy name-query to AAI will show multiple entries, one for each occurrence of that vLB VM name in the OpenStack zone. Note that this is not a limitation, typically server names in a domain are supposed to be unique.
961         -  Instantiate the base VF module (vLB, vPacketGen, and one vDNS) via VID. NOTE: The name of the VF module MUST start with ``Vfmodule_``. The same name MUST appear in the SDNC preload of the base VF module topology. We'll relax this naming requirement for Beijing Release.
962         -  Run heatbridge from the Robot VM using ``Vfmodule_`` _ as stack name (it is the actual stack name in OpenStack)
963         -  Populate AAI with a dummy VF module for vDNS scaling.
964
965 **Security Issues**
966     - None at this time
967
968 **Other**
969     - None at this time
970
971
972 .. Links to jira release notes
973
974 .. _JiraPolicyElAlto: https://jira.onap.org/secure/ReleaseNote.jspa?projectId=10106&version=10728
975 .. _JiraPolicyDublin: https://jira.onap.org/secure/ReleaseNote.jspa?projectId=10106&version=10464
976 .. _JiraPolicyCasablanca: https://jira.onap.org/secure/ReleaseNote.jspa?projectId=10106&version=10446
977 .. _JiraPolicyBeijing: https://jira.onap.org/secure/ReleaseNote.jspa?projectId=10106&version=10349
978 .. _JiraPolicyAmsterdam: https://jira.onap.org/secure/ReleaseNote.jspa?projectId=10106&version=10300
979
980 .. Links to Project related pages
981
982 .. _POLICY project page: https://wiki.onap.org/display/DW/Policy+Framework+Project
983 .. _Passing Badge information for POLICY: https://bestpractices.coreinfrastructure.org/en/projects/1614
984
985
986 .. note
987 ..      CHANGE  HISTORY
988 ..      09/19/2019 - Updated for El Alto Release.
989 ..      05/16/2019 - Updated for Dublin Release.
990 ..      01/17/2019 - Updated for Casablanca Maintenance Release.
991 ..      11/19/2018 - Updated for Casablanca.  Also, fixed bugs is a list of bugs where the "Affected Version" is Beijing.
992 ..              Changed version number to use ONAP versions.
993 ..      10/08/2018 - Initial document for Casablanca release.
994 ..      05/29/2018 - Information for Beijing release.
995 ..      03/22/2018 - Initial document for Beijing release.
996 ..      01/15/2018 - Added change for version 1.1.3 to the Amsterdam branch.  Also corrected prior version (1.2.0) to (1.1.1)
997 ..              Also, Set up initial information for Beijing.
998 ..              Excluded POLICY-454 from bug list since it doesn't apply to Beijing per Jorge.
999
1000
1001 End of Release Notes
1002
1003 .. How to notes for SS
1004 ..      For initial document: list epic and user stories for each, list user stories with no epics.
1005 ..      For Bugs section, list bugs where Affected Version is a prior release (Casablanca, Beijing etc), Fixed Version is the current release (Dublin), Resolution is done.
1006 ..      For Known issues, list bugs that are slotted for a future release.