From 32da597e59acbc9f59941cf78cea2b85cf1e5cd2 Mon Sep 17 00:00:00 2001 From: Peyton Puckett Date: Thu, 26 Mar 2020 18:13:29 -0500 Subject: Update drools tutorials documentation Issue-ID: POLICY-2399 Change-Id: I9756a660f80348eb69b217e6f1de6bad7a7b6f00 Signed-off-by: Peyton Puckett --- docs/drools/runningPDPD.rst | 164 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 docs/drools/runningPDPD.rst (limited to 'docs/drools/runningPDPD.rst') diff --git a/docs/drools/runningPDPD.rst b/docs/drools/runningPDPD.rst new file mode 100644 index 00000000..0934c8c9 --- /dev/null +++ b/docs/drools/runningPDPD.rst @@ -0,0 +1,164 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +********************************************************** +Methods to run PDP-D +********************************************************** + +.. contents:: + :depth: 2 + +There are two methods you can use to run a PDP-D for testing purposes: + +1. Using Docker + +2. Using Eclipse + +Using Docker +^^^^^^^^^^^^ +**Step 1:** Clone the integration/csit repository. + +You can find the repo here: https://gerrit.onap.org/r/admin/repos/integration/csit. +Although this repository is used for CSIT testing, we can use this as a means to get a PDP-D up and running with docker. + + .. code-block:: bash + + git clone "https://gerrit.onap.org/r/integration/csit" + +**Step 2:** Note the "docker-compose" commands that will be used. + + .. code-block:: bash + + docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml up -d + + docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools-apps.yml down -v + +Note that ${WORKSPACE} refers to the local path where the csit repository is. + +**Step 3:** Edit the "docker-compose-drools-apps.yml" file. + +Take a look at the "csit/scripts/policy/docker-compose-drools-apps.yml" file. It should look similar to this: + + .. image:: img/docker/yamlClone.png + +The following changes need to be made based on which version you are running and your local setup. + + .. code-block:: bash + + ${POLICY_MARIADB_VER} should be "10.2.14" (without quotes, version subject to change) + + ${WORKSPACE} should be the absolute path to the cloned "csit" repository. + + ${POLICY_DROOLS_APPS_VERSION} should be "1.6.0" (without quotes, version subject to change). + +If you are using MacOS, you will also need to make the following changes: + + .. code-block:: bash + + expose: + - 6969 + - 9696 + + will need to be changed to: + + ports: + - "6969:6969" + - "9696:9696" + +**Step 4:** Start containers and interact with PDP-D. + + .. code-block:: bash + + docker-compose -f scripts/policy/docker-compose-drools-apps.yml up -d + docker container ls + docker exec -it drools bash + + .. image:: img/docker/dockerComposeUp.png + + .. code-block:: bash + + policy status + + .. image:: img/docker/policyStatus.png + + .. code-block:: bash + + # launches subshell where telemetry commands can be executed + telemetry + + ls + + cd controllers + + # Get the current controllers + get + + .. image:: img/docker/telemetryCmd.png + + .. code-block:: bash + + # Get information about the "frankfurt" controller + get frankfurt + + .. image:: img/docker/getFrankfurt.png + + + .. code-block:: bash + + docker-compose -f scripts/policy/docker-compose-drools-apps.yml down -v + + .. image:: img/docker/dockerComposeDown.png + +In the next section, you will see more about using telemetry commands and interacting with the PDP-D. + +Using Eclipse +^^^^^^^^^^^^^ + +**Step 1:** Clone 'drools-pdp' repository and create a new directory for eclipse workspace. + +Link to repository: https://gerrit.onap.org/r/admin/repos/policy/drools-pdp +For the purposes of this demo, we will create an new directory to use as a workspace for eclipse. + + .. code-block:: bash + + $ git clone "https://gerrit.onap.org/r/policy/drools-pdp" + Cloning into 'drools-pdp'... + remote: Counting objects: 59, done + remote: Finding sources: 100% (30/30) + remote: Total 14406 (delta 0), reused 14399 (delta 0) + Receiving objects: 100% (14406/14406), 3.23 MiB | 628.00 KiB/s, done. + Resolving deltas: 100% (6630/6630), done. + Checking out files: 100% (588/588), done. + + $ mkdir workspace-drools-pdp + + $ ls + drools-pdp/ workspace-drools-pdp/ + +The "drools-pdp/" directory contains the cloned repository and "workspace-drools-pdp/" is an empty directory. + +**Step 2:** Import "drools-pdp" as an existing maven project. + +Open Eclipse. Hit the **browse** button and navigate to the "workspace-drools-pdp/" directory. Select that folder as the workspace directory and hit **launch**. + + .. image:: img/eclipse/selectDirectory.png + +Select File -> Import -> Maven -> Existing Maven Projects -> Next + + .. image:: img/eclipse/importMavenProject.png + +Select **Browse** and navigate to the root directory of the cloned project. Hit **Select All** to make sure all projects are included and select **Finish**. + + .. image:: img/eclipse/selectProjectsToImport.png + +**Step 3:** Run "policy-management" as a java application + +All of the projects will appear in the package explorer after they finish importing. Right click on "policy-management", select "Run As", and select "Java Application". + + .. image:: img/eclipse/runAsJavaApp.png + +Type "main" and select the option "Main - org.onap.policy.drools.system" then hit **OK**. + + .. image:: img/eclipse/mainAppSelection.png + +If everything is successful, the PDP-D will start running and you will notice output displayed in the console. In the next section, you will see how to interact with the PDP-D using telemetry commands. -- cgit 1.2.3-korg