aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
AgeCommit message (Collapse)AuthorFilesLines
2021-07-28Remove statistics record limits from PAPJim Hahn2-42/+17
policy/models statistics provider has now been enhanced to limit the record counts. Stripped the code from PAP, as it's no longer needed there. Also simplified the PAP statistics provider down to one query method, taking a filter. Issue-ID: POLICY-3511 Change-Id: I8a8797be191dc1f299b1c4084b0108a3ab89ff61 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-07-22Add apis for policy auditRam Krishna Verma6-1/+713
Adding api's to fetch policy audit records from db. This is as per the design documented here - https://wiki.onap.org/display/DW/PAP+REST+API+changes+for+Istanbul+release Issue-ID: POLICY-3340 Change-Id: Iff80ab695d17ec38d4fe8ab98c0b95048cbae448 Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
2021-07-19Use new RestClientParameters class in PAPJim Hahn4-14/+14
Replaced generic BusTopicParams with more specific RestClientParameters. Issue-ID: POLICY-3456 Change-Id: Ic1a3acca5b651730fc74332c2c5d5bc36bccb790 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-07-15Limit statistics record countJim Hahn2-21/+27
Modified PAP, for Honolulu only, to limit the number of statistics records retrieved from the DB. Also added the recordCount parameter to the REST APIs, because otherwise it would only return one record. Per review comments: - removed default value annotation; relying on the Provider code to change "0" to a reasonable default Issue-ID: POLICY-3485 Change-Id: Ib0820cfda95672f1bc6f879dfd2ac172e7b42f0d (cherry picked from commit 190b75c59bcc6f250446b627a96e4a12de52278f) Signed-off-by: Jim Hahn <jrh3@att.com>
2021-07-07Update pdp statistics to count deploy/undeploy separately.adheli.tavares2-0/+5
Issue-ID: POLICY-3383 Change-Id: Iec7875fb1fa6a4a360b8cfdff0b80f697a289de3 Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
2021-07-07Merge "Use separate subscription for heartbeats"Jim Hahn5-24/+61
2021-07-06Fix NPE in UpdateReq.reconfigure()Jim Hahn2-0/+15
While running CSIT to test heartbeat changes with multiple PAPs, observed an NPE in UpdateReq.reconfigure(). Modified the code to always use deployment lists instead of null lists. Issue-ID: POLICY-3460 Change-Id: I884e091817e88309330139a01d060e286bd42008 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-07-06Use separate subscription for heartbeatsJim Hahn5-24/+61
Separated the heartbeat processing onto its own POLICY-HEARTBEAT topic, still on the "real" (i.e., "effective") POLICY-PDP-PAP topic, like we had originally been doing with the statistics. With this change, statistics processing continues to be part of the heartbeat class/processing, thus a separate class is not required to listen for, and handle, statistics. This new subscription uses a shared consumer group so that only one PAP will process any given heartbeat message, which should reduce the likelihood of DB contention and duplicate keys. This also means that the "saveStatisticsInDb" flag will still be used, which is a more obvious mechanism for controlling the storing of statistics than the presence/absence of a topic in the config file. Issue-ID: POLICY-3460 Change-Id: Ia07132b1c7aef006af86fddbe677fb1243a4e2c3 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-07-05Revert "Add listener to collect PDP statistics"Jim Hahn3-375/+1
This reverts commit 7b4a8ec06c8266f368a31cdafe75cf8a59304c83. Reason for revert: Decided to have the whole heartbeat processing use its own subscription, thus no need for a new class/topic just to collect statistics. Issue-ID: POLICY-3405 Change-Id: I71580f877dae86a058ee881bc10f7bd1f57ff338 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-30Add listener to collect PDP statisticsJim Hahn3-1/+375
This new class will be tied into the existing code via the next review. Issue-ID: POLICY-3405 Change-Id: I4317ccba3eda6863ce96a6db4ef20816e59a7f2d Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-30Add ability to turn on/off pdp statisticsRam Krishna Verma10-13/+65
Adding an ability in pap to turn on/off processing of pdp statistics. By default it will be turned on and can be changed via configuration. Issue-ID: POLICY-3450 Change-Id: I093fe3f1390769f9acf2cfe85dd0d4edf0539de8 Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
2021-06-29Fix sonars in papJim Hahn2-4/+4
Fixed: - indentation - use isEmpty() - use isZero() Issue-ID: POLICY-3287 Change-Id: Idcfba3a6839a47c3136fca8500128990ed64dcb1 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-29Merge "Set "source" name in PAP PdpMessages"Jim Hahn7-16/+22
2021-06-29Merge "PolicyAudit creation when deploy/undeploy triggered."Jim Hahn17-141/+425
2021-06-29Set "source" name in PAP PdpMessagesJim Hahn7-16/+22
Used the unique name generator to initialize the PAP_NAME constant which is then stuffed into the various outgoing PdpMessages. Issue-ID: POLICY-3409 Change-Id: I45d26403b4f3de4b040cad779f29c82f35bacf42 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-28Merge "Send pdp-update if PDP response doesn't match DB"Jim Hahn8-17/+199
2021-06-28Update pap for checkstyle 8.43liamfallon10-154/+280
Updates are indentation changes on annotations. Issue-ID: POLICY-3209 Change-Id: I3878ea476550e7522605e53bffa5c9c123030cdf Signed-off-by: liamfallon <liam.fallon@est.tech>
2021-06-25Send pdp-update if PDP response doesn't match DBJim Hahn8-17/+199
Because multiple PAPs can be updating the DB, it's possible that a pdp-update sent by a PAP does not reflect the latest deployment data in the DB. To solve that problem, modified code to compare any response received from a PDP with what's in the DB, potentially generating a new pdp-update (and/or pdp-state-change). Issue-ID: POLICY-3426 Change-Id: I241994330d7645c0fffe66abc33de67d71d77250 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-25PolicyAudit creation when deploy/undeploy triggered.adheli.tavares17-141/+426
Creates audits for policy when: - deploy - undeploy - undeploy when failure Issue-ID: POLICY-2899 Change-Id: Ib1a7cc4f826b5dceefcd5c7ba5250647f2cc0121 Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
2021-06-25Fix broken junitsJim Hahn2-2/+2
Some junits are broken since adding the expiration timer. Changed the length of the heartbeat in an attempt to fix it. Issue-ID: POLICY-3407 Change-Id: I81046476e243a0bf20ae9db9259be4464418e73e Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-23Remove expired PDPsJim Hahn19-774/+271
Added code to remove PDPs for which no message has been received for a while. Added a max-age field to the request-map parameters, changing the parameters class to use a Builder, in the process. Deleted the PdpTracker class, as its functionality was replaced by the expiration checker. Changed port numbers in some tests, due to collisions in junit tests. Issue-ID: POLICY-3407 Change-Id: Ifbfbc03b833a4f11ee5e910e256ee42e21a0afab Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-22Update timestamp of PDP recordJim Hahn1-9/+18
Modified the code to update the record timestamp when a heartbeat is received from a PDP. Also used Map operations instead of List operations to construct policy deploy/undeploy lists so they can be constructed in O(N) instead of O(N^2). Issue-ID: POLICY-2898 Change-Id: Ic7b2b9a249fa0563b625e98855c79f96c6ee81d4 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-18Fix new checkstyle issues in papJim Hahn3-5/+3
The new version of checkstyle identified new issues. Fixed those. Issue-ID: POLICY-3287 Change-Id: I18a34cbc6197266375981031106acc38385c69b5 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-15Use new filtering methods in PAPJim Hahn2-4/+8
Modified PAP to use the new filter parameters classes instead of the old methods that take lots of parameters. Issue-ID: POLICY-3094 Change-Id: I46ac6d95a8f1e56ced8ed39474eb5a1031142dd7 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-10Sonars in papJim Hahn1-1/+1
Fixed sonars: -use correct class name in logger Issue-ID: POLICY-3287 Change-Id: I62fab4b48151d8f2ca32ad5d2951e7359210e2c0 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-03Update junits for bean validator field nameJim Hahn1-4/+4
Now that the bean validator uses the serialized field name in its error messages, updated the junits to use the serialized names, too. Issue-ID: POLICY-3333 Change-Id: I5d447851b72f460fa71e57936847664e2c789462 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-06-02Fix build failure and remove unused importswaynedunican3-4/+1
Issue-ID: POLICY-3339 Change-Id: I0c9bd25e63b24ba3ac7e38a77e963fcdbaa4d26a Signed-off-by: waynedunican <wayne.dunican@est.tech>
2021-06-01Merge "support external configuration of pdp groups"Jim Hahn5-33/+109
2021-05-27support external configuration of pdp groupsjhh5-33/+109
- modify policy-pap.sh to optionally provision a custom group if such a file is present. Issue-ID: POLICY-3331 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Ib53bc14ee6b9471ab48f5a792b4283db3ed53b93 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2021-05-27Update PAP to check for deployed policies onlywaynedunican14-83/+85
Have PAP compare the returned list against the delta deployment list instead of comparing against the full list of policies as is the current behaviour. Any references to "get" or "set" policies methods have also been removed Issue-ID: POLICY-3263 Change-Id: I0efe03e835db3c4b2136f7e742bba0e78dc2ac44 Signed-off-by: waynedunican <wayne.dunican@est.tech> Signed-off-by: WayneDunican <wayne.dunican@est.tech>
2021-05-06Fix sonars in policy-papJim Hahn33-130/+118
Fixed: - use "var" instead of actual type - remove unused parameter - remove un-thrown exception from method declaration - call isPresent() before Optional.get() - check empty list before invoking doesNotContain() Issue-ID: POLICY-3285 Change-Id: Ic90dccfd591c102ce29f14084f025b3ca69587dc Signed-off-by: Jim Hahn <jrh3@att.com>
2021-05-06Query deployed policies by regexarkadiusz.adamski4-16/+187
- Query deployed policies by regex on the name, for a given policy type Issue-ID: POLICY-2535 Signed-off-by: arkadiusz.adamski <aadamski@est.tech> Change-Id: Ia2be683d044b22e4104ae14e2ce301882091c8ea
2021-05-03Merge "Remove GroupValidationResult"Jim Hahn11-70/+67
2021-04-28Remove GroupValidationResultJim Hahn11-70/+67
Removed GroupValidationResult, replacing it with BeanValidationResult. Modified the ParameterGroup subclasses to use BeanValidator, adding annotations where needed to trigger the validations that had been automatically performed by GroupValidationResult. Issue-ID: POLICY-2059 Change-Id: I9597dc84e8a81ac5b8954bb2ce4ad0d7e2a3a4a7 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-04-27Fixing issue where PdpHeartbeats are incorrectly processed by PAPa.sreekumar1-2/+6
The below 2 issues are fixed in this review: 1) When updating the policiesToBeUndeployed, the policies list in the message itself was getting removed, which resulted in incorrect processing. This was the reason for continuos UPDATE and STATE_CHANGE messages from PAP to PDP. 2) In case if the policy list in heartbeat doesn't include one or more policies that are supposed to be deployed(as per DB), the PAP should send UPDATE messages to PDP asking to deploy them too. But this was not working as the policiesToBeDeployed list was not getting initialized properly before getting processed. Change-Id: I06dbfd1d40bae8a510fc5500fbd38fb87c203c0d Issue-ID: POLICY-3248 Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
2021-04-16Refactor PapCommandLineArguments classadheli.tavares3-256/+29
CMD Args class to extend functionality from Common CMD class. Issue-ID: POLICY-3129 Change-Id: Ia00cf7b0277e779811eaac556eebe11da95ed380 Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
2021-03-29Validate parameters of REST callsJim Hahn7-2/+125
Added code to validate the parameters of the REST calls. As it turned out, validation only needed to be added to one call. Issue-ID: POLICY-2542 Change-Id: Ia9aabf75e06d6d5f996be9e3ed804218319f70c2 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-03-19Delete keystores from papJim Hahn2-5/+6
The Keystore is no longer needed in the tarball, as it is supplied externally by the CSITs and Helm charts. Deleted that file. Also modified the junits to use utils-test to generates keystores at runtime, thus deleted the junit keystore file, too. Issue-ID: POLICY-3143 Change-Id: I2b0c4868613e0923aad87844dd16f3ac236d4291 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-03-16Update policy-keystore with newer certificatesjhh1-0/+0
Issue-ID: POLICY-3139 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I728118f2eb691dddb93b36c832eb4c8a72e0d5af
2021-02-22Support Policy updates between PAP and PDPswaynedunican11-28/+300
Change to send only the policies that need to be updated (deployed/undeployed) rather than full of policies to DMaap via the PDP_UPDATE message Issue-ID: POLICY-2112 Change-Id: I65f8bf46f230afb9d4b6937cb89af1d9f05d2fbd Signed-off-by: waynedunican <wayne.dunican@est.tech>
2021-02-22Merge "Refactor Pap code to use Instant from Date"Jim Hahn3-9/+10
2021-02-19Refactor Pap code to use Instant from Daterameshiyer273-9/+10
Issue-ID: POLICY-3069 Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech> Change-Id: I0e1b8ccc41749cd53a299397c8399f833279df59
2021-02-19Update Pdp policy status during registration or State changea.sreekumar3-7/+51
The Pdp Policy Status is not updated during the pdp heartbeat handling/registration flow, or during State change. When a PDP goes down the pdppolicystatus gets cleared. But when the PDP comes back online, PAP deploys the right policies into it, but the deployment status was not getting updated. Similarly, when the State is changed to PASSIVE, the status should be undeployed, and when the state is changed back to ACTIVE, then the status should be deployed for any active policies in any PDP. These issues are fixed here. Updating postman collection. Also updating the csit test to check for 202 instead of 200 for the deployment api response. Change-Id: I1e05f22df23daaa8da8be1376413e995be2376f3 Issue-ID: POLICY-2526 Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
2021-02-17Updating PAP deployment API to reflect actual statusa.sreekumar9-78/+535
Change-Id: I5281937fe5a742916c0c86983f71e280bbe126b2 Issue-ID: POLICY-2526 Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
2021-02-12Fix sonars from dependency upgradeJim Hahn7-23/+22
The dependency upgrades in policy-parent caused some new sonars. In particular, initMocks() has been deprecated - replaced with calls to the Mockito Runner and one call to openMocks(). Issue-ID: POLICY-2911 Change-Id: I6f28af9af41a1e5c83dead2eabf580731ffb9526 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-02-10More sonars in papJim Hahn1-4/+4
Addressed the following issues: - don't use eq() with verify() Issue-ID: POLICY-2911 Change-Id: Idf08195e4e2fb74e5e0d0d30f31b9e630720f48f Signed-off-by: Jim Hahn <jrh3@att.com>
2021-02-07Make filters on TOSCA entities genericliamfallon2-55/+51
The classes PolicyTypeFilter and PolicyFilter only work on Policy types and policies. However they just filter on name/version/type/typeversion so there is no reason that the filters could not be applied to other entities. This commit adapts the PolicyTypeFilter to EntityFilter and PolicyFilter to TypedEntityFilter, so the filters can be applied to collections of any ToscaEntity class. Issue-ID: POLICY-2995 Change-Id: I7cc0ffa23fb12ab5b6e7617491dccd6f3289fa22 Signed-off-by: liamfallon <liam.fallon@est.tech>
2021-01-15Make PAP statelessJim Hahn40-2774/+623
Removed old code that tracked the status using a cache. Modified the code to use the status found in the DB instead. Issue-ID: POLICY-2648 Change-Id: I4f1f5201eff7b3352631f50d67c40349ac7f2014 Signed-off-by: Jim Hahn <jrh3@att.com>
2021-01-14Add class to manage policy deployment recordsJim Hahn4-0/+855
Issue-ID: POLICY-2648 Change-Id: Icbb9545e3df6942e6f9cf98689607c461f6c8cdd Signed-off-by: Jim Hahn <jrh3@att.com>
2021-01-13Add notification tracking classesJim Hahn6-0/+675
When PAP is made stateless, a new mechanism will be needed to track and generate notifications. Added some classes to facilitate that. Issue-ID: POLICY-2648 Change-Id: Ib7b707f68a557e7b306dfdd1c6e6e9abd4671ec1 Signed-off-by: Jim Hahn <jrh3@att.com>