Implement vnf-create command 31/21031/4
authorsubhash kumar singh <subhash.kumar.singh@huawei.com>
Fri, 27 Oct 2017 14:54:19 +0000 (14:54 +0000)
committersubhash kumar singh <subhash.kumar.singh@huawei.com>
Tue, 31 Oct 2017 10:52:03 +0000 (10:52 +0000)
Implement vnf-create command.

Change-Id: Ie6370110de0f704d69521d394d1f36b4c9e02f2f
Issue-ID: CLI-15
Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
plugins/so/src/main/resources/onap-cli-schema/services/vf-create-schema-1.1.yaml [new file with mode: 0644]
plugins/so/src/main/resources/onap-cli-schema/services/vnf-create-schema-1.1.yaml [deleted file]
plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-moco.json [new file with mode: 0644]
plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-sample.yaml [new file with mode: 0644]
plugins/so/src/test/resources/onap-cli-sample/services/vnf-create-sample-1.1.yaml [deleted file]

diff --git a/plugins/so/src/main/resources/onap-cli-schema/services/vf-create-schema-1.1.yaml b/plugins/so/src/main/resources/onap-cli-schema/services/vf-create-schema-1.1.yaml
new file mode 100644 (file)
index 0000000..8b1d4af
--- /dev/null
@@ -0,0 +1,108 @@
+open_cli_schema_version: 1.0
+name: vf-create
+description: Create a VF
+version: onap-1.1
+service:
+  name: mso
+  version: v3
+  auth: basic
+  mode: direct
+
+parameters:
+  - name: cloud-region
+    description: cloud region identifier
+    type: string
+    short_option: l
+    long_option: cloud-region
+    is_optional: false
+  - name: tenant-id
+    description: openstack tenant id
+    type: string
+    short_option: z
+    long_option: tenant-id
+    is_optional: false
+  - name: product-family
+    description: service type for serivce (e.g. vLB)
+    type: string
+    short_option: w
+    long_option: product-family
+    is_optional: false
+  - name: instance-name
+    description: service instance name
+    type: string
+    short_option: i
+    long_option: instance-name
+    is_optional: false
+  - name: service-instance-id
+    description: unique id for service instance
+    type: string
+    short_option: y
+    long_option: service-instance-id
+    is_optional: false
+  - name: vf-model-invariant-id
+    description: vf model invariant id
+    type: string
+    long_option: vf-model-invariant-id
+    is_optional: false
+  - name: vf-model-uuid
+    description: model uuid for vf
+    type: string
+    long_option: vf-model-uuid
+    is_optional: false
+  - name: vf-model-name
+    description: vf model name
+    type: string
+    long_option: vf-model-name
+    is_optional: false
+  - name: vf-model-version
+    description: vf model version
+    type: string
+    long_option: vf-model-version
+    is_optional: false
+  - name: vf-model-customization-id
+    description: vf model customization id
+    type: string
+    long_option: vf-model-customization-id
+    is_optional: false
+  - name: service-model-invariant-id
+    description: model invariant id
+    type: string
+    long_option: service-model-invariant-id
+    is_optional: false
+  - name: service-model-uuid
+    description: model name version id
+    type: string
+    long_option: service-model-uuid
+    is_optional: false
+  - name: service-model-name
+    description: service model name
+    type: string
+    long_option: service-model-name
+    is_optional: false
+  - name: service-model-version
+    description: service model version
+    type: string
+    long_option: service-model-version
+    is_optional: false
+
+
+results:
+  direction: portrait
+  attributes:
+    - name: vf-id
+      description: id for the created vnf
+      type: string
+      scope: short
+
+http:
+  request:
+    uri: /ecomp/mso/infra/serviceInstances/v3/${service-instance-id}/vnfs
+    method: POST
+    body: '{"requestDetails": {"modelInfo": {"modelType": "vnf","modelInvariantId": "${vf-model-invariant-id}","modelVersionId": "${vf-model-uuid}","modelName": "${vf-model-name}","modelVersion": "${vf-model-version}","modelCustomizationId": "${vf-model-customization-id}"},"cloudConfiguration": {"lcpCloudRegionId": "${cloud-region}","tenantId": "${tenant-id}"},"requestInfo": {"instanceName": "${instance-name}","source": "VID","productFamilyId": "${product-family}" },"relatedInstanceList": [{"relatedInstance": {"instanceId": "${service-instance-id}","modelInfo": {"modelType": "service","modelInvariantId": "${service-model-invariant-id}","modelVersionId": "${service-model-uuid}","modelName": "${service-model-name}","modelVersion": "${service-model-version}"}}}],"requestParameters": {}}}'
+
+  success_codes:
+    - 202
+  result_map:
+    vf-id: $b{$.requestReferences.instanceId}
+  sample_response:
+    body: '{"requestReferences": {"instanceId": "2a152730-f6eb-4dc6-9b81-7a6f6f263d71","requestId": "6402628f-7f67-4605-9e60-0d8632616d02"}}'
diff --git a/plugins/so/src/main/resources/onap-cli-schema/services/vnf-create-schema-1.1.yaml b/plugins/so/src/main/resources/onap-cli-schema/services/vnf-create-schema-1.1.yaml
deleted file mode 100644 (file)
index 899be1b..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-open_cli_schema_version: 1.0
-name: vnf-create
-description: Create a VNF
-version: onap-1.1
-service:
-  name: mso
-  version: v2
-  auth: basic
-  mode: direct
-
-parameters:
-  - name: lcp-cloudregion-id
-    description: AIC LCP node location identifier
-    type: string
-    short_option: l
-    long_option: lcp-cloudregion-id
-    is_optional: false
-  - name: tenant-id
-    description: openstack tenant id (uuid)
-    type: string
-    short_option: z
-    long_option: tenant-id
-    is_optional: false
-  - name: product-family-id
-    description: UUID for product family (named service id in AAI)
-    type: string
-    short_option: w
-    long_option: product-family-id
-    is_optional: false
-  - name: instance-name
-    description: service instance name
-    type: string
-    short_option: i
-    long_option: instance-name
-    is_optional: false
-  - name: supress-rollback
-    description: rollback changes if instantiation fails.
-    type: bool
-    short_option: r
-    long_option: supress-rollback
-    is_optional: true
-  - name: service-instance-id
-    description: unique id for service instance
-    type: string
-    short_option: y
-    long_option: service-instance-id
-    is_optional: false
-  - name: parenet-service-model
-    description: parent service model name
-    type: string
-    short_option: x
-    long_option: parenet-service-model
-    is_optional: false
-
-results:
-  direction: portrait
-  attribute:
-    - name: vnf-instance-id
-      description: id for the created vnf
-      type: string
-      scope: short
-
-http:
-  request:
-    uri: ecomp/mso/infra/serviceInstances/v2/${service-instance-id}/vnfs
-    method: PUT
-    body: '{"requestDetails":{"modelInfo":{"modelType":"vnf","modelInvariantId":"ff5256d1-5a33-55df-13ab-12abad84e7ff","modelNameVersionId":"fe6478e4-ea33-3346-ac12-ab121484a3fe","modelName":"vSAMP12","modelVersion":"1.0","modelCustomizationName":"vSAMP12 1"},"cloudConfiguration":{"lcpCloudRegionId": "${lcp-cloudregion-id}","tenantId":"${tenant-id}"},"requestInfo":{"instanceName":"${instance-name}","productFamilyId":"${product-family-id}","source":"VID","suppressRollback":"${supress-rollback}"},"relatedInstanceList":[{"relatedInstance":{"instanceId":"${service-instance-id}","modelInfo":{"modelType":"service","modelInvariantId":"ff3514e3-5a33-55df-13ab-12abad84e7ff","modelNameVersionId":"fe6985cd-ea33-3346-ac12-ab121484a3fe","modelName":"${parenet-service-model}","modelVersion":"1.0"}}}],"requestParameters":{}}}'
-
-  success_codes:
-    - 202
-  result_mpa:
-    vnf-instance-id: $b{$.vnfInstanceId}
-  sample_response:
-    body: '{"vnfInstanceId":"234567AB"}'
diff --git a/plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-moco.json b/plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-moco.json
new file mode 100644 (file)
index 0000000..0d8a97b
--- /dev/null
@@ -0,0 +1,56 @@
+[ {
+  "request" : {
+    "method" : "post",
+    "uri" : "/ecomp/mso/infra/serviceInstances/v3/2ad87511-4289-4bd7-ab0b-0b29d3d4c8ee/vnfs",
+    "headers" : {
+      "Authorization" : "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==",
+      "X-FromAppId" : "onap-cli",
+      "Accept" : "application/json",
+      "X-TransactionId" : "req-8120ae88-0e56-4f1d-9a00-44f07e9469db",
+      "Content-Type" : "application/json"
+    },
+    "json" : {
+      "requestDetails" : {
+        "modelInfo" : {
+          "modelType" : "vnf",
+          "modelInvariantId" : "cc34cd54-dd7c-44cd-8847-f9577c6f1a49",
+          "modelVersionId" : "8b1f63f3-e0cc-4c27-8903-fafe2f25bfbe",
+          "modelName" : "847cb26a-59a6-475a-94dd",
+          "modelVersion" : "1.0",
+          "modelCustomizationId" : "cf893f5a-1bb1-4e32-a92b-2456e12178f8"
+        },
+        "cloudConfiguration" : {
+          "lcpCloudRegionId" : "RegionOne",
+          "tenantId" : "onap"
+        },
+        "requestInfo" : {
+          "instanceName" : "vlb-cli-sample-11",
+          "source" : "VID",
+          "productFamilyId" : "vLB"
+        },
+        "relatedInstanceList" : [ {
+          "relatedInstance" : {
+            "instanceId" : "2ad87511-4289-4bd7-ab0b-0b29d3d4c8ee",
+            "modelInfo" : {
+              "modelType" : "service",
+              "modelInvariantId" : "1de901ed-17af-4b03-bc1f-41659cfa27cb",
+              "modelVersionId" : "ace39141-09ec-4068-b06d-ac6b23bdc6e0",
+              "modelName" : "demoVLB",
+              "modelVersion" : "1.0"
+            }
+          }
+        } ],
+        "requestParameters" : { }
+      }
+    }
+  },
+  "response" : {
+    "status" : 202,
+    "json" : {
+      "requestReferences" : {
+        "instanceId" : "048c2c4a-ee30-41a1-bb55-c4e7fe1a9a0d",
+        "requestId" : "7bbf50b3-50d9-449e-a87d-694e2f373aea"
+      }
+    }
+  }
+} ]
\ No newline at end of file
diff --git a/plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-sample.yaml b/plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-sample.yaml
new file mode 100644 (file)
index 0000000..c8b5d94
--- /dev/null
@@ -0,0 +1,14 @@
+onap_cli_sample_version: 1.0
+name: vf-create
+version: onap-1.1
+samples:
+  sample1:
+    name: vf-create
+    input: --cloud-region RegionOne --tenant-id onap --product-family vLB --instance-name vlb-cli-sample-11 --service-instance-id 2ad87511-4289-4bd7-ab0b-0b29d3d4c8ee --vf-model-invariant-id cc34cd54-dd7c-44cd-8847-f9577c6f1a49 --vf-model-uuid 8b1f63f3-e0cc-4c27-8903-fafe2f25bfbe --vf-model-name 847cb26a-59a6-475a-94dd --vf-model-version 1.0 --vf-model-customization-id cf893f5a-1bb1-4e32-a92b-2456e12178f8 --service-model-invariant-id 1de901ed-17af-4b03-bc1f-41659cfa27cb --service-model-uuid ace39141-09ec-4068-b06d-ac6b23bdc6e0 --service-model-name demoVLB --service-model-version 1.0 -m http://192.168.17.121:8080 -u InfraPortalClient -p password1$
+    moco: vf-create-schema-1.1-moco.json
+    ouput: |
+      +--------------+--------------------------------------+
+      |property      |value                                 |
+      +--------------+--------------------------------------+
+      |vf-id         |048c2c4a-ee30-41a1-bb55-c4e7fe1a9a0d  |
+      +--------------+--------------------------------------+
diff --git a/plugins/so/src/test/resources/onap-cli-sample/services/vnf-create-sample-1.1.yaml b/plugins/so/src/test/resources/onap-cli-sample/services/vnf-create-sample-1.1.yaml
deleted file mode 100644 (file)
index 267d3b9..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-onap_cli_sample_version: 1.0
-
-name: vnf-create
-version: onap-1.1
-samples:
-    sample1:
-        name: Create a vnf
-        input: -h https://locahost:8080 -u InfraPortalClient -p password1$  -l region1 -t 123ABC -p a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb -i instance -r -s a445678da -m serviceA
\ No newline at end of file