From: ecaiyanlinux Date: Mon, 19 Oct 2020 09:13:12 +0000 (+0200) Subject: Add docker-compose file for ECS X-Git-Tag: 2.1.0~7^2 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=dc962f458879109f8c4c346befcd242fa3749f6c;p=nonrtric.git Add docker-compose file for ECS Add docker-compose file for ECS along with portal-control-panel Add scripts to populate some dummy data into ECS sercice Minor improvements on existing scripts Signed-off-by: ecaiyanlinux Change-Id: Ic67200afc533b3a1860221aabaaae9f23ae1b345 --- diff --git a/docker-compose/README.md b/docker-compose/README.md index 75733983..fdcb5f59 100644 --- a/docker-compose/README.md +++ b/docker-compose/README.md @@ -29,13 +29,22 @@ one policy in a1-sim-STD Run command: cd data/ -./fill_data.sh [policy-agent-port] [a1-sim-OSC-port] [a1-sim-STD-port] [http/https] +./preparePmsData.sh [policy-agent-port] [a1-sim-OSC-port] [a1-sim-STD-port] [http/https] Open link: http://localhost:[control-panel-port]/ All the generated data is shown on the web page +By default, if the containers are started up and running by docker-compose file in the same directory, just run commands: +./preparePmsData.sh + +prepareEcsData.sh +This is to generate some data into the ECS microservice + +prepareDmaapMsg.sh +This is to generate some data into the Dmaap MR, so that PMS reads message from MR + ## License Copyright (C) 2020 Nordix Foundation. diff --git a/docker-compose/data/dmaap-msg.sh b/docker-compose/data/prepareDmaapMsg.sh similarity index 97% rename from docker-compose/data/dmaap-msg.sh rename to docker-compose/data/prepareDmaapMsg.sh index 0bbd1350..684afbb6 100755 --- a/docker-compose/data/dmaap-msg.sh +++ b/docker-compose/data/prepareDmaapMsg.sh @@ -25,7 +25,7 @@ # one policy in a1-sim-STD # Run command: -# ./dmaap-msg.sh [dmaap-mr port] [a1-sim-OSC port] [a1-sim-STD port] [http/https] +# ./prepareDmaapMsg.sh [dmaap-mr port] [a1-sim-OSC port] [a1-sim-STD port] [http/https] dmaa_mr_port=${1:-3904} a1_sim_OSC_port=${2:-30001} diff --git a/docker-compose/data/prepareEcsData.sh b/docker-compose/data/prepareEcsData.sh new file mode 100755 index 00000000..f949f4cf --- /dev/null +++ b/docker-compose/data/prepareEcsData.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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. +# ============LICENSE_END================================================= +# + +# The scripts in data/ will generate some dummy data in the running system. +# It will create: +# one EiProducer in ECS +# one EiType in ECS +# one EiJob in ECS + +# Run command: +# ./prepareEcsData.sh [ECS port] [http/https] + +ecs_port=${1:-8083} +httpx=${4:-"http"} + +echo "using ecs port: "$ecs_port +echo "using protocol: "$httpx +echo -e "\n" + +echo "ECS status:" +curl -skw " %{http_code}" $httpx://localhost:$ecs_port/status +echo -e "\n" + +# Get EiTypes +echo "Get EiTypes:" +curl -X GET -skw " %{http_code}" $httpx://localhost:$ecs_port/ei-producer/v1/eitypes -H Content-Type:application/json | jq +echo -e "\n" + +# Get Individual EiType +echo "Get Individual EiType:" +curl -X GET -skw " %{http_code}" $httpx://localhost:$ecs_port/ei-producer/v1/eitypes/type1 -H Content-Type:application/json | jq +echo -e "\n" + +# Create EiProducer +echo "Create EiProducer:" +curl -X PUT -skw " %{http_code}" $httpx://localhost:$ecs_port/ei-producer/v1/eiproducers/1 -H Content-Type:application/json --data-binary @testdata/ECS/EiProducer.json +echo -e "\n" + +# Get EiProducers +echo "Get EiProducers:" +curl -X GET -skw " %{http_code}" $httpx://localhost:$ecs_port/ei-producer/v1/eiproducers -H Content-Type:application/json | jq +echo -e "\n" + +# Get Individual EiProducer +echo "Get Individual EiProducer:" +curl -X GET -skw " %{http_code}" $httpx://localhost:$ecs_port/ei-producer/v1/eiproducers/1 -H Content-Type:application/json | jq +echo -e "\n" + +# Get Individual EiProducer Status +echo "Get Individual EiProducer:" +curl -X GET -skw " %{http_code}" $httpx://localhost:$ecs_port/ei-producer/v1/eiproducers/1/status -H Content-Type:application/json | jq +echo -e "\n" + +# Create EiJob +echo "Create EiJob Of A Certain Type type1:" +curl -X PUT -skw " %{http_code}" $httpx://localhost:$ecs_port/A1-EI/v1/eitypes/type1/eijobs/job1 -H Content-Type:application/json --data-binary @testdata/ECS/EiJob.json +echo -e "\n" + +# Get EiJobs Of A Certain Type type1 +echo "Get EiJobs Of A Certain Type type1:" +curl -X GET -skw " %{http_code}" $httpx://localhost:$ecs_port/A1-EI/v1/eitypes/type1/eijobs -H Content-Type:application/json | jq +echo -e "\n" + +# Get Individual EiJob: +echo "Get Individual EiJob:" +curl -X GET -skw " %{http_code}" $httpx://localhost:$ecs_port/A1-EI/v1/eitypes/type1/eijobs/job1 -H Content-Type:application/json | jq +echo -e "\n" \ No newline at end of file diff --git a/docker-compose/data/fill_data.sh b/docker-compose/data/preparePmsData.sh similarity index 97% rename from docker-compose/data/fill_data.sh rename to docker-compose/data/preparePmsData.sh index 7b8f6654..94afc6e9 100755 --- a/docker-compose/data/fill_data.sh +++ b/docker-compose/data/preparePmsData.sh @@ -25,7 +25,7 @@ # one policy in a1-sim-STD # Run command: -# ./fill_data.sh [policy-agent port] [a1-sim-OSC port] [a1-sim-STD port] [http/https] +# ./preparePmsData.sh [policy-agent port] [a1-sim-OSC port] [a1-sim-STD port] [http/https] policy_agent_port=${1:-8081} a1_sim_OSC_port=${2:-30001} diff --git a/docker-compose/data/testdata/ECS/EiJob.json b/docker-compose/data/testdata/ECS/EiJob.json new file mode 100644 index 00000000..30edb2cb --- /dev/null +++ b/docker-compose/data/testdata/ECS/EiJob.json @@ -0,0 +1,5 @@ +{ + "jobOwner": "1", + "jobParameters": {}, + "targetUri": "http://example.com" + } \ No newline at end of file diff --git a/docker-compose/data/testdata/ECS/EiProducer.json b/docker-compose/data/testdata/ECS/EiProducer.json new file mode 100644 index 00000000..ebb4ad42 --- /dev/null +++ b/docker-compose/data/testdata/ECS/EiProducer.json @@ -0,0 +1,9 @@ +{ + "ei_job_creation_callback_url": "http://example.com", + "ei_job_deletion_callback_url": "http://example.com", + "ei_producer_supervision_callback_url": "http://example.com", + "supported_ei_types": [{ + "ei_job_data_schema": {}, + "ei_type_identity": "type1" + }] +} \ No newline at end of file diff --git a/docker-compose/ecs/docker-compose.yml b/docker-compose/ecs/docker-compose.yml new file mode 100644 index 00000000..f38d2244 --- /dev/null +++ b/docker-compose/ecs/docker-compose.yml @@ -0,0 +1,43 @@ +# Copyright (C) 2020 Nordix Foundation. 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. +# ============LICENSE_END================================================= +# +version: '3.5' + +networks: + default: + driver: bridge + name: nonrtric-docker-net + +services: + ecs: + image: nexus3.o-ran-sc.org:10003/o-ran-sc/nonrtric-enrichment-coordinator-service:1.0.0-SNAPSHOT + container_name: ecs + networks: + default: + aliases: + - enrichment-service-container + ports: + - 8083:8083 + - 8434:8434 + + policy-control-panel: + image: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-controlpanel:2.0.0 + container_name: policy-control-panel + networks: + - default + ports: + - 8080:8080 + - 8082:8082 +