blob: 17e9a79a1d472f1128d9977d2e13368da1a7afd6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
*** Settings ***
Documentation Instantiate VNF
Library OperatingSystem
Library Collections
Library String
Library DateTime
Library SoUtils
Library ONAPLibrary.PreloadData WITH NAME PreloadData
Library ONAPLibrary.Utilities
Library ONAPLibrary.JSON
Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping
Library ONAPLibrary.Templating WITH NAME Templating
Library ONAPLibrary.SO WITH NAME SO
Resource ../global_properties.robot
***Variables ***
${SO_TEMPLATE_PATH} so
${SO_CATALOGDB_PATH} /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName
${SO_APIHANDLER_PATH} /onap/so/infra/serviceInstantiation/v7/serviceInstances
*** Keywords ***
Instantiate Service Direct To SO
[Documentation] Creates an entire service from a CSAR
[Arguments] ${service} ${csar_file} ${vnf_template_file}
# Example: ${csar_file}= Set Variable /tmp/csar/service-Vfw20190413133734-csar.csar
# Example: ${vnf_template_file}= Set Variable /var/opt/ONAP/testsuite/vcpeutils/preload_templates/template.vfw_vfmodule.json
PreloadData.Set Directory preload ./demo/preload_data
${preload_dict}= Get Default Preload Data preload
${template}= Create Dictionary
@{keys}= Get Dictionary Keys ${preload_dict}
${parameters}= Get Globally Injected Parameters
:FOR ${key} IN @{keys}
\ ${value}= Get From Dictionary ${preload_dict} ${key}
\ ${tmp_value}= Set Variable If 'GLOBAL_' in $value ${value}
\ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} \$ ${EMPTY}
\ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} { ${EMPTY}
\ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} } ${EMPTY}
\ ${value}= Set Variable If 'GLOBAL_' in $value ${parameters["${tmp_value}"]} ${value}
\ ${new_key}= Catenate \$ { ${key} }
\ ${new_key}= Evaluate '${new_key}'.replace(' ','')
\ Set To Dictionary ${template} ${new_key} ${value}
${tmp_key1}= Catenate \$ { ecompnet }
${tmp_key1}= Evaluate '${tmp_key1}'.replace(' ','')
${tmp_key2}= Catenate \$ { GLOBAL_INJECTED_UBUNTU_1404_IMAGE }
${tmp_key2}= Evaluate '${tmp_key2}'.replace(' ','')
# ecompnet 13 , 14, 15
# use same method as sdnc preload robot script
${ecompnet}= Evaluate str((${GLOBAL_BUILD_NUMBER}%128)+128)
Set To Dictionary ${template} ${tmp_key1} ${ecompnet} ${tmp_key2} ${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}
Log ${preload_dict}
Log ${template}
${service_instance_id}= Create Entire Service ${csar_file} ${vnf_template_file} ${template} ${GLOBAL_INJECTED_REGION} ${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} ${GLOBAL_INJECTED_PUBLIC_KEY}
Log ServiceInstanceId:${service_instance_id}
Should Not Be Equal As Strings ${service_instance_id} None
CDS Service Instantiate
[Arguments] ${cds_service_model} ${service_uuid} ${service_invariantUUID}
${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD}
${resp}= SO.Run Get Request ${GLOBAL_SO_CATDB_ENDPOINT} ${SO_CATALOGDB_PATH}=${cds_service_model} auth=${auth}
Should Be Equal As Strings ${resp.status_code} 200
${time_now}= Get Time
@{date_time}= Split String ${time_now}
${time_stamp}= Catenate SEPARATOR=_ @{date_time}[0] @{date_time}[1]
${customized_time_stamp}= Remove String ${time_stamp} :
${cds_instance_name}= Set Variable cds_vlb_svc_${customized_time_stamp}
${global_parameters}= Get Globally Injected Parameters
${dict}= Set To Dictionary ${global_parameters} service_instance_name=${cds_instance_name} owning_entity=OE-Demonstration homing_solution=none owning_entity_id=67f2e84c-734d-4e90-a1e4-d2ffa2e75849 subscriber_id=Demonstration cloud_owner=${GLOBAL_AAI_CLOUD_OWNER} subscription_service_type=vLB service_model_name=${cds_service_model} service_model_uuid=${service_uuid} service_model_invariantuuid=${service_invariantUUID} resp=${resp.json()}
Templating.Create Environment cds ${GLOBAL_TEMPLATE_FOLDER}
${data}= Templating.Apply Template cds ${SO_TEMPLATE_PATH}/cds_service_template.jinja ${dict}
Log ${data}
${auth}= Create List ${GLOBAL_SO_USERNAME} ${GLOBAL_SO_PASSWORD}
${resp}= SO.Run Post Request ${GLOBAL_SO_APIHAND_ENDPOINT} ${SO_APIHANDLER_PATH} ${data} auth=${auth}
Should Be Equal As Strings ${resp.status_code} 202
[Return] ${resp.json()['requestReferences']['requestId']}
|