Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
[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>
|