Support environment configurations 03/10703/2
authorJorge Hernandez <jh1730@att.com>
Thu, 7 Sep 2017 05:07:32 +0000 (00:07 -0500)
committerJorge Hernandez <jh1730@att.com>
Thu, 7 Sep 2017 05:22:38 +0000 (00:22 -0500)
commitf6679d84b20e79e8f9753fbdea08ecd20b913e75
treed8b001488ade0002828a8bb829c06f31500f289e
parent40d0d77001e5a36e6fe799b9e1fbc26752c5c6f5
Support environment configurations

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>
12 files changed:
feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TestTransaction.java
feature-test-transaction/src/test/java/org/onap/policy/drools/testtransaction/TestTransactionTest.java
packages/install/pom.xml
policy-management/src/main/java/org/onap/policy/drools/persistence/FileSystemPersistence.java [new file with mode: 0644]
policy-management/src/main/java/org/onap/policy/drools/persistence/SystemPersistence.java
policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
policy-management/src/main/java/org/onap/policy/drools/system/Main.java
policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
policy-management/src/main/server-gen/bin/features
policy-management/src/test/java/org/onap/policy/drools/persistence/test/SystemPersistenceTest.java [new file with mode: 0644]
policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java
policy-utils/src/main/java/org/onap/policy/drools/utils/LoggerUtil.java [new file with mode: 0644]