summaryrefslogtreecommitdiffstats
path: root/resources/testscripts/ns_instance
diff options
context:
space:
mode:
Diffstat (limited to 'resources/testscripts/ns_instance')
-rw-r--r--resources/testscripts/ns_instance/Instrutions48
-rw-r--r--resources/testscripts/ns_instance/create.py30
-rw-r--r--resources/testscripts/ns_instance/delete.py17
-rw-r--r--resources/testscripts/ns_instance/get.py14
-rw-r--r--resources/testscripts/ns_instance/get_one.py17
-rw-r--r--resources/testscripts/ns_instance/instance.py35
-rw-r--r--resources/testscripts/ns_instance/terminate.py27
7 files changed, 188 insertions, 0 deletions
diff --git a/resources/testscripts/ns_instance/Instrutions b/resources/testscripts/ns_instance/Instrutions
new file mode 100644
index 00000000..02a1637e
--- /dev/null
+++ b/resources/testscripts/ns_instance/Instrutions
@@ -0,0 +1,48 @@
+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
diff --git a/resources/testscripts/ns_instance/create.py b/resources/testscripts/ns_instance/create.py
new file mode 100644
index 00000000..b0ab6a2b
--- /dev/null
+++ b/resources/testscripts/ns_instance/create.py
@@ -0,0 +1,30 @@
+# Copyright (c) 2020, 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/ns_instance/delete.py b/resources/testscripts/ns_instance/delete.py
new file mode 100644
index 00000000..25613719
--- /dev/null
+++ b/resources/testscripts/ns_instance/delete.py
@@ -0,0 +1,17 @@
+# Copyright (c) 2020, 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/ns_instance/get.py b/resources/testscripts/ns_instance/get.py
new file mode 100644
index 00000000..aac4f1af
--- /dev/null
+++ b/resources/testscripts/ns_instance/get.py
@@ -0,0 +1,14 @@
+# Copyright (c) 2020, 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/ns_instance/get_one.py b/resources/testscripts/ns_instance/get_one.py
new file mode 100644
index 00000000..12829098
--- /dev/null
+++ b/resources/testscripts/ns_instance/get_one.py
@@ -0,0 +1,17 @@
+# Copyright (c) 2020, 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/ns_instance/instance.py b/resources/testscripts/ns_instance/instance.py
new file mode 100644
index 00000000..7d3ba157
--- /dev/null
+++ b/resources/testscripts/ns_instance/instance.py
@@ -0,0 +1,35 @@
+# Copyright (c) 2020, 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/ns_instance/terminate.py b/resources/testscripts/ns_instance/terminate.py
new file mode 100644
index 00000000..ae246f4f
--- /dev/null
+++ b/resources/testscripts/ns_instance/terminate.py
@@ -0,0 +1,27 @@
+# Copyright (c) 2020, 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)