Age | Commit message (Collapse) | Author | Files | Lines |
|
More sonar cleanup. Resolved some of the simpler issues.
Issue-ID: POLICY-728
Change-Id: If9c4718f10c6d3524239d2a05c09badb791ef2f0
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
configurable log location
metric/audit log for transaction metrics conforming to
new field definition.
support metrics/audits records with custom logback filters
so they are not intrusive with developer log testing.
Change-Id: I7a4dcc6790b85539e613ad8705e731e7298ce106
Issue-ID: POLICY-533
Signed-off-by: Jorge Hernandez <jh1730@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>
|
|
Added interceptor to drools controller, post-decoding and
pre/after injection into kie sessions. The decoded
object is passed as is. The set of hooks will be
expanded in the future.
This is added in the context of logging for POLICY-558
to track control loop transactions, per logging requirements.
The idea is that VirtualControlLoopNotifications on the
drools-applications area will use it to track control loop
transactions, times, etc .. to satisfy logging requirements.
This approach also reliefs the drools applications logic, (.drl)
for dealing with this. The logic therefore will be isolated into
a single feature.
Change-Id: Idf840c528e6175be4aaee3bf114091c203b37bc8
Issue-ID: POLICY-558
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
+ additional related junits
Change-Id: I00293cd9aa911dfb3d658cad4ee0441ad3410e9c
Issue-ID: POLICY-164
Signed-off-by: Jorge Hernandez <jh1730@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>
|
|
Changes to reduce tech debt in the policy-management module.
Issue-ID: POLICY-463
Change-Id: I41f6b66d25a805706e5c9ed2cef2eda256153a37
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
instead of synchronized read access
Change-Id: I3f4457f798d6f4d4a013bf023ed2d9c1b75d4f1f
Issue-ID: POLICY-487
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
This method will ensure that once the shutdown sequence is
started, it terminates either gracefully or forcefully after
the grace time period expiration.
It has been occassionally observed that the shutdown
sequence gets stuck in the shutdown sequence of a subcomponent,
such as a drools applications. This will guarantee that
the shutdown completes regardless.
Change-Id: I8379eea5f0b80fe6a5aed6da2f2bfbfcb1f24bc0
Issue-ID: POLICY-386
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Added a type adapter to the encoder used without a custom encoder so
that it properly serializes Instant types.
Issue-ID: POLICY-101
Change-Id: Ic1517505d50b81abc840a1591c7fb4a75f80a126
Signed-off-by: Charles Cole <cc847m@att.com>
|
|
This work is needed for consolidating the amsterdam templates used
both for junits and the official one from the archetype into one,
so junits can run in the official one.
This work revisits the functionality of when a drools controller
cannot be found to check state before delivering a message from
the drools application, it will use a standalone enconder
(previously configured to do so).
This was intended to work like this originally, but never tested
nor used as all deliveries are send through the controllers so
locked/alive state is checked (but there may ocassions where we
want to take this default action).
Change-Id: Ie23e4e13323f3ab9fd207f8a396c1af6564b7edf
Issue-ID: POLICY-101
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Change-Id: I9c8c7d56a1087a0514f4d53be293e287a26ae1bf
Issue-ID: POLICY-265
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
|
|
|
|
Logging as trace since it is an acceptable exception.
Change-Id: Ie93e60aeb95ece9b142c87f20eeb21ef56507dc4
Issue-ID: POLICY-261
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
Added diamond symbol on RHS
Issue-ID: POLICY-239
Change-Id: I24c138703047308c2e28fef2180a0bb64400c1c9
Signed-off-by: rama-huawei <rama.subba.reddy.s@huawei.com>
|
|
Added diamond symbol on RHS
Removed useless parentheses
Issue-ID: POLICY-239
Change-Id: Ie20319a5a7298c70a18cc3773ec47f235dbdae41
Signed-off-by: rama-huawei <rama.subba.reddy.s@huawei.com>
|
|
adding predictibility for environment and controller files
loading
Change-Id: Id02ddca75dd0dc8da658b64b84e77bef9e82b37c
Issue-ID: POLICY-162
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Also fixed some Sonar Major issues to help clean that up.
Issue-ID: POLICY-109
Change-Id: Ic8a0b8d97f2be1cc1f8e8e4e8b319c6117b231a4
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
Sonar blocker for catchable:
I am not sure why this is wrapped with an exception.
Changing try-catch to use Exception | LinkageError per Jorge/Ralph.
Sonar critical for logging exceptions.
Sonar critical for casting to Long and reinterrupting thread.
Change-Id: I44d46f005d9aa30c434c22e479034107055277ce
Issue-ID: POLICY-195
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
this prevents high frequency fruitless attempts to connect to an
unreachable (perhaps temporarily) UEB server.
added additional management apis for noop endpoints.
bump versions of jackson parsers so through snakeyaml library
throughtransitive dependencies is bump up from 1.15 as it is
resolved in the classpath at runtime to > 1.17
otherwise causes incompatibilities with the one used in
controlloops under their own classloaders, as they expect 1.17.
Change-Id: I936348c4b93a2c409c22568868c44ed330dc18f7
Issue-ID: POLICY-119
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
This enables PDP-D to have knowledge of any installation
property or else configured via OS environment variable
or as an environment file.
This allows the user to query or set via REST API of programmatically
through PolicyEngine any environment variable.
It also provides a means to make data globally available to all
drools applications.
For example:
http://localhost:9696/policy/pdp/engine/environment> get
HTTP/1.1 200 OK
Content-Length: 749
Content-Type: application/json
Date: Wed, 06 Sep 2017 23:53:57 GMT
Server: Jetty(9.3.14.v20161028)
{
"DCAE_SERVERS": "",
"DCAE_TOPIC": "",
"DMAAP_SERVERS": "",
"ENGINE_MANAGEMENT_HOST": "0.0.0.0",
"ENGINE_MANAGEMENT_PASSWORD": "",
"ENGINE_MANAGEMENT_PORT": "9696",
"ENGINE_MANAGEMENT_USER": "",
"HEALTHCHECK_PASSWORD": "",
"HEALTHCHECK_USER": "",
"JAVA_HOME": "/usr/lib/jvm/java-8-oracle",
"M2_HOME": "/usr/share/maven",
"PAP_HOST": "",
"PAP_PASSWORD": "",
"PAP_USERNAME": "",
"PDPD_CONFIGURATION_API_KEY": "",
"PDPD_CONFIGURATION_API_SECRET": "",
"PDPD_CONFIGURATION_CONSUMER_GROUP": "",
"PDPD_CONFIGURATION_CONSUMER_INSTANCE": "",
"PDPD_CONFIGURATION_PARTITION_KEY": "",
"PDPD_CONFIGURATION_SERVERS": "",
"PDPD_CONFIGURATION_TOPIC": "PDPD-CONFIGURATION",
"PDP_HOST": "",
"PDP_PASSWORD": "",
"PDP_USERNAME": "",
"POLICY_HOME": "/home/policy/snapshot",
"SQL_HOST": "",
"SQL_PASSWORD": "",
"SQL_USER": ""
}
policy@newton:~/snapshot/config$ echo -n "http://one.com/aai" | http --verbose PUT :9696/policy/pdp/engine/environment/AAI_URL Content-Type:text/plain Accept:text/plain
PUT /policy/pdp/engine/environment/AAI_URL HTTP/1.1
Accept: text/plain
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 18
Content-Type: text/plain
Host: localhost:9696
User-Agent: HTTPie/0.9.2
http://one.com/aai
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/plain
Date: Thu, 07 Sep 2017 00:05:05 GMT
Server: Jetty(9.3.14.v20161028)
policy@newton:~/snapshot/config$ echo -n "http://one.com/aai2" | http --verbose PUT :9696/policy/pdp/engine/environment/AAI_URL Content-Type:text/plain Accept:text/plain
PUT /policy/pdp/engine/environment/AAI_URL HTTP/1.1
Accept: text/plain
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 19
Content-Type: text/plain
Host: localhost:9696
User-Agent: HTTPie/0.9.2
http://one.com/aai2
HTTP/1.1 200 OK
Content-Length: 18
Content-Type: text/plain
Date: Thu, 07 Sep 2017 00:05:45 GMT
Server: Jetty(9.3.14.v20161028)
http://one.com/aai
policy@newton:~/snapshot/config$ http :9696/policy/pdp/engine/environment/AAI_URL
HTTP/1.1 200 OK
Content-Length: 19
Content-Type: application/json
Date: Thu, 07 Sep 2017 05:14:57 GMT
Server: Jetty(9.3.14.v20161028)
http://one.com/aai2
Change-Id: I1fcd610938af751977bb2db925b57b4e5b3f7ba4
Issue-ID: POLICY-162
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
There is a companion review in the drools-applications repo.
This also includes workarounds to the recent oparent dependency
introduction that breaks runtime (with the version-check-maven-plugin).
It manifested by loading control loops and failing to load some classes
due to different versions (in a lab environment).
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)..
Change-Id: If4f4201e08f7e6e1f3619f557434c1b2e23e47a5
Issue-ID: POLICY-162
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
- add additional junits for policy-management module
- allow for no configuration pdp-d start up.
- minor changes junits for policy-endpoints to avoid
race conditions in jenkins environment, starting up, and
shutting down servers.
Issue-ID: POLICY-109
Change-Id: Ibccefeb5d7cf762da27fe3282887df18d79db5df
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Issue-ID: POLICY-114
Change-Id: I5fe12b6538379a4d018bb76173247fe53fba21d7
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Change-Id: Ic79b3d81ac814948ce3a956fe4c32b8a9b5c0009
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Change-Id: I8aa8e32d3ba10f7c655b50e97aaf6865514d4777
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
|
|
Change-Id: I8c85d75d7eddd7c959ed4cfb7167b58d9c7c9854
Signed-off-by: Jorge Hernandez <jh1730@att.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>
|
|
Change-Id: Ie02de9aca434c3d80b9e34126990e3b9995747bb
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
for backwards compatibility purposes or if desired to
use EELF and common-framework (from policy-common) for
logging purposes in miscellaneous environments. It supports
EELF/Common Framework style logging at the same time than
traditional logging.
This functionality is an optional loadable module.
policy-docker changes need to be made to optionally
unpack to make it active (in a different submission).
started marking feature projects with feature prefix in
project name to give a clear picture to the community which
modules are features vs. code base.
Change-Id: I5076c462409f03415ce54f0c9b5f50b78abb18f9
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
add configurability through telemetry API
Change-Id: I77ebde12a417d421b98646c32dc74824f4494c2e
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
1. clean up policy-utils warnings. drools-pdp project has
no warnings now.
2. add new Policy Controller hooks for feature programmability.
Change-Id: Ie991320e23e73118b235018d15ea66340a841a89
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Change-Id: I984ec36d3022cb498f99aa3b1a23e8729b0624d8
Signed-off-by: Jorge Hernandez <jh1730@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>
|
|
GET/PUT/DELETE operations through REST API.
Report on optional features (modules) attached to the engine.
Added javadoc comments in Healthcheck module.
Change-Id: Ic8d2c06779dda4024e94ad39bb316211522e4e4c
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
The following REST APIs have been added, shown by example:
GET policy/pdp/engine/controllers/<controller-name>/drools :
drools information for controller named <controller-name>
For brevity in URL description, assume:
DROOLS-REL-PATH=policy/pdp/engine/controllers/<controller-name>/drools
GET ${DROOLS-REL-PATH}/<session-name>[?count=true]
fact classes and count for <session-name> in controller <name>
GET ${DROOLS-REL-PATH}/<session-name>/<classname>
all fact objects of class <classname> for session <session-name>
GET ${DROOLS-REL-PATH}/<session-name>/<query-name>/<query-id>
all fact objects returned by drools query named <query-name>
for the identifier <query-id>
(need corresponding query definition in drl is necessary)
Change-Id: I2f62931f54a65eec4ef80472ad1af05f30ed83ba
Signed-off-by: Jorge Hernandez <jh1730@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>
|