Age | Commit message (Collapse) | Author | Files | Lines |
|
Made a number of changes to the locking code in policy-core, to address
sonar issues. This entaileed changing some of the Lock API methods to
return OperResult instead of Boolean.
Updated distributed locking with the new API return types.
Simplified Thread creation using functional methods.
Change-Id: If32bf7a435d2aedb969de1b77c7e7e27e110ecb0
Issue-ID: POLICY-728
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added ResourceLockFeatureAPI, to provide an interface for PolicyGuard
to use to access other locking mechanisms.
Move lock API to policy-core.
Changed the interface and added Callback support. Added a class to
invoke the API implementers.
Changed to set a future instead of expecting the callback to implement
the future interface. Also refactored, creating "lock" sub-package.
Add junit tests.
Increase junit coverage.
IsLocked & isLockedBy should check all arguments.
Make ImplFuture protected instead of public.
Simplify locking - move callback support to an optional feature.
Move Reference class to policy-utils.
Return plain Future instead of LockRequestFuture.
Change-Id: I65154d33833914b4332e02d1ef2512f4c5f09b16
Issue-ID: POLICY-577
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Fixed most of the instances of the following sonar issues:
Moved array designator
Used diamond operator
Changed System.out/err to use a logger
Changed several Thread.sleep() in test code to a single sleep()
Useless assignments
Replaced comparison with "" to string.isEmpty()
Merged if's
Replaced ArrayList with List in method returns
Reordered type modifiers
Reordered constructor methods
Defined constants for literals, or replaced them with method calls
Removed "throws Xxx" for subclasses of RuntimeException
Combined identical "catch" blocks
Re-interrupted the current thread after catching an InterruptedException
Removed tests against the literal "false"
Fix indentation of new makeTopicOperError() method.
Fix exception variable name in new methods, logNoUebEncoder()
and logNoDmaapEncoder().
Change-Id: Iddae5210553662f733b67333b372dec8c3fe2c94
Issue-ID: POLICY-336
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
1. utilities to generate rules applications and installing
in local maven repository programmatically.
2. using these utilities, use policy abstractions, ie.
controllers, containers, .. to junit test it.
Change-Id: I13c35e631a1120fad503feef2593d32a99e3358f
Issue-ID: POLICY-583
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Fixed the Sonar issues in policy-core that required minimal refactoring
of the code.
Issue-ID: POLICY-461
Change-Id: I3d0f7c4411855b2c75d5ae6968665753b50bde75
Signed-off-by: Charles Cole <cc847m@att.com>
|
|
Added the diamond symbol on RHS side
Issue-ID: POLICY-239
Change-Id: Ie49d64124a3d314f0747f35e3627ec329338f0ff
Signed-off-by: rama-huawei <rama.subba.reddy.s@huawei.com>
|
|
Added the "@Override" annotation
Issue-ID: POLICY-239
Change-Id: I9896f3130b5f8ecaa557d5386c0118e9a09008d2
Signed-off-by: rama-huawei <rama.subba.reddy.s@huawei.com>
|
|
'PolicyContainer.updateToVersion(...)' now hangs unless the Drools session
threads are stopped prior to the update. This wasn't an issue in the past,
and it isn't clear what causes it to happen now. It also happened in the
Junit tests I am currently working on.
In any case, the 'updateToVersion' method has now been changed to stop
the threads prior to an update attempt, do the update, and then restart
the threads.
Change-Id: I577a67c6e99a68bcbe3c2f476f93c0a72b93451a
Issue-ID: POLICY-234
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
Change-Id: I46e59d9a017722370cff4112250bcdfa0f0d0b23
Issue-ID: POLICY-160
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
Change-Id: I8aa8e32d3ba10f7c655b50e97aaf6865514d4777
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
|
|
noop endpoint was added to support communication between drools-applications
and policy-framework using the common "PolicyEngine.deliver(topic, message)"
mechanins. The endpoint type will be noop. This can be used for testing
sanity of any given drools-application from the framework.
An intial refactoring of the endpoints hierarchy was added too.
Change-Id: I62dbe75f511dd6215406fbd7cf0dd5a88bc1efc3
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Change-Id: I25427a0505e2fdd2b0b939f652452cb4f9f07f02
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
1) Change the 'PolicySession.DefaultThreadModel' thread so it
continually calls 'fireUntilHalt' until it is explicitly stopped by
the 'stop()' method. This allows it to restart after 'KieScanner'
triggers an update.
2) Remove call to 'startScanner' in 'PolicyContainer' constructor --
we saw at least one case where 'KieScanner' would repeatedly update
the Drools container every 60 seconds.
Change-Id: I0d0e6c5650cef12ca00cf88f9b8cc52323bb6317
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
add configurability through telemetry API
Change-Id: I77ebde12a417d421b98646c32dc74824f4494c2e
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
The fix for this problem is included in the following enhancements:
1) Define a new nested interface 'PolicySession.ThreadModel', which makes
it possible for features to control the thread or threads processing
a 'KieSession'.
The nested class 'PolicySession.DefaultThreadModel' implements the
default version, which uses 'KieSession.fireUntilHalt()' instead of
polling 'KieSession.fireAllRules()'.
A new method 'selectThreadModel(PolicySession session)' has been added
to 'PolicySessionFeatureAPI' to enable this selection.
2) Update thread names when 'KieContainer.updateToVersion(...)' is called
Change-Id: Ic48089fe5660501e2e3d42b87501697211a9d0fe
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
Change-Id: Ifebf67db574e1c4eadf9d50ca0f178ab7ddba033
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
This includes the following:
1) A new hook method 'newPolicySession(PolicySession)' that is called after
the session has been created and initialized
2) Support for "adjunct" objects in 'PolicySession'
3) Added 'try/catch' blocks around feature method invocations
4) Added 'default' methods to interface 'PolicySessionFeatureAPI'
5) Removed 'PolicySessionFeatureAPI.isPersistenceEnabled()'
Conflicts:
policy-core/src/main/java/org/openecomp/policy/drools/core/PolicySessionFeatureAPI.java
Change-Id: Ibc6d9eeacb6118d617e6c5ac53f6cef4c6ee1417
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
On a per-server basis append /swagger.json or /swagger.yaml
ie:
HTTP GET :6969/swagger.json
HTTP GET :9696/swagger.json
Resulting specification can be used by swagger clients.
Change-Id: I4b1a8b53d50b1528664150934b04e92447e4d4d7
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
[US866186 1710] Add the state_audit_interval_ms to the
IntegrityMonitor.properties
[US866186 1710] Added comments to the state audit property
(state_audit_interval_ms) which clarify how to turn it off.
[ECOMPD2TD-000] Update version.properties and pom.xml for iter 41
[ECOMPD2TD-000] Update version.properties and pom.xml for iter 41
Revert "[ECOMPD2TD-000] Update version.properties and pom.xml for
iter 41"
This reverts commit 61367d4c87fa6b153f707361537d9f802fb95a6e.
[US250837 1710] Completed first cut of logic changes to
PMStandbyStateChangeNotifier so that each segment of logic is only
executed if a state change actually occurred.
[US250837 1710] First cut on the JUnit for PMStandbyStateChangeNotifier.
At this point I am simply checking the operation by inspecting the logs.
[US250837 1710] Fixed the JUnit so it is not failing and added a note
on how to run the JUnit.
[US250837 1710] Added a method to get previousStandbyStatus from
PMStandbyStateChangeHandler and began using it in JUnit tests.
[US250837 1710] Finished the StandbyStateManagementTest. This uses the
previousStandbyStatus value to test the function.
[US250837 1710] Clean up of PMStandbyStateChangeNotifier and JUnit test
to make static string values that are used throughout.
[US250837 1710] Found a couple strings that I missed when converting to
static variables.
[US250837 1710] Updated PMStandbyStateChangeNotifier and
StandbyStateManagementTest
[US250837 1710] Added a dedicated db audit persistence unit
auditDroolsPU to taylor the classes which will be audited.
[ECOMPD2TD-1309] Clean up old persistence data
This is an addition to 'policy-persistence' that cleans up
'sessioninfo' records with a 'lastmodificationdate' that is older than
a specified time (default = 900 seconds = 15 minutes).
[ECOMPD2TD-000] Correction to pom.xml versions
Conflicts:
version.properties
Change-Id: I810d358c07e05fd36fa435a6fbb9e538e78b5011
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
[ECOMPD2TD-1126 1707] Delay the start of the election handler by one
more update interval to allow updatedDate to be set and recoginized by
other nodes.
[ECOMPD2TD-1073 1707] Remove pessimistic locks from DB access to prevent
DB deadlock
[US867397-policy-management-feature-api] Split original FeatureAPI into
three service interfaces.
These are:
- the original FeatureAPI for core
- PolicyControllerFeatureAPI (additional interface methods yet to
come ..)
- PolicyEngineFeatureAPI (additional interface methods yet to come ..)
Additional extensions will be done in the future.
This is to have equivalent functionality with what it is already there.
[US867397-policy-management-feature-api] Split original FeatureAPI into
three service interfaces.
These are:
- the original FeatureAPI for core
- PolicyControllerFeatureAPI (additional interface methods yet to
come ..)
- PolicyEngineFeatureAPI (additional interface methods yet to come ..)
Additional extensions will be done in the future.
This is to have equivalent functionality with what it is already there.
[ECOMPD2TD-1167] Avoid redundant dependencies and remove obsolete sql
scripts
[ECOMPD2TD-848] Fix copied from ATT droolspdp repo -- add timestamp to
metric and audit logs
[ECOMPD2TD-1167] update jetty version to 9.3.14
[ECOMPD2TD-1167] pull in policy-core jar as a dependency of
policy-management, instead of zip file
[ECOMPD2TD-1159] Add property to ignore repository audit errors
The property is called 'repository.audit.ignore.errors' -- it resides in
'IntegrityMonitor.properties', and it defaults to 'true'. When true, any
errors that occur in the repository audit are logged, but not reported
to integrity monitor.
[US867397] additional hooks for policy engine, and support operation
take over by feature bypassing further feature processing
[US867397] additional hooks for policy engine, and support operation
take over by feature bypassing further feature processing
[US867397] fix reverse return javadoc comment
[ECOMPD2TD-1192] Select correct persistent session information
This is a modification to 'DroolsPdpsElectionHandler.DesignatedWaiter'.
When going active, the list of persistent sessions needs to come from
the most recent active DroolsPDP. The most recent active DroolsPDP is
tracked in a local variable 'mostRecentPrimary', and the associated
list of sessions needs to be extracted just prior to going active.
The problem was that the list of sessions was extracted after the
current DroolsPDP was set to 'mostRecentPrimary'.
[ECOMPD2TD-1073 1707] Remove pessimistic locks from DB access to
prevent DB deadlock
[US860546] Add workaround for missing logger in message router
[US860546] add DME2 properties to PolicyProperties
[US860546] add DME2 support, pending unit testing
[US860546] updated unit tests for dmaap/DME2
[US860546] removed System.out.println lines from BusConsumer and
BusPublisher
[US860546] modifications and additions to TopicEndpoint tests
[US860546] remove block to append /events to serviceName in
BusConsumer, BusPublisher
[US860546] removing dmaap unit tests with ATT references
[ECOMPD2TD-1167] Audit release repository by default
[ECOMPD2TD-000] Cherry-pick versioning fixes from 1707.39.1 release
branch
[ECOMPD2TD-000] Fix policy-endpoints cambriaClient version
[US865296] ECOMP Policy Logging Compliance, remove redundant timestamp
from metric and audit log for logging compliance
[US865296] ECOMP Policy Logging Compliance, remove TargetVirtualEntity
from audit log, provide name to un-used column
[US865296] ECOMP Policy Logging Compliance, remove Unused from
AuditLogPattern, leave the column blank means un-used.
[US000000] Cleanup and performance improvements
1) Changed 'OrderedServiceImpl' to ensure that the same service instance
is used in every queue. This gets around the 'ServiceLoader' behavior
that generates a new instance for each interface the service
implements.
2) In 'PolicySession': add adaptive poll times within Drools sessions.
Instead of always polling every 5 seconds, poll frequency increases
when rules fire, and decreases when they don't. At present, the
poll delay ranges from 100 milliseconds to 5 seconds, but at some
point, it would be nice to make this configurable.
3) In 'PolicySession': add tests for 'logger.isDebugEnabled()' in
session listener methods -- this results in a significant amount of
real-time savings under load.
[ECOMPD2TD-1126 1707] Changes to the election handler to deal with
situations (race conditions) which can affect the site choice
[ECOMPD2TD-1126 1707] Clean up of site afinity logic. Minor changes
and a fix of the case where all pdpd are designated or all are
hot standby.
[ECOMPD2TD-1126 1707] Fixed issue with election handler and got all
StandbyStateManagmentTest JUnits working.
[ECOMPD2TD-1126 1707] Hopefully final changes to
DroolsPdpsElectionHandler and StateManagementTest. Also removed the
ResiliencyTestCases since they were redundant.
[ECOMPD2TD-1126 1707] Found a minor bug in the computeMostRecentPrimary
algorithm which I corrected and added a JUnit to confirm.
[ECOMPD2TD-1126 1707] Removed code that was commented out of election
handler to improve reability. Added an explanatory note to
StandbyStateManagementTest.
[US869183] Convert integrity monitor test endpoint to use
HttpServletServer
[US869183] add swagger-maven-plugin, update swagger annotation for
IM test interface
[US860371] Modified existing Dmaap and Ueb code to allow for https
connectivity. HTTP/HTTPS is configurable via controller.properties file
[US860520] Removed extra useHttps() method call from BusConsumer class
where the consumer should be using http. Also, restored pom.xml to
version at time feature branch was created.
[US860520] Removed TopicEndpointTest.java.
Added the ability to configure use of self-signed certificates for
consumer topics. Functionality cannot be added for publisher at
this time.
Removed useHttps parameter field from multiple .builder methods to
allow for greater ability to build source/sink objects without
specifying http vs https connectivity.
Other code cleanup and comments
[US860520] -Deleted sys.out statements used in testing from
BusConsumer/BusPublisher
-Moved setProps method outside of if/else stub in BusConsumer
-Could not add useHttps or selfSignedCerts to toString methods in
BusConsumer
-Move setProperty(contenttype, app/json) call outside of if/else
branch in BusPublisher
-Renamed doesAllowSelfSignedCerts method to is isAllowSelfSignedCerts
and moved to BusTopicBase
-Moved allowSelfSignedCerts member variable to BusTopicBase class.
BusTopicBase is ancestor of
SingleThreadedDmapp*/SingleThreadedUeb*/SingleThreadedBus* classes
therefore, it will be inherited.
-This changed resulted in cascading changes to the subclasses of
BusTopicbase
-Default is now set to disallow self-signed certs
-Added several javadoc param annotations
[US869183 1707] Changes to satisfy dependencies and correct pom syntax
[ECOMPD2TD-1280] move DroolsPDPIntegrityMonitor.RestManager to its
own class
[ECOMPD2TD-1278] Resolve duplicate dependency issues
(cherry-pick from 1707.40.1)
[ECOMPD2TD-1278] revert cambriaClient back to 0.0.1
[ECOMPD2TD-1278] put dmaap version back to 0.2.12
[ECOMPD2TD-1280 1707] Fix Commons-lang3 version and
common-modules version
Conflicts:
policy-endpoints/pom.xml
policy-healthcheck/pom.xml
policy-persistence/pom.xml
pom.xml
Change-Id: I803554bc64c55d2e82a3d6ad9120757f287144fb
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
Change-Id: I0072ccab6f40ed32da39667f9f8523b6d6dad2e2
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|