summaryrefslogtreecommitdiffstats
path: root/controlloop/common/eventmanager
AgeCommit message (Collapse)AuthorFilesLines
2017-11-09Merge "Fix SO Request body"Jorge Hernandez1-5/+6
2017-11-08Fix SO Request bodyHockla, Ali (ah999m)1-5/+6
- Renamed modelNameVersionId to modelVersionId in SOModelInfo - Removed requestID from SO Request body - As a result of this, an SOResponseWrapper was needed in order to attach the control loop event requestId to use in the SOResponse rule in drl (the requestID that is returned in the SO response is a newly generated requestId with no relation to the Policy control loop event requestId as per Arthur) - Updated drl to reflect the above mentioned change - Updated simulator and junits to reflect changes - Added an additional null httpResponse check/logger statement in SOManager and RestManager Issue-ID: POLICY-438 Change-Id: I5f414ba69b60b5565cca9073b47f4c4835e5abbf Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
2017-11-08Update SNAPSHOT versionPamela Dragosh1-1/+1
Releasing v1.1.0 so need to update version to 1.1.1 Issue-ID: POLICY-436 Change-Id: I8b85de39bb3a32f5f4faeeb4fcdfb5d95291ae31 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-11-07SNAPSHOT present in policy core and msb depsv1.1.0Jorge Hernandez1-22/+16
Change-Id: I61c8d698f8cf984c648e510997498d41e7d9744a Issue-ID: POLICY-433 Signed-off-by: Jorge Hernandez <jh1730@att.com>
2017-11-03Fix Generic VNF isClosedLoopDisableddaniel2-2/+17
No A&AI queries will be done for enriched events. The event manager now understands prepended "generic-vnf." in front of is-closed-loop-disabled from DCAE onsets. A test case was revised to include sample data from an enriched onset with vnf data based on the VES documentation. Issue-Id: POLICY-350 Change-Id: Id7f59f8b860b9f147087067a2a9a7766f167f7e4 Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-10-31Passed classloader property to entitymanager.Magnusen, Drew (dm741q)1-0/+2
Passed property EntityManager that sets its class loader. Issue-ID: POLICY-345 Change-Id: Ie2a94feb442243de18cc4de5aab0312a02565729 Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
2017-10-30Merge "Fix Final Failure on AAI Queries"Pamela Dragosh3-23/+65
2017-10-30Fix Final Failure on AAI Queriesdaniel3-23/+65
The drools engine will now send final failure notifications if there is an error returned from A&AI queries instead of rejected notifications. Issue-Id: POLICY-364 Change-Id: Ie9c22686d859c633bad47d223726957cc9599f7c Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-10-27Send final failure on null vfc requestCharles Cole1-4/+7
Made sure a final failure is sent and the memroy is cleaned up if we cannot contruct a vfc request. Issue-Id: POLICY-350 Change-Id: Ia9bc827572042ae6ff2d2d2851d33034ee86fc49 Signed-off-by: Charles Cole <cc847m@att.com>
2017-10-25Ensure no AAI lookup on subsequent onsetCharles Cole3-23/+67
Decoupled checking AAI data from checking an event's syntax so that new onsets can check both while all other events can just check the syntax. Issue-Id: POLICY-371 Change-Id: Ic76b1335b389bbec47ff0d29485ccbb249d5f18c Signed-off-by: Charles Cole <cc847m@att.com>
2017-10-25Fix Source/Target Lockdaniel4-36/+69
The locking of the target is now taken care of when the operation manager is initialized. This allows us to keep the template flow the same and to ensure that for vFW we will not lock the source if it is not intended to be the target. NOTE: This will have to be revised in the future if policy chaining will support having different targets specified for each policy in the chain. Additional work was done for hardening the APPC model code to make sure exceptions are caught and we gracefully end processing the event with memory clean up and a final failure notification sent. Issue-Id: POLICY-367 Change-Id: Ic796d95eb5400067744492f810dd8069ba6241b3 Signed-off-by: Daniel Cruz <dc443y@att.com> Signed-off-by: daniel <dc443y@att.com>
2017-10-24Change vnf-id to vnf-namedaniel3-7/+49
These changes now allow a lookup of the source vnf-id based on the onset's vnf-name. Issue-Id: POLICY-366 Change-Id: I6f6bd500b892dddbbb9e12156b4486208309e21d Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-10-24Ensure no AAI lookup on abatementsCharles Cole2-49/+80
Changed check event syntax in the event manager so that it only looks for AAI info if the event is an onset. Issue-Id: POLICY-368 Change-Id: I241e9a110cc5fc4553a5e9cd842d51f76a800368 Signed-off-by: Charles Cole <cc847m@att.com>
2017-10-23Fix handling of aai 'get' errorsCharles Cole1-0/+9
Now reject an event if the AAI get query for the event fails. Added test cases for this behavior. Fixed some issues from my previous pull request. Issue-Id: POLICY-314 Change-Id: I674e95302a271423c307a88d061064e12e491a7a Signed-off-by: Charles Cole <cc847m@att.com>
2017-10-18Merge "Add support for AAI Named Query error handling"Pamela Dragosh3-6/+13
2017-10-18Add support for AAI Named Query error handlingCharles Cole3-6/+13
Errors from AAI after a Named query now throw an AAIEXception. This is caught in the template to allow the resources to be removed from memory and a final failure to be thrown. Issue-ID: POLICY-314 Change-Id: I319d29ef537b2d01ca288622aac1d9dbbe05f5eb Signed-off-by: Charles Cole <cc847m@att.com>
2017-10-18Removed useless imports to clear Sonar IssuesHockla, Ali (ah999m)1-3/+2
Issue-ID: POLICY-292 Change-Id: Ia4d4fae4150ea12e46079aabb4bbf4e3c92c8d00 Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
2017-10-17Merge "Fix operation history DB properties for Junits"Jorge Hernandez2-7/+10
2017-10-17Update SO Interface AAI NQ response from v8 to v11Hockla, Ali (ah999m)1-0/+4
- Removed nonBaseIndex since there is only base vf Module in v11 response - Reverted to checkExtractedFields() - Modified the AAI Simulator to return the v11 response - If AAI NQ fails then the SO Request will not be constructed. In this case, we are retracting objects from the transaction and inserting policyResult.FAILURE into current operation to prevent null values in finishOperation Issue-ID: POLICY-339 Change-Id: I1c48fac4f9a51467ad54b0706543f5d1baa70389 Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
2017-10-17Fix operation history DB properties for JunitsTemoc Rodriguez2-7/+10
Removed operation_history.properties / operations-history.properties. Changed the properties in persistence.xml so that it uses the correct values. Previously junit would never write to db because the "guard.disabled" property was not set. Set this property. Additionally the operationshistory10 table was trying to be created even though it exists. These values work in junit code. Not tested on rackspace yet. Issue-ID: POLICY-345 Change-Id: Id755b3152ae6ac4991ea9c314154592ea0105070 Signed-off-by: Temoc Rodriguez <cr056n@att.com>
2017-10-06Add fix for guard db on disableTemoc Rodriguez1-0/+7
Added a fix so that the guard database is not attempted to be accessed while guard is set to disabled. The guard db access is done in the operations manager which has no context of guardat the moment. Because of this separation, the boolean must be grabbed from the PolicyEngine properties. We should consider some guard refactoring. Issue-ID: POLICY-296 Change-Id: Ida7a2a7c19e568b076731e0f04bdc8a9fd0fcb26 Signed-off-by: Temoc Rodriguez <cr056n@att.com>
2017-10-05Fix JUnit Race Conditionsdaniel2-3/+66
This fix now implements the observer pattern for the PolicyEngineJUnitImpl so that the test cases can be notified when an event is available to be pulled. This eliminates the need to sleep the thread for some arbitrary time to let the rules process events. Issue-ID: POLICY-291 Change-Id: I884c959c20b95a1b58f357602099d8a01c8d2e3c Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-09-28Merge "Fix Sonar criticals"Jorge Hernandez2-8/+5
2017-09-28Fix Sonar criticalsCharles Cole2-8/+5
Fixed two Sonar criticals. Changed VFC actor service provider to eliminate redundant AAI queries. Issue-ID: POLICY-115 Change-Id: Ic4993b5d498a1cb3d3fc51ce1d2b4e90bb26353d Signed-off-by: Charles Cole <cc847m@att.com>
2017-09-28Fix Retries for Policiesdaniel1-9/+5
This applies changes to make retries work properly for all control loops. The current design was ignoring the upper bound of the retries and retrying until either a success or control loop timeout occured. This is now fixed to only do retries until the limit is reached that is specified from the policy. The operation is now started in the GUARD.PERMITTED rule. I think this is better because it stops Policy from doing extra processing if there is a guard deny. This is also needed so that we can properly do retries for all cases. The notifications sent in GUARD_NOT_YET_QUERIED and GUARD.RESPONSE are now more informative with the message specifying the actor and recipe. The not queried rule has a message stating that we are sending a query to guard and the guard response message in the guard response rule specifices the result from guard. During a retest of vDNS it appeared that the archetype template was no longer working, this was because there were changes in the JUnit template that were not reflected in the archetype template. These were added to archetype and vDNS is verified to work again. Another small fix needed was making sure the action for vCPE is "Restart" instead of "restart". APPC will reject our request if "Restart" is not sent as the action. Issue-ID: POLICY-259 Change-Id: I28dd3c9a629d297b408775a01afadd5c19351e37 Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-09-27Add functionality for VFC request retriesRitu Sood1-2/+5
This allows the control loop to track operation attempts in case of VFC failures. This will allow retries of the operation if required in the YAML file. Issue-ID: POLICY-270 Change-Id: Ieeaf6770a8d03fa4eecc976535301d9236d19972 Signed-off-by: Ritu Sood <ritu.sood@intel.com>
2017-09-27Added changes for SO Request retriesHockla, Ali (ah999m)1-2/+7
This change will allow the control loop to increment the operation attempts in the case of an SO failure in order to retry the operation if defined in the yaml. Issue-ID: POLICY-268 Change-Id: I1fee2ce64524e58fc3068f19c5cf31ed91159e0f Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
2017-09-27Fix Use Case Templatedaniel1-7/+5
This is a WIP for getting guard to work. Currently the A&AI GET and named queries are connecting to the simulator and working in the labs. Guard is not connecting to simulator and needs further analysis. Issue-ID: POLICY-259 Change-Id: If9875bfd83cbd82dcae04a876b3818ec9c07b1f7 Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-09-25Merge "Fix Blocker/Critical sonar issues"Jorge Hernandez1-4/+7
2017-09-22Merge "Add VFC Response in Working Memory & JUNIT"Pamela Dragosh2-1/+29
2017-09-21ONAP AAI GET QUERY code to support ONAP projectJoseph Chou3-39/+124
check in code to use simulator url Issue-ID: POLICY-103 Change-Id: I352140dd3cb3159fc2c5738bf02dbb6272de48bc Signed-off-by: Joseph Chou <jc2555@att.com>
2017-09-21Add VFC Response in Working Memory & JUNITRitu Sood2-1/+29
Adding code to insert VFC reponse in working memory and handling that response. Also adding JUNIT and yaml file for VoLTE usecase. Issue-Id: POLICY-212 Change-Id: I74a13272ccd931478d27d80715d8c3ac756fb5c7 Signed-off-by: Ritu Sood <ritu.sood@intel.com>
2017-09-19Remove sonar blocker and unused importPamela Dragosh1-3/+3
Remove the 3 sonar blockers and unused import in AAI code. Issue-ID: POLICY-111 Change-Id: I73001a06810ecff3f22da627583a0238c4a09967 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-09-19Fix Blocker/Critical sonar issuesshashikanth1-4/+7
Fix Blocker/Critical sonar issues in policy/drools-applications module https://sonar.onap.org/component_issues?id=org.onap.policy.drools-applications%3Adrools-pdp-apps#resolved=false|severities=CRITICAL%2CMAJOR Fixed 2 issues, Used isEmpty() to check whether the collection is empty or not. getActor returns a string, there's no need to call toString() Issue-Id:POLICY-111 Change-Id: I645420ee370ceb5fca959f870e76db2390e19929 Signed-off-by: shashikanth.vh <shashikanth.vh@huawei.com>
2017-09-15Merge "ONAP AAI GET Query code"Jorge Hernandez1-0/+9
2017-09-15ONAP AAI GET Query codeJoseph Chou1-0/+9
Update ControlLoopEventManager to raise exception on null AAI response Issue-ID: POLICY-103 Change-Id: Iebe8b03269a1801c4293600920aa267490cea1af Signed-off-by: Joseph Chou <jc2555@att.com>
2017-09-15Fix sonar criticalsPamela Dragosh2-5/+5
Either re-interrupt this method or rethrow Exception Transient/Serializable issues Unused imports logging exceptions Issue-ID: POLICY-115 Change-Id: I4c8a0c780e2f6c6e8218c1457f18470f7d95919c Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-09-14Clear eclipse warnings and sonarPamela Dragosh2-42/+15
Removing warnings introduced with A&AI code. This should also address sonar criticals and majors. Issue-ID: POLICY-140 Change-Id: I3f8186dd9c5aa52bfbb061bf95d67b5614b3fb2e Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-09-14Merge "Move credential information out of persistence.xml"Jorge Hernandez3-11/+26
2017-09-14Merge "master lab template maintained under archetype"Jorge Hernandez1-81/+81
2017-09-14master lab template maintained under archetypeJorge Hernandez1-81/+81
This is work in progress, the official pom.xml with dependencies, drl template, and support files for controller deployment are maintained here. In the near future the junit template should be consolidated with this one. Added controlloop.properties.environment, this environment file will be populated at installation time with the lab's aai url, etc .. and will be accessible by any drools application such as control loops through the PolicyEngine interface. Note that PDP-D server already supports these environment files, so it is just natural. Therefore, this is the default mechanism to provide to applications, the url, username, and passwords to use at runtime by the control loops for the time being. In the future MSB could set them globally here through existing APIs, or it can be queried by any drools application using MSB library, doesn't matter. There's been some trouble playing nicely with the dependencies used by a control loop application classsloader, and the pdp-d middleware one, causing issues between dependencies version of libraries. Specifically, the snakeyaml library does not play well across classloader when using constructor functionality, note that the snakeyaml libraries are pulled also from jackson parsers used in the pdp-d. I made a change in ControlLoopProcessor to specifically tell the "Yaml" object which classloader to use in order to find the class with the constructor that is intended to be built, otherwise, yaml libraries use a different classloader that does not have visibility into the ControlLoopPolicy that is trying to construct, and fails. This also should respect junits that use the same classloader I pressume and does not give issues. Change-Id: I36271d29cdbf8ff861f9c03ff91cf7116927906a Issue-ID: POLICY-162 Signed-off-by: Jorge Hernandez <jh1730@att.com>
2017-09-14Move credential information out of persistence.xmlTemoc Rodriguez3-11/+26
Move credential information out of persistence.xml. Define properties file which will contain the credentials instead. Access db using new properties file. Issue-ID: POLICY-55 Change-Id: I01ad0611c053ad4285de2a225fca7920a3b1bc8f Signed-off-by: Temoc Rodriguez <cr056n@att.com>
2017-09-14Added changes for vDNS Use CaseHockla, Ali (ah999m)2-5/+5
-Renamed remaining MSO classes and packages to SO and modified drl accordingly -Connected SO Interface to SO Simulator -Added vDNS Control Loop junit -Modified SOActorServiceProvider to reflect AAI class changes (POLICY-103) Issue-ID: POLICY-102 Change-Id: Iea5d3f096c4ccfedde68e79d7593d66331127aaf Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
2017-09-13Merge "ONAP code for AAI, consolidate name and get query"Jorge Hernandez3-11/+385
2017-09-12ONAP code for AAI, consolidate name and get queryJoseph Chou3-11/+385
Adding AAI GET query feature to support ONAP project (1 commit) Issue-ID: POLICY-103 Change-Id: I0a55f41c3edd7a0bc0562ae4e12a19f262a50d74 Signed-off-by: Joseph Chou <jc2555@att.com>
2017-09-11Add Support for Locking VNF Target Typesdaniel1-0/+8
Fixed the target lock to support vnf target_types. Generic-vnf.vnf-id and generic-vnf.vnf-name are also supported when retrieving the target instance from the onset. These changes are relfected in the vFW and vCPE junits as they now work with VNF target types. Issue-ID: POLICY-222 Change-Id: I92abeb02c769d35f3a9912cce6eaaec4c9cc8efb Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-09-08Added changes for vDNS Use Case - MSO InterfaceHockla, Ali (ah999m)2-12/+49
Rebased and fixed merge conflicts Issue-ID: POLICY-102 Change-Id: Icc36a2cf6391aa9137593bc04f0d4543798b7ccd Signed-off-by: Ali Hockla <ah999m@att.com> Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com> Signed-off-by: HOCKLA <ah999m@att.com> Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
2017-09-07Add in-mem db to ControlLoopXacmlGuardTestTemoc Rodriguez3-71/+76
Add in-mem specification in test/resources/META-INF/persistence.xml for junit. Use system properties to choose which db to use. Removed named parameters in PIPEngineHistory.java. Change 6.3.0 versions of drools-core to 6.5.0 in pom. Make PIPEngineGetHistory query more general. Increased sleep times in junit. Issue-ID: POLICY-55 Change-Id: I6bc65fd88c43c4e7143f27a7e6d8666c2c4df060 Signed-off-by: Temoc Rodriguez <cr056n@att.com>
2017-09-06Add APPC LCM Interfacedaniel4-48/+117
The LCM model code and service provider code is implemented. This model code is now used for the vCPE use case scenario. The vFW use case is still using the legacy APPC API as request by APPC for Policy to use in R1. The APPC service provider now generates a demo legacy APPC request with pg-streams. An A&AI named query is implemented for the vFW use case. The code for obtaining the generic-vnf.vnf-id is not in use until we set up the A&AI simulator to work without having cyclical depenncies inside the POMs. JUnits for the vFW and vCPE use cases are now supported. These JUnits test the complete flow of each scenario. A&AI testing is not supported in the JUnit test yet. These JUnits use a target type of VM as VNF is not supported yet. This will be changed when the Target Lock supports VNF. Amended to fix Sonar blockers. Issue-ID: POLICY-104 Change-Id: I46869c5fd5094919da55ad563d608fe6d4b6fea7 Signed-off-by: Daniel Cruz <dc443y@att.com>
2017-08-31CL dependencies fixes for lab environment runtimeJorge Hernandez1-0/+12
This also includes workarounds to the recent oparent dependency introduction that breaks runtime (with the version-check-maven-plugin). manifested by loading control loops and failing to load some classes due to different versions. The issue was that underlying drools libraries use 3.2.5 and oparent has included a had dependency with transitive dependencies for some maven libraries in 3.2.3 and lower version xml parsers. Bottomoline, the classpath at runtime was formed by the union of both, with some libraries being resolved to the oparent one, and others to the drools one. These errors are very obscured to debug. Additional clean up of dependencies versions and order of build was introduced to avoid issues loading dependencies at runtime in a lab environment (non-junit).. Issue-ID: POLICY-162 Change-Id: I019c82e6bed4eab4884cdbf8f6f32472c3a7352f Signed-off-by: Jorge Hernandez <jh1730@att.com>