diff options
author | Moshe <moshehoa@amdocs.com> | 2018-04-08 21:37:43 +0300 |
---|---|---|
committer | Moshe <moshehoa@amdocs.com> | 2018-05-14 18:05:32 +0300 |
commit | 82aeca18c66dc4c312a57f24ed3c4c33a2063070 (patch) | |
tree | 9fad6581a0722e866b937cf3955b1e2d2cd6d4fa | |
parent | dcfc64ef46b52769f03b6ed06e23b455c8ed69e5 (diff) |
Refactor api definition yamls to support jinja2
Issue-ID: VNFSDK-181
Change-Id: Ibff00e985f95b400f08d4de4021dc3a8ab235ad7
Signed-off-by: Moshe <moshehoa@amdocs.com>
Support creation of multiple vf-modules per vnf
Issue-ID: VNFSDK-264
Change-Id: I45054bc4bb721d7df89653e99fafe61297939504
Signed-off-by: Moshe <moshehoa@amdocs.com>
fix tests
Issue-ID: VNFSDK-264
Change-Id: I077289bfcd4c68b0191fd74c4e02e07a67f5104f
Signed-off-by: Moshe <moshehoa@amdocs.com>
39 files changed, 632 insertions, 713 deletions
diff --git a/etc/vnftest/vnf_descriptors/vnf_descriptor_sample.yaml b/etc/vnftest/vnf_descriptors/vnf_descriptor_sample.yaml index 21008df..7e746e5 100644 --- a/etc/vnftest/vnf_descriptors/vnf_descriptor_sample.yaml +++ b/etc/vnftest/vnf_descriptors/vnf_descriptor_sample.yaml @@ -17,4 +17,26 @@ type: CSAR vnf_name: sample_firewall vnf_id: 123456 -csar_package_location: /etc/nvftest/sample_fw.csar
\ No newline at end of file +package_location: /etc/nvftest/sample_fw.csar + +# List the vf modules to be instantiated in order (if relevant) +vf_modules: +- + module_name: module_0 + # List the input parameters for the VF module as expected by the orchestrator + input_parameters: + - + name: param_0 + value: value_0 + - + name: param_1 + value: value_1 +- + module_name: module_1 + input_parameters: + - + name: param_0 + value: value_0 + - + name: param_1 + value: value_1 diff --git a/tests/onap/test_cases/onap_vnftest_tc001.yaml b/tests/onap/test_cases/onap_vnftest_tc001.yaml index 0bc34aa..26a5672 100644 --- a/tests/onap/test_cases/onap_vnftest_tc001.yaml +++ b/tests/onap/test_cases/onap_vnftest_tc001.yaml @@ -90,7 +90,7 @@ steps: value: "{vsp_id}" - parameter_name: "package_file_path" - value: "{context|vnf_descriptor|csar_package_location}" + value: "{context.vnf_descriptor.package_location}" runner: type: Iteration run_step: "setup,run" @@ -158,22 +158,7 @@ steps: - parameter_name: "resource_id" value: "[uniqueId]" - - - parameter_name: "vnf_type" - value: "[name]" - type: VnfTypeCrawler - - - parameter_name: "module_model_invariant_id" - value: "[invariantUUID]" - type: VnfTypeCrawler - - - parameter_name: "module_model_version_id" - value: "[groupUUID]" - type: VnfTypeCrawler - - - parameter_name: "module_model_version" - value: "[version]" - type: VnfTypeCrawler + runner: type: Iteration run_step: "setup,run" @@ -360,8 +345,9 @@ steps: parameter_name: "service_model_version" value: "[version]" - - parameter_name: "service_model_customization_id" - value: "[componentInstances][0][groupInstances][0][customizationUUID]" + parameter_name: "vf_modules_list" + type: VfModuleCrawler + runner: type: Iteration run_step: "setup,run" diff --git a/tests/onap/test_cases/onap_vnftest_tc002.yaml b/tests/onap/test_cases/onap_vnftest_tc002.yaml index d2e2bee..341c1c8 100644 --- a/tests/onap/test_cases/onap_vnftest_tc002.yaml +++ b/tests/onap/test_cases/onap_vnftest_tc002.yaml @@ -24,7 +24,6 @@ description: > {% set customer_name = customer_name or ['test_customer_', rnd ]|join %} {% set service_instance_name = service_instance_name or ['test_service_instance_', rnd ]|join %} {% set vnf_instance_name = vnf_instance_name or ['test_vnf_instance_', rnd ]|join %} -{% set vnf_name = vnf_name or ['test_vnf_', rnd ]|join %} # Mandatory input parameters {% set service_model_version_id = service_model_version_id or '\"\u007Bservice_model_version_id\u007D\"' %} @@ -41,10 +40,7 @@ description: > {% set resource_model_customization_name = resource_model_customization_name or '\"\u007Bresource_model_customization_name\u007D\"' %} {% set distributed_service_id = distributed_service_id or '\"\u007Bdistributed_service_id\u007D\"' %} {% set resource_instance_model_name = resource_instance_model_name or '\"\u007Bresource_instance_model_name\u007D\"' %} -{% set vnf_type = vnf_type or '\"\u007Bvnf_type\u007D\"' %} -{% set module_model_invariant_id = module_model_invariant_id or '\"\u007Bmodule_model_invariant_id\u007D\"' %} -{% set module_model_version_id = module_model_version_id or '\"\u007Bmodule_model_version_id\u007D\"' %} -{% set module_model_version = module_model_version or '\"\u007Bmodule_model_version\u007D\"' %} +{% set vf_modules_list = vf_modules_list or {}%} steps: - @@ -57,10 +53,10 @@ steps: value: {{cloud_owner}} - parameter_name: "tenant_id" - value: "{context|creds|tenant_id}" + value: "{context.creds.tenant_id}" - parameter_name: "tenant_name" - value: "{context|creds|tenant_name}" + value: "{context.creds.tenant_name}" runner: type: Iteration run_step: "setup,run" @@ -86,12 +82,12 @@ steps: value: {{cloud_owner}} - parameter_name: "tenant_id" - value: "{context|creds|tenant_id}" + value: "{context.creds.tenant_id}" - type: OnapApiCall options: file: "lifecycle/create_service_instance.yaml" - delay: 30 + delay: 60 input: - parameter_name: "service_instance_name" @@ -173,7 +169,7 @@ steps: value: {{resource_model_customization_name}} - parameter_name: "tenant_id" - value: "{context|creds|tenant_id}" + value: "{context.creds.tenant_id}" - parameter_name: "service_model_name" value: {{service_model_name}} @@ -220,12 +216,18 @@ steps: type: Iteration run_step: "setup,run" +{% for vf_module_definition in vnf_descriptor.vf_modules %} + {% set vf_module = vf_modules_list[vf_module_definition.module_name] %} + {% set vnf_name = ['test_vnf_', rnd, '_', vf_module_definition.module_name ]|join %} - type: OnapApiCall options: file: "lifecycle/preload_sdnc.yaml" input: - + parameter_name: "vnf_parameters" + value: {{vf_module_definition.input_parameters}} + - parameter_name: "vnf_name" value: {{vnf_name}} - @@ -242,7 +244,7 @@ steps: value: "{service_instance_id}" - parameter_name: "vnf_type" - value: {{vnf_type}} + value: {{vf_module.groupName}} runner: type: Iteration run_step: "setup,run" @@ -264,22 +266,22 @@ steps: value: {{vnf_name}} - parameter_name: "module_model_invariant_id" - value: {{module_model_invariant_id}} + value: {{vf_module.invariantUUID}} - parameter_name: "module_model_version_id" - value: {{module_model_version_id}} + value: {{vf_module.groupUUID}} - parameter_name: "vnf_type" - value: {{vnf_type}} + value: {{vf_module.groupName}} - parameter_name: "module_model_version" - value: {{module_model_version}} + value: {{vf_module.version}} - - parameter_name: "service_model_customization_id" - value: {{service_model_customization_id}} + parameter_name: "module_model_customization_id" + value: {{vf_module.customizationUUID}} - parameter_name: "tenant_id" - value: "{context|creds|tenant_id}" + value: "{context.creds.tenant_id}" - parameter_name: "service_model_name" value: {{service_model_name}} @@ -344,6 +346,6 @@ steps: runner: type: Iteration run_step: "setup,run" - +{% endfor %} context: type: CSAR
\ No newline at end of file diff --git a/tests/onap/test_cases/onap_vnftest_tc003.yaml b/tests/onap/test_cases/onap_vnftest_tc003.yaml index 304513a..d3b173d 100644 --- a/tests/onap/test_cases/onap_vnftest_tc003.yaml +++ b/tests/onap/test_cases/onap_vnftest_tc003.yaml @@ -21,13 +21,12 @@ description: > {% set service_instance_id = service_instance_id or '\"\u007Bservice_instance_id\u007D\"' %} {% set vnf_instance_id = vnf_instance_id or '\"\u007Bvnf_instance_id\u007D\"' %} {% set vf_module_instance_id = vf_module_instance_id or '\"\u007Bvf_module_instance_id\u007D\"' %} -{% set vnf_type = vnf_type or '\"\u007Bvnf_type\u007D\"' %} -{% set module_model_invariant_id = module_model_invariant_id or '\"\u007Bmodule_model_invariant_id\u007D\"' %} -{% set module_model_version_id = module_model_version_id or '\"\u007Bmodule_model_version_id\u007D\"' %} -{% set module_model_version = module_model_version or '\"\u007Bmodule_model_version\u007D\"' %} {% set service_model_customization_id = service_model_customization_id or '\"\u007Bservice_model_customization_id\u007D\"' %} +{% set vf_modules_list = vf_modules_list or {}%} steps: +{% for vf_module_definition in vnf_descriptor.vf_modules %} + {% set vf_module = vf_modules_list[vf_module_definition.module_name] %} - type: OnapApiCall options: @@ -44,16 +43,16 @@ steps: value: {{vf_module_instance_id}} - parameter_name: "module_model_invariant_id" - value: {{module_model_invariant_id}} + value: {{vf_module.invariantUUID}} - parameter_name: "module_model_version_id" - value: {{module_model_version_id}} + value: {{vf_module.groupUUID}} - parameter_name: "vnf_type" - value: {{vnf_type}} + value: {{vf_module.name}} - parameter_name: "module_model_version" - value: {{module_model_version}} + value: {{vf_module.version}} - parameter_name: "service_model_customization_id" value: {{service_model_customization_id}} @@ -87,7 +86,7 @@ steps: equals: "COMPLETE" retries: 15 interval: 5 - +{% endfor %} runner: type: Iteration run_step: "setup,run" 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/vnf_type_crawler.py b/vnftest/onap/common/vf_module_crawler.py index 9e03dc0..ffc215c 100644 --- a/vnftest/onap/common/vnf_type_crawler.py +++ b/vnftest/onap/common/vf_module_crawler.py @@ -19,13 +19,17 @@ import logging LOG = logging.getLogger(__name__) -class VnfTypeCrawler(DefaultCrawler): - __crawler_type__ = 'VnfTypeCrawler' +class VfModuleCrawler(DefaultCrawler): + __crawler_type__ = 'VfModuleCrawler' 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) + 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/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 |