Fix last remaining warnings 93/108093/1
authorPamela Dragosh <pdragosh@research.att.com>
Thu, 21 May 2020 17:23:07 +0000 (13:23 -0400)
committerPamela Dragosh <pdragosh@research.att.com>
Thu, 21 May 2020 17:23:11 +0000 (13:23 -0400)
Issue-ID: POLICY-2511
Change-Id: If09bcb8466f5b0b36a437f52304672c799f129ff
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
docs/platform/index.rst
docs/platform/installAmsterController.rst [deleted file]
docs/platform/installBeijingController.rst [deleted file]

index 69ef1da..fd4e584 100644 (file)
@@ -20,8 +20,8 @@ Policy Installation and Deployment
 .. toctree::
    :maxdepth: 1
 
+   installation.rst
    installationVM.rst
-   installAmsterController.rst
    swarch_srm.rst
    deployment.rst
    aaf.rst
diff --git a/docs/platform/installAmsterController.rst b/docs/platform/installAmsterController.rst
deleted file mode 100644 (file)
index 6ee7e38..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Installation of Amsterdam Controller and vCPE Policy 
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. contents::
-    :depth: 2
-
-This article explains how to install the Amsterdam policy controller and the Amsterdam policies on a raw ONAP Policy Framework installation running in Docker.
-
-To build a raw Policy Framework installation, please follow either of the HowTo articles below prior to using this HowTo:
-
-    * `Standalone Quick Start <installation.html>`_
-    * `Standalone installation in Virtual Machine <installationVM.html>`_
-
-You should have the ONAP Policy Framework running in Docker and started the Policy Framework with *docker-compose*.
-
-
-Test that the ONAP Policy Framework is up and is empty
-------------------------------------------------------
-
-**Step 1:** Run the command below.
-
-       .. code-block:: bash 
-
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/amsterdam | python -m json.tool
-
-       You should get a response similar to the following:
-
-       .. code-block:: bash 
-
-          {
-              "error": "amsterdam not found"
-          }
-
-Install the Amsterdam policy controller
----------------------------------------
-
-**Step 1:** Log onto the Drools PDP.  
-
-       .. code-block:: bash 
-
-          docker exec -it drools bash
-
-       You now have a shell open in the Drools PDP container running in docker
-
-
-**Step 2:** Create a temporary directory for controller installation
-
-       .. code-block:: bash
-
-          mkdir /tmp/apps-controlloop
-          cd /tmp/apps-controlloop
-
-**Step 3:** Download the latest controller from Nexus (1.2.0 at the time of writing)
-
-       .. code-block:: bash 
-
-          wget https://nexus.onap.org/content/repositories/releases/org/onap/policy/drools-applications/controlloop/packages/apps-controlloop/1.2.0/apps-controlloop-1.2.0.zip
-**Step 4:** Unzip the controller
-
-       .. code-block:: bash 
-
-          unzip apps-controlloop-1.2.0.zip
-**Step 5:** Stop the policy engine
-
-       .. code-block:: bash 
-
-          policy stop
-
-**Step 6:** Install the controller by running the controller installation script
-
-       .. code-block:: bash 
-
-          ./apps-controlloop-installer
-**Step 7:** Install the controlloop-utils Drools PDP feature to allow standalone execution of control loop policies
-
-       .. code-block:: bash 
-
-          features install controlloop-utils
-          features enable controlloop-utils
-**Step 8:** Start the policy engine
-
-       .. code-block:: bash 
-
-          policy start
-
-**Step 9:** Check if the Amsterdam controller is loaded 
-       .. code-block:: bash 
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/amsterdam | python -m json.tool
-
-       You should get a response similar to the following:
-
-       .. code-block:: bash 
-          :caption: Amsterdam Controller JSON Response
-          :linenos:
-
-          {
-              "alive": true,
-              "drools": {
-                  "alive": false,
-                  "artifactId": "NO-ARTIFACT-ID",
-                  "brained": false,
-                  "canonicalSessionNames": [],
-                  "container": null,
-                  "groupId": "NO-GROUP-ID",
-                  "locked": false,
-                  "recentSinkEvents": [],
-                  "recentSourceEvents": [],
-                  "sessionNames": [],
-                  "version": "NO-VERSION"
-              },
-              "locked": false,
-              "name": "amsterdam",
-              "topicSinks": [
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "locked": false,
-                      "partitionKey": "ea44d32e-e2e6-4a77-862b-aa33437179ed",
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-CL",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "locked": false,
-                      "partitionKey": "47769d22-03c8-4993-9f67-fe326a491b23",
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-LCM-READ",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "locked": false,
-                      "partitionKey": "c33ca5ca-6ebd-47d7-a495-5a54f8a2a15a",
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "POLICY-CL-MGT",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  }
-              ],
-              "topicSources": [
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "consumerGroup": "6dcfdfb8-7c54-4dbd-9337-e4f1883083fb",
-                      "consumerInstance": "drools",
-                      "fetchLimit": 100,
-                      "fetchTimeout": 15000,
-                      "locked": false,
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "unauthenticated.DCAE_CL_OUTPUT",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "consumerGroup": "4f558331-3d32-494b-b7dc-4d5a509dda0d",
-                      "consumerInstance": "drools",
-                      "fetchLimit": 100,
-                      "fetchTimeout": 15000,
-                      "locked": false,
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-CL",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "consumerGroup": "1e3edc1f-afa6-4ae5-907f-a7118ad7a0d2",
-                      "consumerInstance": "drools",
-                      "fetchLimit": 100,
-                      "fetchTimeout": 15000,
-                      "locked": false,
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-LCM-WRITE",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  }
-              ]
-          }
-
-
-Install the Amsterdam vCPE Policy
----------------------------------
-
-We now install the Amsterdam policies for the vCPE, vFirewall, vDNS & VOLTE use cases.
-
-**Step 1:** Log onto (or remain logged onto) the Drools PDP.  
-
-       .. code-block:: bash 
-
-          docker exec -it drools bash
-
-       You now have a shell open in the Drools PDP container running in docker
-
-**Step 2:** Check that the Amsterdam policies are not loaded by querying for Drools facts
-
-       .. code-block:: bash 
-
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/amsterdam/drools/facts/amsterdam | python -m json.tool
-
-       Expect the response {} indicating no policies are loaded.
-
-**Step 3:** Create a temporary directory for policy installation
-
-       .. code-block:: bash
-
-          mkdir /tmp/basex-controlloop
-          cd /tmp/basex-controlloop
-
-**Step 4:** Extract the policies from the control loop zip file previously downloaded from Nexus and expanded in steps 3 and 4 above.
-
-       .. code-block:: bash 
-
-          tar zxvf /tmp/apps-controlloop/basex-controlloop-1.2.0.tar.gz
-**Step 5:** Install the Amsterdam policy rules, the script asks for a number of input parameters, accept the default for all parameters
-
-       .. code-block:: bash 
-
-          bin/create-cl-amsterdam
-
-          # - Type Y when asked for confirmation of parameters
-          # - Accept /tmp as the install directory
-          # - Type Y to agree to creation of a Maven Artifact
-
-**Step 6:** Maven artifact creation now proceeds.  After some minutes, confirmation is requested for deployment of rules into Maven. 
-       .. code-block:: bash 
-
-          # - Type Y to deploy the rules. 
-
-       The rules are deployed into Maven. Expect the rule deployment process to take a number of minutes, perhaps 10 minutes.
-
-
-**Step 7:** Copy the Amsterdam properties file into the Drools PDP configuration directory. This file configures the Drools PDP with the Amsterdam policies
-
-       .. code-block:: bash 
-
-          cp /tmp/amsterdam/amsterdam-controller.properties /opt/app/policy/config
-**Step 8:** Stop and start the Drools PDP
-
-       .. code-block:: bash 
-
-          policy stop
-          policy start
-
-**Step 9:** Now verify that the Amsterdam policies are loaded, there should be a fact in the Drools PDP
-
-       .. code-block:: bash 
-
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/amsterdam/drools/facts/amsterdam | python -m json.tool
-
-       Expect the response:
-
-       .. code-block:: bash 
-
-          {
-             "org.onap.policy.controlloop.Params": 1
-          }
-
-
-Execute the vCPE Use Case Manually
-----------------------------------
-
-You can now run the vCPE Policy use case manually using the HowTos below:
-    * `Tutorial: Testing the vCPE use case in a standalone PDP-D <tutorial_vCPE.html>`_
-
-.. note:: 
-       1. You should check that the topic names you use match those in the Amsterdam configuration file */opt/app/policy/config/amsterdam-controller.properties*.
-       2. You should ensure that you change to the directory */tmp/amsterdam* prior to running those HowTos
-
-
-
-.. Installation of Amsterdam Controller and vCPE Policy : https://wiki.onap.org/display/DW/ONAP+Policy+Framework%3A+Installation+of+Amsterdam+Controller+and+vCPE+Policy
-
-
-
-End of Document
-
diff --git a/docs/platform/installBeijingController.rst b/docs/platform/installBeijingController.rst
deleted file mode 100644 (file)
index cdda5eb..0000000
+++ /dev/null
@@ -1,384 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Installation of Beijing Controller and Policies
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. contents::
-    :depth: 2
-
-This article explains how to install the Beijing policy controller and the Beijing policies on a raw ONAP Policy Framework installation running in Docker.
-
-To build a raw Policy Framework installation, please follow either of the HowTo articles below prior to using this HowTo:
-
-    * `Standalone Quick Start <installation.html>`_
-    * `Standalone installation in Virtual Machine <installationVM.html>`_
-
-You should have the ONAP Policy Framework running in Docker and started the Policy Framework with *docker-compose*.
-
-
-Test that the ONAP Policy Framework is up and is empty
-------------------------------------------------------
-
-**Step 1:** Run the command below.
-
-       .. code-block:: bash 
-
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/beijing | python -m json.tool
-
-       You should get a response similar to the following:
-
-       .. code-block:: bash 
-
-          {
-              "error": "beijing not found"
-          }
-
-Install the Beijing policy controller
----------------------------------------
-
-**Step 1:** Log onto the Drools PDP.  
-
-       .. code-block:: bash 
-
-          docker exec -it drools bash
-
-       You now have a shell open in the Drools PDP container running in docker
-
-
-**Step 2:** Create a temporary directory for controller installation
-
-       .. code-block:: bash
-
-          mkdir /tmp/apps-controlloop
-          cd /tmp/apps-controlloop
-
-**Step 3:** Download the latest controller from Nexus (1.2.0 at the time of writing)
-
-       .. code-block:: bash 
-
-          wget https://nexus.onap.org/content/repositories/releases/org/onap/policy/drools-applications/controlloop/packages/apps-controlloop/1.2.0/apps-controlloop-1.2.0.zip
-
-       Alternatively, you can build the drools-applications component of the Policy Framework from source and install it from the following location on your build host
-
-       .. code-block:: bash 
-
-          ~/.m2/repository/org/onap/policy/drools-applications/controlloop/packages/apps-controlloop/1.2.0/apps-controlloop-1.2.0.zip
-
-
-**Step 4:** Unzip the controller
-
-       .. code-block:: bash 
-
-          unzip apps-controlloop-1.2.0.zip
-
-**Step 5:** Update the installation script to install the Beijing controller
-
-       .. code-block:: bash 
-
-          vi apps-controlloop-installer
-
-          # Change the line
-          #    "features enable controlloop-amsterdam"
-          # to
-          #    "features enable controlloop-beijing"
-
-**Step 6:** Stop the policy engine
-
-       .. code-block:: bash 
-
-          policy stop
-
-**Step 7:** Install the controller by running the controller installation script
-
-       .. code-block:: bash 
-
-          ./apps-controlloop-installer
-**Step 8:** Install the *controlloop-utils* Drools PDP feature to allow standalone execution of control loop policies
-
-       .. code-block:: bash 
-
-          features install controlloop-utils
-          features enable controlloop-utils
-**Step 9:** Start the policy engine
-
-       .. code-block:: bash 
-
-          policy start
-
-       Monitor the CPU for a few minutes with the top command until it settles down after the policy start.
-
-**Step 10:** Check if the Beijing controller is loaded 
-       .. code-block:: bash 
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/beijing | python -m json.tool
-
-       You should get a response similar to the following:
-
-       .. code-block:: bash 
-          :caption: Beijing Controller JSON Response
-          :linenos:
-
-              "alive": true,
-              "drools": {
-                  "alive": true,
-                  "artifactId": "controller-beijing",
-                  "brained": true,
-                  "groupId": "org.onap.policy.drools-applications.controlloop.common",
-                  "locked": false,
-                  "modelClassLoaderHash": 1562533966,
-                  "recentSinkEvents": [],
-                  "recentSourceEvents": [],
-                  "sessionCoordinates": [
-                      "org.onap.policy.drools-applications.controlloop.common:controller-beijing:1.2.0:beijing"
-                  ],
-                  "sessions": [
-                      "beijing"
-                  ],
-                  "version": "1.2.0"
-              },
-              "locked": false,
-              "name": "beijing",
-              "topicSinks": [
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "locked": false,
-                      "partitionKey": "86d1234b-e431-4191-b7c6-56d2d2909a97",
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-CL",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "locked": false,
-                      "partitionKey": "dea0f440-0232-4f63-b79e-6d51f3674d35",
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-LCM-READ",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "locked": false,
-                      "partitionKey": "2918d779-870d-429b-b469-78677d027deb",
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "POLICY-CL-MGT",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  }
-              ],
-              "topicSources": [
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "consumerGroup": "31740f8e-f878-4347-849e-3b3352c28dff",
-                      "consumerInstance": "drools",
-                      "fetchLimit": 100,
-                      "fetchTimeout": 15000,
-                      "locked": false,
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "PDPD-CONFIGURATION",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "consumerGroup": "429aa858-633e-43dc-8619-7004e133d650",
-                      "consumerInstance": "drools",
-                      "fetchLimit": 100,
-                      "fetchTimeout": 15000,
-                      "locked": false,
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "unauthenticated.DCAE_CL_OUTPUT",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "consumerGroup": "1bf6854d-a0f1-4d03-baaf-084e6f365a86",
-                      "consumerInstance": "drools",
-                      "fetchLimit": 100,
-                      "fetchTimeout": 15000,
-                      "locked": false,
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-CL",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  },
-                  {
-                      "alive": true,
-                      "allowSelfSignedCerts": false,
-                      "apiKey": "",
-                      "apiSecret": "",
-                      "consumerGroup": "3f0d7fdf-956d-4749-be54-1adb32ccfa4f",
-                      "consumerInstance": "drools",
-                      "fetchLimit": 100,
-                      "fetchTimeout": 15000,
-                      "locked": false,
-                      "recentEvents": [],
-                      "servers": [
-                          "vm1.mr.simpledemo.openecomp.org"
-                      ],
-                      "topic": "APPC-LCM-WRITE",
-                      "topicCommInfrastructure": "UEB",
-                      "useHttps": false
-                  }
-              ]
-          }
-
-
-
-Install the Beijing vCPE Policy
----------------------------------
-
-We now install the Beijing policies for the vCPE, vFirewall, vDNS & VOLTE use cases.
-
-**Step 1:** Log onto (or remain logged onto) the Drools PDP.  
-
-       .. code-block:: bash 
-
-          docker exec -it drools bash
-
-       You now have a shell open in the Drools PDP container running in docker
-
-**Step 2:** Check that the Beijing policies are not loaded by querying for Drools facts
-
-       .. code-block:: bash 
-
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/beijing/drools/facts/beijing | python -m json.tool
-
-       Expect the response {} indicating no policies are loaded.
-
-**Step 3:** Create a temporary directory for policy installation
-
-       .. code-block:: bash
-
-          mkdir /tmp/basex-controlloop
-          cd /tmp/basex-controlloop
-
-**Step 4:** Extract the policies from the control loop zip file previously downloaded from Nexus and expanded in steps 3 and 4 above.
-
-       .. code-block:: bash 
-
-          tar zxvf /tmp/apps-controlloop/basex-controlloop-1.2.0.tar.gz
-**Step 5:** Install the Beijing policy rules, the script asks for a number of input parameters, accept the default for all parameters
-
-       .. code-block:: bash 
-
-          bin/create-cl-beijing
-
-          # - Type Y when asked for confirmation of parameters
-          # - Accept /tmp as the install directory
-          # - Type Y to agree to creation of a Maven Artifact
-
-**Step 6:** Maven artifact creation now proceeds.  After some minutes, confirmation is requested for deployment of rules into Maven. 
-       .. code-block:: bash 
-
-          # - Type Y to deploy the rules. 
-
-       The rules are deployed into Maven. Expect the rule deployment process to take a number of minutes, perhaps 10 minutes.
-
-
-**Step 7:** Copy the Beijing properties file into the Drools PDP configuration directory. This file configures the Drools PDP with the Beijing policies
-
-       .. code-block:: bash 
-
-          cp /tmp/beijing/beijing-controller.properties /opt/app/policy/config
-**Step 8:** Stop and start the Drools PDP
-
-       .. code-block:: bash 
-
-          policy stop
-          policy start
-
-       Again, monitor the processes with top and wait for the PDP to fully start.
-
-**Step 9:** Push the Beijing policy facts to the Drools PDP
-
-       .. code-block:: bash 
-
-          bin/push-policies-beijing
-
-          # When the script prompts for the path to the properties file, enter the following:
-          #    /opt/app/policy/config/beijing-controller.properties
-
-
-**Step 10:** Now verify that the Beijing policies are loaded, there should be four facts (one per use case) in the Drools PDP
-
-       .. code-block:: bash 
-
-          curl --silent --user @1b3rt:31nst31n -X GET http://localhost:9696/policy/pdp/engine/controllers/beijing/drools/facts/beijing | python -m json.tool
-
-       Expect the response:
-
-       .. code-block:: bash 
-
-          {
-             "org.onap.policy.controlloop.params.ControlLoopParams": 4
-          }
-
-
-Execute the vCPE Use Case Manually
-----------------------------------
-
-You can now run the vCPE Policy use case manually using the HowTos below:
-    * `Tutorial: Testing the vCPE use case in a standalone PDP-D <tutorial_vCPE.html>`_
-    * `Tutorial: Testing the vDNS Use Case in a standalone PDP-D <tutorial_vDNS.html>`_
-    * `Tutorial: Testing the vFW flow in a standalone PDP-D <tutorial_vFW.html>`_
-    * `Tutorial: Testing the VOLTE Use Case in a standalone PDP-D <tutorial_VOLTE.html>`_
-
-
-.. note:: 
-       1. You should check that the topic names you use match those in the Beijing configuration file */opt/app/policy/config/beijing-controller.properties*.
-       2. You should ensure that you change to the directory */tmp/beijing* prior to running those HowTos
-
-
-
-.. Installation of Beijing Controller and Policies : https://wiki.onap.org/display/DW/ONAP+Policy+Framework%3A+Installation+of+Beijing+Controller+and+Policies
-
-
-
-End of Document
-