aboutsummaryrefslogtreecommitdiffstats
path: root/resources/testscripts/E-version/ns_instance
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/ns_instance
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/ns_instance')
-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
7 files changed, 189 insertions, 0 deletions
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)