diff options
author | liamfallon <liam.fallon@est.tech> | 2022-10-17 16:55:51 +0100 |
---|---|---|
committer | liamfallon <liam.fallon@est.tech> | 2022-10-18 14:15:56 +0100 |
commit | c3e8a4a2ed66e73c6b39d68924ae8e310e7541db (patch) | |
tree | 83076413d38f24564020ca157bf6a2dd330f3747 /tutorials/tutorial-enforcement | |
parent | 9831c28c678f70640f6f84e73c9c3d15d3f5a4a6 (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')
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 |