aboutsummaryrefslogtreecommitdiffstats
path: root/integrity-monitor/src/main
AgeCommit message (Collapse)AuthorFilesLines
2018-02-13Add test coverage to integrity-monitorJim Hahn3-787/+657
Removed "test" from package name. Refactored tests, creating common IntegrityMonitorTestBase. Turned log/print statements into assertEquals in StateTransitionTest. Turned log/print statements into assertEquals in StateManagementTest. Modified AllSeemsWellTest to use IntegrityMonitorTestBase. Modified IntegrityMonitorTest to use IntegrityMonitorTestBase. Added several hooks to IntegrityMonitor to control timers at a finer granularity. Added hooks to IntegrityMonitor to control the FPManager thread. Remove hooks for refresh timer, as property suffices. Added assertException() and assertNoException() methods to IntegrityMonitorTestBase, and then replaced most "try/catch" blocks with calls to those methods. Updated StateManagement to close EntityManagers. Modify pom to remove scope from utils dependency. Fix some comments and remove an unneeded EntityTransaction variable. Change-Id: Ic0789d26f985a40a35f618343fa4e88aa473b2b3 Issue-ID: POLICY-582 Signed-off-by: Jim Hahn <jrh3@att.com>
2018-02-01Addressing technical debt integrity-monitorPamela Dragosh11-12/+18
Issue-ID: POLICY-457 Change-Id: I6e4bc00bc85f73bcb4c58c54378f062d98e6876d Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2018-02-01Fix sonar generic Exceptions in policy/commonJim Hahn3-530/+379
IntegrityMonitor.java: Renamed variables, Ex: dep_groups => depGroups. Renamed enum constants, Ex: pdp_xacml => PDP_XACML. Merged "if" tests. Cast values to "long" before multiplying. Re-throw interrupt(). Write exception via logger instead of e.printStackTrace(). Moved constructor to top of the file. Removed most logger.isDebugEnabled() checks. Returned generic List instead of ArrayList. Used entrySet() instead of keySet(). Removed useless parentheses. Removed superfluous exceptions from "throws" declaration. DbAudit.java: Modified DbAudit to throw DbAuditException. Replaced references to HashSet and HashMap with generic Set and Map. Modified DbAudit to iterate over entrySet() instead of keySet(). ComponentAdminException: Created ComponentAdminException class. Modified ComponentAdmin methods to throw new exception class. Extracted "stateManager" String constant. Eliminated logger.isDebugEnabled() calls. Updated the license data. Eliminated double-checked locking problem from PropertyUtil: Modified code to use Initialization On Demand Holder idiom. Change-Id: Ic01288542041da26df483ce85ecaf292ac138f85 Issue-ID: POLICY-246 Signed-off-by: Jim Hahn <jrh3@att.com>
2018-01-05StateManagement EntityManager CreationKevin McKiou1-5/+22
Patch 1: This change modifies StateManagement methods that use transactions so that an EntityManager is created each time the method is called. This eliminates issues with EntityManager transactions being shared across threads causing errors when multiple threads are active. Issue-ID: POLICY-518 Change-Id: I071660a530de610ec56af82347b92496f87bf4e1 Signed-off-by: Kevin McKiou <km097d@att.com>
2017-12-15Fix issues blocking election handler threadKevin McKiou3-651/+1177
Patch 1: This bug tracks the AT&T bug 355533. The symptom was that drools pdps that were backing each other up were becoming stuck in a standby state. The cause was that the election handler thread was being hung by a call to PolicyEngine.manager.deactivate which shuts down the topic endpoints when the drools pdp operational state transitions to disabled. Related problems were that the election handler heartbeat was NOT blocked when the main thread was blocked and the IntegrityMonitor forward progress counter was NOT blocked from incrementing when the election handler thread was blocked. This prevented the correct failover of the drools pdp to another healthy one. This change fixes the two causes of the thread blockage, moves the election handler heartbeat to the main thread and adds an interface (AllSeemsWell) which is called when the election handler has stalled/resumed. The AllSeemsWell interface will block forward progress counter increments when ALLNOTWELL and will resume forward progress counter increments when ALLSEEMSWELL. In addition, it reduces the run time of the StandbyStateManagementTest from approximately 8 minutes to approximately 2 minutes. Since this changes classes also changed by POLICY-444, this change must be merged before POLICY-444 can be merged. Patch 2: Extended sleep times in AllSeemsWellTest. Patch 3: Commented out asserts that are keeping it from building. Note: It builds just fine in local environment. Patch 4: Moved the check of allNotWellMap from testTransaction to endTransaction so it will cover calls to endTransaction from application code rather than just calls from testTransaction. Patch 5: Fixed potential Sonar issue in initialization of HashMaps allSeemsWellMap and allNotWellMap Patch 6: Changes to IntegrityMonitorTest to make it run faster and more deterministically. This satisfies POLICY-444. Issue-ID: POLICY-501 Change-Id: I8fbbdc481839ec6066f26392d30e230d6b1293f2 Signed-off-by: Kevin McKiou <km097d@att.com>
2017-11-21IntegrityMonitor check before commitKevin McKiou1-14/+42
Under some conditions the JPA transaction may be already closed when commit is called in StateManagement. Surround it with a check to see if the transaction is active, so it will not generate an error in the log. Issue-ID: POLICY-484 Change-Id: Id54585e68361a0be9ae8afd7e9ccba2f7eadfe5f Signed-off-by: Kevin McKiou <km097d@att.com>
2017-11-06Fix bug when IntegrityMonitor runs subsystem lateTemoc Rodriguez1-37/+34
Changes to dependencyCheck to correctly take into account subsystemTest on the first pass through dependencies. Allows for status of repo to remain failed in the case that it fails. Issue-ID: POLICY-431 Change-Id: I23ce43ce41c546edad73ec8055e513ccc61933b0 Signed-off-by: Temoc Rodriguez <cr056n@att.com>
2017-10-27Tweak testTransactionv1.1.0Kevin McKiou1-8/+4
Remove startTransaction from testTransaction since it does nothing functionally and causes exceptions which are logged. Issue-ID: POLICY-369 Change-Id: Idd064b49e1d68832d14039870414626ca56c779b Signed-off-by: Kevin McKiou <km097d@att.com>
2017-09-14Fix sonar critical for passwordPamela Dragosh1-4/+0
Focused on hard coded passwords. I believe they are only used for JUnit tests so I moved them into a file for use. If they still show up on sonar then I will move into a properties file and/or mark as not going to fix. Issue-ID: POLICY-237 Change-Id: I6fa561714091043a2ea5e2edfb0441c2dfc8b044 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-09-14Changed logger to slf4jMagnusen, Drew (dm741q)6-286/+524
Changed all instances of Sys.out or PolicyLogger to slf4j. Issue-ID: POLICY-178 Change-Id: Ia91af1deb18a9b5c466f6f8a6c546c17c54e14ad Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
2017-09-14Logging exceptions to clear sonar criticalPamela Dragosh1-1/+2
Just logging the exceptions anyway and remove e.printstack since that goes to stdout/stderr. Issue-ID: POLICY-195 Change-Id: I60616bd6ce633e2fcae266bb37eb735c6e6bb4c4 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-09-12Fix sonar critical associated with loggingPamela Dragosh4-43/+33
Addressing the following sonar critical: Use a logger to log this exception Either log or rethrow this exception It does not hurt to simply do these as well as clean out lines of code that dump to Sys.out via e.printStackTrace. Issue-ID: POLICY-195 Change-Id: Ibc328094a0653b7baa04778298e4a69955105ea3 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-08-15Resolve major/critical issues in integrity-monitorMagnusen, Drew (dm741q)15-121/+209
Resolved major and critical sonar issues in integrity-monitor module. Issue-ID: [POLICY-96] Change-Id: If1da196134a73535668d42f429d647fc819ecaee Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
2017-08-04[POLICY-96] Resolved sonar blockers in im/ia.Magnusen, Drew (dm741q)1-26/+57
Resolved 7 sonar blockers in the integrity monitor and integrity audit projects. Change-Id: I7bba7619d3b71f7aebcc2642d07a64876ee7aea0 Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
2017-07-31[POLICY-71] replace openecomp for policy-commonGuo Ruijing19-51/+51
Change-Id: I3241f5d1f0234043b4dff718eda1ffdc48052276 Signed-off-by: Guo Ruijing <ruijing.guo@intel.com> Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2017-07-25[POLICY-81] Code cleanup to eliminate the presence of warning messages in ↵Magnusen, Drew (dm741q)10-32/+12
Eclipse. Change-Id: Id98fdf0241487d56707ac91cde47975c91225f3c Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
2017-07-24[POLICY-105] Modifications to RefreshStateAuditKevin McKiou2-9/+23
Made the refreshStateAudit configurable and changed the default interval to 10 minutes from 1 minute. Added a check to fpCheck to check the state of the dependent before setting the opstate to disabled. Added a refresh to the forwardprogressentity object in stateAudit() so that we are not reading stale timestamp data. Change-Id: I394feca083fc1fb356d11b9f6886e566c31f248a Signed-off-by: Kevin McKiou <km097d@att.com>
2017-05-09Batch submitRalph Straubs2-1/+177
[ECOMPD2TD-000] Update version.properties for iter 41 [US866186 1707] Adding methods to IntegrityMonitor to support state audit. [US866186 1710] Made more progress on teh stateAudit method of IntegritryMontor. Completed all except the addition of properties. [US866186 1710] Addition of IntegrityMonitorProperties.STATE_AUDIT_INTERVAL_MS and logic to stateAudit to determine whether or not to run [US866186 1710] Created a JUnit for getAllForwardProgressEntity() method and debugged and fixed it. [US866186 1710] Making progress on the testStateAudit() JUnit. Was able to create forward progress entries and manually change the lastUpdated date on an entry using a persistence update query. [US866186 1710] First cut of stateAudit JUnit test. Still need to test more cases, but I got it working so far. [US866186 1710] Completed the JUnit for stateAudit. Added 5 new scenarios. Conflicts: version.properties Change-Id: I7b5622a27021cf01b5d916b75824d8e51b5252eb Signed-off-by: Ralph Straubs <rs8887@att.com>
2017-04-20Batch submitRalph Straubs2-150/+195
[ECOMPD2TD-1073 1707] Removal of extra flush statements and addition of rollbacks in catch blocks instead of commits. [ECOMPD2TD-1073 1707] Adding some needed synchronized statements to IntegrityMonitor. [ECOMPD2TD-1159] - Loggers should be Serializable By making loggers Serializable, they can be included in Drools persistent data. 'EelfLogger' and 'SystemOutLogger' can do this trivially, but 'Logger4J' needed some additional work, because it has a non-serializable field 'log'. [ECOMPD2TD-000] Fix versioning of org.openecomp.policy.* dependencies [US866186 1707] First cut of stateCheck mod and non-working JUnit [US866186 1707] Completed the coding for the task TA1998344 which adds a check of forward progress for dependencies. [US866186 1707] Completed updates to IntegrityMonitor.stateCheck and IntegrityMonitorTest which includes addition of a JUnit for stateCheck and control of the order of JUnit execution. [US865296] ECOMP Policy Logging Compliance, add TargetEntity and TargetServiceName, remove unit from ElapsedTime [US865296] ECOMP Policy Logging Compliance, set audit log statuscode to 'COMPLETE' instead of N/A [US865296] ECOMP Policy Logging Compliance, remove time unit (seconds and milliseconds) from ElapsedTime for logging compliance [US866186 1707] Cleaned up IntegrityAudit JUnit tests. [US866186 1707] IntegrityMonitor JUnit clean up [US866186 1707] Re-added missing classes that were erroneously deleted. [US865296] - add get/setters and inits for required log fields Change-Id: I76ef4606ed6832ed48eaca68e72839a05c8bc3a8 Signed-off-by: Ralph Straubs <rs8887@att.com>
2017-02-14Initial OpenECOMP policy/common commitPamela Dragosh20-0/+4775
Change-Id: I61cd29d6d8bf8702c1a66915895b519bf3484afa Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>