Update test scripts of ns_instance 11/95111/4
authoryangyan <yangyanyj@chinamobile.com>
Fri, 6 Sep 2019 07:56:49 +0000 (15:56 +0800)
committerYan Yang <yangyanyj@chinamobile.com>
Fri, 6 Sep 2019 09:16:59 +0000 (09:16 +0000)
Change-Id: I18f50db83568b80037c70b7adc1b9b653d265fc2
Issue-ID: VFC-1510
Signed-off-by: yangyan <yangyanyj@chinamobile.com>
resources/testscripts/ns_instance/Instrutions [new file with mode: 0644]
resources/testscripts/ns_instance/create.py [new file with mode: 0644]
resources/testscripts/ns_instance/delete.py [new file with mode: 0644]
resources/testscripts/ns_instance/get.py [new file with mode: 0644]
resources/testscripts/ns_instance/get_one.py [new file with mode: 0644]
resources/testscripts/ns_instance/instance.py [new file with mode: 0644]
resources/testscripts/ns_instance/terminate.py [new file with mode: 0644]

diff --git a/resources/testscripts/ns_instance/Instrutions b/resources/testscripts/ns_instance/Instrutions
new file mode 100644 (file)
index 0000000..02a1637
--- /dev/null
@@ -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 (file)
index 0000000..b0ab6a2
--- /dev/null
@@ -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 (file)
index 0000000..2561371
--- /dev/null
@@ -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 (file)
index 0000000..aac4f1a
--- /dev/null
@@ -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 (file)
index 0000000..1282909
--- /dev/null
@@ -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 (file)
index 0000000..7d3ba15
--- /dev/null
@@ -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 (file)
index 0000000..ae246f4
--- /dev/null
@@ -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)