aboutsummaryrefslogtreecommitdiffstats
path: root/resources/testscripts/E-version
diff options
context:
space:
mode:
authoryangyan <yangyanyj@chinamobile.com>2020-02-20 18:01:26 +0800
committeryangyan <yangyanyj@chinamobile.com>2020-02-20 20:41:43 +0800
commita84c8a335a496627881401400b801de859efc9cb (patch)
tree20640c4abee6a5331648d26a820e9d50db530880 /resources/testscripts/E-version
parentb72afcc3d49ecaaa62a7e4634ac493ab446e15d5 (diff)
Add test scripts of F version
Change-Id: Id7508c41af929e1385f5ede99fd45cf9fcb84cae Issue-ID: VFC-1621 Signed-off-by: yangyan <yangyanyj@chinamobile.com>
Diffstat (limited to 'resources/testscripts/E-version')
-rw-r--r--resources/testscripts/E-version/ns/Instructions24
-rw-r--r--resources/testscripts/E-version/ns/msb_create.py21
-rw-r--r--resources/testscripts/E-version/ns/msb_delete.py17
-rw-r--r--resources/testscripts/E-version/ns/msb_get.py14
-rw-r--r--resources/testscripts/E-version/ns/msb_onboard.py22
-rw-r--r--resources/testscripts/E-version/ns/msb_upload.py18
-rw-r--r--resources/testscripts/E-version/ns_instance/Instrutions49
-rw-r--r--resources/testscripts/E-version/ns_instance/create.py30
-rw-r--r--resources/testscripts/E-version/ns_instance/delete.py17
-rw-r--r--resources/testscripts/E-version/ns_instance/get.py14
-rw-r--r--resources/testscripts/E-version/ns_instance/get_one.py17
-rw-r--r--resources/testscripts/E-version/ns_instance/instance.py35
-rw-r--r--resources/testscripts/E-version/ns_instance/terminate.py27
-rw-r--r--resources/testscripts/E-version/vnf/Instructions24
-rw-r--r--resources/testscripts/E-version/vnf/msb_create.py21
-rw-r--r--resources/testscripts/E-version/vnf/msb_delete.py17
-rw-r--r--resources/testscripts/E-version/vnf/msb_get.py14
-rw-r--r--resources/testscripts/E-version/vnf/msb_onboard.py21
-rw-r--r--resources/testscripts/E-version/vnf/msb_upload.py18
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)