summaryrefslogtreecommitdiffstats
path: root/main/src
AgeCommit message (Collapse)AuthorFilesLines
2019-12-08Change optimization types due to refactoringPamela Dragosh1-10/+10
Companion review to https://gerrit.onap.org/r/c/policy/models/+/99288 which changes the types for optimization. Issue-ID: POLICY-2066 Change-Id: I754a52a3971f0ad4d4e4118213a13123c44086cf Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2019-12-06Merge "Adding native policy types to defaultGroup"Pamela Dragosh1-0/+12
2019-12-06Adding native policy types to defaultGroupramverma1-0/+12
Adding the native policy types for drools, apex & xacml to the supportedPolicyTypes of the individual subGroups in the defaultGroup. So that native policies can be deployed in the pdps belonging to defaultGroup. Issue-ID: POLICY-2279 Change-Id: I8707dfd3a9af055e02d29752386160631d022d08 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-12-05Create PAP API to only create/update PdpGroupsa.sreekumar11-182/+1450
Create an API to create/update PdpGroups. Policies are not allowed to be deployed as part of PDPGroup create/update operation. There will be a separate API as part of POLICY-2274 to deploy policies into individual group/subgroups. Change-Id: I4e2cb43fefe08b22d6f70a1db7c026e83f0ebde0 Issue-ID: POLICY-2273 Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
2019-12-03Move deploy/undeploy REST classesJim Hahn18-25/+21
Moved classes from rest.depundep to rest, as they will no longer be specific to deploy/undeploy. Change-Id: Iea7c4e35fcd00ed83e678f7cd980e0aa9659f18e Issue-ID: POLICY-1866 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-11-22Update Pdp Group state per PAP APIJim Hahn2-0/+18
The PAP API can be used to update the state of a Pdp Group. However, the state wasn't being updated - fixed. Issue-ID: POLICY-2269 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I67fa3409424cfdb4b53b17e86f4cf354732d87e8
2019-11-22Re-register pdp if not found in DBramverma3-20/+62
During heartbeat processing, if the pdp instance is not found in the DB then registering the pdp again. So that it doesn't go out of sync. Added related test cases. Issue-ID: POLICY-2158 Change-Id: I557e2397536fd5b3a2783ec89d75ca0e43dcf9d0 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-11-21Merge "Undeploy policies when deploy fails"Jim Hahn14-13/+653
2019-11-21Merge "Adding pdpGroup to PdpRegistrationHandler"Jorge Hernandez4-69/+321
2019-11-21Adding pdpGroup to PdpRegistrationHandlerramverma4-69/+321
Adding pdpGroup as the matching condition for registration of Pdps. Removing the check of supported policy types in pdp heartbeat. Adding check of policies in pdp heartbeat. Adding comprehensive unit test coverage (98%) for the heartbeat listener. Issue-ID: POLICY-2231 Change-Id: I0fb961717c74656c5f1b6937b6c3a1410382a76e Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-11-20Undeploy policies when deploy failsJim Hahn14-13/+653
Modified the code so that 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. Issue-ID: POLICY-2155 Change-Id: I1740282385b0fa804254ebdf57537ef0f3a7a4c8 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-11-20Merge "Preload wildcard supported type in PAP"Jim Hahn1-13/+1
2019-11-19Fixing issue where PdpRegistration message is treated as Heartbeat by PAPa.sreekumar1-1/+1
PDPs now sends PdpGroup also during registration. So, PAP treats them as normal hearbeat and not registration message, causing errors. Fixing this. This change will be updated by POLICY-2231 This should also fix the csit failures in the PDPs. Change-Id: Idf62839d175c6e392101e9c58627217a76473de9 Issue-ID: POLICY-2234 Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
2019-11-14Preload wildcard supported type in PAPJim Hahn1-13/+1
Removed the specific monitoring policy types and added the wild-card flavor to the list of policy types to be pre-loaded into the Default PDP Group. Issue-ID: POLICY-2224 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I108fe72c28bd20495e72bdaa517f7c7f80de3071
2019-11-07PAP should not deactivate PDPsJim Hahn2-102/+105
Modified the code so that it does not send a PASSIVE request to PDPs when they are fail, whether due to an inability to deploy a policy or due to a timeout. However, it still removes the PDP from the PDP Group, if a timeout occurs (but not due to a deployment failure). This review does not include any changes to undeploy failed policies; that will come in a later review. Issue-ID: POLICY-2155 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I15821d299bc3261478fd7fbb9ee62ea4a90123a4
2019-11-06Support policy types with wild-cardsJim Hahn6-5/+212
Allow supported policy types to end with ".*", which causes the prefix to be matched when new policies are deployed. This entailed updates in three areas: - when a subgroup is added via the group api - when a subgroup is updated via the group api - when a policy is deployed via the simple api Issue-ID: POLICY-1636 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I4ae15971481ce5b2042b5d6fdfd16e11ad099c50 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-11-05Simplify request handling in PAPJim Hahn12-604/+285
PAP handles outgoing requests using a complicated priority queue. Simplified it significantly. Change-Id: I9f49dfebd7bf323c5e81bc8ca3459913fa95c43d Issue-ID: POLICY-2155 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-11-04Add REST api to query policy status from PAPJim Hahn11-24/+840
As part of this, added code to pre-load the deployed policy tracker by reading the policies and groups from the DB. Change-Id: Ifc6c787d114a3a7add4ea54acc1cc969d6c3ca1c Issue-ID: POLICY-2024 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-10-31Add tests for policy type in notificationsJim Hahn3-0/+10
The junit tests verified that the policy specified in the notifications, but did not verify the policy type. Added additional tests. Issue-ID: POLICY-2190 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Iad2a06163f9dce3dff3753cddef98db9e9ad2eea
2019-10-29Generate notifications when policies changejh735832-81/+632
Updated existing PAP code to make use of new notification classes. Change-Id: I4637ad92ac4f432f215cfc837e672c75074d88b5 Issue-ID: POLICY-1841 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-10-25Add notifier for generating notificationsJim Hahn5-11/+379
Also modified the Publisher class to make it generic so that it could be used to publish PdpMessage AND PolicyNotification. Issue-ID: POLICY-1841 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I305de21a4ef84730f163af63446bafadab11a809
2019-10-24Add trackers for generating notificationsJim Hahn7-0/+938
Issue-ID: POLICY-1841 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I7d6fe29707685e4711120b6a1e8448f25870a0ef Signed-off-by: Jim Hahn <jrh3@att.com>
2019-10-24Merge "Add PolicyPdpNotificationData for generating notifications"Jim Hahn2-0/+207
2019-10-23Add PolicyPdpNotificationData for generating notificationsJim Hahn2-0/+207
Issue-ID: POLICY-1841 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Icf5616190a8c3da38e2a1e33122b47a78e729d08
2019-10-23Add PolicyTrackerData for generating notificationsJim Hahn2-0/+419
Change-Id: Ife3ab77c0664101bbf32def5fb4d1a5ac194f459 Issue-ID: POLICY-1841 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-09-12Add yaml support to pap rest serverjrh32-3/+16
Change-Id: I3e3d5c46bfa4f1d093e64b8be9a9720570e6000c Issue-ID: POLICY-2085 Signed-off-by: jrh3 <jrh3@att.com>
2019-09-04Knock on of changing policy types to mapliamfallon1-161/+156
This review adapts policy-pap for the change in the structure of the toasca service template from a list of maps to a plain map. There is only a change to one test file. Issue-ID: POLICY-2047 Change-Id: Ieeeeb43d8f0300d075b3072b67f8d459def27ee7 Signed-off-by: liamfallon <liam.fallon@est.tech>
2019-08-22update keystorejhh1-0/+0
Issue-ID: POLICY-1988 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I3e7d08621b6ac529f3517de8c2b910d2fa7c5151 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-07-31Adjust timer manager loggingjrh31-22/+10
Add a few more logging statements to the timer manager. Also changed logger.debug() to logger.info(). Replaced map.computeIfPresent() with map.remove(), as it simplified the relevant code block significantly. Change-Id: I211e9f07bd6df6a01532b1ecabdde5ae1585cc18 Issue-ID: POLICY-1960 Signed-off-by: jrh3 <jrh3@att.com>
2019-07-31Remove remaining ParameterUtils from PAPjrh31-4/+1
Issue-ID: POLICY-1953 Signed-off-by: jrh3 <jrh3@att.com> Change-Id: I2bc56dfe2d5982d7dadb54311a94d6c6f95fa595
2019-07-30Use new addTopic(TopicParameterGroup) method in PAPjrh33-16/+4
Issue-ID: POLICY-1953 Signed-off-by: jrh3 <jrh3@att.com> Change-Id: I225dc5f03d867efe6167fd20781c9959af34e0e9 Signed-off-by: jrh3 <jrh3@att.com>
2019-07-17Modify pap to use RestServer from commonjrh32-165/+19
Issue-ID: POLICY-1652 Signed-off-by: jrh3 <jrh3@att.com> Change-Id: If97c5667f52811cfb3bdf1f7c8caf763e6bfa3b6 Signed-off-by: jrh3 <jrh3@att.com>
2019-07-08Fix pap due to sonar changes in commonjrh37-27/+28
Fixed breakages due to changes made in policy/common to satisfy sonar. Issue-ID: POLICY-1791 Signed-off-by: jrh3 <jrh3@att.com> Change-Id: If8685462e1dd5cbbe58c329defff74ff2accf559
2019-07-01Remove topic.properties and incorporate into overall config filea.sreekumar17-137/+85
1) The properties in the topic.properties file is moved into overall config json file and the topic.properties file is removed. 2) Common parameters such as RestServer and Topic related parameters from policy-common is used. Change-Id: I390bbe3cda101a69e7ce614404ecdfbf98598dd2 Issue-ID: POLICY-1744 Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
2019-06-26Use ToStringTester from utils-testramverma1-1/+1
Changing ToStringTester from utils to utils-test. Correcting the policy/common & policy/models version. Change-Id: Ib0a14da17227f0f65004dc525a47f17519e25110 Issue-ID: POLICY-1746 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-06-21Merge "Allow integer version when using PDP Group Deploy"Jorge Hernandez7-17/+252
2019-06-21Adding PdpGroup healthcheck REST API in PAPramverma6-1/+450
Adding PdpGroup healthcheck REST API in PAP to return the health status of all the Pdps registered with this PAP instance. The healthcheck status will be based on the regular heartbeat coming from the pdps. Change-Id: Ia0f1603b513bf62ce1df3058427dc6ccaf179cb3 Issue-ID: POLICY-1770 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-06-20Allow integer version when using PDP Group Deployjrh37-17/+252
The policies listed in a "PDP Group Deploy" request may not have fully qualified versions. Modified the code to replace the versions in the request with fully qualified versions. Also improved performance by avoiding look-ups of policies that are already in the subgroup. Change-Id: I37899c2b45228b97a80b7ef44f69694ba57e8f4a Issue-ID: POLICY-1784 Signed-off-by: jrh3 <jrh3@att.com>
2019-06-14Fix sonar issues in PAPjrh34-145/+151
Replace string concatenation with "{}" place-holders in logging statements. Refactored PdpStatusMessageHandler and PdpGroupStateChangeProvider to extract common/duplicate code block into PdpMessageGenerator. Refactored selectPdpGroupsForRegistration() to reduce "cyclomatic complexity"; extracted selectPdpSubGroupsForRegistration from it. Issue-ID: POLICY-1791 Signed-off-by: jrh3 <jrh3@att.com> Change-Id: Ia0ebc1cf41cd2fa288130b4a58614a4983f47f8b Signed-off-by: jrh3 <jrh3@att.com>
2019-06-11Add PDP heart beat expiration timerjrh314-17/+487
Added heart beat interval to the PDP-UPDATE message sent in response to a heart beat message received from a PDP. Added timers to detect missing heart beats and remove the PDP from the DB - PdpTracker. Modified current heart beat listener to update PdpTracker when a heart beat is received. Allow 3 missed heart beats instead of 2. Change-Id: I81621fefbe494e0c4d6f0b9767b00b2a9dd398d8 Issue-ID: POLICY-1795 Signed-off-by: jrh3 <jrh3@att.com>
2019-06-07Undeploy all versions of a policyJim Hahn5-19/+69
Modified the code to undeploy all versions of a policy if the version is not specified. Change-Id: Ic3815733b918e1cff8f381d54bceb710a35319b7 Issue-ID: POLICY-1782 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-06-05Reject policy deployment with version mismatchJim Hahn3-9/+167
PAP should not allow multiple versions of a policy to be deployed to the same PDP. Modified the code to reject deployment requests where a different version of the policy is already deployed. This impacts both the PDP-Group-Deploy and the Simple-Deploy REST APIs. Change-Id: I586b764951c20228d0d80ec8326869215e970fdf Issue-ID: POLICY-1785 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-06-04Undeploy policies when subgroup is deletedJim Hahn3-19/+205
When a subgroup is deleted via the PDP Group create/update API, any PDPs in the subgroup should have all of its policies undeployed. In the process, refactored addOrUpdateSubGroups() out of updateGroup(). Change-Id: I0750802bfb133a655e38493a868744b512ca3fb4 Issue-ID: POLICY-1803 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-05-17Add son handler to xacml pdp groupPamela Dragosh1-0/+4
Need this for the 5G OOF PCI Use Case. Issue-ID: POLICY-1776 Change-Id: I86758174840d376d6003f5200f0deeb72c3e01d9 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2019-05-10Return 200 when policy successfully undeployedJim Hahn4-5/+27
The PAP Undeploy CSIT was failing, because it was returning 400. The code was counting PDP UPDATE requests to determine whether or not the policy had been found. However, if a subgroup currently has no PDPs assigned (as is the case with the CSIT), then there will be no PDP UPDATEs, thus it will think that the policy was not found and return 400. Modified the code to count updates to the DB instead. Change-Id: I80cdcc738e07c418e0a7184284e7a228e3a6014d Issue-ID: POLICY-1758 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-05-09Use group from cache even with new policy typeJim Hahn3-18/+57
When multiple policies are deployed to the same group in a single request, and the policies have different policy types, only the changes associated with the last policy are kept. Updated the policy type lookup to use cached groups, when available. This still needs a junit to verify the fix, but that can come later. Also added more logging. Change-Id: Ieaf866da504b167c884bf53f88aa8cb9e9b5e32a Issue-ID: POLICY-1761 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-05-09Return error when deleting non-existent policyJim Hahn6-16/+41
When undeploying a policy, if a policy's type is found in a group, but the policy is not, then PAP returns 200. It should return an error instead. Change-Id: I88273fdbd5d49095e8248ab9267cccc529af0ae0 Issue-ID: POLICY-1758 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-05-02Changing the PAP initial db dataramverma1-60/+28
Changing PAP initial db data to bring all the xacml supportedPolicyTypes in one PdpGroup. Change-Id: I9a0788c788bab470109b0f09fb631e7fbb90042e Issue-ID: POLICY-1723 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
2019-04-30Cancel PDP timers in PAPJim Hahn2-0/+13
When a response is received by PAP from a PDP, the associated timer (and listener) are not being cancelled. As a result, when the timer later expired, PAP was re-sending the request. Modified the code to fix this. Change-Id: Id63f76622c01d286c169b618f8369b849ff31085 Issue-ID: POLICY-1715 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-04-30Adding algorithm for Pdp registrationramverma2-24/+129
1) Adding algorithm for improving Pdp registration. The flow is: When a new Pdp comes for registration, PAP will shortlist a list of PdpGroups based on the supportedPolicyTypes reported by PdpStatus message and the supportedPolicyTypes in the PdpSubGroup. Then PAP will find the PdpGroup which needs the Pdp most in two ways: 1) If there is a subgroup with no Pdp's then that takes the priority. 2) Otherwise the Pdp is allocated to the PdpGroup with highest difference value of desiredInstanceCount - currentInstanceCount. 2) Changing the preconfigured TosaPolicyType for apex to avoid interference with legacy operational policies of drools. Change-Id: I77584c3c030bc27903c11689acaca33148e27e3c Issue-ID: POLICY-1630 Signed-off-by: ramverma <ram.krishna.verma@est.tech>