diff options
author | Itohan Ukponmwan <itohan.ukponmwan@intel.com> | 2019-08-05 16:30:20 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-08-05 16:30:20 +0000 |
commit | 55f55f93890a2c4745ee89505cc889f54ba3c3dd (patch) | |
tree | 5eb804de9b3907b38621a3f5d8169ae3f6a64c21 /products/onap-dublin/features | |
parent | d53b78f51ed1a37f13163fe0ffd77ebd1c7f6f6f (diff) | |
parent | b9d85a33892c99949aff8e3471eb0fdc039d44aa (diff) |
Merge changes I816a1dbb,Ice38da57,I1217d391,I07d22e81,I0ddcdc1c, ...
* changes:
Add integration support
Update framework
Add vf model add artifact command
Add service model artifact add command
Add VF model checkout command
Add VF checkin command
Add sdc service resource property set
Add sdc consumer-show command
Add sdc consumer create command
Add ID output in service-model commands
Update open-cli.properties
Update the sample command OCS YAML
Add product into service and schema list
Update the version format
Update the README
Set SNAPSHOT versioning
clean-up stale onap profiles
Ignore python build artifacts from git
Diffstat (limited to 'products/onap-dublin/features')
35 files changed, 1657 insertions, 10 deletions
diff --git a/products/onap-dublin/features/aai/pom.xml b/products/onap-dublin/features/aai/pom.xml index 0383c0bc..f774302c 100644 --- a/products/onap-dublin/features/aai/pom.xml +++ b/products/onap-dublin/features/aai/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-aai</artifactId> diff --git a/products/onap-dublin/features/integration/pom.xml b/products/onap-dublin/features/integration/pom.xml new file mode 100644 index 00000000..10ca092d --- /dev/null +++ b/products/onap-dublin/features/integration/pom.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2019 Huawei 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. + --> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.cli</groupId> + <artifactId>cli-products-onap-dublin-features</artifactId> + <version>4.0.0-SNAPSHOT</version> + </parent> + + <artifactId>cli-products-onap-dublin-features-integration</artifactId> + <name>cli/products/onap-dublin/features/integration</name> + <packaging>jar</packaging> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + </plugin> + </plugins> + </build> +</project> diff --git a/products/onap-dublin/features/integration/src/main/resources/conf/ovp-tosca-vnf-provision.json b/products/onap-dublin/features/integration/src/main/resources/conf/ovp-tosca-vnf-provision.json new file mode 100644 index 00000000..f3a5354e --- /dev/null +++ b/products/onap-dublin/features/integration/src/main/resources/conf/ovp-tosca-vnf-provision.json @@ -0,0 +1,141 @@ +{ + "open_cli_product" : "onap-dublin", + "open_cli_home" : "/opt/vtp", + "aai_url" : "https://10.12.5.224:30233", + "aai_username" : "AAI", + "aai_password" : "AAI", + + "sdc_onboarding_url" : "http://10.43.89.129:8081", + "sdc_catalog_url" : "http://10.12.5.224:30205", + "sdc_password" : "demo123456!", + "sdc_creator" : "cs0008", + "sdc_tester" : "jm0007", + "sdc_governor" : "gv0001", + "sdc_operator" : "op0001", + "sdc_consumer" : "ocomp", + + "multicloud_url" : "http://10.12.5.224:30280", + + "//" : "#Parameters required to create cloud complex", + "complex_name" : "OVP-LCM", + "street1" : "street1", + "street2" : "street2", + "physical_location" : "phy_type", + "data_center_code" : "ocomp", + "latitude" : "32.89948", + "longitude" : "97.045443", + "lata" : "example-lata-val-28399", + "elevation" : "example-elevation-val-28399", + "region" : "northwest", + "state" : "oregon", + "city" : "hillsboro", + "postal-code" : "00000", + "country" : "USA", + "identity_url" : "http://10.12.11.1:5000/v3", + "service-model-name" : "usn", + "//" : "#Dictionary containing cloud regions and their Parameters", + + "cloud_region_data":{ + "ONAP-POD-01-Rail-05":{ + "cloud-region-version" : "titanium_cloud", + "esr-system-info-id":"5c85ce1f-aa78-4ebf-8d6f-4b62784e9bc7", + "service-url": "http://10.12.11.1:5000/v3", + "user-name":"${cloud-username}", + "password":"${cloud-password}", + "system-type": "VIM", + "ssl-insecure":true, + "cloud-domain":"Default", + "default-tenant":"Integration-HPA", + "tenant-id" : "709ba629fe194f8699b12f9d6ffd86a0", + "cloud-type" : "openstack", + "identity-url": "WillBeUpdatedByMultiCloud", + "system-status":"active" + } + }, + + "//" : "#Parameters to register cloud region", + "cloud-owner" : "CloudOwner", + "owner-defined-type" : "t1", + "cloud-zone" : "CloudZone", + + "service_name" : "USN", + "customer_name" : "ocomp", + "subscriber_name" : "ocomp", + + "//" : "Onboarding parameters", + "vendor-name" : "Huawei", + "entitlement-pool-name" : "ovp-pool", + "entitlement-description" : "ovp-pool", + "start-date" : "08/01/2019", + "expiry-date" : "12/31/2019", + "key-group-name" : "ovp-key", + "key-group-type" : "Universal", + "feature-grp-name" : "ovp-feature", + "feature-grp-desc" : "ovp-feature", + "part-no" : "ovp-part", + "agreement-name" : "ovp-agreement", + "agreement-desc" : "ovp-agreement", + + "onboarding-method" : "NetworkPackage", + + "//" : "Be sure to include single quotes in parameters that have spaces", + "project-code" : "000000", + "service-model-name" : "usn", + "service-model-desc" : "'usn service'", + "icon-id" : "network_l_1-3", + "category-display" : "'Network L1-3'", + "category" : "'network l1-3'", + + "service-test-remarks" : "ovp test", + "service-accept-remarks" : "accepted", + "service-approve-remarks" : "approved", + + "//" : "#Parameters to vfc", + "vfc-url": "http://10.12.5.224:30280", + "vnfs":{ + "usn":{ + "path": "/opt/vtp/data/usn.csar", + "csar-id": "You need change it", + "vsp-name" : "ovp-usn", + "vsp-desc" : "ovp usn", + "vsp-version" : "1.0", + "vf-name" : "ovp-vf", + "vf-description" : "ovp vf", + "vf-remarks" :"ovp test", + "vf-version" : "1.0", + "key": "key2", + "value": "value2" + } + }, + "ns":{ + "csar-id": "You need change it", + "key": "key1", + "value": "value1", + "path": "/opt/vtp/data/usn_service.csar", + "name": "ovp-usn" + }, + "location": "CloudOwner_ONAP-POD-01-Rail-05", + "vnfm_params":{ + "GVNFMDRIVER":{ + "type": "gvnfmdriver", + "vendor": "vfc", + "version": "v1.0", + "url": "http://msb-iag:80/", + "vim-id": "CloudOwner_ONAP-POD-01-Rail-05", + "user-name": "admin", + "user-password": "admin", + "vnfm-version": "v1.0" + }, + "HWVNFMDRIVER":{ + "type": "hwvnfmdriver", + "vendor": "vfc", + "version": "v1.0", + "url": "http://msb-iag:80/", + "vim-id": "CloudOwner_ONAP-POD-01-Rail-05", + "user-name": "admin", + "user-password": "admin", + "vnfm-version": "v1.0" + } + }, + "sdc-controller-id": "2" +} diff --git a/products/onap-dublin/features/integration/src/main/resources/open-cli-schema/ovp-tosca-vnf-provision.yaml b/products/onap-dublin/features/integration/src/main/resources/open-cli-schema/ovp-tosca-vnf-provision.yaml new file mode 100644 index 00000000..b98bef76 --- /dev/null +++ b/products/onap-dublin/features/integration/src/main/resources/open-cli-schema/ovp-tosca-vnf-provision.yaml @@ -0,0 +1,90 @@ +# Copyright 2019 Huawei 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. + +open_cli_schema_version: 1.0 +name: tosca-vnf-provision +description: | + Provision TOSCA based VNF using ONAP. + More details: https://wiki.lfnetworking.org/display/LN/TOSCA+VNF+Validation+Planning + +info: + product: onap-dublin + service: vnf-validation + author: ONAP VTP Team onap-discuss@lists.onap.org + +parameters: + - name: config-json + description: Configuration file path + type: string + short_option: x + long_option: config-json + default_value: $s{env:OPEN_CLI_HOME}/conf/ovp-tosca-vnf-provision.json + is_optional: false + - name: vsp + description: Path to the ONAP vendor service product (VSP) for the VNF to provision + type: binary + short_option: y + long_option: vsp + is_optional: false + - name: vnf-csar + description: Path to the TOSCA CSAR for the VNF to provision + type: binary + short_option: r + long_option: vnf-csar + is_optional: false + - name: ns-csar + description: Path to the TOSCA CSAR for the NS service to provision + type: binary + short_option: b + long_option: ns-csar + is_optional: true + default: false + - name: vnfm-driver + description: VNFM driver to use + type: string + short_option: c + long_option: vnfm-driver + is_optional: false + +results: + direction: portrait + attributes: + - name: vnf-id + description: ONAP VNF instance id + scope: short + type: string + - name: vnf-status + description: Onap VNF status + scope: short + type: string + - name: ns-id + description: Onap NS service instance id + scope: short + type: string + - name: ns-status + description: Onap NS status + scope: short + type: string +cmd: + command: + - python $s{env:OPEN_CLI_HOME}/script/ovp-tosca-vnf-provision.py --result-json $s{tmp:result.json} --config-json ${config-json} --vsp ${vsp} --vnf-csar ${vnf-csar} --ns-csar ${ns-csar} --vnfm-driver ${vnfm-driver} + success_codes: + - 0 + working_directory: . + output: $s{tmp:result.json} + result_map: + vnf-id: $o{$.vnf_id} + vnf-status: $o{$.vnf_status} + ns-id: $o{$.ns_id} + ns-status: $o{$.vnf_status}
\ No newline at end of file diff --git a/products/onap-dublin/features/integration/src/main/resources/script/ovp-tosca-vnf-provision.py b/products/onap-dublin/features/integration/src/main/resources/script/ovp-tosca-vnf-provision.py new file mode 100644 index 00000000..dddb0a08 --- /dev/null +++ b/products/onap-dublin/features/integration/src/main/resources/script/ovp-tosca-vnf-provision.py @@ -0,0 +1,456 @@ +#!/usr/bin/python + +import json +import os +import time +import argparse +import sys +import requests +import __main__ + +def get_parameters(file): + parameters = json.load(file) + return parameters + +def get_out_helper(in_string): + out_list = (((in_string.replace('-','')).replace('|', '')).replace('+', '')).split() + return out_list + +def get_out_helper_2(in_string): + out_list = ((in_string.replace('|', '')).replace('+', '')).split() + return out_list + +def set_open_cli_env(parameters): + os.environ["OPEN_CLI_PRODUCT_IN_USE"] = parameters["open_cli_product"] + os.environ["OPEN_CLI_HOME"] = parameters["open_cli_home"] + +def create_complex(parameters): + complex_create_string = "oclip complex-create -j {} -r {} -x {} -y {} -lt {} -l {} -i {} -lo {} \ + -S {} -la {} -g {} -w {} -z {} -k {} -o {} -q {} -m {} -u {} -p {}".format(parameters["street2"], \ + parameters["physical_location"], parameters["complex_name"], \ + parameters["data_center_code"], parameters["latitude"], parameters["region"], \ + parameters["street1"], parameters["longitude"], parameters["state"], \ + parameters["lata"], parameters["city"], parameters["postal-code"], \ + parameters["complex_name"], parameters["country"], parameters["elevation"], \ + parameters["identity_url"], parameters["aai_url"], parameters["aai_username"], \ + parameters["aai_password"]) + + os.system(complex_create_string) + +def create_vlm(parameters): + vlm_create_string = "oclip vlm-create -x {} -u {} -p {} -m {}".format(parameters["vendor-name"], \ + parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"]) + command_out = (os.popen(vlm_create_string)).read() + out_list = get_out_helper(command_out) + vlm_id = out_list[3] + vlm_version = out_list[5] + + entitlement_string = "oclip vlm-entitlement-pool-create -x {} -y {} -e {} -z {} -k {} -g {} -l {} -u {} -p {} -m {}".format( \ + parameters["entitlement-pool-name"], vlm_id, vlm_version, parameters["entitlement-description"], parameters["vendor-name"], \ + parameters["expiry-date"], parameters["start-date"], parameters["sdc_creator"], parameters["sdc_password"], \ + parameters["sdc_onboarding_url"]) + command_out = (os.popen(entitlement_string)).read() + entitlement_id = (get_out_helper(command_out))[3] + + + key_group_string = "oclip vlm-key-group-create -c {} -e {} -x {} -y {} -u {} -p {} -m {}".format(vlm_id, vlm_version, \ + parameters["key-group-name"], parameters["key-group-type"], parameters["sdc_creator"], parameters["sdc_password"], \ + parameters["sdc_onboarding_url"]) + command_out = (os.popen(key_group_string)).read() + key_group_id = (get_out_helper(command_out))[3] + + feature_group_string = "oclip vlm-feature-group-create -x {} -y {} -e {} -z {} -g {} -b {} -c {} -u {} -p {} -m {}".format( + parameters["feature-grp-name"], vlm_id, vlm_version, parameters["feature-grp-desc"], key_group_id, entitlement_id, \ + parameters["part-no"], parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"]) + command_out = (os.popen(feature_group_string)).read() + feature_group_id = (get_out_helper(command_out))[3] + + agreement_string = "oclip vlm-aggreement-create -x {} -y {} -e {} -z {} -g {} -u {} -p {} -m {}".format(parameters["agreement-name"], \ + vlm_id, vlm_version, parameters["agreement-desc"], feature_group_id, parameters["sdc_creator"], parameters["sdc_password"], \ + parameters["sdc_onboarding_url"]) + command_out = (os.popen(agreement_string)).read() + agreement_id = (get_out_helper(command_out))[3] + + submit_string = "oclip vlm-submit -x {} -y {} -u {} -p {} -m {}".format(vlm_id, vlm_version, parameters["sdc_creator"], \ + parameters["sdc_password"], parameters["sdc_onboarding_url"]) + os.system(submit_string) + + output = [feature_group_id, agreement_id, vlm_version, vlm_id ] + return output + +def create_vsp(parameters, in_list): + vnfs = parameters["vnf"] + vsp_dict = {} + for name, value in vnfs.iteritems(): + create_string = "oclip vsp-create -j {} -o {} -e {} -x {} -y {} -i {} -c {} -g {} -u {} -p {} -m {}".format( in_list[0], \ + parameters["onboarding-method"], parameters["vendor-name" ], value.get("vsp-name"), value.get("vsp-desc"), in_list[1], \ + in_list[2], in_list[3], parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"] ) + command_out = (os.popen(create_string)).read() + out_list = get_out_helper(command_out) + vsp_id = out_list[3] + vsp_version = out_list[5] + + os.system("oclip vsp-add-artifact -x {} -y {} -z {} -u {} -p {} -m {}".format(vsp_id, vsp_version, value.get("path"), \ + parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_onboarding_url"])) + + os.system("oclip vsp-validate -x {} -y {} -u {} -p {} -m {}".format(vsp_id, vsp_version, parameters["sdc_creator"], \ + parameters["sdc_password"], parameters["sdc_onboarding_url"])) + + os.system("oclip vsp-submit -x {} -y {} -u {} -p {} -m {}".format(vsp_id, vsp_version, parameters["sdc_creator"], \ + parameters["sdc_password"], parameters["sdc_onboarding_url"])) + + os.system("oclip vsp-package -x {} -y {} -u {} -p {} -m {}".format(vsp_id, vsp_version, parameters["sdc_creator"], \ + parameters["sdc_password"], parameters["sdc_onboarding_url"])) + + vsp_ids[name] = vsp_id + return vsp_ids + +def create_vf_model(parameters, vsp_dict): + vnfs = parameters["vnfs"] + vf_dict = {} + for name, value in vnfs.iteritems(): + create_string = "oclip vf-model-create -y {} -g {} -x {} -z {} -b {} -u {} -p {} -m {}".format(value.get("vf-description"), \ + value.get("vsp-version"), value.get("vf-name"), parameters["vendor-name"], vsp_dict[name], \ + parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"]) + os.system(create_string) + + output = (os.popen("oclip vf-model-list -m {} -u {} -p {} | grep {}".format(parameters["sdc_catalog_url"], \ + parameters["sdc_creator"], parameters["sdc_password"], value.get("vf-name")))).read() + output = (get_out_helper_2(output)) + + vf_unique_id = output[1] + + # checkout + output = (os.popen("oclip vf-model-checkout --host-url {} --host-username {} --host-password {} --vf-model-uuid {} --format json".format( + parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], vf_unique_id))).read() + vf_unique_id = (json.loads(output))['ID'] + + # add consumer, if already exist , just ignore, below command would fail simply !! + os.system("oclip sdc-consumer-create --consumer-name {}".format(parameters["sdc_consumer"])) + + def get_vnf_name(vnf_csar_path): + return vnf_csar_path.replace("_"," ").replace(".", " ").replace("-"," ") + + # add artifact + os.system("oclip vf-model-add-artifact --host-url {} --host-username {} --host-password {} --vf-model-uuid {} --artifact {} --artifact-name {}".format( + parameters["sdc_catalog_url"], parameters["sdc_consumer"], parameters["sdc_password"], vf_unique_id, vnf_csar, get_vnf_name(vnf_csar))) + + # check-in + os.system("oclip vf-model-checkin --host-url {} --host-username {} --host-password {} --vf-model-uuid {}".format( + parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], vf_unique_id)) + + os.system("oclip vf-model-certify -b {} -r {} -u {} -p {} -m {}".format(vf_unique_id, value.get("vf-remarks"), \ + parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"])) + + #Check for new parameters after certification + output = (os.popen("oclip vf-model-list -m {} -u {} -p {} | grep {}".format(parameters["sdc_catalog_url"], \ + parameters["sdc_creator"], parameters["sdc_password"], value.get("vf-name")))).read() + output = (get_out_helper_2(output)) + + vf_dict[name] = output[1] + + return vf_dict + + +def create_service_model(parameters, vf_dict): + vnfs = parameters["vnfs"] + + create_string = "oclip service-model-create -z {} -y {} -e {} -x {} -c {} -b {} -u {} -p {} -m {} |grep ID".format(parameters["project-code"], \ + parameters["service-model-desc"], parameters["icon-id"], parameters["service-model-name"], parameters["category-display"], \ + parameters["category"],parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"]) + + service_model_id = (get_out_helper_2((os.popen(create_string)).read()))[1] + + # checkout + output = (os.popen("oclip service-model-checkout --host-url {} --host-username {} --host-password {} --service-model-uuid {} --format json".format( + parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], service_model_id))).read() + service_model_id = (json.loads(output))['ID'] + + # add consumer, if already exist , just ignore, below command would fail simply !! + os.system("oclip sdc-consumer-create --consumer-name {}".format(parameters["sdc_consumer"])) + + for name, value in vnfs.iteritems(): + output = (os.popen("oclip service-model-add-vf -x {} -b {} -y {} -z {} -u {} -p {} -m {}".format(service_model_id, \ + parameters["vf-version"], vf_dict[name], value.get("vf-name"), parameters["sdc_creator"], \ + parameters["sdc_password"], parameters["sdc_catalog_url"] ))).read() + vf_unique_id = (json.loads(output))['ID'] + vf_uuid = (json.loads(output))['UUID'] + + def get_ns_name(ns_csar_path): + return vnf_csar_path.replace("_"," ").replace(".", " ").replace("-"," ") + + # add artifact + os.system("oclip service-model-add-artifact --host-url {} --host-username {} --host-password {} --service-uniqueId {} --artifact {} --artifact-name {}".format( + parameters["sdc_catalog_url"], parameters["sdc_consumer"], parameters["sdc_password"], vf_unique_id, ns_csar, get_vnf_name(ns_csar))) + + # set properties + os.system("oclip service-model-set-property --host-url {} --host-username {} --host-password {} --service-uniqueId {} --resource-uuid {} --resource-uniqueId {} --property-name nf_type --property-value {}".format( + parameters["sdc_catalog_url"], parameters["sdc_consumer"], parameters["sdc_password"], service_model_id , vf_unique_id, vf_uuid, vnfm_driver)) + + # check-in + os.system("oclip service-model-checkin --host-url {} --host-username {} --host-password {} --service-model-uuid {}".format( + parameters["sdc_catalog_url"], parameters["sdc_creator"], parameters["sdc_password"], service_model_id)) + + + os.system("oclip service-model-test-request -b {} -r {} -u {} -p {} -m {}".format(service_model_id, parameters["service-test-remarks"], \ + parameters["sdc_creator"], parameters["sdc_password"], parameters["sdc_catalog_url"])) + + os.system("oclip service-model-test-start -b {} -u {} -p {} -m {}".format(service_model_id, parameters["sdc_tester"], \ + parameters["sdc_password"], parameters["sdc_catalog_url"])) + + os.system("oclip service-model-test-accept -b {} -r {} -u {} -p {} -m {}".format(service_model_id, parameters["service-accept-remarks"], \ + parameters["sdc_tester"], parameters["sdc_password"], parameters["sdc_catalog_url"])) + + #Get uniqueId for the service model + service_model_values = (os.popen("oclip service-model-list -u {} -p {} -m {} |grep {}".format(parameters["sdc_creator"], \ + parameters["sdc_password"], parameters["sdc_catalog_url"], parameters["service-model-name"]))).read() + service_model_values = get_out_helper_2(service_model_values) + service_model_uniqueId = (service_model_values)[1] + + os.system("oclip service-model-approve -b {} -r {} -u {} -p {} -m {}".format(service_model_uniqueId, parameters["service-approve-remarks"], \ + parameters["sdc_governor"], parameters["sdc_password"], parameters["sdc_catalog_url"])) + + os.system("oclip service-model-distribute -b {} -u {} -p {} -m {}".format(service_model_uniqueId, parameters["sdc_operator"], \ + parameters["sdc_password"], parameters["sdc_catalog_url"])) + + return service_model_values + +def register_cloud_helper(cloud_region, values, parameters): + #Create Cloud + cloud_create_string = 'oclip cloud-create -e {} -b {} -I {{\\\\\\"openstack-region-id\\\\\\":\\\\\\"{}\\\\\\"}} \ + -x {} -y {} -j {} -w {} -l {} -url {} -n {} -q {} -r {} -Q {} -i {} -g {} -z {} -k {} -c {} -m {} -u {} -p {}'.format( + values.get("esr-system-info-id"), values.get("user-name"), cloud_region, parameters["cloud-owner"], \ + cloud_region, values.get("password"), values.get("cloud-region-version"), values.get("default-tenant"), \ + values.get("service-url"), parameters["complex_name"], values.get("cloud-type"), parameters["owner-defined-type"], \ + values.get("system-type"), values.get("identity-url"), parameters["cloud-zone"], values.get("ssl-insecure"), \ + values.get("system-status"), values.get("cloud-domain"), parameters["aai_url"], parameters["aai_username"], \ + parameters["aai_password"]) + + + os.system(cloud_create_string) + + #Associate Cloud with complex + complex_associate_string = "oclip complex-associate -x {} -y {} -z {} -m {} -u {} -p {}".format(parameters["complex_name"], \ + cloud_region, parameters["cloud-owner"], parameters["aai_url"], parameters["aai_username"], parameters["aai_password"]) + os.system(complex_associate_string) + + #Register Cloud with Multicloud + multicloud_register_string = "oclip multicloud-register-cloud -y {} -x {} -m {}".format(parameters["cloud-owner"], \ + cloud_region, parameters["multicloud_url"]) + os.system(multicloud_register_string) + +def register_all_clouds(parameters): + cloud_dictionary = parameters["cloud_region_data"] + for cloud_region, cloud_region_values in cloud_dictionary.iteritems(): + register_cloud_helper(cloud_region, cloud_region_values, parameters) + +def create_service_type(parameters): + create_string = "oclip service-type-create -x {} -m {} -u {} -p {}".format( parameters["service_name"], \ + parameters["aai_url"], parameters["aai_username"], parameters["aai_password"]) + os.system(create_string) + +def create_customer(parameters): + create_string = "oclip customer-create -x {} -y {} -m {} -u {} -p {}".format( parameters["customer_name"], \ + parameters["subscriber_name"], parameters["aai_url"], parameters["aai_username"], parameters["aai_password"]) + os.system(create_string) + +def add_customer_subscription(parameters): + subscription_check = 0 + for cloud_region, cloud_region_values in (parameters["cloud_region_data"]).iteritems(): + if subscription_check == 0 : + subscription_string = "oclip subscription-create -x {} -c {} -z {} -e {} -y {} -r {} -m {} -u {} -p {}".format(\ + parameters["customer_name"], cloud_region_values.get("tenant-id"), parameters["cloud-owner"], parameters["service_name"],\ + cloud_region_values.get("default-tenant"), cloud_region, parameters["aai_url"], parameters["aai_username"], parameters["aai_password"] ) + else: + subscription_string = "oclip subscription-cloud-add -x {} -c {} -z {} -e {} -y {} -r {} -m {} -u {} -p {}".format(\ + parameters["customer_name"], cloud_region_values.get("tenant-id"), parameters["cloud-owner"], parameters["service_name"],\ + cloud_region_values.get("default-tenant"), cloud_region, parameters["aai_url"], parameters["aai_username"], parameters["aai_password"] ) + os.system(subscription_string) + subscription_check+=1 + +def register_vnfm_helper(vnfm_key, values, parameters): + #Create vnfm + vnfm_create_string = 'oclip vnfm-create -b {} -c {} -e {} -v {} -g {} -x {} -i {} -j {} -q {} \ + -m {} -u {} -p {}'.format(vnfm_key, values.get("type"), values.get("vendor"), \ + values.get("version"), values.get("url"), values.get("vim-id"), \ + values.get("user-name"), values.get("user-password"), values.get("vnfm-version"), \ + parameters["aai_url"], parameters["aai_username"], parameters["aai_password"]) + + os.system(vnfm_create_string) + +def register_vnfm(parameters): + vnfm_params = parameters["vnfm_params"] + for vnfm_key, vnfm_values in vnfm_params.iteritems(): + register_vnfm_helper(vnfm_key, vnfm_values, parameters) + + +def onboard_vnf(parameters): + vnfs = parameters["vnfs"] + vnf_onboard_outputs = {} + + for key, value in vnfs.items(): + vnf_onboard_string = 'oclip vfc-catalog-onboard-vnf -c {}'.format(value.get("csar-id")) + vnf_onboard_outs[key] = (os.popen(ns_onboard_string)).read() + return vnf_onboard_outputs + +def onboard_ns(parameters): + ns_onboard_string = 'oclip vfc-catalog-onboard-ns -c {}'.format(parameters["ns-csar-id"]) + ns_onboard_out = (os.popen(ns_onboard_string)).read() + return ns_onboard_out + +def create_ns(parameters, csar_id): + ns = parameters["ns"] + ns_create_string = 'oclip vfc-nslcm-create -m {} -c {} -n {} -q {} -S {}'.format(parameters["vfc-url"], \ + csar_id, ns.get("name"), parameters["customer_name"], parameters["service_name"]) + print ns_create_string + ns_create_out = (os.popen(ns_create_string)).read() + print ns_create_out + ns_instance_id = (get_out_helper_2(ns_create_out))[3] + return ns_instance_id + +def instantiate_ns(parameters, ns_instance_id): + ns_instantiate_string = 'oclip vfc-nslcm-instantiate -m {} -i {} -c {} -n {}'.format(parameters["vfc-url"], \ + ns_instance_id, parameters["location"], parameters["sdc-controller-id"]) + print ns_instantiate_string + + ns_instantiate_out = (os.popen(ns_instantiate_string)).read() + return ns_instantiate_out + +def create_ns_package(parameters): + ns = parameters["ns"] + create_ns_string = 'oclip vfc-catalog-create-ns -m {} -c {} -e {}'.format(parameters["vfc-url"], \ + ns.get("key"), ns.get("value")) + cmd_out = (os.popen(create_ns_string)).read() + out_list = get_out_helper_2(cmd_out) + return out_list[4] + +def create_vnf_package(parameters): + vnfs = parameters["vnfs"] + outputs = {} + + for vnf_key, vnf_values in vnfs.iteritems(): + create_vnf_string = 'oclip vfc-catalog-create-vnf -m {} -c {} -e {}'.format(parameters["vfc-url"], \ + vnf_values.get("key"), vnf_values.get("value")) + cmd_out = (os.popen(create_vnf_string)).read() + out_list = get_out_helper_2(cmd_out) + outputs[vnf_key] = out_list[4] + + return outputs + +def upload_ns_package(parameters, ns_package_output): + ns = parameters["ns"] + ns_upload_string = '{}/api/nsd/v1/ns_descriptors/{}/nsd_content'.format(parameters["vfc-url"], ns_package_output) + print ns_upload_string + print ns.get("path") + resp = requests.put(ns_upload_string, files={'file': open(ns.get("path"), 'rb')}) + return resp + +def upload_vnf_package(parameters, vnf_package_output): + vnfs = parameters["vnfs"] + for vnf_key, vnf_values in vnfs.iteritems(): + vnf_upload_str = '{}/api/vnfpkgm/v1/vnf_packages/{}/package_content'.format(parameters["vfc-url"], \ + vnf_package_output[vnf_key], vnf_package_output[vnf_key]) + resp = requests.put(vnf_upload_str, files={'file': open(vnf_values.get("path"), 'rb')}) + return resp + + +def provision_vnf(): + + result_json = {} + result_json['vnf_id'] = '' + result_json['vnf_status'] = '' + result_json['ns_id'] = '' + result_json['ns_status'] = '' + + # 1.Setup cloud and service + #setup cloud and region + create_complex(parameters) + register_all_clouds(parameters) + + # setup subscription and customer + create_service_type(parameters) + create_customer(parameters) + add_customer_subscription(parameters) + + # setup vnfm + register_vnfm(parameters) + + # Setup License + vlm_output = create_vlm(parameters) + print "vlm parameters={}".format(vlm_output) + + # 2. on-board VSP + vsp_id = create_vsp(parameters, vlm_output) + print "vsp id={}".format(vsp_id) + + # 3. model VF + vf_model_dict = create_vf_model(parameters, vsp_id) + print "vf model parameters={}".format(vf_model_dict) + vf_id = vf_model_dict["vf_id"] + vf_unique_id = vf_model_dict["vf_unique_id"] + + # 4. model NS and 5. Approve and distribute + service_model_list = create_service_model(parameters, vf_unique_id) + print "service model parameters={}".format(service_model_list) + + # 6. onboard VNF + vnf_onboard_output = onboard_vnf(parameters) + print vnf_onboard_output + + # 7. onboard NS + ns_onboard_out = onboard_ns(parameters) + print ns_onboard_out + + # 8. create NS + ns_instance_id = create_ns(parameters, ns_package_output) + print ns_instance_id + + instantiate_ns_output = instantiate_ns(parameters, ns_instance_id) + print instantiate_ns_output + + return result_json + +def persist_result(result_path, result): + f = open(result_json_path, "w") + + result_json = {} + result_json['vnf_id'] = result['vnf_id'] + result_json['vnf_status'] = result['vnf_status'] + result_json['ns_id'] = result['ns_id'] + result_json['ns_status'] = result['ns_status'] + + f.write(json.dumps(result_json)) + + print result_json + + f.close() + +#Main +parser = argparse.ArgumentParser() +parser.add_argument('--config-json', action='store', dest='config_file_path', help='Config file path') +parser.add_argument('--vsp', action='store', dest='vsp', help='ONAP VSP') +parser.add_argument('--vnf-csar', action='store', dest='vnf_csar', help='VNF CSAR') +parser.add_argument('--ns-csar', action='store', dest='ns_csar', help='NS CSAR') +parser.add_argument('--vnfm-driver', action='store', dest='vnfm_driver', help='gVNFM or hwVNFM') +parser.add_argument('--result-json', action='store', dest='result_json_path', help='Output result json') + +#Retrive the params +args = parser.parse_args() +print args + +config_file = open(args.config_file_path) +vsp = args.vsp +vnf_csar = args.vnf_csar +ns_csar = args.ns_csar +vnfm_driver = args.vnfm_driver +result_json_path = args.result_json_path + +# setup CLI +parameters = get_parameters(config_file) +set_open_cli_env(parameters) + +output = provision_vnf() + +persist_result(result_json_path, output) + +print "Provision is completed !"
\ No newline at end of file diff --git a/products/onap-dublin/features/msb/pom.xml b/products/onap-dublin/features/msb/pom.xml index 57f9eae2..ae8e044a 100644 --- a/products/onap-dublin/features/msb/pom.xml +++ b/products/onap-dublin/features/msb/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-msb</artifactId> diff --git a/products/onap-dublin/features/multicloud/pom.xml b/products/onap-dublin/features/multicloud/pom.xml index aadb0814..06d2ee91 100644 --- a/products/onap-dublin/features/multicloud/pom.xml +++ b/products/onap-dublin/features/multicloud/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-multicloud</artifactId> diff --git a/products/onap-dublin/features/policy/pom.xml b/products/onap-dublin/features/policy/pom.xml index aeca79ea..f7a885e8 100644 --- a/products/onap-dublin/features/policy/pom.xml +++ b/products/onap-dublin/features/policy/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-policy</artifactId> diff --git a/products/onap-dublin/features/pom.xml b/products/onap-dublin/features/pom.xml index 23a2d640..95b25338 100644 --- a/products/onap-dublin/features/pom.xml +++ b/products/onap-dublin/features/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features</artifactId> @@ -41,12 +41,58 @@ <module>sdnc</module> <module>so</module> <module>vnfsdk</module> + <module>integration</module> </modules> <build> <pluginManagement> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>3.1.0</version> + <executions> + <execution> + <id>copy-resource-script</id> + <phase>install</phase> + <goals> + <goal>copy-resources</goal> + </goals> + + <configuration> + <outputDirectory>../../../../products/target/script</outputDirectory> + <resources> + <resource> + <directory>${project.basedir}/src/main/resources/script</directory> + <includes> + <include>*.*</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-resource-conf</id> + <phase>install</phase> + <goals> + <goal>copy-resources</goal> + </goals> + + <configuration> + <outputDirectory>../../../../products/target/conf</outputDirectory> + <resources> + <resource> + <directory>${project.basedir}/src/main/resources/conf</directory> + <includes> + <include>*.*</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> diff --git a/products/onap-dublin/features/sdc/pom.xml b/products/onap-dublin/features/sdc/pom.xml index 8a91f7b4..b0cded4a 100644 --- a/products/onap-dublin/features/sdc/pom.xml +++ b/products/onap-dublin/features/sdc/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-sdc</artifactId> diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-moco.json new file mode 100644 index 00000000..71bce5dd --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-moco.json @@ -0,0 +1,31 @@ +[ { + "request" : { + "method" : "post", + "uri" : "/sdc2/rest/v1/consumers", + "headers" : { + "Accept" : "application/json", + "USER_ID" : "jh0003", + "Content-Type" : "application/json" + }, + "json" : { + "consumerName" : "mrkanag", + "consumerSalt" : "ab2987754f0c6293174865e86c47035d", + "consumerPassword" : "7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6" + } + }, + "response" : { + "status" : 201, + "json" : { + "consumerName" : "mrkanag", + "consumerPassword" : "7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6", + "consumerSalt" : "ab2987754f0c6293174865e86c47035d", + "consumerLastAuthenticationTime" : 0, + "consumerDetailsLastupdatedtime" : 1564379189744, + "lastModfierAtuid" : "jh0003", + "version" : null, + "ownerId" : null, + "empty" : false, + "type" : null + } + } +} ]
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-sample.yaml new file mode 100644 index 00000000..f043ad70 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-create-schema-dublin-sample.yaml @@ -0,0 +1,9 @@ +open_cli_sample_version: 1.0 +name: --host-url +version: open-cli +samples: + sample1: + name: --host-url + input: https://159.138.32.178:30204 --consumer-name mrkanag --debug + moco: sdc-consumer-create-schema-dublin-moco.json + output:
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-moco.json new file mode 100644 index 00000000..7f025f67 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-moco.json @@ -0,0 +1,27 @@ +[ { + "request" : { + "method" : "get", + "uri" : "/sdc2/rest/v1/consumers/mrkanag", + "headers" : { + "Accept" : "application/json", + "USER_ID" : "jh0003", + "Content-Type" : "application/json" + }, + "json" : null + }, + "response" : { + "status" : 200, + "json" : { + "consumerName" : "mrkanag", + "consumerPassword" : "7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6", + "consumerSalt" : "ab2987754f0c6293174865e86c47035d", + "consumerLastAuthenticationTime" : 0, + "consumerDetailsLastupdatedtime" : 1564379189744, + "lastModfierAtuid" : "jh0003", + "version" : null, + "ownerId" : null, + "empty" : false, + "type" : null + } + } +} ]
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-sample.yaml new file mode 100644 index 00000000..4b3571d6 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/consumer/sdc-consumer-show-schema-dublin-sample.yaml @@ -0,0 +1,9 @@ +open_cli_sample_version: 1.0 +name: --host-url +version: open-cli +samples: + sample1: + name: --host-url + input: https://159.138.32.178:30204 --consumer-name mrkanag --debug + moco: sdc-consumer-show-schema-dublin-moco.json + output: | diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-moco.json new file mode 100644 index 00000000..2e265288 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-moco.json @@ -0,0 +1,154 @@ +[ { + "request" : { + "method" : "post", + "uri" : "/sdc2/rest/v1/catalog/services/66bc211e-27a1-4a1c-aee3-75952617b7fe/resourceInstance/ff654717-85e1-4458-a9ce-7dedca7be552.3694ef05-56e3-44d0-9103-7805ef8d2929.extztecp0/properties", + "headers" : { + "Authorization" : "Basic Y3MwMDA4OmRlbW8xMjM0NTYh", + "X-FromAppId" : "ONAP CLI", + "Accept" : "application/json", + "USER_ID" : "cs0008", + "X-TransactionId" : "req-a5f3d3a6-f407-4abd-81b1-b4906c039783", + "Content-Type" : "application/json" + }, + "json" : [ { + "constraints" : null, + "defaultValue" : null, + "description" : null, + "name" : "ip_address", + "parentUniqueId" : null, + "password" : false, + "required" : false, + "schema" : { + "property" : { } + }, + "schemaType" : null, + "type" : "string", + "uniqueId" : "3694ef05-56e3-44d0-9103-7805ef8d2929.ip_address", + "value" : "1.1.1.2", + "definition" : false, + "getInputValues" : null, + "parentPropertyType" : null, + "subPropertyInputPath" : null, + "toscaPresentation" : { + "ownerId" : null + }, + "getPolicyValues" : null, + "inputPath" : null + } ] + }, + "response" : { + "status" : 200, + "json" : [ { + "uniqueId" : "3694ef05-56e3-44d0-9103-7805ef8d2929.ip_address", + "type" : "string", + "required" : false, + "definition" : false, + "defaultValue" : null, + "description" : null, + "schema" : { + "derivedFrom" : null, + "constraints" : null, + "properties" : null, + "property" : { + "uniqueId" : null, + "type" : null, + "required" : false, + "definition" : true, + "defaultValue" : null, + "description" : null, + "schema" : null, + "password" : false, + "name" : null, + "value" : null, + "label" : null, + "hidden" : false, + "immutable" : false, + "inputPath" : null, + "status" : null, + "inputId" : null, + "instanceUniqueId" : null, + "propertyId" : null, + "parentPropertyType" : null, + "subPropertyInputPath" : null, + "annotations" : null, + "parentUniqueId" : null, + "getInputValues" : null, + "isDeclaredListInput" : false, + "getPolicyValues" : null, + "getInputProperty" : false, + "schemaType" : null, + "schemaProperty" : null, + "version" : null, + "ownerId" : null, + "empty" : false + }, + "version" : null, + "ownerId" : null, + "empty" : false, + "type" : null + }, + "password" : false, + "name" : "ip_address", + "value" : "1.1.1.2", + "label" : null, + "hidden" : false, + "immutable" : false, + "inputPath" : null, + "status" : null, + "inputId" : null, + "instanceUniqueId" : null, + "propertyId" : null, + "parentPropertyType" : null, + "subPropertyInputPath" : null, + "annotations" : null, + "parentUniqueId" : null, + "getInputValues" : null, + "isDeclaredListInput" : false, + "getPolicyValues" : null, + "constraints" : [ ], + "valueUniqueUid" : null, + "path" : [ "ff654717-85e1-4458-a9ce-7dedca7be552.3694ef05-56e3-44d0-9103-7805ef8d2929.extztecp0" ], + "rules" : null, + "componentInstanceName" : null, + "componentInstanceId" : null, + "getInputProperty" : false, + "schemaType" : null, + "schemaProperty" : { + "uniqueId" : null, + "type" : null, + "required" : false, + "definition" : true, + "defaultValue" : null, + "description" : null, + "schema" : null, + "password" : false, + "name" : null, + "value" : null, + "label" : null, + "hidden" : false, + "immutable" : false, + "inputPath" : null, + "status" : null, + "inputId" : null, + "instanceUniqueId" : null, + "propertyId" : null, + "parentPropertyType" : null, + "subPropertyInputPath" : null, + "annotations" : null, + "parentUniqueId" : null, + "getInputValues" : null, + "isDeclaredListInput" : false, + "getPolicyValues" : null, + "getInputProperty" : false, + "schemaType" : null, + "schemaProperty" : null, + "version" : null, + "ownerId" : null, + "empty" : false + }, + "version" : null, + "ownerId" : null, + "empty" : false + } ] + } +} ]
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-sample.yaml new file mode 100644 index 00000000..540bb0f8 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/ns-model-set-property-sample.yaml @@ -0,0 +1,9 @@ +open_cli_sample_version: 1.0 +name: --host-url +version: open-cli +samples: + sample1: + name: --host-url + input: https://159.138.32.178:30204 --host-username cs0008 --host-password demo123456! --service-uniqueId 66bc211e-27a1-4a1c-aee3-75952617b7fe --resource-uuid 3694ef05-56e3-44d0-9103-7805ef8d2929 --resource-uniqueId ff654717-85e1-4458-a9ce-7dedca7be552.3694ef05-56e3-44d0-9103-7805ef8d2929.extztecp0 --property-name ip_address --property-value 1.1.1.2 --debug + moco: ns-model-set-property-moco.json + output:
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/service-model-add-artifact-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/service-model-add-artifact-schema-dublin-sample.yaml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/service-model/service-model-add-artifact-schema-dublin-sample.yaml diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-moco.json new file mode 100644 index 00000000..e572c8ee --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-moco.json @@ -0,0 +1,72 @@ +[ { + "request" : { + "method" : "post", + "uri" : "/sdc2/rest/v1/catalog/resources/c5d9a74a-c617-4542-8b83-31c4d8a7269b/lifecycleState/CHECKIN", + "headers" : { + "Authorization" : "Basic Y3MwMDA4OmRlbW8xMjM0NTYh", + "X-FromAppId" : "ONAP CLI", + "Accept" : "application/json", + "USER_ID" : "cs0008", + "X-TransactionId" : "req-26632f77-01a9-4a8a-949b-34b42544d67e", + "Content-Type" : "application/json" + }, + "json" : { + "userRemarks" : "Checked in by ONAP CLI" + } + }, + "response" : { + "status" : 200, + "json" : { + "uniqueId" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b", + "name" : "ovp-test", + "version" : "1.4", + "isHighestVersion" : true, + "creationDate" : 1564379661410, + "lastUpdateDate" : 1564379845325, + "description" : "ovp-test", + "lifecycleState" : "NOT_CERTIFIED_CHECKIN", + "tags" : [ "ovp-test" ], + "icon" : "defaulticon", + "normalizedName" : "ovptest", + "systemName" : "OvpTest", + "contactId" : "cs0008", + "allVersions" : { + "1.0" : "3f0de55b-90be-459d-a30f-a24553baacaa", + "1.1" : "53235bc8-2619-4d23-b1f6-e41e64d0af47", + "1.2" : "ef2ce8c3-af1c-480a-a12f-6bd1fe0384f4", + "1.3" : "168c1a0d-82d8-4a86-a934-9e685389516f", + "1.4" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b" + }, + "csarUUID" : "aa92c8177d754587b621a951a522a942", + "csarVersion" : "1.0", + "invariantUUID" : "c918f6b2-5067-4c10-91a8-672964f3fd10", + "componentType" : "RESOURCE", + "categories" : [ { + "name" : "Generic", + "normalizedName" : "generic", + "uniqueId" : "resourceNewCategory.generic", + "subcategories" : [ { + "name" : "Network Elements", + "normalizedName" : "network elements", + "uniqueId" : "resourceNewCategory.generic.network elements", + "icons" : [ "network", "connector" ], + "empty" : false + } ], + "empty" : false + } ], + "creatorUserId" : "cs0008", + "creatorFullName" : "Carlos Santana", + "lastUpdaterUserId" : "cs0008", + "lastUpdaterFullName" : "Carlos Santana", + "archiveTime" : 0, + "vendorName" : "onap", + "vendorRelease" : "1.0", + "resourceVendorModelNumber" : "", + "resourceType" : "VF", + "toscaResourceName" : "org.openecomp.resource.vf.OvpTest", + "vspArchived" : false, + "archived" : false, + "uuid" : "24d20439-1d8c-44dc-acaf-cb0929a6a5f3" + } + } +} ]
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-sample.yaml new file mode 100644 index 00000000..940a5fb1 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkin-schema-dublin-sample.yaml @@ -0,0 +1,9 @@ +open_cli_sample_version: 1.0 +name: --host-url +version: open-cli +samples: + sample1: + name: --host-url + input: https://159.138.32.178:30204 --host-username cs0008 --host-password demo123456! --vf-model-uuid c5d9a74a-c617-4542-8b83-31c4d8a7269b --debug + moco: vf-model-checkin-schema-dublin-moco.json + output:
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-moco.json b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-moco.json new file mode 100644 index 00000000..c688dcb4 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-moco.json @@ -0,0 +1,70 @@ +[ { + "request" : { + "method" : "post", + "uri" : "/sdc2/rest/v1/catalog/resources/168c1a0d-82d8-4a86-a934-9e685389516f/lifecycleState/CHECKOUT", + "headers" : { + "Authorization" : "Basic Y3MwMDA4OmRlbW8xMjM0NTYh", + "X-FromAppId" : "ONAP CLI", + "Accept" : "application/json", + "USER_ID" : "cs0008", + "X-TransactionId" : "req-4616b1ae-ca5f-4a74-97de-144647202745", + "Content-Type" : "application/json" + }, + "json" : { } + }, + "response" : { + "status" : 200, + "json" : { + "uniqueId" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b", + "name" : "ovp-test", + "version" : "1.4", + "isHighestVersion" : true, + "creationDate" : 1564379661410, + "lastUpdateDate" : 1564379661410, + "description" : "ovp-test", + "lifecycleState" : "NOT_CERTIFIED_CHECKOUT", + "tags" : [ "ovp-test" ], + "icon" : "defaulticon", + "normalizedName" : "ovptest", + "systemName" : "OvpTest", + "contactId" : "cs0008", + "allVersions" : { + "1.0" : "3f0de55b-90be-459d-a30f-a24553baacaa", + "1.1" : "53235bc8-2619-4d23-b1f6-e41e64d0af47", + "1.2" : "ef2ce8c3-af1c-480a-a12f-6bd1fe0384f4", + "1.3" : "168c1a0d-82d8-4a86-a934-9e685389516f", + "1.4" : "c5d9a74a-c617-4542-8b83-31c4d8a7269b" + }, + "csarUUID" : "aa92c8177d754587b621a951a522a942", + "csarVersion" : "1.0", + "invariantUUID" : "c918f6b2-5067-4c10-91a8-672964f3fd10", + "componentType" : "RESOURCE", + "categories" : [ { + "name" : "Generic", + "normalizedName" : "generic", + "uniqueId" : "resourceNewCategory.generic", + "subcategories" : [ { + "name" : "Network Elements", + "normalizedName" : "network elements", + "uniqueId" : "resourceNewCategory.generic.network elements", + "icons" : [ "network", "connector" ], + "empty" : false + } ], + "empty" : false + } ], + "creatorUserId" : "cs0008", + "creatorFullName" : "Carlos Santana", + "lastUpdaterUserId" : "cs0008", + "lastUpdaterFullName" : "Carlos Santana", + "archiveTime" : 0, + "vendorName" : "onap", + "vendorRelease" : "1.0", + "resourceVendorModelNumber" : "", + "resourceType" : "VF", + "toscaResourceName" : "org.openecomp.resource.vf.OvpTest", + "vspArchived" : false, + "archived" : false, + "uuid" : "24d20439-1d8c-44dc-acaf-cb0929a6a5f3" + } + } +} ]
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-sample.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-sample.yaml new file mode 100644 index 00000000..39885784 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-sample/vf/vf-model-checkout-schema-dublin-sample.yaml @@ -0,0 +1,9 @@ +open_cli_sample_version: 1.0 +name: --host-url +version: open-cli +samples: + sample1: + name: --host-url + input: https://159.138.32.178:30204 --host-username cs0008 --host-password demo123456! --vf-model-uuid 168c1a0d-82d8-4a86-a934-9e685389516f --debug + moco: vf-model-checkout-schema-dublin-moco.json + output: | diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-create-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-create-schema-dublin.yaml new file mode 100644 index 00000000..20077715 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-create-schema-dublin.yaml @@ -0,0 +1,70 @@ +# Copyright 2019 Huawei 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. + +open_cli_schema_version: 1.0 +name: sdc-consumer-create +description: Create SDC consumer + +info: + product: onap-dublin + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: consumer-name + description: Consumer Name + type: string + short_option: x + long_option: consumer-name + is_optional: false + - name: consumer-password + description: Consumer password + type: string + short_option: y + long_option: consumer-password + is_optional: true + default_value: 7fa005e6e478ee677053a2c4a5c2f11190e2aa8be227a037291ea4cbc074ecb6 + - name: salt + description: Salt + type: string + long_option: salt + short_option: c + is_optional: true + default_value: ab2987754f0c6293174865e86c47035d + - name: user-id + description: Designer user id + type: string + long_option: user-id + short_option: e + default_value: jh0003 + is_optional: true +http: + service: + name: sdc + version: v1.0 + auth: none + mode: direct + request: + uri: /sdc2/rest/v1/consumers + method: POST + headers: + USER_ID: ${user-id} + body: '{ + "consumerName": "${consumer-name}", + "consumerSalt": "${salt}", + "consumerPassword": "${consumer-password}" + }' + success_codes: + - 200 + - 201 diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-show-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-show-schema-dublin.yaml new file mode 100644 index 00000000..5de269e4 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/consumer/sdc-consumer-show-schema-dublin.yaml @@ -0,0 +1,66 @@ +# Copyright 2019 Huawei 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. + +open_cli_schema_version: 1.0 +name: sdc-consumer-show +description: Retrieve SDC consumer + +info: + product: onap-dublin + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: consumer-name + description: Consumer Name + type: string + short_option: x + long_option: consumer-name + is_optional: false + - name: user-id + description: Designer user id + type: string + long_option: user-id + short_option: e + default_value: jh0003 + is_optional: true +results: + direction: portrait + attributes: + - name: consumer-password + description: Consumer password + type: string + scope: short + - name: salt + description: Salt + type: string + scope: short + +http: + service: + name: sdc + version: v1.0 + auth: none + mode: direct + request: + uri: /sdc2/rest/v1/consumers/${consumer-name} + method: GET + headers: + USER_ID: ${user-id} + success_codes: + - 200 + - 201 + result_map: + consumer-password: $b{$.consumerPassword} + salt: $b{$.consumerSalt}
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-artifact-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-artifact-schema-dublin.yaml new file mode 100644 index 00000000..dc881d90 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-artifact-schema-dublin.yaml @@ -0,0 +1,72 @@ +# Copyright 2019 Huawei 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. + +open_cli_schema_version: 1.0 +name: service-model-add-artifact +description: Add a artifact to a Service model + +info: + product: onap-dublin + service: sdc + author: ONAP HPA Team onap-discuss@lists.onap.org + + +parameters: + - name: service-uniqueId + description: Service Unique Id + type: string + long_option: service-uniqueId + short_option: x + is_optional: false + - name: remarks + description: certification remarks + type: string + long_option: remarks + short_option: y + default_value: Uploaded from ONAP CLI + is_optional: true + - name: artifact + description: NS CSAR file + type: byte + long_option: artifact + short_option: z + is_optional: false + - name: artifact-name + description: NS CSAR name + type: string + long_option: artifact-name + short_option: b + is_optional: false + - name: user-id + description: Designer user id + type: string + long_option: user-id + short_option: e + default_value: cs0008 + is_optional: true +http: + service: + name: sdc + version: v1.0 + auth: basic + mode: direct + request: + uri: /sdc2/rest/v1/catalog/services/${service-uniqueId}/artifacts + method: POST + headers: + Content-MD5: $s{md5:__body__} + USER_ID: ${user-id} + body: '{"payloadData":"${artifact}","artifactDisplayName":"${artifact-name}","artifactType":"OTHER","description":"${remarks}","artifactName":"${artifact-name}", "artifactLabel":"${artifact-name}","artifactGroupType":"INFORMATIONAL", artifactChecksum="$s{md5:artifact}"}' + success_codes: + - 200 diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml index 63454976..06b4c4fb 100644 --- a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-add-vf-schema-dublin.yaml @@ -55,6 +55,10 @@ results: description: Service ID scope: short type: string + - name: UUID + description: Service UUID + scope: short + type: string http: service: name: sdc @@ -69,3 +73,4 @@ http: - 201 result_map: ID: $b{$.uniqueId} + UUID: $b{$.componentUid}
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml index 9201e7fa..ec0ccc6d 100644 --- a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-checkout-schema-dublin.yaml @@ -30,6 +30,13 @@ parameters: short_option: b is_optional: true +results: + direction: portrait + attributes: + - name: ID + description: NS checked out version unique ID + scope: short + type: string http: service: name: sdc @@ -42,3 +49,5 @@ http: body: '{}' success_codes: - 200 + result_map: + ID: $b{$.uniqueId}
\ No newline at end of file diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-set-property.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-set-property.yaml new file mode 100644 index 00000000..a7ea76b7 --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service-model-set-property.yaml @@ -0,0 +1,67 @@ +# Copyright 2019 Huawei 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. + +open_cli_schema_version: 1.0 +name: service-model-set-property +description: Set property to a service model + +info: + product: onap-dublin + service: sdc + author: ONAP HPA Team onap-discuss@lists.onap.org + + +parameters: + - name: service-uniqueId + description: service UniqueId + type: string + long_option: service-uniqueId + short_option: x + is_optional: false + - name: resource-uuid + description: resource uuid + type: string + long_option: resource-uuid + short_option: y + is_optional: false + - name: resource-uniqueId + description: resource UniqueId + type: string + long_option: resource-uniqueId + short_option: z + is_optional: false + - name: property-name + description: property name + type: string + long_option: property-name + short_option: b + is_optional: false + - name: property-value + description: property value + type: string + long_option: property-value + short_option: r + is_optional: false +http: + service: + name: sdc + version: v1.0 + auth: basic + mode: direct + request: + uri: /sdc2/rest/v1/catalog/services/${service-uniqueId}/resourceInstance/${resource-uniqueId}/properties + method: POST + body: '[{"constraints":null,"defaultValue":null,"description":null,"name":"${property-name}","parentUniqueId":null,"password":false,"required":false,"schema":{"property":{}},"schemaType":null,"type":"string","uniqueId":"${resource-uuid}.${property-name}","value":"${property-value}","definition":false,"getInputValues":null,"parentPropertyType":null,"subPropertyInputPath":null,"toscaPresentation":{"ownerId":null},"getPolicyValues":null,"inputPath":null}]' + success_codes: + - 200 diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml index bd4c38c6..2241e05c 100644 --- a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/service-model/service2vf-model-list-schema-dublin.yaml @@ -49,6 +49,10 @@ results: description: version type: string scope: short + - name: vf-unique-uuid + description: customization UUID + type: string + scope: short http: service: @@ -62,6 +66,7 @@ http: success_codes: - 200 result_map: + vf-unique-uuid: $b{componentInstances.[*].uniqueId} vf-uuid: $b{componentInstances.[*].componentUid} vf-name: $b{componentInstances.[*].componentName} vf-version: $b{componentInstances.[*].componentVersion} diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-add-artifact-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-add-artifact-schema-dublin.yaml new file mode 100644 index 00000000..1a6c6b7c --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-add-artifact-schema-dublin.yaml @@ -0,0 +1,72 @@ +# Copyright 2019 Huawei 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. + +open_cli_schema_version: 1.0 +name: vf-model-add-artifact +description: Add a artifact to a Virtual function + +info: + product: onap-dublin + service: sdc + author: ONAP HPA Team onap-discuss@lists.onap.org + + +parameters: + - name: vf-uniqueId + description: VF UniqueId + type: string + long_option: vf-uniqueId + short_option: x + is_optional: false + - name: remarks + description: certification remarks + type: string + long_option: remarks + short_option: y + default_value: Uploaded from ONAP CLI + is_optional: true + - name: artifact + description: VNF CSAR file + type: byte + long_option: artifact + short_option: z + is_optional: false + - name: artifact-name + description: VNF CSAR name + type: string + long_option: artifact-name + short_option: b + is_optional: false + - name: user-id + description: Designer user id + type: string + long_option: user-id + short_option: e + default_value: cs0008 + is_optional: true +http: + service: + name: sdc + version: v1.0 + auth: basic + mode: direct + request: + uri: /sdc2/rest/v1/catalog/resources/${vf-uniqueId}/artifacts + method: POST + headers: + Content-MD5: $s{md5:__body__} + USER_ID: ${user-id} + body: '{"payloadData":"${artifact}","artifactDisplayName":"${artifact-name}","artifactType":"OTHER","description":"${remarks}","artifactName":"${artifact-name}", "artifactLabel":"${artifact-name}","artifactGroupType":"DEPLOYMENT", artifactChecksum="$s{md5:artifact}"}' + success_codes: + - 200 diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkin-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkin-schema-dublin.yaml new file mode 100644 index 00000000..9ec09f0a --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkin-schema-dublin.yaml @@ -0,0 +1,50 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 +name: vf-model-checkin +description: Checkin VF model in SDC + +info: + product: onap-dublin + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + +parameters: + - name: vf-model-uuid + description: VF model UUID (can be found by running vf-model-list) + type: string + long_option: vf-model-uuid + short_option: b + is_optional: false + - name: remarks + description: checkin remarks + type: string + long_option: remarks + short_option: r + default_value: Checked in by ONAP CLI + is_optional: false + +http: + service: + name: sdc + version: v1.0 + auth: basic + mode: direct + request: + uri: /sdc2/rest/v1/catalog/resources/${vf-model-uuid}/lifecycleState/CHECKIN + method: POST + body: '{"userRemarks": "${remarks}"}' + success_codes: + - 200 diff --git a/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkout-schema-dublin.yaml b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkout-schema-dublin.yaml new file mode 100644 index 00000000..511e29fd --- /dev/null +++ b/products/onap-dublin/features/sdc/src/main/resources/open-cli-schema/vf/vf-model-checkout-schema-dublin.yaml @@ -0,0 +1,54 @@ +# Copyright © Intel Corporation 2019 +# +# 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. + +open_cli_schema_version: 1.0 +name: vf-model-checkout +description: Checkout VF model in SDC + +info: + product: onap-dublin + service: sdc + author: ONAP CLI Team onap-discuss@lists.onap.org + + +parameters: + - name: vf-model-uuid + description: VF model UUID (can be found from vf-model-list) + type: string + long_option: vf-model-uuid + short_option: b + is_optional: false + +results: + direction: portrait + attributes: + - name: ID + description: VF checked out version unique ID + scope: short + type: string + +http: + service: + name: sdc + version: v1.0 + auth: basic + mode: direct + request: + uri: /sdc2/rest/v1/catalog/resources/${vf-model-uuid}/lifecycleState/CHECKOUT + method: POST + body: '{}' + success_codes: + - 200 + result_map: + ID: $b{$.uniqueId}
\ No newline at end of file diff --git a/products/onap-dublin/features/sdnc/pom.xml b/products/onap-dublin/features/sdnc/pom.xml index 14d30bee..48fdfcd7 100644 --- a/products/onap-dublin/features/sdnc/pom.xml +++ b/products/onap-dublin/features/sdnc/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-sdnc</artifactId> diff --git a/products/onap-dublin/features/so/pom.xml b/products/onap-dublin/features/so/pom.xml index d2774d60..00f99c77 100644 --- a/products/onap-dublin/features/so/pom.xml +++ b/products/onap-dublin/features/so/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-so</artifactId> diff --git a/products/onap-dublin/features/vfc/pom.xml b/products/onap-dublin/features/vfc/pom.xml index f7cc3c3d..28fd7fb3 100644 --- a/products/onap-dublin/features/vfc/pom.xml +++ b/products/onap-dublin/features/vfc/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-vfc</artifactId> diff --git a/products/onap-dublin/features/vnfsdk/pom.xml b/products/onap-dublin/features/vnfsdk/pom.xml index 0117c3f7..dd5ae244 100644 --- a/products/onap-dublin/features/vnfsdk/pom.xml +++ b/products/onap-dublin/features/vnfsdk/pom.xml @@ -24,7 +24,7 @@ <parent> <groupId>org.onap.cli</groupId> <artifactId>cli-products-onap-dublin-features</artifactId> - <version>3.0.0</version> + <version>4.0.0-SNAPSHOT</version> </parent> <artifactId>cli-products-onap-dublin-features-vnfsdk</artifactId> |