Merge "Update Release Notes release D"
[nonrtric.git] / policy-agent / README.md
index 655000e..d660df9 100644 (file)
@@ -1,6 +1,6 @@
-# O-RAN-SC NonRT RIC Dashboard Web Application
+# O-RAN-SC Non-RT RIC Policy Agent
 
-The O-RAN NonRT RIC PolicyAgent provides a REST API for management of policices.
+The O-RAN Non-RT RIC PolicyAgent provides a REST API for management of policices.
 It provides support for:
  -Supervision of clients (R-APPs) to eliminate stray policies in case of failure
  -Consistency monitoring of the SMO view of policies and the actual situation in the RICs
@@ -11,6 +11,32 @@ It provides support for:
    all policies of a type etc.
   -Maps O1 resources (ManagedElement) as defined in O1 to the controlling RIC
 
+The Policy Agent uses the default keystore and truststore that are built into the container. The paths and passwords for these stores are located in a yaml file:
+nonrtric/policy-agent/config/application.yaml
+
+The default truststore includes a1simulator cert as a trusted cert which is located here:
+https://gerrit.o-ran-sc.org/r/gitweb?p=sim/a1-interface.git;a=tree;f=near-rt-ric-simulator/certificate;h=172c1e5aacd52d760e4416288dc5648a5817ce65;hb=HEAD
+
+The default truststore also includes a1controller cert as a trusted cert which is located here (keystore.jks file):
+https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=sdnc-a1-controller/oam/installation/sdnc-a1/src/main/resources;h=17fdf6cecc7a866c5ce10a35672b742a9f0c4acf;hb=HEAD
+
+There is also Policy Agent's own cert in the default truststore for mocking purposes and unit-testing (ApplicationTest.java).
+
+The default keystore, truststore, and application.yaml files can be overridden by mounting new files using the "volumes" field of docker-compose or docker run command.
+
+Assuming that the keystore, truststore, and application.yaml files are located in the same directory as docker-compose, the volumes field should have these entries:
+
+volumes:
+      - ./new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks:ro
+      - ./new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks:ro
+      - ./new_application.yaml:/opt/app/policy-agent/config/application.yaml:ro
+
+The target paths in the container should not be modified.
+
+Example docker run command for mounting new files (assuming they are located in the current directory):
+docker run -p 8081:8081 -p 8433:8433 --name=policy-agent-container --network=nonrtric-docker-net --volume "$PWD/new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks" --volume "$PWD/new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks" --volume "$PWD/new_application.yaml:/opt/app/policy-agent/config/application.yaml" o-ran-sc/nonrtric-policy-agent:2.2.0-SNAPSHOT
+
+
 To Run Policy Agent in Local:
 In the folder /opt/app/policy-agent/config/, create a soft link with below command,
 ln -s <path to test_application_configuration.json> application_configuration.json
@@ -26,6 +52,31 @@ mvn -Dtest=MockPolicyAgent test
 The backend server publishes live API documentation at the
 URL `http://your-host-name-here:8081/swagger-ui.html`
 
+PolicyAgent uses A1-POLICY-AGENT-READ & A1-POLICY-AGENT-WRITE topic for subscribe & Publish to the DMaap.
+Sample Request Message to DMaaP:
+{
+  "type": "request",
+  "target": "policy-agent",
+  "timestamp": "2019-05-14T11:44:51.36Z",
+  "operation": "GET",
+  "correlationId": "c09ac7d1-de62-0016-2000-e63701125557-201",
+  "apiVersion": "1.0",
+  "originatorId": "849e6c6b420",
+  "requestId": "23343221",
+  "url": "/policies?type=type1&ric=ric1&service=service1"
+}
+
+Sample Response Message to DMaaP:
+{
+  "type": "response",
+  "timestamp": "2019-05-14T11:44:51.36Z",
+  "correlationId": "c09ac7d1-de62-0016-2000-e63701125557-201",
+  "originatorId": "849e6c6b420",
+  "requestId": "23343221",
+  "status": "200 OK",
+  "message": []
+}
+
 ## License
 
 Copyright (C) 2019 Nordix Foundation. All rights reserved.