aboutsummaryrefslogtreecommitdiffstats
path: root/tutorials/tutorial-enforcement
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2022-10-17 16:55:51 +0100
committerliamfallon <liam.fallon@est.tech>2022-10-18 14:15:56 +0100
commitc3e8a4a2ed66e73c6b39d68924ae8e310e7541db (patch)
tree83076413d38f24564020ca157bf6a2dd330f3747 /tutorials/tutorial-enforcement
parent9831c28c678f70640f6f84e73c9c3d15d3f5a4a6 (diff)
Fix hard coded versions in XACML-PDP tutorials
This commit adds variables to the docker-compse file for the xacml-applicaiton tutorial and adds a startup script that downloads files fromt he docker/csit repo to run the tutorial This commit also removes the separate docker-compose file that was used for xacml-enforcement tutorial and replaces it with instructions on how to use the csit docker-compose to run the enforcement. Issue-ID: POLICY-4186 Change-Id: Id1476e6c0949d3d57bdea9a696b985b60220ec78 Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'tutorials/tutorial-enforcement')
-rw-r--r--tutorials/tutorial-enforcement/README.md60
-rw-r--r--tutorials/tutorial-enforcement/src/main/docker/README.txt36
-rw-r--r--tutorials/tutorial-enforcement/src/main/docker/config/db/db-pg.sh25
-rw-r--r--tutorials/tutorial-enforcement/src/main/docker/config/db/db.conf20
-rw-r--r--tutorials/tutorial-enforcement/src/main/docker/config/db/db.sh26
-rw-r--r--tutorials/tutorial-enforcement/src/main/docker/config/sim/simParameters.json15
-rw-r--r--tutorials/tutorial-enforcement/src/main/docker/docker-compose.yml105
7 files changed, 54 insertions, 233 deletions
diff --git a/tutorials/tutorial-enforcement/README.md b/tutorials/tutorial-enforcement/README.md
index 23321fd2..07b55984 100644
--- a/tutorials/tutorial-enforcement/README.md
+++ b/tutorials/tutorial-enforcement/README.md
@@ -1,20 +1,68 @@
Copyright 2020 AT&T Intellectual Property. All rights reserved.
+
This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+# Build the Tutorial
+
The Policy Enforcement Tutorial can be built:
-mvn clean install
+ mvn clean install
+
+# Start the Policy Framework components
+
+Be sure to start the Policy Framework application components in *docker* if you are not testing this in a lab.
+- Ensure you have docker and docker-compose installed
+- Check out the *policy/docker* repo from the ONAP gerrit or from github: https://github.com/onap/policy-docker
+- In a console, change directory into the *csit* directory of the *policy/docker* repo
+- Start *xacml-pdp* by running the *start-containter.sh* script
+
+ start-container.sh xacml-pdp
+
+- Ensure that DMaaP is up
+
+ > curl -X POST http://0.0.0.0:30227/events/POLICY-PDP-PAP
+ Should return JSON similar to this:
+ {"serverTimeMs":0,"count":0}
+
+- Run the xacml-pdp health check
+
+ curl -u 'policyadmin:zb!XztG34' 'http://0.0.0.0:30441/policy/pdpx/v1/healthcheck'
+ Should return JSON similar to this:
+ {"name":"Policy Xacml PDP","url":"self","healthy":true,"code":200,"message":"alive"}
+
+- Run the api health check
+
+ curl -u 'policyadmin:zb!XztG34' 'http://0.0.0.0:30440/policy/api/v1/healthcheck'
+ Should return JSON similar to this:
+ {
+ "name": "Policy API",
+ "url": "policy-api",
+ "healthy": true,
+ "code": 200,
+ "message": "alive"
+ }
+
+- Run the pap health check
+
+ curl -u 'policyadmin:zb!XztG34' 'http://0.0.0.0:30442/policy/pap/v1/healthcheck'
+ Should return JSON similar to this:
+ {
+ "name": "Policy PAP",
+ "url": "policy-pap",
+ "healthy": true,
+ "code": 200,
+ "message": "alive"
+ }
-Be sure to start the Policy Framework application components if you are not testing this in a lab. See
-src/main/docker/README.txt for details to run local instances of the components.
+# Run the Tutorial
-You can run the application via code by running the App.main method with command line argument with IP then Port
+You can run the application via code by running the *App.main* method with command line argument with IP then Port
of the XACML PDP, followed by the IP then Port of Dmaap.
-App.main(new String[] {"0.0.0.0", "6969", "0.0.0.0", "3904"});
+ App.main(new String[] {"0.0.0.0", "6969", "0.0.0.0", "3904"});
-or from Eclipse by right-clicking App.java and selecting "Run As" and select "Java Application". Edit the
+or from Eclipse by right-clicking App.java and selecting *Run As* and select *Java Application*. Edit the
configuration by adding these command line arguments: "0.0.0.0" "6969" "0.0.0.0" "3904"
Quit the application by typing 'q' into stdin.
diff --git a/tutorials/tutorial-enforcement/src/main/docker/README.txt b/tutorials/tutorial-enforcement/src/main/docker/README.txt
deleted file mode 100644
index eed0a74a..00000000
--- a/tutorials/tutorial-enforcement/src/main/docker/README.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-docker-compose -f docker-compose.yml run --rm start_dependencies
-
-docker-compose -f docker-compose.yml run --rm start_all
-
-
-curl -X POST http://0.0.0.0:3904/events/POLICY-PDP-PAP
-
-Should return JSON similar to this:
-{"serverTimeMs":0,"count":0}
-
-
-curl -k -u 'healthcheck:zb!XztG34' 'https://0.0.0.0:6969/policy/pdpx/v1/healthcheck'
-
-Should return JSON similar to this:
-{"name":"Policy Xacml PDP","url":"self","healthy":true,"code":200,"message":"alive"}
-
-
-curl -k -u 'healthcheck:zb!XztG34' 'https://0.0.0.0:6767/policy/api/v1/healthcheck'
-Should return JSON similar to this:
-{
- "name": "Policy API",
- "url": "policy-api",
- "healthy": true,
- "code": 200,
- "message": "alive"
-}
-
-curl -k -u 'healthcheck:zb!XztG34' 'https://0.0.0.0:6868/policy/pap/v1/healthcheck'
-{
- "name": "Policy PAP",
- "url": "policy-pap",
- "healthy": true,
- "code": 200,
- "message": "alive"
-}
-
diff --git a/tutorials/tutorial-enforcement/src/main/docker/config/db/db-pg.sh b/tutorials/tutorial-enforcement/src/main/docker/config/db/db-pg.sh
deleted file mode 100644
index 41326c61..00000000
--- a/tutorials/tutorial-enforcement/src/main/docker/config/db/db-pg.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# ============LICENSE_START=======================================================
-# Copyright (C) 2022 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# http://www.apache.org/licenses/LICENSE-2.0
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-#
-
-export PGPASSWORD=${PG_ADMIN_PASSWORD};
-
-for db in policyadmin operationshistory
-do
- psql -h ${PG_HOST} -p ${PG_PORT} -U postgres --command "CREATE DATABASE ${db};"
- psql -h ${PG_HOST} -p ${PG_PORT} -U postgres --command "GRANT ALL PRIVILEGES ON DATABASE ${db} TO ${PG_USER};"
-done \ No newline at end of file
diff --git a/tutorials/tutorial-enforcement/src/main/docker/config/db/db.conf b/tutorials/tutorial-enforcement/src/main/docker/config/db/db.conf
deleted file mode 100644
index 42f35844..00000000
--- a/tutorials/tutorial-enforcement/src/main/docker/config/db/db.conf
+++ /dev/null
@@ -1,20 +0,0 @@
-# ============LICENSE_START=======================================================
-# Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-MYSQL_ROOT_PASSWORD=secret
-MYSQL_USER=policy_user
-MYSQL_PASSWORD=policy_user \ No newline at end of file
diff --git a/tutorials/tutorial-enforcement/src/main/docker/config/db/db.sh b/tutorials/tutorial-enforcement/src/main/docker/config/db/db.sh
deleted file mode 100644
index 499764df..00000000
--- a/tutorials/tutorial-enforcement/src/main/docker/config/db/db.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash -xv
-# ============LICENSE_START=======================================================
-# Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-for db in policyadmin operationshistory
-do
- mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
- mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
-done
-
-mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;"
diff --git a/tutorials/tutorial-enforcement/src/main/docker/config/sim/simParameters.json b/tutorials/tutorial-enforcement/src/main/docker/config/sim/simParameters.json
deleted file mode 100644
index bd435201..00000000
--- a/tutorials/tutorial-enforcement/src/main/docker/config/sim/simParameters.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "dmaapProvider": {
- "name": "DMaaP simulator",
- "topicSweepSec": 300
- },
- "restServers": [
- {
- "name": "DMaaP simulator",
- "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1",
- "host": "0.0.0.0",
- "port": 3904,
- "https": false
- }
- ]
-} \ No newline at end of file
diff --git a/tutorials/tutorial-enforcement/src/main/docker/docker-compose.yml b/tutorials/tutorial-enforcement/src/main/docker/docker-compose.yml
deleted file mode 100644
index fada017f..00000000
--- a/tutorials/tutorial-enforcement/src/main/docker/docker-compose.yml
+++ /dev/null
@@ -1,105 +0,0 @@
-# ============LICENSE_START=======================================================
-# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-version: '2'
-services:
- mariadb:
- image: mariadb:10.2.14
- container_name: mariadb
- hostname: mariadb
- command: ['--lower-case-table-names=1', '--wait_timeout=28800']
- env_file: config/db/db.conf
- volumes:
- - ./config/db:/docker-entrypoint-initdb.d
- expose:
- - 3306
- message-router:
- image: nexus3.onap.org:10001/onap/policy-models-simulator:latest
- container_name: dmaap-simulator
- hostname: dmaap-simulator
- volumes:
- - ./config/sim:/opt/app/policy/simulators/etc/mounted:ro
- ports:
- - "3904:3904"
- expose:
- - 3904
- pap:
- # Istanbul To Be released images
- image: nexus3.onap.org:10001/onap/policy-pap:2.5.0-SNAPSHOT
- container_name: policy-pap
- depends_on:
- - mariadb
- - message-router
- hostname: policy-pap
- ports:
- - "6868:6969"
- expose:
- - 6868
- api:
- # Istanbul To Be released images
- image: nexus3.onap.org:10001/onap/policy-api:2.5.0-SNAPSHOT
- container_name: policy-api
- depends_on:
- - mariadb
- hostname: policy-api
- ports:
- - "6767:6969"
- expose:
- - 6767
- xacml-pdp:
- # Released Honolulu image
- image: nexus3.onap.org:10001/onap/policy-xacml-pdp:2.4.2
- container_name: policy-xacml-pdp
- depends_on:
- - mariadb
- - message-router
- - pap
- hostname: policy-xacml-pdp
- ports:
- - "6969:6969"
- expose:
- - 6969
- start_dependencies:
- image: dadarek/wait-for-dependencies
- environment:
- TIMEOUT_LENGTH: 60
- container_name: policy-wait
- depends_on:
- - mariadb
- - message-router
- hostname: policy-wait
- command:
- mariadb:3306
- message-router:3904
- start_all:
- image: dadarek/wait-for-dependencies
- environment:
- TIMEOUT_LENGTH: 60
- container_name: policy-wait-all
- depends_on:
- - mariadb
- - message-router
- - api
- - pap
- - xacml-pdp
- hostname: policy-wait-all
- command:
- mariadb:3306
- message-router:3904
- api:6969
- pap:6969
- xacml-pdp:6969