From 82aeca18c66dc4c312a57f24ed3c4c33a2063070 Mon Sep 17 00:00:00 2001 From: Moshe Date: Sun, 8 Apr 2018 21:37:43 +0300 Subject: Refactor api definition yamls to support jinja2 Issue-ID: VNFSDK-181 Change-Id: Ibff00e985f95b400f08d4de4021dc3a8ab235ad7 Signed-off-by: Moshe Support creation of multiple vf-modules per vnf Issue-ID: VNFSDK-264 Change-Id: I45054bc4bb721d7df89653e99fafe61297939504 Signed-off-by: Moshe fix tests Issue-ID: VNFSDK-264 Change-Id: I077289bfcd4c68b0191fd74c4e02e07a67f5104f Signed-off-by: Moshe --- vnftest/common/utils.py | 7 ++ vnftest/contexts/base.py | 15 +-- vnftest/core/task.py | 10 +- vnftest/core/testcase.py | 5 +- vnftest/onap/common/vf_module_crawler.py | 35 ++++++ vnftest/onap/common/vnf_type_crawler.py | 31 ----- vnftest/onap/lifecycle/create_customer.yaml | 67 +++++------ vnftest/onap/lifecycle/create_region.yaml | 45 ++++---- vnftest/onap/lifecycle/create_service.yaml | 23 ++-- .../onap/lifecycle/create_service_instance.yaml | 65 +++++------ vnftest/onap/lifecycle/create_vf_module.yaml | 118 +++++++++---------- vnftest/onap/lifecycle/create_vnf_instance.yaml | 93 +++++++-------- vnftest/onap/lifecycle/monitor_request.yaml | 19 ++-- vnftest/onap/lifecycle/preload_sdnc.yaml | 78 +++++++------ vnftest/onap/onap_api_call.py | 52 ++++----- vnftest/onap/onboard/accept_resource_test.yaml | 20 ++-- vnftest/onap/onboard/accept_service_test.yaml | 18 +-- vnftest/onap/onboard/add_resource_instance.yaml | 35 +++--- vnftest/onap/onboard/add_service.yaml | 111 +++++++----------- vnftest/onap/onboard/approve_distribution.yaml | 18 +-- vnftest/onap/onboard/checkin_vlm.yaml | 18 +-- vnftest/onap/onboard/checkin_vsp.yaml | 19 ++-- vnftest/onap/onboard/create_package_vsp.yaml | 21 ++-- vnftest/onap/onboard/create_vlm.yaml | 25 ++--- vnftest/onap/onboard/create_vsp.yaml | 38 +++---- vnftest/onap/onboard/distribute.yaml | 18 +-- vnftest/onap/onboard/import_vsp.yaml | 125 ++++++++------------- vnftest/onap/onboard/monitor_distribution.yaml | 18 +-- vnftest/onap/onboard/process_package.yaml | 15 ++- vnftest/onap/onboard/start_resource_test.yaml | 16 +-- vnftest/onap/onboard/start_service_test.yaml | 15 ++- .../onap/onboard/submit_resource_for_testing.yaml | 19 ++-- .../onap/onboard/submit_service_for_testing.yaml | 19 ++-- vnftest/onap/onboard/submit_vlm.yaml | 19 ++-- vnftest/onap/onboard/submit_vsp.yaml | 19 ++-- vnftest/onap/onboard/upload_package.yaml | 17 ++- 36 files changed, 598 insertions(+), 688 deletions(-) create mode 100644 vnftest/onap/common/vf_module_crawler.py delete mode 100644 vnftest/onap/common/vnf_type_crawler.py (limited to 'vnftest') diff --git a/vnftest/common/utils.py b/vnftest/common/utils.py index fbc8391..ad1b2f3 100644 --- a/vnftest/common/utils.py +++ b/vnftest/common/utils.py @@ -424,3 +424,10 @@ def open_relative_file(path, task_path): if e.errno == errno.ENOENT: return open(os.path.join(task_path, path)) raise + + +class dotdict(dict): + """dot.notation access to dictionary attributes""" + __getattr__ = dict.get + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ diff --git a/vnftest/contexts/base.py b/vnftest/contexts/base.py index 6cb90e9..abfef57 100644 --- a/vnftest/contexts/base.py +++ b/vnftest/contexts/base.py @@ -24,11 +24,14 @@ class Context(object): """Class that represents a context in the logical model""" list = [] vnf_descriptor = {} + creds = {} @classmethod - def load_vnf_descriptor(cls, vnf_descriptor_path): + def initialize(cls, vnf_descriptor_path): with open(vnf_descriptor_path) as f: cls.vnf_descriptor = yaml.safe_load(f) + for key, value in openstack_utils.get_credentials().iteritems(): + cls.creds[key] = value @staticmethod def split_name(name, sep='.'): @@ -41,17 +44,9 @@ class Context(object): def __init__(self): Context.list.append(self) - self.context_params = None def init(self, attrs): - self.context_params = {} - for key, value in Context.vnf_descriptor.iteritems(): - key = "context|vnf_descriptor|" + key - self.context_params[key] = value - - for key, value in openstack_utils.get_credentials().iteritems(): - key = "context|creds|" + key - self.context_params[key] = value + pass @staticmethod def get_cls(context_type): diff --git a/vnftest/core/task.py b/vnftest/core/task.py index 8ce897b..939696c 100644 --- a/vnftest/core/task.py +++ b/vnftest/core/task.py @@ -73,7 +73,7 @@ class Task(object): # pragma: no cover output_config['DEFAULT']['dispatcher'] = out_types def start(self, args, **kwargs): - Context.load_vnf_descriptor(args.vnfdescriptor) + Context.initialize(args.vnfdescriptor) atexit.register(self.atexit_handler) task_id = getattr(args, 'task_id') @@ -120,10 +120,12 @@ class Task(object): # pragma: no cover # parse task_files for i in range(0, len(task_files)): one_task_start_time = time.time() + # the output of the previous task is the input of the new task + inputs = copy.deepcopy(self.outputs) parser.path = task_files[i] steps, run_in_parallel, meet_precondition, ret_context = \ parser.parse_task(self.task_id, task_args[i], - task_args_fnames[i]) + task_args_fnames[i], inputs) self.context = ret_context @@ -426,16 +428,18 @@ class TaskParser(object): # pragma: no cover return valid_task_files, valid_task_args, valid_task_args_fnames - def parse_task(self, task_id, task_args=None, task_args_file=None): + def parse_task(self, task_id, task_args=None, task_args_file=None, inputs=None): """parses the task file and return an context and step instances""" LOG.info("Parsing task config: %s", self.path) try: kw = {} + kw.update(inputs) if task_args_file: with open(task_args_file) as f: kw.update(parse_task_args("task_args_file", f.read())) kw.update(parse_task_args("task_args", task_args)) + kw['vnf_descriptor'] = Context.vnf_descriptor except TypeError: raise TypeError() diff --git a/vnftest/core/testcase.py b/vnftest/core/testcase.py index ef3e535..ea07243 100644 --- a/vnftest/core/testcase.py +++ b/vnftest/core/testcase.py @@ -74,8 +74,9 @@ class Testcase(object): return record def _parse_testcase(self, testcase_info): - - rendered_testcase = TaskTemplate.render(testcase_info) + kw = {} + kw['vnf_descriptor'] = {} + rendered_testcase = TaskTemplate.render(testcase_info, **kw) testcase_cfg = yaml_load(rendered_testcase) test_precondition = testcase_cfg.get('precondition', {}) diff --git a/vnftest/onap/common/vf_module_crawler.py b/vnftest/onap/common/vf_module_crawler.py new file mode 100644 index 0000000..ffc215c --- /dev/null +++ b/vnftest/onap/common/vf_module_crawler.py @@ -0,0 +1,35 @@ +############################################################################## +# Copyright 2018 EuropeanSoftwareMarketingLtd. +# =================================================================== +# Licensed under the ApacheLicense, Version2.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 +# +# 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 +############################################################################## + +from __future__ import absolute_import +from vnftest.crawlers.default import DefaultCrawler +import logging + +LOG = logging.getLogger(__name__) + + +class VfModuleCrawler(DefaultCrawler): + __crawler_type__ = 'VfModuleCrawler' + + def crawl(self, dictionary, path): + result = {} + for componentInstance in dictionary['componentInstances']: + for groupInstance in componentInstance['groupInstances']: + # get the module name without additions. Example: + # original name: TestVsp2007..policyVNF_infinity..module-5 + # name without additions: policyVNF_infinity + module_name = groupInstance['groupName'].split("..") + module_name = str(module_name[1]) + result[module_name] = groupInstance + return result diff --git a/vnftest/onap/common/vnf_type_crawler.py b/vnftest/onap/common/vnf_type_crawler.py deleted file mode 100644 index 9e03dc0..0000000 --- a/vnftest/onap/common/vnf_type_crawler.py +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################## -# Copyright 2018 EuropeanSoftwareMarketingLtd. -# =================================================================== -# Licensed under the ApacheLicense, Version2.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 -# -# 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 -############################################################################## - -from __future__ import absolute_import -from vnftest.crawlers.default import DefaultCrawler -import logging - -LOG = logging.getLogger(__name__) - - -class VnfTypeCrawler(DefaultCrawler): - __crawler_type__ = 'VnfTypeCrawler' - - def crawl(self, dictionary, path): - index = 0 - vnf_type = dictionary['groups'][0]['name'] - if ".." not in vnf_type: - index = 1 - dictionary = dictionary['groups'][index] - return super(VnfTypeCrawler, self).crawl(dictionary, path) diff --git a/vnftest/onap/lifecycle/create_customer.yaml b/vnftest/onap/lifecycle/create_customer.yaml index 97327ba..e950eb4 100644 --- a/vnftest/onap/lifecycle/create_customer.yaml +++ b/vnftest/onap/lifecycle/create_customer.yaml @@ -13,39 +13,34 @@ ############################################################################## --- -method: "PUT" -url: "http://{aai_ip}:30232/aai/v8/business/customers/customer/{customer_name}" -headers: { - "Content-Type": "application/json", - "Accept": "application/json", - "Authorization": "Basic QUFJOkFBSQ==", - "X-FromAppId": "AAI", - "X-TransactionId": "get_aai_subscr" - } -body: { - "global-customer-id": "{customer_name}", - "service-subscriptions": { - "service-subscription": [{ - "relationship-list": { - "relationship": [{ - "related-to": "tenant", - "relationship-data": [{ - "relationship-key": "cloud-region.cloud-owner", - "relationship-value": "{cloud_owner}" - }, - { - "relationship-key": "cloud-region.cloud-region-id", - "relationship-value": "RegionOne" - }, - { - "relationship-key": "tenant.tenant-id", - "relationship-value": "{tenant_id}" - }] - }] - }, - "service-type": "vFW" - }] - }, - "subscriber-name": "{customer_name}", - "subscriber-type": "INFRA" - } +method: PUT +url: http://{{aai_ip}}:30232/aai/v8/business/customers/customer/{{customer_name}} +headers: + Content-Type: application/json + Accept: application/json + Authorization: Basic QUFJOkFBSQ== + X-FromAppId: AAI + X-TransactionId: get_aai_subscr + +body: + global-customer-id: {{customer_name}} + service-subscriptions: + service-subscription: + - + service-type: vFW + relationship-list: + relationship: + - + related-to: tenant + relationship-data: + - + relationship-key: cloud-region.cloud-owner + relationship-value: {{cloud_owner}} + - + relationship-key: cloud-region.cloud-region-id + relationship-value: RegionOne + - + relationship-key: tenant.tenant-id + relationship-value: {{tenant_id}} + subscriber-name: {{customer_name}} + subscriber-type: INFRA diff --git a/vnftest/onap/lifecycle/create_region.yaml b/vnftest/onap/lifecycle/create_region.yaml index 1a67f41..41da02a 100644 --- a/vnftest/onap/lifecycle/create_region.yaml +++ b/vnftest/onap/lifecycle/create_region.yaml @@ -13,28 +13,23 @@ ############################################################################## --- -method: "PUT" -url: "http://{aai_ip}:30232/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{cloud_owner}/RegionOne" -headers: { - "Content-Type": "application/json", - "Accept": "application/json", - "Authorization": "Basic QUFJOkFBSQ==", - "X-FromAppId": "AAI", - "X-TransactionId": "get_aai_subscr" - } -body: { - "cloud-owner": "{cloud_owner}", - "cloud-region-id": "RegionOne", - "cloud-region-version": "v1", - "cloud-type": "SharedNode", - "cloud-zone": "CloudZone", - "owner-defined-type": "OwnerType", - "tenants": { - "tenant": [ - { - "tenant-id": "{tenant_id}", - "tenant-name": "{tenant_name}" - } - ] - } - } +method: PUT +url: http://{{aai_ip}}:30232/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner}}/RegionOne +headers: + Content-Type: application/json + Accept: application/json + Authorization: Basic QUFJOkFBSQ== + X-FromAppId: AAI + X-TransactionId: get_aai_subscr +body: + cloud-owner: {{cloud_owner}} + cloud-region-id: RegionOne + cloud-region-version: v1 + cloud-type: SharedNode + cloud-zone: CloudZone + owner-defined-type: OwnerType + tenants: + tenant: + - + tenant-id: {{tenant_id}} + tenant-name: {{tenant_name}} \ No newline at end of file diff --git a/vnftest/onap/lifecycle/create_service.yaml b/vnftest/onap/lifecycle/create_service.yaml index 7b8c107..0e1abda 100644 --- a/vnftest/onap/lifecycle/create_service.yaml +++ b/vnftest/onap/lifecycle/create_service.yaml @@ -11,15 +11,16 @@ # See the License for the specific language governing permissions and limitations under # the License ############################################################################## - --- -method: "PUT" -url: "http://{aai_ip}:30232/aai/v8/service-design-and-creation/services/service/vFW" -headers: { - "Content-Type": "application/json", - "Accept": "application/json", - "Authorization": "Basic QUFJOkFBSQ==", - "X-FromAppId": "AAI", - "X-TransactionId": "get_aai_subscr" - } -body: {"service-description":"vFW","service-id":"vFW"} +method: PUT +url: http://{{aai_ip}}:30232/aai/v8/service-design-and-creation/services/service/vFW +headers: + Content-Type: application/json + Accept: application/json + Authorization: Basic QUFJOkFBSQ== + X-FromAppId: AAI + X-TransactionId: get_aai_subscr + +body: + service-description: vFW + service-id: vFW diff --git a/vnftest/onap/lifecycle/create_service_instance.yaml b/vnftest/onap/lifecycle/create_service_instance.yaml index 93850b7..996c580 100644 --- a/vnftest/onap/lifecycle/create_service_instance.yaml +++ b/vnftest/onap/lifecycle/create_service_instance.yaml @@ -11,42 +11,35 @@ # See the License for the specific language governing permissions and limitations under # the License ############################################################################## - --- -method: "POST" -url: "http://{mso_ip}/ecomp/mso/infra/serviceInstances/v5" -headers: { - "Content-Type": "application/json", - "Accept": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "X-FromAppId": "MSO", - "X-TransactionId": "demo" - } -body: { - "requestDetails": { - "requestInfo": { - "source": "VID", - "requestorId": "vid1", - "suppressRollback": "true", - "instanceName": "{service_instance_name}" - }, - "modelInfo": { - "modelVersionId": "{service_model_version_id}", - "modelVersion": "{service_model_version}", - "modelName": "{service_model_normalized_name}", - "modelInvariantId": "{service_model_invariant_id}", - "modelType": "service" - }, - "requestParameters": { - "userParams": [ +method: POST +url: http://{{mso_ip}}/ecomp/mso/infra/serviceInstances/v5 +headers: + Content-Type: application/json + Accept: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + X-FromAppId: MSO + X-TransactionId: demo + +body: + requestDetails: + requestInfo: + source: VID + requestorId: vid1 + suppressRollback: true + instanceName: {{service_instance_name}} + + modelInfo: + modelVersionId: {{service_model_version_id}} + modelVersion: {{service_model_version}} + modelName: {{service_model_normalized_name}} + modelInvariantId: {{service_model_invariant_id}} + modelType: service - ], - "aLaCarte": "true", - "subscriptionServiceType": "vFW" - }, - "subscriberInfo": { - "globalSubscriberId": "{customer_name}" - } - } - } + requestParameters: + userParams: [] + aLaCarte: true + subscriptionServiceType: vFW + subscriberInfo: + globalSubscriberId: {{customer_name}} \ No newline at end of file diff --git a/vnftest/onap/lifecycle/create_vf_module.yaml b/vnftest/onap/lifecycle/create_vf_module.yaml index ed46c7d..1728a07 100644 --- a/vnftest/onap/lifecycle/create_vf_module.yaml +++ b/vnftest/onap/lifecycle/create_vf_module.yaml @@ -11,68 +11,58 @@ # See the License for the specific language governing permissions and limitations under # the License ############################################################################## - --- -method: "POST" -url: "http://{mso_ip}/ecomp/mso/infra/serviceInstances/v5/{service_instance_id}/vnfs/{vnf_instance_id}/vfModules" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "X-FromAppId": "MSO", - "X-TransactionId": "demo", - "Accept": "application/json" - } -body: { - "requestDetails": { - "requestInfo": { - "instanceName": "{vnf_name}", - "source": "VID", - "suppressRollback": "true", - "requestorId": "vid1" - }, - "modelInfo": { - "modelType": "vfModule", - "modelInvariantId": "{module_model_invariant_id}", - "modelVersionId": "{module_model_version_id}", - "modelName": "{vnf_type}", - "modelVersion": "{module_model_version}", - "modelCustomizationId": "{service_model_customization_id}", - "modelCustomizationName": "{vnf_type}" - }, - "requestParameters": { - "usePreload": "true" - }, - "cloudConfiguration": { - "lcpCloudRegionId": "RegionOne", - "tenantId": "{tenant_id}" - }, - "relatedInstanceList": [ - { - "relatedInstance": { - "instanceId": "{service_instance_id}", - "modelInfo": { - "modelType": "service", - "modelName": "{service_model_name}", - "modelInvariantId": "{service_model_invariant_id}", - "modelVersion": "{service_model_version}", - "modelVersionId": "{distributed_service_id}" - } - } - }, - { - "relatedInstance": { - "instanceId": "{vnf_instance_id}", - "modelInfo": { - "modelType": "vnf", - "modelName": "{resource_model_name}", - "modelInvariantId": "{resource_model_invariant_id}", - "modelVersion": "{resource_model_version}", - "modelVersionId": "{resource_model_version_id}", - "modelCustomizationId": "{resource_model_customization_id}", - "modelCustomizationName": "{resource_model_customization_name}" - } - } - } - ] - } - } +method: POST +url: http://{{mso_ip}}/ecomp/mso/infra/serviceInstances/v5/{{service_instance_id}}/vnfs/{{vnf_instance_id}}/vfModules +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + X-FromAppId: MSO + X-TransactionId: demo + Accept: application/json + +body: + requestDetails: + requestInfo: + instanceName: {{vnf_name}} + source: VID + suppressRollback: true + requestorId: vid1 + + modelInfo: + modelType: vfModule + modelInvariantId: {{module_model_invariant_id}} + modelVersionId: {{module_model_version_id}} + modelName: {{vnf_type}} + modelVersion: {{module_model_version}} + modelCustomizationId: {{module_model_customization_id}} + modelCustomizationName: {{vnf_type}} + + requestParameters: + usePreload: true + + cloudConfiguration: + lcpCloudRegionId: RegionOne + tenantId: {{tenant_id}} + + relatedInstanceList: + - + relatedInstance: + instanceId: {{service_instance_id}} + modelInfo: + modelType: service + modelName: {{service_model_name}} + modelInvariantId: {{service_model_invariant_id}} + modelVersion: {{service_model_version}} + modelVersionId: {{distributed_service_id}} + - + relatedInstance: + instanceId: {{vnf_instance_id}} + modelInfo: + modelType: vnf + modelName: {{resource_model_name}} + modelInvariantId: {{resource_model_invariant_id}} + modelVersion: {{resource_model_version}} + modelVersionId: {{resource_model_version_id}} + modelCustomizationId: {{resource_model_customization_id}} + modelCustomizationName: {{resource_model_customization_name}} \ No newline at end of file diff --git a/vnftest/onap/lifecycle/create_vnf_instance.yaml b/vnftest/onap/lifecycle/create_vnf_instance.yaml index 653b97d..441a776 100644 --- a/vnftest/onap/lifecycle/create_vnf_instance.yaml +++ b/vnftest/onap/lifecycle/create_vnf_instance.yaml @@ -11,57 +11,48 @@ # See the License for the specific language governing permissions and limitations under # the License ############################################################################## - --- -method: "POST" -url: "http://{mso_ip}/ecomp/mso/infra/serviceInstances/v5/{service_instance_id}/vnfs/" -headers: { - "Content-Type": "application/json", - "Accept": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "X-FromAppId": "MSO", - "X-TransactionId": "demo" - } -body: { - "requestDetails": { - "requestInfo": { - "instanceName":"{vnf_instance_name}", - "source": "VID", - "suppressRollback": "true", - "requestorId": "vid1", - "productFamilyId": "vFW" - }, - "modelInfo": { - "modelType": "vnf", - "modelInvariantId": "{resource_model_invariant_id}", - "modelVersionId": "{resource_model_version_id}", - "modelName": "{resource_model_name}", - "modelVersion": "{resource_model_version}", - "modelCustomizationId": "{resource_model_customization_id}", - "modelCustomizationName": "{resource_model_customization_name}" - }, - "requestParameters": { - "userParams": [] - }, - "cloudConfiguration": { - "lcpCloudRegionId": "RegionOne", - "tenantId": "{tenant_id}" - }, - "relatedInstanceList": [ - { - "relatedInstance": { - "instanceId": "{service_instance_id}", - "modelInfo": { - "modelType": "service", - "modelName": "{service_model_name}", - "modelInvariantId": "{service_model_invariant_id}", - "modelVersion": "{service_model_version}", - "modelVersionId": "{distributed_service_id}" - } - } - } - ] - } - } +method: POST +url: http://{{mso_ip}}/ecomp/mso/infra/serviceInstances/v5/{{service_instance_id}}/vnfs/ +headers: + Content-Type: application/json + Accept: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + X-FromAppId: MSO + X-TransactionId: demo + +body: + requestDetails: + requestInfo: + instanceName: {{vnf_instance_name}} + source: VID + suppressRollback: true + requestorId: vid1 + productFamilyId: vFW + + modelInfo: + modelType: vnf + modelInvariantId: {{resource_model_invariant_id}} + modelVersionId: {{resource_model_version_id}} + modelName: {{resource_model_name}} + modelVersion: {{resource_model_version}} + modelCustomizationId: {{resource_model_customization_id}} + modelCustomizationName: {{resource_model_customization_name}} + + requestParameters: + userParams: [] + cloudConfiguration: + lcpCloudRegionId: RegionOne + tenantId: {{tenant_id}} + relatedInstanceList: + - + relatedInstance: + instanceId: {{service_instance_id}} + modelInfo: + modelType: service + modelName: {{service_model_name}} + modelInvariantId: {{service_model_invariant_id}} + modelVersion: {{service_model_version}} + modelVersionId: {{distributed_service_id}} diff --git a/vnftest/onap/lifecycle/monitor_request.yaml b/vnftest/onap/lifecycle/monitor_request.yaml index 4304f0e..9593967 100644 --- a/vnftest/onap/lifecycle/monitor_request.yaml +++ b/vnftest/onap/lifecycle/monitor_request.yaml @@ -11,14 +11,13 @@ # See the License for the specific language governing permissions and limitations under # the License ############################################################################## - --- -method: "GET" -url: "http://{mso_ip}/ecomp/mso/infra/orchestrationRequests/v2/{request_id}" -headers: { - "Content-Type": "application/json", - "Accept": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "X-FromAppId": "AAI", - "X-TransactionId": "get_aai_subscr" - } +method: GET +url: http://{{mso_ip}}/ecomp/mso/infra/orchestrationRequests/v2/{{request_id}} +headers: + Content-Type: application/json + Accept: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + X-FromAppId: AAI + X-TransactionId: get_aai_subscr + diff --git a/vnftest/onap/lifecycle/preload_sdnc.yaml b/vnftest/onap/lifecycle/preload_sdnc.yaml index 4053dd0..627831c 100644 --- a/vnftest/onap/lifecycle/preload_sdnc.yaml +++ b/vnftest/onap/lifecycle/preload_sdnc.yaml @@ -11,44 +11,42 @@ # See the License for the specific language governing permissions and limitations under # the License ############################################################################## - --- -method: "POST" -url: "http://{aai_ip}:30202/restconf/operations/VNF-API:preload-vnf-topology-operation" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==", - "X-FromAppId": "AAI", - "X-TransactionId": "0a3f6713-ba96-4971-a6f8-c2da85a3176e", - "Accept": "application/json" - } -body: { - "input": { - "request-information": { - "notification-url": "openecomp.org", - "order-number": "1", - "order-version": "1", - "request-action": "PreloadVNFRequest", - "request-id": "test" - }, - "sdnc-request-header": { - "svc-action": "reserve", - "svc-notification-url": "http:openecomp.org:8080", - "svc-request-id": "test" - }, - "vnf-topology-information": { - "vnf-assignments": { - "availability-zones": [], - "vnf-networks": [], - "vnf-vms": [] - }, - "vnf-topology-identifier": { - "generic-vnf-name": "{vnf_instance_name}", - "generic-vnf-type": "{service_model_name}/{resource_instance_model_name} 0", - "service-type": "{service_instance_id}", - "vnf-name": "{vnf_name}", - "vnf-type": "{vnf_type}" - } - } - } - } +method: POST +url: http://{{aai_ip}}:30202/restconf/operations/VNF-API:preload-vnf-topology-operation +headers: + Content-Type: application/json + Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== + X-FromAppId: AAI + X-TransactionId: 0a3f6713-ba96-4971-a6f8-c2da85a3176e + Accept: application/json + +body: + input: + request-information: + notification-url: openecomp.org + order-number: 1 + order-version: 1 + request-action: PreloadVNFRequest + request-id: test + sdnc-request-header: + svc-action: reserve + svc-notification-url: "http://openecomp.org:8080" + svc-request-id: test + vnf-topology-information: + vnf-assignments: + availability-zones: [] + vnf-networks: [] + vnf-vms: [] + vnf-parameters: + {% for vnf_parameter in vnf_parameters %} + - + vnf-parameter-name: {{vnf_parameter.name}} + vnf-parameter-value: {{vnf_parameter.value}} + {% endfor %} + vnf-topology-identifier: + generic-vnf-name: {{vnf_instance_name}} + generic-vnf-type: {{service_model_name}}/{{resource_instance_model_name}} 0 + service-type: {{service_instance_id}} + vnf-name: {{vnf_name}} + vnf-type: {{vnf_type}} diff --git a/vnftest/onap/onap_api_call.py b/vnftest/onap/onap_api_call.py index a19138b..417e259 100644 --- a/vnftest/onap/onap_api_call.py +++ b/vnftest/onap/onap_api_call.py @@ -22,10 +22,13 @@ import yaml from vnftest.common import constants as consts from vnftest.common import rest_client +from vnftest.common.utils import dotdict from vnftest.common.exceptions import MandatoryKeyException, InputParameterMissing from vnftest.crawlers.base import Crawler -from vnftest.onap.common.vnf_type_crawler import VnfTypeCrawler +from vnftest.onap.common.vf_module_crawler import VfModuleCrawler from vnftest.steps import base +import jinja2 +import jinja2.meta LOG = logging.getLogger(__name__) @@ -53,7 +56,10 @@ class OnapApiCall(base.Step): self.input_cfg = options.get("input", {}) self.output_cfg = options.get("output", {}) self.sla_cfg = self.step_cfg.get('sla', {'retries': 0}) - self.input_params.update(self.context.context_params) + context_dict = {} + context_dict['creds'] = dotdict(self.context.creds) + context_dict['vnf_descriptor'] = dotdict(self.context.vnf_descriptor) + self.input_params['context'] = dotdict(context_dict) self.setup_done = True def eval_input(self, params): @@ -68,6 +74,7 @@ class OnapApiCall(base.Step): params[param_name] = value def run(self, result, attempt=0): + LOG.info("** Handling: " + str(self.rest_def_file)) output = self.run_impl(result) try: self.handle_sla(output) @@ -92,7 +99,7 @@ class OnapApiCall(base.Step): result_body = execution_result['body'] for output_parameter in self.output_cfg: param_name = output_parameter['parameter_name'] - param_value = output_parameter['value'] + param_value = output_parameter.get('value', "[]") if param_value.find("[") > -1: crawler_type = output_parameter.get('type', 'default') crawler_class = Crawler.get_cls(crawler_type) @@ -107,7 +114,6 @@ class OnapApiCall(base.Step): def execute_operation(self, params, attempt=0): if self.delay > 0: time.sleep(self.delay) - try: return self.execute_operation_impl(params) except Exception as e: @@ -121,12 +127,7 @@ class OnapApiCall(base.Step): raise e def execute_operation_impl(self, params): - input_yaml = self.rest_def_file - LOG.info("########## processing " + input_yaml + "##########") - yaml_path = os.path.join(self.curr_path, input_yaml) - with open(yaml_path) as info: - operation = yaml.load(info) - operation = self.format(operation, params) + operation = self.load_file(params) url = operation['url'] headers = operation['headers'] body = {} @@ -152,30 +153,10 @@ class OnapApiCall(base.Step): LOG.info("Results: " + str(result)) return result - def format(self, d, params): - ret = None - if isinstance(d, dict): - ret = {} - for k, v in d.iteritems(): - if isinstance(v, basestring): - v = self.format_string(v, params) - else: - v = self.format(v, params) - ret[k] = v - if isinstance(d, list): - ret = [] - for v in d: - if isinstance(v, basestring): - v = self.format_string(v, params) - else: - v = self.format(v, params) - ret.append(v) - if isinstance(d, basestring): - ret = self.format_string(d, params) - return ret - @staticmethod def format_string(st, params): + if not isinstance(st, basestring): + return st try: return st.format(**params) except Exception as e: @@ -192,3 +173,10 @@ class OnapApiCall(base.Step): value = self.format_string(value_def, output) expected_value = self.sla_cfg['equals'] assert value == expected_value + + def load_file(self, params): + yaml_path = os.path.join(self.curr_path, self.rest_def_file) + with open(yaml_path) as f: + operation_template = f.read() + operation = jinja2.Template(operation_template).render(**params) + return yaml.load(operation) diff --git a/vnftest/onap/onboard/accept_resource_test.yaml b/vnftest/onap/onboard/accept_resource_test.yaml index 60a079e..2479f52 100644 --- a/vnftest/onap/onboard/accept_resource_test.yaml +++ b/vnftest/onap/onboard/accept_resource_test.yaml @@ -13,12 +13,14 @@ ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/resources/{resource_id}/lifecycleState/certify" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_tester_user}", - "Accept": "application/json" - } -body: {"userRemarks":"certified"} +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/resources/{{resource_id}}/lifecycleState/certify +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_tester_user}} + Accept: application/json + +body: + userRemarks: certified + diff --git a/vnftest/onap/onboard/accept_service_test.yaml b/vnftest/onap/onboard/accept_service_test.yaml index d942084..6d38244 100644 --- a/vnftest/onap/onboard/accept_service_test.yaml +++ b/vnftest/onap/onboard/accept_service_test.yaml @@ -13,12 +13,12 @@ ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services/{sdc_service_id}/lifecycleState/certify" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_tester_user}", - "Accept": "application/json" - } -body: {"userRemarks":"certified"} +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services/{{sdc_service_id}}/lifecycleState/certify +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_tester_user}} + Accept: application/json +body: + userRemarks: certified diff --git a/vnftest/onap/onboard/add_resource_instance.yaml b/vnftest/onap/onboard/add_resource_instance.yaml index a1af66c..e217bd7 100644 --- a/vnftest/onap/onboard/add_resource_instance.yaml +++ b/vnftest/onap/onboard/add_resource_instance.yaml @@ -13,21 +13,20 @@ ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services/{sdc_service_id}/resourceInstance" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: { - "uniqueId": "{resource_instance_unique_id}", - "posX": "500", - "posY": "100", - "name": "{resource_instance_name}", - "componentVersion": "1.0", - "originType": "VF", - "icon": "defaulticon", - "componentUid": "{resource_version_id}" - } \ No newline at end of file +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services/{{sdc_service_id}}/resourceInstance +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + uniqueId: {{resource_instance_unique_id}} + posX: 500 + posY: 100 + name: {{resource_instance_name}} + componentVersion: 1.0 + originType: VF + icon: defaulticon + componentUid: {{resource_version_id}} diff --git a/vnftest/onap/onboard/add_service.yaml b/vnftest/onap/onboard/add_service.yaml index 9602a6b..91a6eff 100644 --- a/vnftest/onap/onboard/add_service.yaml +++ b/vnftest/onap/onboard/add_service.yaml @@ -12,71 +12,46 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: { - "artifacts": { - - }, - "toscaArtifacts": { - - }, - "contactId": "{sdc_designer_user}", - "categories": [ - { - "name": "Network L4+", - "normalizedName": "network l4+", - "uniqueId": "serviceNewCategory.network l4+", - "icons": [ - "network_l_4" - ], - "subcategories": null, - "ownerId": null - } - ], - "description": "service test", - "icon": "defaulticon", - "componentInstancesProperties": { - - }, - "componentInstancesAttributes": { - - }, - "name": "{service_name}", - "tags": [ - "{service_name}" - ], - "capabilities": { - - }, - "requirements": { - - }, - "deploymentArtifacts": { - - }, - "componentType": "SERVICE", - "projectCode": "100100", - "componentInstances": [ - - ], - "properties": [ - - ], - "attributes": [ - - ], - "groups": [ - - ], - "ecompGeneratedNaming": "true", - "serviceApiArtifacts": { - - } - } +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + artifacts: + toscaArtifacts: + contactId: {{sdc_designer_user}} + categories: + - + name: Network L4+ + normalizedName: network l4+ + uniqueId: serviceNewCategory.network l4+ + icons: + - + network_l_4 + + subcategories: null + ownerId: null + description: service test + icon: defaulticon + componentInstancesProperties: + componentInstancesAttributes: + name: {{service_name}} + tags: + - + {{service_name}} + + capabilities: + requirements: + deploymentArtifacts: + componentType: SERVICE + projectCode: 100100 + componentInstances: [] + properties: [] + attributes: [] + groups: [] + ecompGeneratedNaming: true + serviceApiArtifacts: diff --git a/vnftest/onap/onboard/approve_distribution.yaml b/vnftest/onap/onboard/approve_distribution.yaml index b1efc48..a0f6a0d 100644 --- a/vnftest/onap/onboard/approve_distribution.yaml +++ b/vnftest/onap/onboard/approve_distribution.yaml @@ -12,12 +12,12 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services/{service_version_id}/distribution-state/approve" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_governance_user}", - "Accept": "application/json" - } -body: {"userRemarks":"approved"} +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services/{{service_version_id}}/distribution-state/approve +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_governance_user}} + Accept: application/json +body: + userRemarks: approved diff --git a/vnftest/onap/onboard/checkin_vlm.yaml b/vnftest/onap/onboard/checkin_vlm.yaml index 93fdd07..be77446 100644 --- a/vnftest/onap/onboard/checkin_vlm.yaml +++ b/vnftest/onap/onboard/checkin_vlm.yaml @@ -13,12 +13,12 @@ ############################################################################## --- -method: "PUT" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-license-models/{vendor_id}/versions/0.1/actions" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: {"action":"Checkin"} +method: PUT +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-license-models/{{vendor_id}}/versions/0.1/actions +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json +body: + action: Checkin diff --git a/vnftest/onap/onboard/checkin_vsp.yaml b/vnftest/onap/onboard/checkin_vsp.yaml index 399aa47..d0b9067 100644 --- a/vnftest/onap/onboard/checkin_vsp.yaml +++ b/vnftest/onap/onboard/checkin_vsp.yaml @@ -12,12 +12,13 @@ # the License ############################################################################## --- -method: "PUT" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-software-products/{vsp_id}/versions/0.1/actions" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: {"action":"Checkin"} +method: PUT +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-software-products/{{vsp_id}}/versions/0.1/actions +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + action: Checkin diff --git a/vnftest/onap/onboard/create_package_vsp.yaml b/vnftest/onap/onboard/create_package_vsp.yaml index a961b86..85a7bc5 100644 --- a/vnftest/onap/onboard/create_package_vsp.yaml +++ b/vnftest/onap/onboard/create_package_vsp.yaml @@ -1,7 +1,7 @@ ############################################################################## # Copyright 2018 EuropeanSoftwareMarketingLtd. # =================================================================== -# Licensed under the ApacheLicense, Version2.0 (the"License"); +# Licensed under the ApacheLicense Version2.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 @@ -12,12 +12,13 @@ # the License ############################################################################## --- -method: "PUT" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-software-products/{vsp_id}/versions/0.1/actions" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: {"action":"Create_Package"} +method: PUT +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-software-products/{{vsp_id}}/versions/0.1/actions +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + action: Create_Package diff --git a/vnftest/onap/onboard/create_vlm.yaml b/vnftest/onap/onboard/create_vlm.yaml index dce110a..25418a9 100644 --- a/vnftest/onap/onboard/create_vlm.yaml +++ b/vnftest/onap/onboard/create_vlm.yaml @@ -13,16 +13,15 @@ ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-license-models" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: { - "vendorName": "{vendor_name}", - "description": "vlm via dovetail", - "iconRef": "icon" - } \ No newline at end of file +method: POST +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-license-models +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + vendorName: {{vendor_name}} + description: vlm via dovetail + iconRef: icon \ No newline at end of file diff --git a/vnftest/onap/onboard/create_vsp.yaml b/vnftest/onap/onboard/create_vsp.yaml index d9721a2..01d5d64 100644 --- a/vnftest/onap/onboard/create_vsp.yaml +++ b/vnftest/onap/onboard/create_vsp.yaml @@ -12,23 +12,21 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-software-products" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: { - "vendorId": "{vendor_id}", - "name": "{vsp_name}", - "category": "resourceNewCategory.application l4+", - "subCategory": "resourceNewCategory.application l4+.firewall", - "description": "vlm via dovetail", - "onboardingMethod": "NetworkPackage", - "vendorName": "dovetailVendor", - "icon": "icon", - "licensingData": { - } - } \ No newline at end of file +method: POST +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-software-products +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + vendorId: {{vendor_id}} + name: {{vsp_name}} + category: resourceNewCategory.application l4+ + subCategory: resourceNewCategory.application l4+.firewall + description: vlm via dovetail + onboardingMethod: NetworkPackage + vendorName: dovetailVendor + icon: icon + licensingData: \ No newline at end of file diff --git a/vnftest/onap/onboard/distribute.yaml b/vnftest/onap/onboard/distribute.yaml index 7deb9a1..70415bf 100644 --- a/vnftest/onap/onboard/distribute.yaml +++ b/vnftest/onap/onboard/distribute.yaml @@ -12,12 +12,12 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services/{service_version_id}/distribution/PROD/activate" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_operations_user}", - "Accept": "application/json" - } -body: {} +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services/{{service_version_id}}/distribution/PROD/activate +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_operations_user}} + Accept: application/json + +body: diff --git a/vnftest/onap/onboard/import_vsp.yaml b/vnftest/onap/onboard/import_vsp.yaml index d3a3100..539b427 100644 --- a/vnftest/onap/onboard/import_vsp.yaml +++ b/vnftest/onap/onboard/import_vsp.yaml @@ -12,80 +12,53 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/resources" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: { - "artifacts": { +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/resources +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_designer_user}} + Accept: application/json - }, - "toscaArtifacts": { - - }, - "contactId": "{sdc_designer_user}", - "categories": [ - { - "name": "Application L4+", - "normalizedName": "application l4+", - "uniqueId": "resourceNewCategory.application l4+", - "icons": null, - "subcategories": [ - { - "name": "Firewall", - "normalizedName": "firewall", - "uniqueId": "resourceNewCategory.application l4+.firewall", - "icons": [ - "firewall" - ], - "groupings": null, - "ownerId": null - } - ], - "ownerId": null - } - ], - "description": "dovetail initiated", - "icon": "defaulticon", - "componentInstancesProperties": { - - }, - "componentInstancesAttributes": { - - }, - "name": "{vsp_name}", - "tags": [ - "{vsp_name}" - ], - "capabilities": { - - }, - "requirements": { - - }, - "deploymentArtifacts": { - - }, - "componentType": "RESOURCE", - "vendorName": "dovetailVendor", - "vendorRelease": "1.0", - "componentInstances": [ - - ], - "properties": [ - - ], - "attributes": [ - - ], - "groups": [ - - ], - "resourceType": "VF", - "csarUUID": "{vsp_id}", - "csarVersion": "1.0" - } +body: + artifacts: + toscaArtifacts: + contactId: {{sdc_designer_user}} + categories: + - + name: Application L4+ + normalizedName: application l4+ + uniqueId: resourceNewCategory.application l4+ + icons: null + subcategories: + - + name: Firewall + normalizedName: firewall + uniqueId: resourceNewCategory.application l4+.firewall + icons: + - + firewall + groupings: null + ownerId: null + ownerId: null + description: dovetail initiated + icon: defaulticon + componentInstancesProperties: + componentInstancesAttributes: + name: {{vsp_name}} + tags: + - + {{vsp_name}} + capabilities: + requirements: + deploymentArtifacts: + componentType: RESOURCE + vendorName: dovetailVendor + vendorRelease: 1.0 + componentInstances: [] + properties: [] + attributes: [] + groups: [] + resourceType: VF + csarUUID: {{vsp_id}} + csarVersion: 1.0 diff --git a/vnftest/onap/onboard/monitor_distribution.yaml b/vnftest/onap/onboard/monitor_distribution.yaml index 07216d0..40ad7ad 100644 --- a/vnftest/onap/onboard/monitor_distribution.yaml +++ b/vnftest/onap/onboard/monitor_distribution.yaml @@ -12,12 +12,12 @@ # the License ############################################################################## --- -method: "GET" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services/{distributed_service_id}/distribution" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_operations_user}", - "Accept": "application/json" - } -body: {} +method: GET +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services/{{distributed_service_id}}/distribution +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_operations_user}} + Accept: application/json + +body: diff --git a/vnftest/onap/onboard/process_package.yaml b/vnftest/onap/onboard/process_package.yaml index ee8f791..20dc082 100644 --- a/vnftest/onap/onboard/process_package.yaml +++ b/vnftest/onap/onboard/process_package.yaml @@ -12,11 +12,10 @@ # the License ############################################################################## --- -method: "PUT" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-software-products/{vsp_id}/versions/0.1/orchestration-template-candidate/process" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } \ No newline at end of file +method: PUT +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-software-products/{{vsp_id}}/versions/0.1/orchestration-template-candidate/process +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json diff --git a/vnftest/onap/onboard/start_resource_test.yaml b/vnftest/onap/onboard/start_resource_test.yaml index d6ba7b3..b55c909 100644 --- a/vnftest/onap/onboard/start_resource_test.yaml +++ b/vnftest/onap/onboard/start_resource_test.yaml @@ -12,12 +12,12 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/resources/{resource_id}/lifecycleState/startCertification" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_tester_user}", - "Accept": "application/json" - } +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/resources/{{resource_id}}/lifecycleState/startCertification +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_tester_user}} + Accept: application/json + body: {} diff --git a/vnftest/onap/onboard/start_service_test.yaml b/vnftest/onap/onboard/start_service_test.yaml index a9d9da4..dff74b9 100644 --- a/vnftest/onap/onboard/start_service_test.yaml +++ b/vnftest/onap/onboard/start_service_test.yaml @@ -12,12 +12,11 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services/{sdc_service_id}/lifecycleState/startCertification" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_tester_user}", - "Accept": "application/json" - } +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services/{{sdc_service_id}}/lifecycleState/startCertification +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_tester_user}} + Accept: application/json body: {} diff --git a/vnftest/onap/onboard/submit_resource_for_testing.yaml b/vnftest/onap/onboard/submit_resource_for_testing.yaml index 4bdc2be..22dbb64 100644 --- a/vnftest/onap/onboard/submit_resource_for_testing.yaml +++ b/vnftest/onap/onboard/submit_resource_for_testing.yaml @@ -12,12 +12,13 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/resources/{resource_id}/lifecycleState/certificationRequest" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: {"userRemarks":"resource submited for testing"} +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/resources/{{resource_id}}/lifecycleState/certificationRequest +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + userRemarks: resource submited for testing diff --git a/vnftest/onap/onboard/submit_service_for_testing.yaml b/vnftest/onap/onboard/submit_service_for_testing.yaml index fe57ded..1910695 100644 --- a/vnftest/onap/onboard/submit_service_for_testing.yaml +++ b/vnftest/onap/onboard/submit_service_for_testing.yaml @@ -12,12 +12,13 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_catalog_port}/sdc1/feProxy/rest/v1/catalog/services/{sdc_service_id}/lifecycleState/certificationRequest" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic YmVlcDpib29w", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: {"userRemarks":"resource submited for testing"} +method: POST +url: http://{{sdc_ip}}:{{sdc_catalog_port}}/sdc1/feProxy/rest/v1/catalog/services/{{sdc_service_id}}/lifecycleState/certificationRequest +headers: + Content-Type: application/json + Authorization: Basic YmVlcDpib29w + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + userRemarks: resource submited for testing diff --git a/vnftest/onap/onboard/submit_vlm.yaml b/vnftest/onap/onboard/submit_vlm.yaml index eb1683a..8fcd234 100644 --- a/vnftest/onap/onboard/submit_vlm.yaml +++ b/vnftest/onap/onboard/submit_vlm.yaml @@ -13,12 +13,13 @@ ############################################################################## --- -method: "PUT" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-license-models/{vendor_id}/versions/0.1/actions" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: {"action":"Submit"} +method: PUT +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-license-models/{{vendor_id}}/versions/0.1/actions +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + action: Submit diff --git a/vnftest/onap/onboard/submit_vsp.yaml b/vnftest/onap/onboard/submit_vsp.yaml index c255cd7..38fe218 100644 --- a/vnftest/onap/onboard/submit_vsp.yaml +++ b/vnftest/onap/onboard/submit_vsp.yaml @@ -12,12 +12,13 @@ # the License ############################################################################## --- -method: "PUT" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-software-products/{vsp_id}/versions/0.1/actions" -headers: { - "Content-Type": "application/json", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -body: {"action":"Submit"} +method: PUT +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-software-products/{{vsp_id}}/versions/0.1/actions +headers: + Content-Type: application/json + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json + +body: + action: Submit diff --git a/vnftest/onap/onboard/upload_package.yaml b/vnftest/onap/onboard/upload_package.yaml index 958782f..43bdae3 100644 --- a/vnftest/onap/onboard/upload_package.yaml +++ b/vnftest/onap/onboard/upload_package.yaml @@ -12,12 +12,11 @@ # the License ############################################################################## --- -method: "POST" -url: "http://{sdc_ip}:{sdc_port}/onboarding-api/v1.0/vendor-software-products/{vsp_id}/versions/0.1/orchestration-template-candidate" -headers: { - "Content-Type": "multipart/form-data", - "Authorization": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", - "USER_ID": "{sdc_designer_user}", - "Accept": "application/json" - } -file: "{package_file_path}" \ No newline at end of file +method: POST +url: http://{{sdc_ip}}:{{sdc_port}}/onboarding-api/v1.0/vendor-software-products/{{vsp_id}}/versions/0.1/orchestration-template-candidate +headers: + Content-Type: multipart/form-data + Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== + USER_ID: {{sdc_designer_user}} + Accept: application/json +file: {{package_file_path}} \ No newline at end of file -- cgit 1.2.3-korg