.. This work is licensed under a Creative Commons Attribution 4.0 International License.

Bug Fixes
---------

ONAP POLICY Framework items for: (Last Updated: 10/10/2017)

*    **Version**: Amsterdam Release
*    **Release Date**: 02 November, 2017
*    **Description**: R1

Bug
^^^

* [POLICY-74] - policy-engine build failure
* [POLICY-75] - KieScanner repeatedly updating Drools container
* [POLICY-84] - Query Name validation before execution
* [POLICY-91] - drools-applications - vFW/vDNS dependencies issues
* [POLICY-92] - brmsgw - vFW/vDNS dependency rename issue
* [POLICY-94] - Health check failure in R1.1.0 in DFW on Rackspace
* [POLICY-134] - PolicyLogger.info(Object arg0) executes recursively causing stack overflow error.
* [POLICY-144] - PAP: console: browser access: 500 code
* [POLICY-145] - Healthcheck functionality not working
* [POLICY-146] - brmsgw: vFW/vDNS rules jars not generated
* [POLICY-165] - Support Backward compatibility for the Policy Interface
* [POLICY-170] - policy build by vagrant fails
* [POLICY-175] - 0% Code Coverage in some projects
* [POLICY-192] - verify and/or merge job hang running JUnit test
* [POLICY-195] - policy/drools-pdp/session-persistence: remove new sonar blocker and criticals
* [POLICY-197] - drools-applications: logger change breaks junit on drl template
* [POLICY-199] - Policy UI page displays blank in ONAP
* [POLICY-203] - Test case testGetPropertiesValue fails  if we run test case or build code other than C: 
* [POLICY-205] - policy/engine: missing license files
* [POLICY-206] - Missing license for drools-applications
* [POLICY-211] - Policy Fails Robot Health Check
* [POLICY-213] - remove sonar blocker/criticals introduced by feature-test-transaction
* [POLICY-221] - Policy GUI Cosmetic Issues
* [POLICY-223] - PDP Health Check Fail
* [POLICY-234] - PDP-D: drools session remains hung on an update
* [POLICY-275] - pdp-x: automated pushing of policies shows that some operations failed
* [POLICY-276] - brmsgw: not generating amsterdam rules jar
* [POLICY-295] - brmsgw: amsterdam controller rules generation cannot be built
* [POLICY-296] - pdp-d guard db access causes control loop failures
* [POLICY-298] - pdp-d: drl template drops messages in clean up rules
* [POLICY-299] - Policy CSIT tests are running over 15 hours long

