diff options
Diffstat (limited to 'resources/testscripts/E-version')
19 files changed, 420 insertions, 0 deletions
diff --git a/resources/testscripts/E-version/ns/Instructions b/resources/testscripts/E-version/ns/Instructions new file mode 100644 index 00000000..43333767 --- /dev/null +++ b/resources/testscripts/E-version/ns/Instructions @@ -0,0 +1,24 @@ + +# msb_create +The Python script in this folder is used to register ns to msb. +It mainly includes the creation, upload, query acquisition and deletion of msb. + +# msb_upload +When you execute the msb_create script, you get an ID. At this time, you open the msb_upload script, +change the file path to the path where you want to upload the ns CSAR package, +then execute the msb_upload script and place the ID after executing the command, +and the ID will be automatically passed in. + +# msb_onboard + +You can access the catalog interface by executing the script to implement the onboard of NS packages. + +# msb_get +If you want to query the registration status in msb, you can execute the msb_get script directly. + +# msb_delete +If you want to delete an MSB record, you can execute the msb_del script and put the ID generated +at the time of creation after execution of the command. + +Note: IP address for MSB service + MSB cannot be created repeatedly
\ No newline at end of file diff --git a/resources/testscripts/E-version/ns/msb_create.py b/resources/testscripts/E-version/ns/msb_create.py new file mode 100644 index 00000000..64ad36c6 --- /dev/null +++ b/resources/testscripts/E-version/ns/msb_create.py @@ -0,0 +1,21 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import json +import httplib2 +ud_data = {'userDefinedData': {"key1": "value1"}} +headers = {'content-type': 'application/json', 'accept': 'application/json'} +http = httplib2.Http() +resp, resp_content = http.request('http://172.30.3.104:30280/api/nsd/v1/ns_descriptors', + method="POST", + body=json.dumps(ud_data), + headers=headers) +print(resp['status'], resp_content) diff --git a/resources/testscripts/E-version/ns/msb_delete.py b/resources/testscripts/E-version/ns/msb_delete.py new file mode 100644 index 00000000..5fd589f2 --- /dev/null +++ b/resources/testscripts/E-version/ns/msb_delete.py @@ -0,0 +1,17 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +import sys +create_id = sys.argv[1] + +resp = requests.delete('http://10.12.5.131:30280/api/nsd/v1/ns_descriptors/' + create_id) +print(resp.status_code) diff --git a/resources/testscripts/E-version/ns/msb_get.py b/resources/testscripts/E-version/ns/msb_get.py new file mode 100644 index 00000000..5d2b65c1 --- /dev/null +++ b/resources/testscripts/E-version/ns/msb_get.py @@ -0,0 +1,14 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +resp = requests.get('http://10.12.5.131:30280/api/nsd/v1/ns_descriptors') +print(resp.status_code, resp.json()) diff --git a/resources/testscripts/E-version/ns/msb_onboard.py b/resources/testscripts/E-version/ns/msb_onboard.py new file mode 100644 index 00000000..6144cfd4 --- /dev/null +++ b/resources/testscripts/E-version/ns/msb_onboard.py @@ -0,0 +1,22 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import json +import httplib2 + +ud_data = {'csarId': 'f2f741d9-590e-40b9-9425-8f46f09e8bb6'} +headers = {'content-type': 'application/json', 'accept': 'application/json'} +http = httplib2.Http() +resp, resp_content = http.request('http://159.138.61.203:30280/api/catalog/v1/nspackages', + method="POST", + body=json.dumps(ud_data), + headers=headers) +print(resp['status'], resp_content) diff --git a/resources/testscripts/E-version/ns/msb_upload.py b/resources/testscripts/E-version/ns/msb_upload.py new file mode 100644 index 00000000..d9ee4a15 --- /dev/null +++ b/resources/testscripts/E-version/ns/msb_upload.py @@ -0,0 +1,18 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +import sys +create_id = sys.argv[1] + +url = 'http://10.12.5.131:30280/api/nsd/v1/ns_descriptors/' + create_id + '/nsd_content' +resp = requests.put(url, files={'file': open(r"/home/ubuntu/test/test/ns/ns_vgw.csar", 'rb')}) +print(resp.status_code) diff --git a/resources/testscripts/E-version/ns_instance/Instrutions b/resources/testscripts/E-version/ns_instance/Instrutions new file mode 100644 index 00000000..265b1815 --- /dev/null +++ b/resources/testscripts/E-version/ns_instance/Instrutions @@ -0,0 +1,49 @@ +This process is ns instantiation process +When the NS and vnf packages are uploaded and the MSB is registered successfully. +the instantiation operation begins. +This process mainly includes ns creation, instantiation, information query acquisition, +instance termination and data deletion after termination. + +# create + +Prepare the data before instance creation according to your needs, +and replace the CSAR ID generated after uploading package management. +When the execution is completed, an instance ID and other data are returned. + +# instance + +This process also prepares the data according to the requirement of creating the instance itself, +returns the instance ID after executing the create script, +and then executes the script after executing the script command. At this point, +the instance ID will be passed into the script, and a series of instantiation operations will be started, +and the virtual machine will be created. + +# get + +If you want to get some data generated during instance creation, you can execute the script +The script can query all the instance information in the database. + +# get_one + +If you want to get some instance data during instance creation, you can execute the script +The script only queries the content of an instance information, +executes the script command and puts the created instance ID after the command, +then the query can be completed. + +# terminate + +After the instantiation process is successfully created, +if you want to terminate the instantiation, execute the script. +The virtual machine generated after the script execution will also stop, +as well as some data deletion, termination of services. +After the script command is executed, the instance ID needs to be added after the command. + +# delete + +Some data will remain after termination. Execute the script to clear the data in the database. +The instance ID is also required to execute this process. +The completion of this process indicates the end of an instance creation termination process. + +Note: IP address for MSB service + NS cannot be created repeatedly + Update test scripts of ns_instance diff --git a/resources/testscripts/E-version/ns_instance/create.py b/resources/testscripts/E-version/ns_instance/create.py new file mode 100644 index 00000000..ac1c793f --- /dev/null +++ b/resources/testscripts/E-version/ns_instance/create.py @@ -0,0 +1,30 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import json +import httplib2 + +data = { + "context": { + "globalCustomerId": "hpa_cust", + "serviceType": "vCPE" + }, + "csarId": "825f60e0-71c1-4288-8ada-cdb0a24f84dc", + "nsName": "vcpes", + "description": "description" +} +headers = {'content-type': 'application/json', 'accept': 'application/json'} +http = httplib2.Http() +resp, resp_content = http.request('http://10.12.5.131:30280/api/nslcm/v1/ns', + method="POST", + body=json.dumps(data), + headers=headers) +print(resp['status'], resp_content) diff --git a/resources/testscripts/E-version/ns_instance/delete.py b/resources/testscripts/E-version/ns_instance/delete.py new file mode 100644 index 00000000..0e699ac0 --- /dev/null +++ b/resources/testscripts/E-version/ns_instance/delete.py @@ -0,0 +1,17 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +import sys + +inst_id = sys.argv[1] +resp = requests.delete('http://10.12.5.131:30280/api/nslcm/v1/ns/' + inst_id) +print(resp.status_code) diff --git a/resources/testscripts/E-version/ns_instance/get.py b/resources/testscripts/E-version/ns_instance/get.py new file mode 100644 index 00000000..d36ba142 --- /dev/null +++ b/resources/testscripts/E-version/ns_instance/get.py @@ -0,0 +1,14 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +resp = requests.get('http://10.12.5.131:30280/api/nslcm/v1/ns') +print(resp.status_code, resp.json()) diff --git a/resources/testscripts/E-version/ns_instance/get_one.py b/resources/testscripts/E-version/ns_instance/get_one.py new file mode 100644 index 00000000..5b588ea1 --- /dev/null +++ b/resources/testscripts/E-version/ns_instance/get_one.py @@ -0,0 +1,17 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +import sys +inst_id = sys.argv[1] + +resp = requests.get('http://10.12.5.131:30280/api/nslcm/v1/ns/' + inst_id) +print(resp.status_code, resp.json()) diff --git a/resources/testscripts/E-version/ns_instance/instance.py b/resources/testscripts/E-version/ns_instance/instance.py new file mode 100644 index 00000000..f2e29ffc --- /dev/null +++ b/resources/testscripts/E-version/ns_instance/instance.py @@ -0,0 +1,35 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import json +import httplib2 +import sys +inst_id = sys.argv[1] + +data = { + "additionalParamForNs": { + "sdnControllerId": "2" + }, + "locationConstraints": [{ + "vnfProfileId": "b1bb0ce7-2222-4fa7-95ed-4840d70a1177", + "locationConstraints": { + "vimId": "CloudOwner_ONAP-POD-01-Rail-07" + } + }] +} + +headers = {'content-type': 'application/json', 'accept': 'application/json'} +http = httplib2.Http() +resp, resp_content = http.request('http://10.12.5.131:30280/api/nslcm/v1/ns/' + inst_id + '/instantiate', + method="POST", + body=json.dumps(data), + headers=headers) +print(resp['status'], resp_content) diff --git a/resources/testscripts/E-version/ns_instance/terminate.py b/resources/testscripts/E-version/ns_instance/terminate.py new file mode 100644 index 00000000..21ffd81a --- /dev/null +++ b/resources/testscripts/E-version/ns_instance/terminate.py @@ -0,0 +1,27 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import json +import httplib2 +import sys +inst_data = sys.argv[1] + +data = { + "gracefulTerminationTimeout": 600, + "terminationType": "FORCEFUL" +} +headers = {'content-type': 'application/json', 'accept': 'application/json'} +http = httplib2.Http() +resp, resp_content = http.request('http://10.12.5.131:30280/api/nslcm/v1/ns/' + inst_data + '/terminate', + method="POST", + body=json.dumps(data), + headers=headers) +print(resp['status'], resp_content) diff --git a/resources/testscripts/E-version/vnf/Instructions b/resources/testscripts/E-version/vnf/Instructions new file mode 100644 index 00000000..5b0c1c29 --- /dev/null +++ b/resources/testscripts/E-version/vnf/Instructions @@ -0,0 +1,24 @@ + +# msb_create +The Python script in this folder is used to register vnf to msb. +It mainly includes the creation, upload, query acquisition and deletion of msb. + +# msb_upload +When the msb_create script is executed, an ID is obtained. +At this time, the msb_upload script is opened, the file path is changed to the path of the CSAR package +you want to upload vnf. Then the msb_upload script is executed and the ID is placed after the +command is executed, and the ID is automatically passed in. + +# msb_onboard +You can access the catalog interface by executing the script to implement the onboard of VNF packages. + + +# msb_get +If you want to query the registration status in msb, you can execute the msb_get script directly. + +# msb_delete +If you want to delete an MSB record, you can execute the msb_del script and put the ID +generated at the time of creation after execution of the command. + +Note: IP address for MSB service + MSB cannot be created repeatedly
\ No newline at end of file diff --git a/resources/testscripts/E-version/vnf/msb_create.py b/resources/testscripts/E-version/vnf/msb_create.py new file mode 100644 index 00000000..62533d17 --- /dev/null +++ b/resources/testscripts/E-version/vnf/msb_create.py @@ -0,0 +1,21 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import json +import httplib2 +ud_data = {'userDefinedData': {"key2": "value2"}} +headers = {'content-type': 'application/json', 'accept': 'application/json'} +http = httplib2.Http() +resp, resp_content = http.request('http://10.12.5.131:30280/api/vnfpkgm/v1/vnf_packages', + method="POST", + body=json.dumps(ud_data), + headers=headers) +print(resp['status'], resp_content) diff --git a/resources/testscripts/E-version/vnf/msb_delete.py b/resources/testscripts/E-version/vnf/msb_delete.py new file mode 100644 index 00000000..33b3ff0a --- /dev/null +++ b/resources/testscripts/E-version/vnf/msb_delete.py @@ -0,0 +1,17 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +import sys +create_id = sys.argv[1] + +resp = requests.delete('http://10.12.5.131:30280/api/vnfpkgm/v1/vnf_packages/' + create_id) +print(resp.status_code) diff --git a/resources/testscripts/E-version/vnf/msb_get.py b/resources/testscripts/E-version/vnf/msb_get.py new file mode 100644 index 00000000..486bc66c --- /dev/null +++ b/resources/testscripts/E-version/vnf/msb_get.py @@ -0,0 +1,14 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +resp = requests.get('http://10.12.5.131:30280/api/vnfpkgm/v1/vnf_packages') +print(resp.status_code, resp.json()) diff --git a/resources/testscripts/E-version/vnf/msb_onboard.py b/resources/testscripts/E-version/vnf/msb_onboard.py new file mode 100644 index 00000000..18c7a9ee --- /dev/null +++ b/resources/testscripts/E-version/vnf/msb_onboard.py @@ -0,0 +1,21 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import json +import httplib2 +ud_data = {'csarId': '20c28260-5078-4729-847f-f8b0a3bff8d9'} +headers = {'content-type': 'application/json', 'accept': 'application/json'} +http = httplib2.Http() +resp, resp_content = http.request('http://159.138.61.203:30280/api/catalog/v1/vnfpackages', + method="POST", + body=json.dumps(ud_data), + headers=headers) +print(resp['status'], resp_content) diff --git a/resources/testscripts/E-version/vnf/msb_upload.py b/resources/testscripts/E-version/vnf/msb_upload.py new file mode 100644 index 00000000..1575aaf7 --- /dev/null +++ b/resources/testscripts/E-version/vnf/msb_upload.py @@ -0,0 +1,18 @@ +# Copyright (c) 2019, CMCC Technologies Co., Ltd. +# 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. + +import requests +import sys +create_id = sys.argv[1] + +url = 'http://10.12.5.131:30280/api/vnfpkgm/v1/vnf_packages/' + create_id + '/package_content' +resp = requests.put(url, files={'file': open(r"/home/ubuntu/test/test/vnf/vgw.csar", 'rb')}) +print(resp.status_code) |