Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Change-Id: Ib243572c2395c9e122af3bff24d1fd8b89300166
Issue-ID: POLICY-357
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>
|
|
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 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>
|