diff options
-rwxr-xr-x | test/csit/plans/appc/healthcheck/bundle_query.sh | 8 | ||||
-rwxr-xr-x | test/csit/plans/appc/healthcheck/health_check.sh | 2 | ||||
-rwxr-xr-x | test/csit/plans/appc/healthcheck/setup.sh | 20 | ||||
-rwxr-xr-x | test/s3p/collector/get_resource_stats.py | 87 | ||||
-rw-r--r-- | test/s3p/generator/locustfile.py | 186 | ||||
-rwxr-xr-x | test/s3p/mock/set_expectation.sh | 249 | ||||
-rw-r--r-- | version-manifest/src/main/resources/docker-manifest.csv | 21 | ||||
-rw-r--r-- | version-manifest/src/main/resources/java-manifest.csv | 28 |
8 files changed, 563 insertions, 38 deletions
diff --git a/test/csit/plans/appc/healthcheck/bundle_query.sh b/test/csit/plans/appc/healthcheck/bundle_query.sh index a85bf31c4..3801d0a12 100755 --- a/test/csit/plans/appc/healthcheck/bundle_query.sh +++ b/test/csit/plans/appc/healthcheck/bundle_query.sh @@ -18,10 +18,10 @@ SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo $SCRIPTS -num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1) -#num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l) -num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l) -failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure) +num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d\| -f1) +#num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l) +num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l) +failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure) echo "There are $num_failed_bundles failed bundles out of $num_bundles installed bundles." diff --git a/test/csit/plans/appc/healthcheck/health_check.sh b/test/csit/plans/appc/healthcheck/health_check.sh index 63e0b17aa..e4cfae8f5 100755 --- a/test/csit/plans/appc/healthcheck/health_check.sh +++ b/test/csit/plans/appc/healthcheck/health_check.sh @@ -17,7 +17,7 @@ SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo $SCRIPTS -response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-appc" -H "X-TransactionId: csit-appc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ) +response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46YWRtaW4=" -X POST -H "X-FromAppId: csit-appc" -H "X-TransactionId: csit-appc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ) if [ "$response" == "200" ]; then echo "APPC health check passed." diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh index 406743303..f47685334 100755 --- a/test/csit/plans/appc/healthcheck/setup.sh +++ b/test/csit/plans/appc/healthcheck/setup.sh @@ -19,19 +19,11 @@ # Place the scripts in run order: SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source ${WORKSPACE}/test/csit/scripts/appc/script1.sh -amsterdam="$(echo ${WORKSPACE} | grep amsterdam | wc -l)" -if [ "$amsterdam" != "1" ]; then - export APPC_DOCKER_IMAGE_VERSION=1.3.0-SNAPSHOT-latest - export CCSDK_DOCKER_IMAGE_VERSION=0.1-STAGING-latest - export BRANCH=master - export SOLUTION_NAME=onap -else - export APPC_DOCKER_IMAGE_VERSION=v1.2.0 - export CCSDK_DOCKER_IMAGE_VERSION=v0.1.0 - export BRANCH=amsterdam - export SOLUTION_NAME=openecomp -fi +export APPC_DOCKER_IMAGE_VERSION=1.3.0-SNAPSHOT-latest +export CCSDK_DOCKER_IMAGE_VERSION=0.2.1-SNAPSHOT +export BRANCH=master +export SOLUTION_NAME=onap export NEXUS_USERNAME=docker export NEXUS_PASSWD=docker @@ -67,8 +59,8 @@ TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do startODL_status=$(docker exec appc_controller_container ps -e | grep startODL | wc -l) -waiting_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Waiting | wc -l) -run_level=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf system:start-level) +waiting_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Waiting | wc -l) +run_level=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client system:start-level) if [ "$run_level" == "Level 100" ] && [ "$startODL_status" -lt "1" ] && [ "$waiting_bundles" -lt "1" ] ; then echo APPC started in $TIME seconds diff --git a/test/s3p/collector/get_resource_stats.py b/test/s3p/collector/get_resource_stats.py new file mode 100755 index 000000000..8ad22c575 --- /dev/null +++ b/test/s3p/collector/get_resource_stats.py @@ -0,0 +1,87 @@ +#!/usr/bin/python +import subprocess +import sys +import json +import datetime +import collections +import re +import tzlocal +from decimal import Decimal + +sys.path.append('../util') +import docker_util + +AAI1_NAME = "AAI1" +AAI2_NAME = "AAI2" +SO_NAME = "SO" +SDNC_NAME = "SDNC" +AAI1_IP = "10.0.1.1" +AAI2_IP = "10.0.1.2" +SO_IP = "10.0.5.1" +SDNC_IP = "10.0.7.1" + +def aai1(): + containers = docker_util.get_container_list(AAI1_IP) + run(AAI1_NAME, AAI1_IP, containers) + +def aai2(): + containers = docker_util.get_container_list(AAI2_IP) + run(AAI2_NAME, AAI2_IP, containers) + +def so(): + containers = docker_util.get_container_list(SO_IP) + run(SO_NAME, SO_IP, containers) + +def sdnc(): + containers = docker_util.get_container_list(SDNC_IP) + run(SDNC_NAME, SDNC_IP, containers) + +def run(component, ip, containers): + cmd = ["ssh", "-i", "onap_dev"] + cmd.append("ubuntu@" + ip) + cmd.append("sudo docker stats --no-stream") + for c in containers: + cmd.append(c) + ssh = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + result = ssh.stdout.readlines() + if result == []: + error = ssh.stderr.readlines() + print(error) + else: + result.pop(0) + for line in result: + token = line.decode('ascii').strip().split() + data = collections.OrderedDict() + data['datetime'] = datetime.datetime.now(tzlocal.get_localzone()).strftime("%Y-%m-%dT%H:%M:%S%Z") + data['component'] = component + data['container'] = token[0] + data['cpu'] = get_percent_number(token[1]) + data['memory'] = get_memory_number(token[2]) + data['physical'] = get_memory_number(token[4]) + data['mem_percent'] = get_percent_number(token[5]) + size = docker_util.get_container_volume_size(ip, data['container']) + if size is not None: + data['volume'] = size + file.write(json.dumps(data, default = myconverter) + "\n") + file.flush() + +def myconverter(o): + if isinstance(o, datetime.datetime): + return o.__str__() + +def get_percent_number(s): + return float(re.sub('[^0-9\.]', '', s)) + +def get_memory_number(s): + f = float(re.sub('[^0-9\.]', '', s)) + if s.endswith("GiB"): + f = f*1000 + return f + +file = open("resource.log", "w+") +while True: + so() + sdnc() + aai1() + aai2() diff --git a/test/s3p/generator/locustfile.py b/test/s3p/generator/locustfile.py new file mode 100644 index 000000000..63031cd78 --- /dev/null +++ b/test/s3p/generator/locustfile.py @@ -0,0 +1,186 @@ +import random +import string +import time +import datetime +import sys +import collections +import json +import tzlocal +import os +import fcntl +import logging +from locust import HttpLocust, TaskSet, task +from decimal import Decimal + + +class UserBehavior(TaskSet): + base = "/ecomp/mso/infra/e2eServiceInstances/v3" + headers = {"Accept":"application/json","Content-Type":"application/json","Authorization":"Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="} + service_creation_body = "{\"service\": {\"name\": \"E2E_volte_%s\", \"description\": \"E2E_volte_ONAP_deploy\", \"serviceDefId\": \"a16eb184-4a81-4c8c-89df-c287d390315a\", \"templateId\": \"012c3446-51db-4a2a-9e64-a936f10a5e3c\", \"parameters\": { \"globalSubscriberId\": \"Demonstration\", \"subscriberName\": \"Demonstration\", \"serviceType\": \"vIMS\", \"templateName\": \"VoLTE e2e Service:null\", \"resources\": [ { \"resourceName\": \"VL OVERLAYTUNNEL\", \"resourceDefId\": \"671d4757-b018-47ab-9df3-351c3bda0a98\", \"resourceId\": \"e859b0fd-d928-4cc8-969e-0fee7795d623\", \"nsParameters\": { \"locationConstraints\": [], \"additionalParamForNs\": { \"site2_vni\": \"5010\", \"site1_localNetworkAll\": \"false\", \"site1_vni\": \"5010\", \"site1_exportRT1\": \"11:1\", \"description\": \"overlay\", \"site2_localNetworkAll\": \"false\", \"site1_routerId\": \"9.9.9.9\", \"site1_fireWallEnable\": \"false\", \"site1_networkName\": \"network1\", \"site2_description\": \"overlay\", \"site1_importRT1\": \"11:1\", \"site1_description\": \"overlay\", \"site2_networkName\": \"network3\", \"name\": \"overlay\", \"site2_fireWallEnable\": \"false\", \"site2_id\": \"ZTE-DCI-Controller\", \"site2_routerId\": \"9.9.9.9\", \"site2_importRT1\": \"11:1\", \"site2_exportRT1\": \"11:1\", \"site2_fireWallId\": \"false\", \"site1_id\": \"DCI-Controller-1\", \"tunnelType\": \"L3-DCI\" } } },{\"resourceName\": \"VL UNDERLAYVPN\", \"resourceDefId\": \"4f5d692b-4022-43ab-b878-a93deb5b2061\", \"resourceId\": \"b977ec47-45b2-41f6-aa03-bf6554dc9620\", \"nsParameters\": { \"locationConstraints\": [], \"additionalParamForNs\": { \"topology\": \"full-mesh\", \"site2_name\": \"site2\", \"sna2_name\": \"site2_sna\", \"description\": \"underlay\", \"sna1_name\": \"site1_sna\", \"ac1_route\": \"3.3.3.12/30:dc84ce88-99f7\", \"ac2_peer_ip\": \"3.3.3.20/30\", \"technology\": \"mpls\", \"ac2_route\": \"3.3.3.20/30:98928302-3287\", \"ac2_id\": \"84d937a4-b227-375f-a744-2b778f36e04e\", \"ac1_protocol\": \"STATIC\", \"ac2_svlan\": \"4004\", \"serviceType\": \"l3vpn-ipwan\", \"ac2_ip\": \"3.3.3.21/30\", \"pe2_id\": \"4412d3f0-c296-314d-9284-b72fc5d485e8\", \"ac1_id\": \"b4f01ac0-c1e1-3e58-a8be-325e4372c960\", \"af_type\": \"ipv4\", \"ac1_svlan\": \"4002\", \"ac1_peer_ip\": \"3.3.3.12/30\", \"ac1_ip\": \"3.3.3.13/30\", \"version\": \"1.0\", \"name\": \"testunderlay\", \"id\": \"123124141\", \"pe1_id\": \"2ef788f0-407c-3070-b756-3a5cd71fde18\", \"ac2_protocol\": \"STATIC\", \"site1_name\": \"stie1\" } } } ] } } }" + # following class variables to make them unique across all users + transaction_file= open("transaction.log", "w+") + operation_file = open("operation.log", "w+") + + def on_start(self): + """ on_start is called when a Locust start before any task is scheduled """ + self.init() + + def init(self): + pass + + def myconverter(self, o): + if isinstance(o, datetime.datetime): + return o.__str__() + + @task(1) + def create_service(self): + # Post a E2E service instantiation request to SO + method = "POST" + url = self.base + service_instance_name = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(10)) + data = self.service_creation_body % service_instance_name + + t1 = datetime.datetime.now(tzlocal.get_localzone()) + response = self.client.request(method, url, headers=self.headers, data=data) + t2 = datetime.datetime.now(tzlocal.get_localzone()) + delta = t2 - t1 + data = collections.OrderedDict() + data['datetime'] = datetime.datetime.now(tzlocal.get_localzone()).strftime("%Y-%m-%dT%H:%M:%S%Z") + data['method'] = method + data['url'] = url + data['status_code'] = response.status_code + data['transaction_time'] = (delta.seconds*10^6 + delta.microseconds)/1000 + fcntl.flock(self.transaction_file, fcntl.LOCK_EX) + self.transaction_file.write(json.dumps(data, default = self.myconverter) + "\n") + self.transaction_file.flush() + os.fsync(self.transaction_file) + fcntl.flock(self.transaction_file, fcntl.LOCK_UN) + serviceId = response.json()['service']['serviceId'] + operationId = response.json()['service']['operationId'] + + # Get the request status + method = "GET" + url = self.base + "/" + serviceId + "/operations/" + operationId + url1 = "/ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}/operations/{operationId}" + count = 1 + while count < 50: + tt1 = datetime.datetime.now() + response = self.client.request(method, url, name=url1, headers=self.headers) + tt2 = datetime.datetime.now() + delta = tt2 - tt1 + result = response.json()['operationStatus']['result'] + progress = response.json()['operationStatus']['progress'] + data = collections.OrderedDict() + data['datetime'] = datetime.datetime.now(tzlocal.get_localzone()).strftime("%Y-%m-%dT%H:%M:%S%Z") + data['method'] = method + data['url'] = url1 + data['status_code'] = response.status_code + data['count'] = count + data['result'] = result + data['progress'] = progress + data['transaction_time'] = (delta.seconds*10^6 + delta.microseconds)/1000 + fcntl.flock(self.transaction_file, fcntl.LOCK_EX) + self.transaction_file.write(json.dumps(data, default = self.myconverter) + "\n") + self.transaction_file.flush() + os.fsync(self.transaction_file) + fcntl.flock(self.transaction_file, fcntl.LOCK_UN) + if result == "finished" or result == "error": + break + else: + time.sleep(1) + count = count + 1 + + if result == "finished": + result = "success" + else: + result = "failure" + t3 = datetime.datetime.now(tzlocal.get_localzone()) + delta = t3 - t1 + data = collections.OrderedDict() + data['datetime'] = t1.strftime("%Y-%m-%dT%H:%M:%S%Z") + data['operation'] = "volte_create" + data['result'] = result + data['duration'] = round(delta.seconds + Decimal(delta.microseconds/1000000.0), 3) + fcntl.flock(self.operation_file, fcntl.LOCK_EX) + self.operation_file.write(json.dumps(data, default = self.myconverter) + "\n") + self.operation_file.flush() + os.fsync(self.operation_file) + fcntl.flock(self.operation_file, fcntl.LOCK_UN) + + self.delete_service(serviceId) + + def delete_service(self, serviceId): + method = "DELETE" + url = self.base + "/" + serviceId + data = "{\"globalSubscriberId\":\"Demonstration\", \"serviceType\":\"vIMS\"}" + t1 = datetime.datetime.now(tzlocal.get_localzone()) + response = self.client.request(method, url, name=self.base, headers=self.headers, data=data) + t2 = datetime.datetime.now(tzlocal.get_localzone()) + delta = t2 - t1 + data = collections.OrderedDict() + data['datetime'] = datetime.datetime.now(tzlocal.get_localzone()).strftime("%Y-%m-%dT%H:%M:%S%Z") + data['method'] = method + data['url'] = self.base + data['status_code'] = response.status_code + data['transaction_time'] = (delta.seconds*10^6 + delta.microseconds)/1000 + fcntl.flock(self.transaction_file, fcntl.LOCK_EX) + self.transaction_file.write(json.dumps(data, default = self.myconverter) + "\n") + self.transaction_file.flush() + os.fsync(self.transaction_file) + fcntl.flock(self.transaction_file, fcntl.LOCK_UN) + operationId = response.json()['operationId'] + + # Get the request status + method = "GET" + url = self.base + "/" + serviceId + "/operations/" + operationId + url1 = "/ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}/operations/{operationId}" + count = 1 + while count < 50: + tt1 = datetime.datetime.now(tzlocal.get_localzone()) + response = self.client.request(method, url, name=url1, headers=self.headers) + tt2 = datetime.datetime.now(tzlocal.get_localzone()) + delta = tt2 - tt1 + result = response.json()['operationStatus']['result'] + progress = response.json()['operationStatus']['progress'] + data = collections.OrderedDict() + data['datetime'] = datetime.datetime.now(tzlocal.get_localzone()).strftime("%Y-%m-%dT%H:%M:%S%Z") + data['method'] = method + data['url'] = url1 + data['status_code'] = response.status_code + data['count'] = count + data['result'] = result + data['progress'] = progress + data['transaction_time'] = (delta.seconds*10^6 + delta.microseconds)/1000 + fcntl.flock(self.transaction_file, fcntl.LOCK_EX) + self.transaction_file.write(json.dumps(data, default = self.myconverter) + "\n") + self.transaction_file.flush() + os.fsync(self.transaction_file) + fcntl.flock(self.transaction_file, fcntl.LOCK_UN) + if result == "finished" or result == "error": + break + else: + time.sleep(1) + count = count + 1 + + if result == "finished": + result = "success" + else: + result = "failure" + t3 = datetime.datetime.now(tzlocal.get_localzone()) + delta = t3 - t1 + data = collections.OrderedDict() + data['datetime'] = t1.strftime("%Y-%m-%dT%H:%M:%S%Z") + data['operation'] = "volte_delete" + data['result'] = result + data['duration'] = round(delta.seconds + Decimal(delta.microseconds/1000000.0), 3) + fcntl.flock(self.operation_file, fcntl.LOCK_EX) + self.operation_file.write(json.dumps(data, default = self.myconverter) + "\n") + self.operation_file.flush() + os.fsync(self.operation_file) + fcntl.flock(self.operation_file, fcntl.LOCK_UN) + + +class WebsiteUser(HttpLocust): + task_set = UserBehavior + min_wait = 1000 + max_wait = 3000 diff --git a/test/s3p/mock/set_expectation.sh b/test/s3p/mock/set_expectation.sh new file mode 100755 index 000000000..e8c2c24b4 --- /dev/null +++ b/test/s3p/mock/set_expectation.sh @@ -0,0 +1,249 @@ +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "GET", + "path": "/api/huaweivnfmdriver/v1/swagger.json" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": ["application/json"] + }, + "body": { + "not": false, + "type": "JSON", + "json": "{\"errcode\":\"0\",\"errmsg\":\"get token successfully.\",\"data\":{\"expiredDate\":\"2018-11-10 10:03:33\"}}" + } + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "POST", + "path": "/controller/v2/tokens" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": ["application/json"] + }, + "body": { + "not": false, + "type": "JSON", + "json": "{\"errcode\":\"0\",\"errmsg\":\"get token successfully.\",\"data\":{\"expiredDate\":\"2018-11-10 10:03:33\",\"token_id\":\"7F06BFDDAC33A989:77DAD6058B1BB81EF1A557745E4D9C78399B31C4DB509704ED8A7DF05A362A59\"}}" + } + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "POST", + "path": "/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services" + }, + "httpResponse": { + "statusCode": 201 + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "PUT", + "path": "/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes" + }, + "httpResponse": { + "statusCode": 204 + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "POST", + "path": "/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites" + }, + "httpResponse": { + "statusCode": 201 + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +# ZTE DCI +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "POST", + "path": "/v2.0/l3-dci-connects" + }, + "httpResponse": { + "statusCode": 201 + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +# huaweivnfmdriver +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "POST", + "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/vnfs" + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": ["application/json"] + }, + "body": { + "not": false, + "type": "JSON", + "json": "{\"vnfInstanceId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9_post\"}" + } + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +# huaweivnfmdriver +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "GET", + "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post", + "queryStringParameters": { + "responseId": ["0"] + } + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": ["application/json"] + }, + "body": { + "not": false, + "type": "JSON", + "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"50\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"0\"}}" + } + }, + "times" : { + "unlimited" : false + }, + "timeToLive" : { + "unlimited" : true + } +}' + +# huaweivnfmdriver +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "GET", + "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post", + "queryStringParameters": { + "responseId": ["0"] + } + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": ["application/json"] + }, + "body": { + "not": false, + "type": "JSON", + "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"100\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"0\"}}" + } + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "GET", + "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post", + "queryStringParameters": { + "responseId": ["50"] + } + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": ["application/json"] + }, + "body": { + "not": false, + "type": "JSON", + "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"100\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"50\"}}" + } + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + + +curl -v -X PUT "http://localhost:1080/expectation" -d '{ + "httpRequest": { + "method": "GET", + "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post", + "queryStringParameters": { + "responseId": ["2"] + } + }, + "httpResponse": { + "statusCode": 200, + "headers": { + "content-type": ["application/json"] + }, + "body": { + "not": false, + "type": "JSON", + "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"100\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"2\"}}" + } + }, + "times" : { + "unlimited" : true + }, + "timeToLive" : { + "unlimited" : true + } +}' + diff --git a/version-manifest/src/main/resources/docker-manifest.csv b/version-manifest/src/main/resources/docker-manifest.csv index 4d9a19b61..f0dc07849 100644 --- a/version-manifest/src/main/resources/docker-manifest.csv +++ b/version-manifest/src/main/resources/docker-manifest.csv @@ -29,14 +29,21 @@ onap/multicloud/vio-vesagent,1.0.0 onap/music,latest onap/oof,latest onap/oom/kube2msb,1.0.0 -onap/org.onap.dcaegen2.collectors.ves.vescollector,v1.1.0 -onap/org.onap.dcaegen2.deployments.bootstrap,v1.1.1 +onap/org.onap.dcaegen2.collectors.snmptrap,latest +onap/org.onap.dcaegen2.collectors.ves.vescollector,latest +onap/org.onap.dcaegen2.deployments.bootstrap,1.1.2 +onap/org.onap.dcaegen2.deployments.cm-container,latest +onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container,latest +onap/org.onap.dcaegen2.deployments.redis-cluster-container,latest +onap/org.onap.dcaegen2.deployments.tca-cdap-container,latest onap/org.onap.dcaegen2.platform.cdapbroker,v4.0.0 -onap/org.onap.dcaegen2.platform.configbinding,v1.2.0 -onap/org.onap.dcaegen2.platform.deployment-handler,v1.1.0 -onap/org.onap.dcaegen2.platform.inventory-api,v1.2.0 -onap/org.onap.dcaegen2.platform.policy-handler,v1.1.0 -onap/org.onap.dcaegen2.platform.servicechange-handler,v1.0.0 +onap/org.onap.dcaegen2.platform.configbinding,latest +onap/org.onap.dcaegen2.platform.deployment-handler,latest +onap/org.onap.dcaegen2.platform.inventory-api,latest +onap/org.onap.dcaegen2.platform.policy-handler,latest +onap/org.onap.dcaegen2.platform.servicechange-handler,latest +onap/org.onap.dcaegen2.services.heartbeat,latest +onap/org.onap.dcaegen2.services.prh.prh-app-server,latest onap/policy-drools,1.2-STAGING-latest onap/policy-pe,1.2-STAGING-latest onap/portal-app,2.1-STAGING-latest diff --git a/version-manifest/src/main/resources/java-manifest.csv b/version-manifest/src/main/resources/java-manifest.csv index 4d3eda7cf..4bed11cda 100644 --- a/version-manifest/src/main/resources/java-manifest.csv +++ b/version-manifest/src/main/resources/java-manifest.csv @@ -90,20 +90,24 @@ org.onap.cli,cli-sample-yaml-generator,1.1.0 org.onap.cli,cli-validation,1.1.0 org.onap.cli,cli-zip,1.1.0 org.onap.dcaegen2,dcaegen2,1.1.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-aai,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-cdap-common,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-cdap-plugins,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-cdap-tca,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-common,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-dmaap,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-it,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-model,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-tca,2.0.0 -org.onap.dcaegen2.analytics.tca,dcae-analytics-test,2.0.0 -org.onap.dcaegen2.collectors.ves,VESCollector,1.1.4 +org.onap.dcaegen2.analytics.tca,dcae-analytics,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-aai,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-cdap-common,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-cdap-plugins,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-cdap-tca,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-common,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-dmaap,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-it,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-model,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-tca,2.2.0 +org.onap.dcaegen2.analytics.tca,dcae-analytics-test,2.2.0 +org.onap.dcaegen2.collectors.ves,VESCollector,1.2.4 org.onap.dcaegen2.platform,inventory-api,1.0.0 org.onap.dcaegen2.platform,servicechange-handler,1.0.0 +org.onap.dcaegen2.services,prh,1.0.0 +org.onap.dcaegen2.services.prh,prh-aai-client,1.0.0 +org.onap.dcaegen2.services.prh,prh-app-server,1.0.0 +org.onap.dcaegen2.services.prh,prh-dmaap-client,1.0.0 org.onap.dmaap.messagerouter.dmaapclient,dmaapClient,1.0.0 org.onap.dmaap.messagerouter.messageservice,dmaapMR1,1.0.1 org.onap.dmaap.messagerouter.mirroragent,dmaapMMAgent,1.0.0 |