From 2bd37da0feb25c2fc5373c49059474ee4f3d2007 Mon Sep 17 00:00:00 2001 From: subhash kumar singh Date: Fri, 27 Oct 2017 14:54:19 +0000 Subject: [PATCH] Implement vnf-create command Implement vnf-create command. Change-Id: Ie6370110de0f704d69521d394d1f36b4c9e02f2f Issue-ID: CLI-15 Signed-off-by: subhash kumar singh --- .../services/vf-create-schema-1.1.yaml | 108 +++++++++++++++++++++ .../services/vnf-create-schema-1.1.yaml | 74 -------------- .../services/vf-create-schema-1.1-moco.json | 56 +++++++++++ .../services/vf-create-schema-1.1-sample.yaml | 14 +++ .../services/vnf-create-sample-1.1.yaml | 8 -- 5 files changed, 178 insertions(+), 82 deletions(-) create mode 100644 plugins/so/src/main/resources/onap-cli-schema/services/vf-create-schema-1.1.yaml delete mode 100644 plugins/so/src/main/resources/onap-cli-schema/services/vnf-create-schema-1.1.yaml create mode 100644 plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-moco.json create mode 100644 plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-sample.yaml delete mode 100644 plugins/so/src/test/resources/onap-cli-sample/services/vnf-create-sample-1.1.yaml 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 index 00000000..8b1d4af7 --- /dev/null +++ b/plugins/so/src/main/resources/onap-cli-schema/services/vf-create-schema-1.1.yaml @@ -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 index 899be1bb..00000000 --- a/plugins/so/src/main/resources/onap-cli-schema/services/vnf-create-schema-1.1.yaml +++ /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 index 00000000..0d8a97b9 --- /dev/null +++ b/plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-moco.json @@ -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 index 00000000..c8b5d94e --- /dev/null +++ b/plugins/so/src/test/resources/onap-cli-sample/services/vf-create-schema-1.1-sample.yaml @@ -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 index 267d3b9c..00000000 --- a/plugins/so/src/test/resources/onap-cli-sample/services/vnf-create-sample-1.1.yaml +++ /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 -- 2.16.6