Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Issue-ID: POLICY-109
Change-Id: I3a221351e5c68514413c5744334b8c80578c3a02
Signed-off-by: Mike Babinski <mb1915@att.com>
|
|
Change-Id: I9c8c7d56a1087a0514f4d53be293e287a26ae1bf
Issue-ID: POLICY-265
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Added more junits to RestManagerTest.java to increase coverage
of the RestManger class to >29%.
Also cleaned up the RestManagerTest class.
Issue-Id: POLICY-109
Change-Id: I16885a945579f6aac203b47cf05294396bba2b15
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
I found multiple issues from latest junit submissions when I built in
my local that I tried to fix.
1. feature-test-transaction - prone to race conditions as we have
experienced in some jenkins builds. There is an assert that checks
if the thread is alive that monitors a policy controller kiesession
sanity. The thread is very short-lived as it will exit right away
since it detects that the underlying "drools session"
does not have an attached rules artifact (brainless).
Removed that check to fix the race condition.
2. With the increment of junits in the PolicyEngine.manager for
multiple packages, it seems that the static instance is reused
across junits (which surprised me), so configuration files that
are not supposed to be read in junits for a package are
read, and for example the lock state could propagate across junits.
I tried to clean all that up to make sure that each junit deals with
what is has created and state does not propagate to other junits.
3. feature-active-standy-management had a missing "junit" dependency.
I generated the effective pom, and indeed did not show, some junits
failed to compile in the test phase. Adding the test dependency
fixed the problem.
As a note, the feature-active-standy-management junits, take over 20 minutes to run.
This time is excessive (see below):
logs$ head -1 debug.log
2017-09-25 21:24:21.630 [main] DEBUG o.o.p.d.c.t.StandbyStateManagementTest.setUpClass(111) - setUpClass: userDir=/media/sf_jh1730/dev/open/LF/git/master/policy/drools-pdp/feature-active-standby-management
logs$ tail -1 debug.log
2017-09-25 21:46:29.801 [Timer-46] DEBUG o.o.p.d.a.DroolsPdpsElectionHandler.run(919) - TimerUpdateClass.run.exit
Change-Id: Ie3167e5f784f35f98fa08997e624c51f976b6501
Issue-ID: POLICY-109
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Added some more junits that cover some of the PUT/DELETE methods
in the RestManager class. Not all are covered yet.
Issue-Id: POLICY-109
Change-Id: I7d7ac9656338c6ba0b3ffb76221fde5a90637236
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
More logic to GETTest which provides coverage for all
GET methods in RestManager class.
Issue-ID: POLICY-109
Change-Id: Ic5840b8baab73b1e3b440ca6f0b9909dd273c9fa
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
|
|
|
|
|
|
|
|
Junits were added to cover the FileSystemPersistence
and RestManager classes
Patch 2: Merged some test functionality from FileSystemPersistenceTest
class into SystemPersistenceTest class. Deleted FileSystemPersistenceTest
class.
Issue-ID: POLICY-109
Change-Id: Ifd058b9988db30f6b5bc49ae54e5060c67f4ad5e
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
Added junits to cover DroolsConfiguration and ControllerConfiguration
classes.
Issue-Id: POLICY-262
Change-Id: Ie6cf4b15f8b08220a93b4469cc6fd4eda9299138
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@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>
|
|
Added a single line to the code that creates the jetty server so that
it will log messages in access.log format. Also added lines to various
logback.xml files to actually write the output from the jetty server
to the access.log.
Made some revisions per comments:
- removed spaces around parameters
- added "Out" suffix
- changed suffix of archived files
- changed size to 1MB
Modified logback*.xml files to include jetty "access log" content in
the already-existing network.log.
Issue-Id: POLICY-161
Change-Id: I3e3769c06a22aaffea0e09abbec3387cc62f246f
Signed-off-by: jrh3 <jrh3@att.com>
|
|
Issue-ID: POLICY-114
Change-Id: I5fe12b6538379a4d018bb76173247fe53fba21d7
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
To make feature development easier for DB-enabled features
Change-Id: I7f69ecfbbfb9eaac92f698bdb787ce881eec39f0
Issue-ID: POLICY-96
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
to make db-enabled features to not worry about their
packaging in the copy-dependencies plugin in the
pom.xml
Change-Id: Ie20a61978f75d4dbe82ac7aba5f6d259fb412f22
Issue-ID: POLICY-96
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Isolation and data migration support overall and on a per
feature basis.
policy@drools:/opt/app/policy$ policy.sh status
[drools-pdp-controllers]
L []: Policy Management (no pidfile) is NOT running
1 cron jobs installed.
[features]
name version status
---- ------- ------
eelf 1.1.0 disabled
healthcheck 1.1.0 disabled
session-persistence 1.1.0 enabled
[migration]
session-persistence: upgrade out-of-sync: 0 -> 201702
policy@drools:/opt/app/policy$ features enable session-persistence
session-persistence: upgrade out-of-sync: 0 -> 201702
name version status
---- ------- ------
eelf 1.1.0 disabled
healthcheck 1.1.0 disabled
session-persistence 1.1.0 enabled
policy@drools:/opt/app/policy$ db-migrator -s session-persistence -o upgrade
upgrade: 0 -> 201702
> upgrade 201701-blah.upgrade.sql
--------------
create table blah (a varchar(15), b varchar(20))
--------------
> upgrade 201702-blah2.upgrade.sql
--------------
create table blah2 (a varchar(15), b varchar(20))
--------------
session-persistence: OK: upgrade (201702)
policy@drools:/opt/app/policy$ db-migrator -s ALL -o report
+---------------------+---------+
| name | version |
+---------------------+---------+
| session-persistence | 201702 |
+---------------------+---------+
+--------------------------+-----------+---------+---------------------+
| script | operation | success | atTime |
+--------------------------+-----------+---------+---------------------+
| 201701-blah.upgrade.sql | upgrade | 1 | 2017-08-14 16:01:32 |
| 201702-blah2.upgrade.sql | upgrade | 1 | 2017-08-14 16:01:32 |
+--------------------------+-----------+---------+---------------------+
policy@drools:/opt/app/policy$ features disable session-persistence
name version status
---- ------- ------
eelf 1.1.0 disabled
healthcheck 1.1.0 disabled
session-persistence 1.1.0 disabled
policy@drools:/opt/app/policy$ db-migrator -s ALL -o downgrade
downgrade: 201702 -> 0
> downgrade 201702-blah2.downgrade.sql
--------------
drop table if exists blah2
--------------
> downgrade 201701-blah.downgrade.sql
--------------
drop table if exists blah
--------------
session-persistence: OK: downgrade (0)
policy@drools:/opt/app/policy$ db-migrator -s ALL -o report
+---------------------+---------+
| name | version |
+---------------------+---------+
| session-persistence | 0 |
+---------------------+---------+
+----------------------------+-----------+---------+---------------------+
| script | operation | success | atTime |
+----------------------------+-----------+---------+---------------------+
| 201701-blah.upgrade.sql | upgrade | 1 | 2017-08-14 16:01:32 |
| 201702-blah2.upgrade.sql | upgrade | 1 | 2017-08-14 16:01:32 |
| 201701-blah.downgrade.sql | downgrade | 1 | 2017-08-14 16:13:49 |
| 201702-blah2.downgrade.sql | downgrade | 1 | 2017-08-14 16:13:49 |
+----------------------------+-----------+---------+---------------------+
session-persistence: OK @ 0
Change-Id: Ie185f5d7a8463cb349ac452d8c2b4b05928b3e56
Issue-ID: POLICY-96
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Note that the 'install' option looks for a 'base.conf' script in the
current directory, as well as the '${POLICY_HOME}/config' directory.
The assumption is 'base.conf' is saved here when the initial DroolsPDP
install is complete.
Issue-ID: POLICY-163
Change-Id: I995c685ca8ff896f3d8a027324e30673075e0c1f
Signed-off-by: Ralph Straubs <rs8887@att.com>
|
|
This commit only takes care of enabling disabling global visibility
of sql files on a per database basis, when a feature is enabled/disabled.
Performing the actual databases upgrade operations will be provided
in a subsequent commit.
Issue-ID: POLICY-66
Change-Id: Ia82e5ccb3a9f02e9d937ce4791fdca4204b8f9e8
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
Change-Id: Ic79b3d81ac814948ce3a956fe4c32b8a9b5c0009
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
initial commit pre-intro of db support on per feature basis
Change-Id: Ie790764bc58f773da381ae88b6f7476fbd2af2e5
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>
|
|
consolidate scripting convention by all adopting not .sh for
bash scripts. Location is under policy-management/src/main/server-gen/bin/
so they are inherited by lab installations that don't use the
packages directory.
Change-Id: Ibcbd4bffad38e87cb3b644deb768120b1a6b2cbb
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>
|
|
installation/enable/disable of self contained package features:
Feature 3rd party dependencies, configuration files, and
custom installation scripts do not need to be packaged within the policy
core base to be used.
Change-Id: I35a472e63bd0f9f7aa6cd0c112d41d2b4604a892
Signed-off-by: Jorge Hernandez <jh1730@att.com>
|
|
using "feature-" naming convention.
Change-Id: I13d6b75750d369ed9e61f3c9c9408b31eac6bb2d
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>
|
|
Change-Id: Ifebf67db574e1c4eadf9d50ca0f178ab7ddba033
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>
|
|
[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>
|
|
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>
|