{
- "connectivity-id": "${connectivity_id}",
+ "connectivity-id": "{{connectivity_id}}",
"bandwidth-profile-name": "",
"vpn-type": "",
"cir": "",
--- /dev/null
+{
+ "related-to": "{{related_class_name}}",
+ "related-link": "{{related_object_url}}"
+}
+++ /dev/null
-{
- "related-to": "${related_class_name}",
- "related-link": "${related_object_url}"
-}
{
- "vpn-id": "${vpn_id}",
+ "vpn-id": "{{vpn_id}}",
"vpn-name": "",
"vpn-platform": "",
"vpn-type": "",
{
-"availability-zone-name":"${availability_zone_name}",
+"availability-zone-name":"{{availability_zone_name}}",
"hypervisor-type": "KVM",
"operational-status": "Active"
}
{
- "complex-name": "${complex_name}",
- "physical-location-id": "${physical_location_id}",
+ "complex-name": "{{complex_name}}",
+ "physical-location-id": "{{physical_location_id}}",
"data-center-code": "example-data-center-code-val-5556",
"identity-url": "example-identity-url-val-56898",
"physical-location-type": "example-physical-location-type-val-7608",
"relationship": [
{
"related-to": "cloud-region",
- "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/${region}",
+ "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/{{region}}",
"relationship-data": [
{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "${cloud_owner}"
+ "relationship-value": "{{cloud_owner}}"
},
{
"relationship-key": "cloud-region.cloud-region-id",
- "relationship-value": "${region}"
+ "relationship-value": "{{region}}"
}
],
"related-to-property": [
{
"property-key": "cloud-region.owner-defined-type",
- "property-value": "${owner_defined_type}"
+ "property-value": "{{owner_defined_type}}"
}
]
}
{
- "global-customer-id": "${global_customer_id}",
- "subscriber-name": "${subscriber_name}",
- "subscriber-type": "${subscriber_type}",
+ "global-customer-id": "{{global_customer_id}}",
+ "subscriber-name": "{{subscriber_name}}",
+ "subscriber-type": "{{subscriber_type}}",
"service-subscriptions": {
"service-subscription": [{
- "service-type": "${service1}",
+ "service-type": "{{service1}}",
"relationship-list": {
"relationship": [{
"related-to": "tenant",
"relationship-data": [{
"relationship-key": "cloud-region.cloud-owner",
- "relationship-value": "${cloud_owner1}"
+ "relationship-value": "{{cloud_owner1}}"
}, {
"relationship-key": "cloud-region.cloud-region-id",
- "relationship-value": "${cloud_region_id1}"
+ "relationship-value": "{{cloud_region_id1}}"
}, {
"relationship-key": "tenant.tenant-id",
- "relationship-value": "${tenant_id1}"
+ "relationship-value": "{{tenant_id1}}"
}]
}]
}
{
- "global-customer-id" : "${global_customer_id}",
- "subscriber-name" : "${subscriber_name}",
- "subscriber-type" : "${subscriber_type}",
+ "global-customer-id" : "{{global_customer_id}}",
+ "subscriber-name" : "{{subscriber_name}}",
+ "subscriber-type" : "{{subscriber_type}}",
"service-subscriptions" : {
"service-subscription" : [{
- "service-type" : "${service1}",
+ "service-type" : "{{service1}}",
"relationship-list" : {
"relationship" : [{
"related-to" : "tenant",
"relationship-data" : [{
"relationship-key" : "cloud-region.cloud-owner",
- "relationship-value" : "${cloud_owner}"
+ "relationship-value" : "{{cloud_owner}}"
}, {
"relationship-key" : "cloud-region.cloud-region-id",
- "relationship-value" : "${cloud_region_id}"
+ "relationship-value" : "{{cloud_region_id}}"
}, {
"relationship-key" : "tenant.tenant-id",
- "relationship-value" : "${tenant_id}"
+ "relationship-value" : "{{tenant_id}}"
}
]
}
]
}
}, {
- "service-type" : "${service2}",
+ "service-type" : "{{service2}}",
"relationship-list" : {
"relationship" : [{
"related-to" : "tenant",
"relationship-data" : [{
"relationship-key" : "cloud-region.cloud-owner",
- "relationship-value" : "${cloud_owner}"
+ "relationship-value" : "{{cloud_owner}}"
}, {
"relationship-key" : "cloud-region.cloud-region-id",
- "relationship-value" : "${cloud_region_id}"
+ "relationship-value" : "{{cloud_region_id}}"
}, {
"relationship-key" : "tenant.tenant-id",
- "relationship-value" : "${tenant_id}"
+ "relationship-value" : "{{tenant_id}}"
}
]
}
]
}
}, {
- "service-type" : "${service3}",
+ "service-type" : "{{service3}}",
"relationship-list" : {
"relationship" : [{
"related-to" : "tenant",
"relationship-data" : [{
"relationship-key" : "cloud-region.cloud-owner",
- "relationship-value" : "${cloud_owner}"
+ "relationship-value" : "{{cloud_owner}}"
}, {
"relationship-key" : "cloud-region.cloud-region-id",
- "relationship-value" : "${cloud_region_id}"
+ "relationship-value" : "{{cloud_region_id}}"
}, {
"relationship-key" : "tenant.tenant-id",
- "relationship-value" : "${tenant_id}"
+ "relationship-value" : "{{tenant_id}}"
}
]
}
]
}
}, {
- "service-type" : "${service4}",
+ "service-type" : "{{service4}}",
"relationship-list" : {
"relationship" : [{
"related-to" : "tenant",
"relationship-data" : [{
"relationship-key" : "cloud-region.cloud-owner",
- "relationship-value" : "${cloud_owner}"
+ "relationship-value" : "{{cloud_owner}}"
}, {
"relationship-key" : "cloud-region.cloud-region-id",
- "relationship-value" : "${cloud_region_id}"
+ "relationship-value" : "{{cloud_region_id}}"
}, {
"relationship-key" : "tenant.tenant-id",
- "relationship-value" : "${tenant_id}"
+ "relationship-value" : "{{tenant_id}}"
}
]
}
]
}
}, {
- "service-type" : "${service5}",
+ "service-type" : "{{service5}}",
"relationship-list" : {
"relationship" : [{
"related-to" : "tenant",
"relationship-data" : [{
"relationship-key" : "cloud-region.cloud-owner",
- "relationship-value" : "${cloud_owner}"
+ "relationship-value" : "{{cloud_owner}}"
}, {
"relationship-key" : "cloud-region.cloud-region-id",
- "relationship-value" : "${cloud_region_id}"
+ "relationship-value" : "{{cloud_region_id}}"
}, {
"relationship-key" : "tenant.tenant-id",
- "relationship-value" : "${tenant_id}"
+ "relationship-value" : "{{tenant_id}}"
}
]
}
]
}
}, {
- "service-type" : "${service6}",
+ "service-type" : "{{service6}}",
"relationship-list" : {
"relationship" : [{
"related-to" : "tenant",
"relationship-data" : [{
"relationship-key" : "cloud-region.cloud-owner",
- "relationship-value" : "${cloud_owner}"
+ "relationship-value" : "{{cloud_owner}}"
}, {
"relationship-key" : "cloud-region.cloud-region-id",
- "relationship-value" : "${cloud_region_id}"
+ "relationship-value" : "{{cloud_region_id}}"
}, {
"relationship-key" : "tenant.tenant-id",
- "relationship-value" : "${tenant_id}"
+ "relationship-value" : "{{tenant_id}}"
}
]
}
--- /dev/null
+{
+ "service-id": "{{UUID}}",
+ "service-description": "{{service_type}}"
+}
+
+
+++ /dev/null
-{
- "service-id": "${UUID}",
- "service-description": "${service_type}"
-}
-
-
--- /dev/null
+{
+ "cloud-owner": "{{cloud_owner}}",
+ "cloud-region-id": "{{cloud_region_id}}",
+ "cloud-type": "{{cloud_type}}",
+ "owner-defined-type": "{{owner_defined_type}}",
+ "cloud-region-version": "{{cloud_region_version}}",
+ "cloud-zone": "{{cloud_zone}}",
+ {{resource_version}}
+ "tenants": {
+ "tenant": [{
+ "tenant-id": "{{tenant_id}}",
+ "tenant-name": "{{tenant_name}}"
+
+ }]
+ }
+}
+
+
+++ /dev/null
-{
- "cloud-owner": "${cloud_owner}",
- "cloud-region-id": "${cloud_region_id}",
- "cloud-type": "${cloud_type}",
- "owner-defined-type": "${owner_defined_type}",
- "cloud-region-version": "${cloud_region_version}",
- "cloud-zone": "${cloud_zone}",
- ${resource_version}
- "tenants": {
- "tenant": [{
- "tenant-id": "${tenant_id}",
- "tenant-name": "${tenant_name}"
-
- }]
- }
-}
-
-
--- /dev/null
+{
+"vnfc-name": "{{vnfc_name}}",
+"nfc-naming-code": "{{vnfc_nc}}",
+"nfc-function": "{{vnfc_func}}",
+"in-maint": "false",
+"is-closed-loop-disabled": "false"
+}
\ No newline at end of file
+++ /dev/null
-{
-"vnfc-name": "${vnfc_name}",
-"nfc-naming-code": "${vnfc_nc}",
-"nfc-function": "${vnfc_func}",
-"in-maint": "false",
-"is-closed-loop-disabled": "false"
-}
\ No newline at end of file
--- /dev/null
+{
+"zone-id":"{{zone_id}}",
+"zone-name":"{{zone_name}}",
+"design-type":"{{design_type}}",
+"zone-context":"{{zone_context}}",
+"status":"deployed"
+}
\ No newline at end of file
+++ /dev/null
-{
-"zone-id":"${zone_id}",
-"zone-name":"${zone_name}",
-"design-type":"${design_type}",
-"zone-context":"${zone_context}",
-"status":"deployed"
-}
\ No newline at end of file
{
"vserver":
{
- "vserver-name": "${vserver_name}"
+ "vserver-name": "{{vserver_name}}"
}
}
]
{
"service-subscription":[
{
- "service-type":"{$service_type}",
+ "service-type":"{{service_type}}",
"resource-version":"1473866861",
"service-instances":{
"service-instance":[
--- /dev/null
+{
+ "is-base-vf-module": false,
+ "persona-model-id": "{{persona_model_id}}",
+ "persona-model-version": "1.0",
+ "vf-module-id": "{{vf_module_id}}",
+ "vf-module-name": "{{vf_module_id}}"
+}
+++ /dev/null
-{
- "is-base-vf-module": false,
- "persona-model-id": "${persona_model_id}",
- "persona-model-version": "1.0",
- "vf-module-id": "${vf_module_id}",
- "vf-module-name": "${vf_module_id}"
-}
--- /dev/null
+{
+ "action": "{{action}}"
+}
\ No newline at end of file
+++ /dev/null
-{
- "action": "${action}"
-}
\ No newline at end of file
--- /dev/null
+{
+ "artifactLabel":"{{artifactLabel}}",
+ "artifactName": "{{artifactName}}",
+ "artifactType": "{{artifactType}}",
+ "artifactGroupType": "{{artifactGroupType}}",
+ "description": "{{description}}",
+ "payloadData": "{{payloadData}}"
+}
+++ /dev/null
-{
- "artifactLabel":"${artifactLabel}",
- "artifactName": "${artifactName}",
- "artifactType": "${artifactType}",
- "artifactGroupType": "${artifactGroupType}",
- "description": "${description}",
- "payloadData": "${payloadData}"
-}
[
{
- "defaultValue": "${nf_type}",
+ "defaultValue": "{{nf_type}}",
"description": null,
"name": "nf_type",
"parentUniqueId": null,
"property": {}
},
"type": "string",
- "uniqueId": "${nf_type_uid}",
+ "uniqueId": "{{nf_type_uid}}",
"value": null,
"definition": false,
"getInputValues": null,
"inputPath": null
},
{
- "defaultValue": "${nf_role}",
+ "defaultValue": "{{nf_role}}",
"description": null,
"name": "nf_role",
"parentUniqueId": null,
"property": {}
},
"type": "string",
- "uniqueId": "${nf_role_uid}",
+ "uniqueId": "{{nf_role_uid}}",
"value": null,
"definition": false,
"getInputValues": null,
"password": false,
"required": true,
"type": "string",
- "value": ${providing_service_invariant_uuid},
- "uniqueId": "${uniqueId}.providing_service_invariant_uuid"
+ "value": {{providing_service_invariant_uuid}},
+ "uniqueId": "{{uniqueId}}.providing_service_invariant_uuid"
},
{
"definition": false,
"password": false,
"required": true,
"type": "string",
- "value": ${providing_service_uuid},
- "uniqueId": "${uniqueId}.providing_service_uuid"
+ "value": {{providing_service_uuid}},
+ "uniqueId": "{{uniqueId}}.providing_service_uuid"
},
{
"definition": false,
"password": false,
"required": true,
"type": "string",
- "value": ${providing_service_name},
- "uniqueId": "${uniqueId}.providing_service_name"
+ "value": {{providing_service_name}},
+ "uniqueId": "{{uniqueId}}.providing_service_name"
}
]
[
{
- "uniqueId": "${uniqueId}",
+ "uniqueId": "{{uniqueId}}",
"type": "string",
"required": false,
"definition": false,
- "description": "${description}",
+ "description": "{{description}}",
"schema": {
"property": {
"required": false,
"empty": false
},
"password": false,
- "name": "${name}",
- "value": "${value}",
+ "name": "{{name}}",
+ "value": "{{value}}",
"hidden": false,
"immutable": false,
- "parentUniqueId": "${parentUniqueId}",
+ "parentUniqueId": "{{parentUniqueId}}",
"schemaProperty": {
"required": false,
"definition": true,
"empty": false
},
"getInputProperty": false,
- "ownerId": "${ownerId}",
+ "ownerId": "{{ownerId}}",
"empty": false
}
]
"icon": "defaulticon",
"componentInstancesProperties": {},
"componentInstancesAttributes": {},
- "name": "${software_product_name}",
+ "name": "{{software_product_name}}",
"tags": [
- "${software_product_name}"
+ "{{software_product_name}}"
],
"capabilities": {},
"requirements": {},
"deploymentArtifacts": {},
"componentType": "RESOURCE",
- "vendorName": "${vendor_name}",
+ "vendorName": "{{vendor_name}}",
"vendorRelease": "1.0",
"componentInstances": [],
"properties": [],
"attributes": [],
"groups": [],
"resourceType": "VF",
- "csarUUID": "${software_product_id}",
+ "csarUUID": "{{software_product_id}}",
"csarVersion": "1.0"
}
\ No newline at end of file
"uniqueId": "resourceNewCategory.allotted resource",
"subcategories": [
{
- "name": "${subcategory}",
- "normalizedName": "${subcategory}",
- "uniqueId": "resourceNewCategory.allotted resource.${subcategory}",
+ "name": "{{subcategory}}",
+ "normalizedName": "{{subcategory}}",
+ "uniqueId": "resourceNewCategory.allotted resource.{{subcategory}}",
"icons": [
"allotted_resource"
]
]
}
],
- "description": "Alloted Resource ${subcategory}",
+ "description": "Alloted Resource {{subcategory}}",
"icon": "defaulticon",
"componentInstancesProperties": {},
"componentInstancesAttributes": {},
- "name": "${software_product_name}",
+ "name": "{{software_product_name}}",
"tags": [
- "${software_product_name}"
+ "{{software_product_name}}"
],
"capabilities": {},
"requirements": {},
"deploymentArtifacts": {},
"componentType": "RESOURCE",
- "vendorName": "${vendor_name}",
+ "vendorName": "{{vendor_name}}",
"vendorRelease": "1.0",
"componentInstances": [],
"properties": [],
"icon": "network_l_1-3",
"componentInstancesProperties": {},
"componentInstancesAttributes": {},
- "name": "${service_name}",
+ "name": "{{service_name}}",
"tags": [
"robot-ete",
- "${service_name}"
+ "{{service_name}}"
],
"capabilities": {},
"requirements": {},
[
{
- "defaultValue": "${nf_function}",
+ "defaultValue": "{{nf_function}}",
"description": null,
"name": "nf_function",
"parentUniqueId": "cs0008",
"property": {}
},
"type": "string",
- "uniqueId": "${nf_function_uid}",
+ "uniqueId": "{{nf_function_uid}}",
"value": null,
"definition": false,
"getInputValues": null,
"inputPath": null
},
{
- "defaultValue": "${nf_type}",
+ "defaultValue": "{{nf_type}}",
"description": null,
"name": "nf_type",
"parentUniqueId": null,
"property": {}
},
"type": "string",
- "uniqueId": "${nf_type_uid}",
+ "uniqueId": "{{nf_type_uid}}",
"value": null,
"definition": false,
"getInputValues": null,
"inputPath": null
},
{
- "defaultValue": "${nf_naming_code}",
+ "defaultValue": "{{nf_naming_code}}",
"description": null,
"name": "nf_naming_code",
"parentUniqueId": null,
"property": {}
},
"type": "string",
- "uniqueId": "${nf_naming_code_uid}",
+ "uniqueId": "{{nf_naming_code_uid}}",
"value": null,
"definition": false,
"getInputValues": null,
"inputPath": null
},
{
- "defaultValue": "${nf_role}",
+ "defaultValue": "{{nf_role}}",
"description": null,
"name": "nf_role",
"parentUniqueId": null,
"property": {}
},
"type": "string",
- "uniqueId": "${nf_role_uid}",
+ "uniqueId": "{{nf_role_uid}}",
"value": null,
"definition": false,
"getInputValues": null,
"inputPath": null
},
{
- "defaultValue": "${cloud_env}",
+ "defaultValue": "{{cloud_env}}",
"description": "Cloud environment (e.g., openstack, rackspace)",
"name": "cloud_env",
"parentUniqueId": null,
"property": {}
},
"type": "string",
- "uniqueId": "${cloud_env_uid}",
+ "uniqueId": "{{cloud_env_uid}}",
"value": null,
"definition": false,
"getInputValues": null,
[
{
"name": "nfc_function",
- "parentUniqueId": "${parent_id}",
+ "parentUniqueId": "{{parent_id}}",
"password": false,
"required": false,
"schema": {
"property": {}
},
"type": "string",
- "uniqueId": "${parent_id}.nfc_function",
- "value": "${nfc_function}",
+ "uniqueId": "{{parent_id}}.nfc_function",
+ "value": "{{nfc_function}}",
"definition": false
},
{
"description": "vfc naming",
"name": "nfc_naming",
- "parentUniqueId": "${parent_id}",
+ "parentUniqueId": "{{parent_id}}",
"password": false,
"required": false,
"schema": {
"property": {}
},
"type": "org.openecomp.datatypes.Naming",
- "uniqueId": "${parent_id}.nfc_naming",
- "value": "{\"ecomp_generated_naming\":true,\"naming_policy\":\"${nfc_naming_policy}\"}",
+ "uniqueId": "{{parent_id}}.nfc_naming",
+ "value": "{\"ecomp_generated_naming\":true,\"naming_policy\":\"{{nfc_naming_policy}}\"}",
"definition": false
}
]
{
- "name": "${entitlement_pool_name}",
+ "name": "{{entitlement_pool_name}}",
"description": "vendor entitlement pool",
"thresholdValue": "100",
"thresholdUnits": "Percentage",
"choice": "",
"other": ""
},
- "startDate": "${license_start_date}",
- "expiryDate": "${license_end_date}",
+ "startDate": "{{license_start_date}}",
+ "expiryDate": "{{license_end_date}}",
"manufacturerReferenceNumber": "111111"
}
{
- "name": "${feature_group_name}",
+ "name": "{{feature_group_name}}",
"description": "vendor feature group",
"partNumber": "123abc456",
"addedLicenseKeyGroupsIds": [
- "${key_group_id}"
+ "{{key_group_id}}"
],
"addedEntitlementPoolsIds": [
- "${entitlement_pool_id}"
+ "{{entitlement_pool_id}}"
]
}
{
- "name": "${key_group_name}",
+ "name": "{{key_group_name}}",
"description": "vendor license key group",
"type": "Universal",
"thresholdValue": "100",
"thresholdUnits": "Percentage",
- "startDate": "${license_start_date}",
- "expiryDate": "${license_end_date}",
+ "startDate": "{{license_start_date}}",
+ "expiryDate": "{{license_end_date}}",
"manufacturerReferenceNumber": "11111"
}
{
- "name": "${license_agreement_name}",
+ "name": "{{license_agreement_name}}",
"description": "vendor license agreement",
"requirementsAndConstrains": "abcdef",
"licenseTerm": {
"other": ""
},
"addedFeatureGroupsIds": [
- "${feature_group_id}"
+ "{{feature_group_id}}"
]
}
\ No newline at end of file
{
- "vendorName": "${vendor_name}",
+ "vendorName": "{{vendor_name}}",
"description": "vendor license model",
"iconRef": "icon"
}
\ No newline at end of file
--- /dev/null
+{
+ "uniqueId": "{{catalog_resource_id}}{{milli_timestamp}}",
+ "posX": {{posX}},
+ "posY": {{posY}},
+ "name": "{{catalog_resource_name}}",
+ "componentVersion": "1.0",
+ "originType": "{{originType}}",
+ "icon": "defaulticon",
+ "componentUid": "{{catalog_resource_id}}"
+}
+++ /dev/null
-{
- "uniqueId": "${catalog_resource_id}${milli_timestamp}",
- "posX": ${posX},
- "posY": ${posY},
- "name": "${catalog_resource_name}",
- "componentVersion": "1.0",
- "originType": "${originType}",
- "icon": "defaulticon",
- "componentUid": "${catalog_resource_id}"
-}
{
- "name": "${software_product_name}",
+ "name": "{{software_product_name}}",
"description": "vendor software product",
"category": "resourceNewCategory.generic",
"subCategory": "resourceNewCategory.generic.abstract",
"onboardingMethod" : "NetworkPackage",
- "licensingVersion": "${version_id}",
- "vendorName": "${vendor_name}",
- "vendorId": "${vendor_id}",
+ "licensingVersion": "{{version_id}}",
+ "vendorName": "{{vendor_name}}",
+ "vendorId": "{{vendor_id}}",
"icon": "icon",
"licensingData": {
- "licenseAgreement": "${license_agreement_id}",
+ "licenseAgreement": "{{license_agreement_id}}",
"featureGroups": [
- "${feature_group_id}"
+ "{{feature_group_id}}"
]
}
}
--- /dev/null
+{"userRemarks":"{{user_remarks}}"}
\ No newline at end of file
+++ /dev/null
-{"userRemarks":"${user_remarks}"}
\ No newline at end of file
+++ /dev/null
-{
- "volume": {
- "display_name": "${name}",
- "display_description": "${description}",
- "size": ${size},
- "volume_type": "${type}",
- "availability_zone": "${availability_zone}"
- }
-}
\ No newline at end of file
+++ /dev/null
-{
- "auth": {
- "tenantId" : "${tenantId}",
- "passwordCredentials": {
- "username": "${username}",
- "password": "${password}"
- }
- }
-}
-
+++ /dev/null
-{
- "subnet": {
- "network_id": "${network_id}",
- "ip_version": 4,
- "name":"${subnet_name}",
- "cidr": "${cidr}"
- }
-}
\ No newline at end of file
+++ /dev/null
-{
- "keypair": {
- "name": "${name}",
- "public_key": "${publickey}"
- }
-}
\ No newline at end of file
+++ /dev/null
-{
- "server": {
- "name": "${name}",
- "imageRef": "${imageRef}",
- "flavorRef": "${flavorRef}",
- "config_drive": true,
- "OS-DCF:diskConfig": "MANUAL",
- "metadata": {
- "${name}": "Server for attaching VVG"
- },
- "networks": [
- {
- "uuid": "${public_net_id}"
- }
- ]
- }
-}
\ No newline at end of file
--- /dev/null
+{
+ "volume": {
+ "display_name": "{{name}}",
+ "display_description": "{{description}}",
+ "size": {{size}},
+ "volume_type": "{{type}}",
+ "availability_zone": "{{availability_zone}}"
+ }
+}
\ No newline at end of file
{
"files": {},
"disable_rollback": true,
- "stack_name": "${stack_name}",
+ "stack_name": "{{stack_name}}",
"parameters":
- ${parameters}
+ {{parameters}}
,
"template":
- ${template}
+ {{template}}
,
"timeout_mins": 60
}
\ No newline at end of file
--- /dev/null
+{
+ "auth": {
+ "tenantId" : "{{tenantId}}",
+ "passwordCredentials": {
+ "username": "{{username}}",
+ "password": "{{password}}"
+ }
+ }
+}
+
],
"password": {
"user": {
- "name": "${username}",
+ "name": "{{username}",
"domain": {
- "id": "${domain_id}"
+ "id": "{{domain_id}}"
},
- "password": "${password}"
+ "password": "{{password}}"
}
}
},
"scope": {
"project": {
- "name": "${project_name}",
- "domain": { "id": "${domain_id}" }
+ "name": "{{project_name}}",
+ "domain": { "id": "{{domain_id}}" }
}
}
}
{
"network":
{
- "name": "${name}",
+ "name": "{{name}}",
"admin_state_up": false
}
}
\ No newline at end of file
--- /dev/null
+{
+ "subnet": {
+ "network_id": "{{network_id}}",
+ "ip_version": 4,
+ "name":"{{subnet_name}}",
+ "cidr": "{{cidr}}"
+ }
+}
\ No newline at end of file
--- /dev/null
+{
+ "keypair": {
+ "name": "{{name}}",
+ "public_key": "{{publickey}}"
+ }
+}
\ No newline at end of file
--- /dev/null
+{
+ "server": {
+ "name": "{{name}}",
+ "imageRef": "{{imageRef}}",
+ "flavorRef": "{{flavorRef}}",
+ "config_drive": true,
+ "OS-DCF:diskConfig": "MANUAL",
+ "metadata": {
+ "{{name}}": "Server for attaching VVG"
+ },
+ "networks": [
+ {
+ "uuid": "{{public_net_id}}"
+ }
+ ]
+ }
+}
\ No newline at end of file
{
"policyConfigType": "BRMS_PARAM",
- "policyName": "${policy_name}",
+ "policyName": "{{policy_name}}",
"policyDescription": "Create BRMS Param policy",
"attributes": {
"RULE": {
{
"pdpGroup": "default",
"policyComponent": "PDP",
- "policyName": "${policy_name}"
+ "policyName": "{{policy_name}}"
}
},
"configName" : ".*",
"ecompName" : "DCAE",
- "policyName" : "${config_policy_name}",
+ "policyName" : "{{config_policy_name}}",
"unique" : true
}
\ No newline at end of file
{
"policyConfigType": "BRMS_PARAM",
- "policyName": "${policy_name}",
+ "policyName": "{{policy_name}}",
"policyDescription": "Create BRMS Param policy for vFW",
"attributes": {
"RULE": {
--- /dev/null
+{
+ "policyName" : "{{policy_name}}",
+ "policyType" : "{{policy_type}}",
+ "pdpGroup" : "default"
+}
\ No newline at end of file
+++ /dev/null
-{
- "policyName" : "${policy_name}",
- "policyType" : "${policy_type}",
- "pdpGroup" : "default"
-}
\ No newline at end of file
"vnf-vms": []
},
"vnf-parameters":
- ${vnf_parameters}
+ {{vnf_parameters}}
,
"vnf-topology-identifier": {
- "generic-vnf-name": "${generic_vnf_name}",
- "generic-vnf-type": "${generic_vnf_type}",
- "vnf-name": "${vf_module_name}",
- "vnf-type": "${vf_module_type}",
- "service-type": "${service_type}"
+ "generic-vnf-name": "{{generic_vnf_name}}",
+ "generic-vnf-type": "{{generic_vnf_type}}",
+ "vnf-name": "{{vf_module_name}}",
+ "vnf-type": "{{vf_module_type}}",
+ "service-type": "{{service_type}}"
}
}
}
+++ /dev/null
-{
- "requestReferences": {
- "instanceId": "${instanceId}",
- "requestId": "${requestId}"
- }
-}
\ No newline at end of file
... using specified base URL path including API version where it is implemented,
... relies on system to choose default EdgeRule for the pair of object classes
-Resource ../json_templater.robot
Resource aai_interface.robot
-Resource api_version_properties.robot
-Library OperatingSystem
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
-${AAI_RELATIONSHIPLIST_PATH}= relationship-list
+${AAI_RELATIONSHIPLIST_PATH} relationship-list
${AAI_RELATIONSHIP_PATH}= ${AAI_RELATIONSHIPLIST_PATH}/relationship
-${AAI_ADD_RELATIONSHIP_BODY}= robot/assets/templates/aai/add-relationship.template
+${AAI_ADD_RELATIONSHIP_BODY} aai/add-relationship.jinja
${AAI_RELATIONSHIP_DEPTH}= ?depth=1
*** Keywords ***
[Documentation] Adds Relationship sub-object to existing object in AAI
[Arguments] ${api_version_base_object_url} ${related_class_name} ${related_object_url}
${arguments}= Create Dictionary related_class_name=${related_class_name} related_object_url=${related_object_url}
- ${data}= Fill JSON Template File ${AAI_ADD_RELATIONSHIP_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_RELATIONSHIP_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${api_version_base_object_url}/${AAI_RELATIONSHIP_PATH} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
${resp}= Run A&AI Get Request ${api_version_base_object_url}${AAI_RELATIONSHIP_DEPTH}
Should Be Equal As Strings ${resp.status_code} 200
Log Returning response ${resp.json()}
- [Return] ${resp.json()}
-
+ [Return] ${resp.json()}
\ No newline at end of file
*** Settings ***
Documentation Operations on connectivities in AAI for CCVPN use case, using earliest API version where it is implemented and latest API version where it is not implemented
-Resource ../json_templater.robot
Resource aai_interface.robot
Resource api_version_properties.robot
Resource add-relationship-list.robot
Library OperatingSystem
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${AAI_CONN_ROOT_PATH} /network/connectivities/connectivity
${AAI_CONN_EXAMPLES_PATH} /examples/connectivities
${AAI_CONN_NODES_PATH} /nodes/connectivities
-${AAI_ADD_CONNECTIVITY_BODY}= robot/assets/templates/aai/add-connectivity.template
+${AAI_ADD_CONNECTIVITY_BODY}= aai/add-connectivity.jinja
${AAI_CONN_API_NA_INDEX_PATH}= ${AAI_BEIJING_INDEX_PATH}
${AAI_CONN_API_IMPL_INDEX_PATH}= ${AAI_CASABLANCA_INDEX_PATH}
[Documentation] Creates Connectivity in AAI
[Arguments] ${connectivity_id}
${arguments}= Create Dictionary connectivity_id=${connectivity_id}
- ${data}= Fill JSON Template File ${AAI_ADD_CONNECTIVITY_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_CONNECTIVITY_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${AAI_CONN_API_IMPL_INDEX_PATH}${AAI_CONN_ROOT_PATH}/${connectivity_id} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
... using earliest API version where changes are implemented and
... latest API version where changes are not implemented
-Resource ../json_templater.robot
Resource aai_interface.robot
Resource api_version_properties.robot
Resource add-relationship-list.robot
Library OperatingSystem
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${AAI_VPNB_ROOT_PATH} /network/vpn-bindings/vpn-binding
${AAI_VPNB_EXAMPLES_PATH} /examples/vpn-bindings
${AAI_VPNB_NODES_PATH} /nodes/vpn-bindings
-${AAI_ADD_VPNBINDING_BODY}= robot/assets/templates/aai/add-vpn-binding.template
+${AAI_ADD_VPNBINDING_BODY}= aai/add-vpn-binding.jinja
${AAI_VPNB_API_NA_INDEX_PATH}= ${AAI_BEIJING_INDEX_PATH}
${AAI_VPNB_API_IMPL_INDEX_PATH}= ${AAI_CASABLANCA_INDEX_PATH}
[Documentation] Creates VPN Binding in AAI
[Arguments] ${vpn_id}
${arguments}= Create Dictionary vpn_id=${vpn_id}
- ${data}= Fill JSON Template File ${AAI_ADD_VPNBINDING_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_VPNBINDING_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${AAI_VPNB_API_IMPL_INDEX_PATH}${AAI_VPNB_ROOT_PATH}/${vpn_id} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
*** Settings ***
Documentation Create availability zone in A&AI.
-Resource ../json_templater.robot
Resource aai_interface.robot
Library OperatingSystem
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${AZ_ROOT_PATH} /cloud-infrastructure/cloud-regions/cloud-region
${AZ_ZONE_PATH} /availability-zones/availability-zone
-${AAI_ADD_AVAILABILITY_ZONE_BODY}= robot/assets/templates/aai/add_availability_zone_body.template
+${AAI_ADD_AVAILABILITY_ZONE_BODY} aai/add_availability_zone_body.jinja
*** Keywords ***
Create Availability Zone If Not Exists
[Documentation] Creates availability zone in A&AI
[Arguments] ${availability_zone_name} ${cloud-owner} ${cloud-region-id}
${arguments}= Create Dictionary availability_zone_name=${availability_zone_name}
- ${data}= Fill JSON Template File ${AAI_ADD_AVAILABILITY_ZONE_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_AVAILABILITY_ZONE_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${GLOBAL_AAI_INDEX_PATH}${AZ_ROOT_PATH}/${cloud-owner}/${cloud-region-id}${AZ_ZONE_PATH}/${availability_zone_name} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
*** Settings ***
Documentation Create A&AI Customer API.
-...
-... Create A&AI Customer API
-Resource ../json_templater.robot
Resource aai_interface.robot
Library OperatingSystem
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${ROOT_COMPLEXES_PATH} /cloud-infrastructure/complexes
${ROOT_COMPLEX_PATH} /cloud-infrastructure/complexes/complex
-${SYSTEM USER} robot-ete
-${AAI_ADD_COMPLEX_BODY}= robot/assets/templates/aai/add_complex_body.template
+${AAI_ADD_COMPLEX_BODY} aai/add_complex_body.jinja
*** Keywords ***
Inventory Complex If Not Exists
Inventory Complex ${complex_name} ${physical_location_id} ${cloud_owner} ${region} ${owner_defined_type}
Inventory Complex
- [Documentation] Inventorys a COmplex in A&AI
+ [Documentation] Inventorys a Complex in A&AI
[Arguments] ${complex_name} ${physical_location_id} ${cloud_owner} ${region} ${owner_defined_type}
${arguments}= Create Dictionary complex_name=${complex_name}
Set To Dictionary ${arguments} physical_location_id=${physical_location_id}
Set To Dictionary ${arguments} cloud_owner=${cloud_owner}
Set To Dictionary ${arguments} region=${region}
Set To Dictionary ${arguments} owner_defined_type=${owner_defined_type}
- ${data}= Fill JSON Template File ${AAI_ADD_COMPLEX_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_COMPLEX_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${COMPLEX_INDEX_PATH}${ROOT_COMPLEX_PATH}/${physical_location_id} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
*** Settings ***
Documentation Create A&AI Customer API.
-...
-... Create A&AI Customer API
Resource aai_interface.robot
-Resource ../json_templater.robot
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${INDEX PATH} /aai/v11
${ROOT_CUSTOMER_PATH} /business/customers/customer/
${SYSTEM USER} robot-ete
-${A&AI ADD CUSTOMER BODY} robot/assets/templates/aai/add_customer.template
+${A&AI ADD CUSTOMER BODY} aai/add_customer.jinja
*** Keywords ***
Create Customer
[Documentation] Creates a customer in A&AI
[Arguments] ${customer_name} ${customer_id} ${customer_type} ${service_type} ${clouder_owner} ${cloud_region_id} ${tenant_id}
${arguments}= Create Dictionary subscriber_name=${customer_name} global_customer_id=${customer_id} subscriber_type=${customer_type} cloud_owner1=${clouder_owner} cloud_region_id1=${cloud_region_id} tenant_id1=${tenant_id} service1=${service_type}
- ${data}= Fill JSON Template File ${A&AI ADD CUSTOMER BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${A&AI ADD CUSTOMER BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id} ${data}
Should Be Equal As Strings ${put_resp.status_code} 201
[Return] ${put_resp.status_code}
*** Settings ***
Documentation Create A&AI Customer API.
-...
-... Create A&AI Customer API
-Resource ../json_templater.robot
Resource aai_interface.robot
Library Collections
-Library ONAPLibrary.Utilities
-
+Library ONAPLibrary.Utilities
+Library ONAPLibrary.Templating
*** Variables ***
${ROOT_SERVICE_PATH} /service-design-and-creation/services
${SYSTEM USER} robot-ete
-${AAI_ADD_SERVICE_BODY}= robot/assets/templates/aai/add_service_body.template
+${AAI_ADD_SERVICE_BODY}= aai/add_service_body.jinja
*** Keywords ***
Create Service If Not Exists
[Arguments] ${service_type}
${uuid}= Generate UUID4
${arguments}= Create Dictionary service_type=${service_type} UUID=${uuid}
- ${data}= Fill JSON Template File ${AAI_ADD_SERVICE_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_SERVICE_BODY} ${arguments}
${fullpath}= Catenate ${INDEX PATH}${ROOT_SERVICE_PATH}/service/${uuid}
${put_resp}= Run A&AI Put Request ${fullpath} ${data}
Should Be Equal As Strings ${put_resp.status_code} 201
*** Settings ***
Documentation Create A&AI Customer API.
-...
-... Create A&AI Customer API
-Resource ../json_templater.robot
Resource aai_interface.robot
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${INDEX PATH} /aai/v11
${ROOT_TENANT_PATH} /cloud-infrastructure/cloud-regions/cloud-region/
-${SYSTEM USER} robot-ete
-${AAI_ADD_TENANT_BODY}= robot/assets/templates/aai/add_tenant_body.template
+${AAI_ADD_TENANT_BODY}= aai/add_tenant_body.jinja
*** Keywords ***
Inventory Tenant If Not Exists
[Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${tenant_id} ${tenant_name}
${json_resource_version}= Get Resource Version If Exists ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone}
${arguments}= Create Dictionary cloud_owner=${cloud_owner} cloud_region_id=${cloud_region_id} cloud_type=${cloud_type} owner_defined_type=${owner_defined_type} cloud_region_version=${cloud_region_version} cloud_zone=${cloud_zone} tenant_id=${tenant_id} tenant_name=${tenant_name} resource_version=${json_resource_version}
- ${data}= Fill JSON Template File ${AAI_ADD_TENANT_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_TENANT_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
*** Settings ***
Documentation Create VNFC in AAI
-Resource ../json_templater.robot
Resource aai_interface.robot
Library OperatingSystem
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${VNFC_ROOT_PATH} /network/vnfcs/vnfc
-${AAI_ADD_VNFC_BODY}= robot/assets/templates/aai/add_vnfc_body.template
+${AAI_ADD_VNFC_BODY}= aai/add_vnfc_body.jinja
*** Keywords ***
Create VNFC If Not Exists
[Documentation] Creates VNFC in A&AI
[Arguments] ${vnfc_name} ${vnfc_nc} ${vnfc_func}
${arguments}= Create Dictionary vnfc_name=${vnfc_name} vnfc_nc=${vnfc_nc} vnfc_func=${vnfc_func}
- ${data}= Fill JSON Template File ${AAI_ADD_VNFC_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_VNFC_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${GLOBAL_AAI_INDEX_PATH}${VNFC_ROOT_PATH}/${vnfc_name} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
*** Settings ***
Documentation Create A&AI Customer API.
-...
-... Create A&AI Customer API
-Resource ../json_templater.robot
Resource aai_interface.robot
Library OperatingSystem
Library Collections
-
+Library ONAPLibrary.Templating
*** Variables ***
${ZONE_INDEX_PATH} /aai/v11
${ROOT_ZONE_PATH} /network/zones/zone
-${SYSTEM USER} robot-ete
-${AAI_ADD_ZONE_BODY}= robot/assets/templates/aai/add_zone_body.template
+${AAI_ADD_ZONE_BODY}= aai/add_zone_body.jinja
*** Keywords ***
Inventory Zone If Not Exists
[Documentation] Inventorys a Tenant in A&AI
[Arguments] ${zone_id} ${zone_name} ${design_type} ${zone_context}
${arguments}= Create Dictionary zone_id=${zone_id} zone_name=${zone_name} design_type=${design_type} zone_context=${zone_context}
- ${data}= Fill JSON Template File ${AAI_ADD_ZONE_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${AAI_ADD_ZONE_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${ZONE_INDEX_PATH}${ROOT_ZONE_PATH}/${zone_id} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|200)$
${resp}= Run A&AI Get Request ${ZONE_INDEX_PATH}${ROOT_ZONE_PATH}/${zone_id}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
-
-
-
-
-
*** Settings ***
Documentation Validate A&AI Serivce Instance
-...
-... Validate A&AI Serivce Instance
Resource aai_interface.robot
Library Collections
-Library OperatingSystem
-Library RequestsLibrary
-Library ONAPLibrary.JSON
-
-Resource ../json_templater.robot
*** Variables ***
-${INDEX PATH} /aai/v11
-${GENERIC_QUERY_PATH} /search/generic-query?
-${SYSTEM USER} robot-ete
-${CUSTOMER SPEC PATH} /business/customers/customer/
-${SERVICE SUBSCRIPTIONS} /service-subscriptions/service-subscription/
-${SERVICE INSTANCE} /service-instances?service-instance-name=
-${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.template
+${INDEX_PATH} /aai/v11
+${CUSTOMER_SPEC_PATH} /business/customers/customer/
+${SERVICE_SUBSCRIPTIONS} /service-subscriptions/service-subscription/
+${SERVICE_INSTANCE} /service-instances?service-instance-name=
*** Keywords ***
Validate Network
[Documentation] Query and Validates A&AI Service Instance
[Arguments] ${service_instance_name} ${service_type} ${customer_id}
- ${resp}= Run A&AI Get Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}${service_type}${SERVICE INSTANCE}${service_instance_name}
+ ${resp}= Run A&AI Get Request ${INDEX_PATH}${CUSTOMER_SPEC_PATH}${customer_id}${SERVICE_SUBSCRIPTIONS}${service_type}${SERVICE_INSTANCE}${service_instance_name}
Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name}
*** Keywords ***
Create Network
[Documentation] Query and Validates A&AI Service Instance
- [Arguments] ${CUSTOMER ID}
+ [Arguments] ${customer_id}
${json_string}= Catenate { "service-type": "VDNS" , "service-subscriptions":[{"service-instance-id":"instanceid123","service-instance-name":"VDNS"}]}
- ${put_resp}= Run A&AI Put Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}/VDNS ${json_string}
+ ${put_resp}= Run A&AI Put Request ${INDEX_PATH}${CUSTOMER_SPEC_PATH}${customer_id}${SERVICE_SUBSCRIPTIONS}/VDNS ${json_string}
Should Be Equal As Strings ${put_resp.status_code} 201
[Return] ${put_resp.status_code}
Library OperatingSystem
Library RequestsLibrary
Library ONAPLibrary.JSON
+Library ONAPLibrary.Templating
Library StringTemplater
-Resource ../json_templater.robot
Resource ../stack_validation/validate_vlb.robot
Resource ../stack_validation/validate_vfw.robot
Resource ../stack_validation/validate_vvg.robot
${CUSTOMER SPEC PATH} /business/customers/customer/
${SERVICE SUBSCRIPTIONS} /service-subscriptions/service-subscription/
${SERVICE INSTANCE} /service-instances?service-instance-id=
-${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.template
+${SERVCE INSTANCE TEMPLATE} aai/service_subscription.jinja
${GENERIC_VNF_PATH_TEMPLATE} /network/generic-vnfs/generic-vnf/\${vnf_id}/vf-modules/vf-module/\${vf_module_id}
${GENERIC_VNF_QUERY_TEMPLATE} /network/generic-vnfs/generic-vnf/\${vnf_id}/vf-modules/vf-module?vf-module-name=\${vf_module_name}
-${VLB_CLOSED_LOOP_HACK_BODY} robot/assets/templates/aai/vlb_closed_loop_hack.template
+${VLB_CLOSED_LOOP_HACK_BODY} aai/vlb_closed_loop_hack.jinja
#*************** Test Case Variables *************
${VLB_CLOSED_LOOP_DELETE}
${cust_resp}= Run A&AI Get Request ${INDEX PATH}/business/customers?subscriber-name=${customer_name}
${resp}= Run A&AI Get Request ${INDEX PATH}${CUSTOMER SPEC PATH}${cust_resp.json()['customer'][0]['global-customer-id']}${SERVICE SUBSCRIPTIONS}${service_type}${SERVICE INSTANCE}${service_instance_name}
Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name}
- #Dictionary Should Contain Key ${resp.json()['service-instance'][0]} persona-model-id
- #Dictionary Should Contain Key ${resp.json()['service-instance'][0]} persona-model-version
Validate Generic VNF
[Documentation] Query and Validates A&AI Service Instance
${dummy}= Catenate dummy_${vnf_id}
${dict}= Create Dictionary vnf_id=${vnf_id} vf_module_id=${dummy} persona_model_id=${persona_model_id} persona_model_version=${persona_model_version}
${datapath}= Template String ${GENERIC_VNF_PATH_TEMPLATE} ${dict}
- ${data}= Fill JSON Template File ${VLB_CLOSED_LOOP_HACK_BODY} ${dict}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${VLB_CLOSED_LOOP_HACK_BODY} ${dict}
${put_resp}= Run A&AI Put Request ${INDEX PATH}${datapath} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(201|412)$
*** Settings ***
Documentation Validate A&AI Serivce Instance
-...
-... Validate A&AI Serivce Instance
Resource aai_interface.robot
Library Collections
-Library OperatingSystem
-Library RequestsLibrary
-Library ONAPLibrary.JSON
-
-Resource ../json_templater.robot
*** Variables ***
-${INDEX PATH} /aai/v11
-${GENERIC_QUERY_PATH} /search/generic-query?
-${SYSTEM USER} robot-ete
-${CUSTOMER SPEC PATH} /business/customers/customer/
-${SERVICE SUBSCRIPTIONS} /service-subscriptions/service-subscription/
-${SERVICE INSTANCE} /service-instances?service-instance-name=
-${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.template
+${INDEX_PATH} /aai/v11
+${CUSTOMER_SPEC_PATH} /business/customers/customer/
+${SERVICE_SUBSCRIPTIONS} /service-subscriptions/service-subscription/
+${SERVICE_INSTANCE} /service-instances?service-instance-name=
*** Keywords ***
Validate Volume Group
[Arguments] ${service_instance_name} ${service_type} ${customer_id}
- ${resp}= Run A&AI Get Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}${service_type}${SERVICE INSTANCE}${service_instance_name}
- Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name}
-
-
+ ${resp}= Run A&AI Get Request ${INDEX_PATH}${CUSTOMER_SPEC_PATH}${customer_id}${SERVICE_SUBSCRIPTIONS}${service_type}${SERVICE_INSTANCE}${service_instance_name}
+ Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name}
\ No newline at end of file
Library ONAPLibrary.Openstack
Library DateTime
Library ONAPLibrary.ServiceMapping
+Library ONAPLibrary.Templating
Resource global_properties.robot
Resource browser_setup.robot
-Resource json_templater.robot
*** Variables ***
${ASDC_DESIGNER_USER_ID} cs0008
${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH} /distribution
${ASDC_DISTRIBUTION_STATE_APPROVE_PATH} /approve
${ASDC_CATALOG_SERVICE_DISTRIBUTION_ACTIVATE_PATH} /distribution/PROD/activate
-${ASDC_LICENSE_MODEL_TEMPLATE} robot/assets/templates/asdc/license_model.template
-${ASDC_KEY_GROUP_TEMPLATE} robot/assets/templates/asdc/key_group.template
-${ASDC_ENTITLEMENT_POOL_TEMPLATE} robot/assets/templates/asdc/entitlement_pool.template
-${ASDC_FEATURE_GROUP_TEMPLATE} robot/assets/templates/asdc/feature_group.template
-${ASDC_LICENSE_AGREEMENT_TEMPLATE} robot/assets/templates/asdc/license_agreement.template
-${ASDC_ACTION_TEMPLATE} robot/assets/templates/asdc/action.template
-${ASDC_SOFTWARE_PRODUCT_TEMPLATE} robot/assets/templates/asdc/software_product.template
-${ASDC_ARTIFACT_UPLOAD_TEMPLATE} robot/assets/templates/asdc/artifact_upload.template
-${ASDC_CATALOG_RESOURCE_TEMPLATE} robot/assets/templates/asdc/catalog_resource.template
-${ASDC_USER_REMARKS_TEMPLATE} robot/assets/templates/asdc/user_remarks.template
-${ASDC_CATALOG_SERVICE_TEMPLATE} robot/assets/templates/asdc/catalog_service.template
-${ASDC_RESOURCE_INSTANCE_TEMPLATE} robot/assets/templates/asdc/resource_instance.template
-${ASDC_RESOURCE_INSTANCE_VNF_PROPERTIES_TEMPLATE} robot/assets/templates/asdc/catalog_vnf_properties.template
-${ASDC_RESOURCE_INSTANCE_VNF_INPUTS_TEMPLATE} robot/assets/templates/asdc/catalog_vnf_inputs.template
-${SDC_CATALOG_NET_RESOURCE_INPUT_TEMPLATE} robot/assets/templates/asdc/catalog_net_input_properties.template
-${ASDC_ALLOTTED_RESOURCE_CATALOG_RESOURCE_TEMPLATE} robot/assets/templates/asdc/catalog_resource_alloted_resource.template
-${SDC_CATALOG_ALLOTTED_RESOURCE_PROPERTIES_TEMPLATE} robot/assets/templates/asdc/catalog_allotted_properties.template
-${SDC_CATALOG_ALLOTTED_RESOURCE_INPUTS_TEMPLATE} robot/assets/templates/asdc/catalog_allotted_inputs.template
+${ASDC_LICENSE_MODEL_TEMPLATE} asdc/license_model.jinja
+${ASDC_KEY_GROUP_TEMPLATE} asdc/key_group.jinja
+${ASDC_ENTITLEMENT_POOL_TEMPLATE} asdc/entitlement_pool.jinja
+${ASDC_FEATURE_GROUP_TEMPLATE} asdc/feature_group.jinja
+${ASDC_LICENSE_AGREEMENT_TEMPLATE} asdc/license_agreement.jinja
+${ASDC_ACTION_TEMPLATE} asdc/action.jinja
+${ASDC_SOFTWARE_PRODUCT_TEMPLATE} asdc/software_product.jinja
+${ASDC_ARTIFACT_UPLOAD_TEMPLATE} asdc/artifact_upload.jinja
+${ASDC_CATALOG_RESOURCE_TEMPLATE} asdc/catalog_resource.jinja
+${ASDC_USER_REMARKS_TEMPLATE} asdc/user_remarks.jinja
+${ASDC_CATALOG_SERVICE_TEMPLATE} asdc/catalog_service.jinja
+${ASDC_RESOURCE_INSTANCE_TEMPLATE} asdc/resource_instance.jinja
+${ASDC_RESOURCE_INSTANCE_VNF_PROPERTIES_TEMPLATE} asdc/catalog_vnf_properties.jinja
+${ASDC_RESOURCE_INSTANCE_VNF_INPUTS_TEMPLATE} asdc/catalog_vnf_inputs.jinja
+${SDC_CATALOG_NET_RESOURCE_INPUT_TEMPLATE} asdc/catalog_net_input_properties.jinja
+${ASDC_ALLOTTED_RESOURCE_CATALOG_RESOURCE_TEMPLATE} asdc/catalog_resource_alloted_resource.jinja
+${SDC_CATALOG_ALLOTTED_RESOURCE_PROPERTIES_TEMPLATE} asdc/catalog_allotted_properties.jinja
+${SDC_CATALOG_ALLOTTED_RESOURCE_INPUTS_TEMPLATE} asdc/catalog_allotted_inputs.jinja
${SDC_CATALOG_DEPLOYMENT_ARTIFACT_PATH} robot/assets/asdc/blueprints/
${ASDC_FE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_FE_IP_ADDR}:${GLOBAL_ASDC_FE_PORT}
${ASDC_BE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_ASDC_BE_PORT}
[Documentation] Set up Deployment Artiface properties
[Arguments] ${catalog_service_id} ${catalog_parent_service_id} ${catalog_resource_unique_id} ${blueprint_file}
${resp}= Get ASDC Catalog Resource Component Instances Properties ${catalog_service_id}
- #${resp}= Get ASDC Catalog Resource Deployment Artifact Properties ${catalog_service_id}
${blueprint_data} OperatingSystem.Get File ${SDC_CATALOG_DEPLOYMENT_ARTIFACT_PATH}${blueprint_file}
${payloadData}= Evaluate base64.b64encode('''${blueprint_data}'''.encode('utf-8')) modules=base64
${dict}= Create Dictionary artifactLabel=blueprint artifactName=${blueprint_file} artifactType=DCAE_INVENTORY_BLUEPRINT artifactGroupType=DEPLOYMENT description=${blueprint_file} payloadData=${payloadData}
- ${data}= Fill JSON Template File ${ASDC_ARTIFACT_UPLOAD_TEMPLATE} ${dict}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ARTIFACT_UPLOAD_TEMPLATE} ${dict}
# POST artifactUpload to resource
${artifact_upload_path}= Catenate ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}/resourceInstance/${catalog_resource_unique_id}${ASDC_CATALOG_SERVICE_RESOURCE_ARTIFACT_PATH}
${resp}= Run ASDC MD5 Post Request ${artifact_upload_path} ${data} ${ASDC_DESIGNER_USER_ID}
\ ${ownerId} Set Variable ${comp['ownerId']}
\ ${dict}= Create Dictionary parentUniqueId=${parentUniqueId} ownerId=${ownerId} uniqueId=${uniqueId} description=${description}
\ Run Keyword If '${name}'=='network_role' Set To Dictionary ${dict} name=${name} value=${nf_role}
- \ ${data}= Fill JSON Template File ${SDC_CATALOG_NET_RESOURCE_INPUT_TEMPLATE} ${dict}
+ \ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ \ ${data}= Apply Template sdc ${SDC_CATALOG_NET_RESOURCE_INPUT_TEMPLATE} ${dict}
\ ${response}= Set ASDC Catalog Resource Component Instance Properties ${catalog_parent_service_id} ${catalog_service_id} ${data}
\ ${uniqueId} Set Variable ${comp['uniqueId']}
\ ${uniqueId} Fetch From Left ${uniqueId} .
\ Set To Dictionary ${dict} uniqueId=${uniqueId}
- ${data}= Fill JSON Template File ${SDC_CATALOG_ALLOTTED_RESOURCE_PROPERTIES_TEMPLATE} ${dict}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${SDC_CATALOG_ALLOTTED_RESOURCE_PROPERTIES_TEMPLATE} ${dict}
${response}= Set ASDC Catalog Resource Component Instance Properties For Resource ${catalog_resource_id} ${componentInstance1} ${data}
Log To Console resp=${response}
\ ${uid} Set Variable ${comp['uniqueId']}
\ Run Keyword If '${name}'=='nf_type' Set To Dictionary ${dict} nf_type=${nf_role} nf_type_uid=${uid}
\ Run Keyword If '${name}'=='nf_role' Set To Dictionary ${dict} nf_role=${nf_role} nf_role_uid=${uid}
- ${data}= Fill JSON Template File ${SDC_CATALOG_ALLOTTED_RESOURCE_INPUTS_TEMPLATE} ${dict}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${SDC_CATALOG_ALLOTTED_RESOURCE_INPUTS_TEMPLATE} ${dict}
${response}= Set ASDC Catalog Resource VNF Inputs ${catalog_resource_id} ${data}
[Return] ${response}
\ Run Keyword If '${name}'=='abstract_vfw' Set To Dictionary ${dict} nfc_function=vfw nfc_naming_policy=SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP
\ Run Keyword If '${name}'=='abstract_vpg' Set To Dictionary ${dict} nfc_function=vpg nfc_naming_policy=SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP
\ Run Keyword If '${name}'=='abstract_vsn' Set To Dictionary ${dict} nfc_function=vsn nfc_naming_policy=SDNC_Policy.ONAP_VSN_NAMING_TIMESTAMP
- \ ${data}= Fill JSON Template File ${ASDC_RESOURCE_INSTANCE_VNF_PROPERTIES_TEMPLATE} ${dict}
+ \ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ \ ${data}= Apply Template sdc ${ASDC_RESOURCE_INSTANCE_VNF_PROPERTIES_TEMPLATE} ${dict}
\ ${response}= Set ASDC Catalog Resource Component Instance Properties ${catalog_resource_id} ${uniqueId} ${data}
\ Log To Console resp=${response}
\ Run Keyword If '${name}'=='nf_naming_code' Set To Dictionary ${dict} nf_naming_code=vfw nf_naming_code_uid=${uid}
\ Run Keyword If '${name}'=='nf_role' Set To Dictionary ${dict} nf_role=vFW nf_role_uid=${uid}
\ Run Keyword If '${name}'=='cloud_env' Set To Dictionary ${dict} cloud_env=openstack cloud_env_uid=${uid}
- ${data}= Fill JSON Template File ${ASDC_RESOURCE_INSTANCE_VNF_INPUTS_TEMPLATE} ${dict}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_RESOURCE_INSTANCE_VNF_INPUTS_TEMPLATE} ${dict}
${response}= Set ASDC Catalog Resource VNF Inputs ${catalog_resource_id} ${data}
Add ASDC License Model
${uuid}= Generate UUID4
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary vendor_name=${shortened_uuid}
- ${data}= Fill JSON Template File ${ASDC_LICENSE_MODEL_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_LICENSE_MODEL_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['itemId']} ${resp.json()['version']['id']}
[Documentation] Checks in an ASDC License Model by its id
[Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Checkin
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ACTION_TEMPLATE} ${map}
${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Submits an ASDC License Model by its id
[Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Submit
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ACTION_TEMPLATE} ${map}
${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Checks in an ASDC Software Product by its id
[Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Checkin
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ACTION_TEMPLATE} ${map}
${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Submits an ASDC Software Product by its id
[Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Submit
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ACTION_TEMPLATE} ${map}
${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Creates a package of an ASDC Software Product by its id
[Arguments] ${id} ${version_id}=0.1
${map}= Create Dictionary action=Create_Package
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ACTION_TEMPLATE} ${map}
${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
${uuid}= Generate UUID4
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary entitlement_pool_name=${shortened_uuid} license_start_date=${license_start_date} license_end_date=${license_end_date}
- ${data}= Fill JSON Template File ${ASDC_ENTITLEMENT_POOL_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ENTITLEMENT_POOL_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
${uuid}= Generate UUID4
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary key_group_name=${shortened_uuid} license_start_date=${license_start_date} license_end_date=${license_end_date}
- ${data}= Fill JSON Template File ${ASDC_KEY_GROUP_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_KEY_GROUP_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
${uuid}= Generate UUID4
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary feature_group_name=${shortened_uuid} key_group_id=${key_group_id} entitlement_pool_id=${entitlement_pool_id} manufacturer_reference_number=mrn${shortened_uuid}
- ${data}= Fill JSON Template File ${ASDC_FEATURE_GROUP_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_FEATURE_GROUP_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_FEATURE_GROUP_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
${uuid}= Generate UUID4
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${map}= Create Dictionary license_agreement_name=${shortened_uuid} feature_group_id=${feature_group_id}
- ${data}= Fill JSON Template File ${ASDC_LICENSE_AGREEMENT_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_LICENSE_AGREEMENT_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['value']}
${shortened_uuid}= Evaluate str("${uuid}")[:13]
${software_product_name}= Catenate ${name_prefix} ${shortened_uuid}
${map}= Create Dictionary software_product_name=${software_product_name} feature_group_id=${feature_group_id} license_agreement_id=${license_agreement_id} vendor_name=${license_model_name} vendor_id=${license_model_id} version_id=${license_model_version_id}
- ${data}= Fill JSON Template File ${ASDC_SOFTWARE_PRODUCT_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_SOFTWARE_PRODUCT_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH} ${data} ${ASDC_DESIGNER_USER_ID} ${ASDC_BE_ONBOARD_ENDPOINT}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['itemId']} ${resp.json()['version']['id']}
[Documentation] Creates an ASDC Catalog Resource and returns its id
[Arguments] ${license_agreement_id} ${software_product_name} ${license_model_name} ${software_product_id}
${map}= Create Dictionary software_product_id=${software_product_id} software_product_name=${software_product_name} license_agreement_id=${license_agreement_id} vendor_name=${license_model_name}
- ${data}= Fill JSON Template File ${ASDC_CATALOG_RESOURCE_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_CATALOG_RESOURCE_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 201
[Return] ${resp.json()['uniqueId']}
[Documentation] Creates an ASDC Allotted Resource Catalog Resource and returns its id
[Arguments] ${license_agreement_id} ${software_product_name} ${license_model_name} ${software_product_id} ${subcategory}
${map}= Create Dictionary software_product_id=${software_product_id} software_product_name=${software_product_name} license_agreement_id=${license_agreement_id} vendor_name=${license_model_name} subcategory=${subcategory}
- ${data}= Fill JSON Template File ${ASDC_ALLOTTED_RESOURCE_CATALOG_RESOURCE_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_ALLOTTED_RESOURCE_CATALOG_RESOURCE_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 201
[Return] ${resp.json()['uniqueId']}
[Documentation] Checks in an ASDC Catalog Resource by its id
[Arguments] ${catalog_resource_id}
${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_USER_REMARKS_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Requests certification of an ASDC Catalog Resource by its id
[Arguments] ${catalog_resource_id}
${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_USER_REMARKS_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Certifies an ASDC Catalog Resource by its id and returns the new id
[Arguments] ${catalog_resource_id} ${user_id}=${ASDC_TESTER_USER_ID}
${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_USER_REMARKS_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify ${data} ${user_id}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['uniqueId']}
${shortened_uuid}= Evaluate str("${uuid}")[:23]
${catalog_service_name}= Set Variable If '${catalog_service_name}' =='' ${shortened_uuid} ${catalog_service_name}
${map}= Create Dictionary service_name=${catalog_service_name}
- ${data}= Fill JSON Template File ${ASDC_CATALOG_SERVICE_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_CATALOG_SERVICE_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 201
[Return] ${resp.json()['uniqueId']}
[Documentation] Checks in an ASDC Catalog Service by its id
[Arguments] ${catalog_service_id}
${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_USER_REMARKS_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Requests certification of an ASDC Catalog Service by its id
[Arguments] ${catalog_service_id}
${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_USER_REMARKS_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
[Documentation] Certifies an ASDC Catalog Service by its id and returns the new id
[Arguments] ${catalog_service_id}
${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_USER_REMARKS_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify ${data} ${ASDC_TESTER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['uniqueId']}
[Documentation] Approves an ASDC Catalog Service by its id
[Arguments] ${catalog_service_id}
${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_USER_REMARKS_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_DISTRIBUTION_STATE_PATH}${ASDC_DISTRIBUTION_STATE_APPROVE_PATH} ${data} ${ASDC_GOVERNOR_USER_ID}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
${xoffset}= Set Variable ${xoffset+306}
${yoffset}= Set Variable ${yoffset+248}
${map}= Create Dictionary catalog_resource_id=${catalog_resource_id} catalog_resource_name=${catalog_resource_name} milli_timestamp=${milli_timestamp} posX=${xoffset} posY=${yoffset} originType=${resourceType}
- ${data}= Fill JSON Template File ${ASDC_RESOURCE_INSTANCE_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_RESOURCE_INSTANCE_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 201
[Return] ${resp.json()['uniqueId']}
${xoffset}= Set Variable ${xoffset+306}
${yoffset}= Set Variable ${yoffset+248}
${map}= Create Dictionary catalog_resource_id=${catalog_resource_id} catalog_resource_name=${catalog_resource_name} milli_timestamp=${milli_timestamp} posX=${xoffset} posY=${yoffset} originType=${resourceType}
- ${data}= Fill JSON Template File ${ASDC_RESOURCE_INSTANCE_TEMPLATE} ${map}
+ Create Environment sdc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdc ${ASDC_RESOURCE_INSTANCE_TEMPLATE} ${map}
${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${parent_catalog_resource_id}${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
Should Be Equal As Strings ${resp.status_code} 201
[Return] ${resp.json()['uniqueId']}
Library OperatingSystem
Library SeleniumLibrary
Library RequestsLibrary
+Library ONAPLibrary.Templating
*** Variables ***
-${ADD_DEMO_CUSTOMER_BODY} robot/assets/templates/aai/add_demo_customer.template
+${ADD_DEMO_CUSTOMER_BODY} aai/add_demo_customer.jinja
${AAI_INDEX_PATH} /aai/v8
${VF_MODULES_NAME} _Demo_VFModules.json
${FILE_CACHE} /share/
Create Service If Not Exists gNB
${arguments}= Create Dictionary subscriber_name=${customer_name} global_customer_id=${customer_id} subscriber_type=${customer_type} cloud_owner=${clouder_owner} cloud_region_id=${cloud_region_id} tenant_id=${tenant_id}
Set To Dictionary ${arguments} service1=vFWCL service2=vLB service3=vCPE service4=vIMS service5=gNB service6=vFW
- ${data}= Fill JSON Template File ${ADD_DEMO_CUSTOMER_BODY} ${arguments}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template aai ${ADD_DEMO_CUSTOMER_BODY} ${arguments}
${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id} ${data}
${status_string}= Convert To String ${put_resp.status_code}
Should Match Regexp ${status_string} ^(200|201|412)$
Library Collections
Library StringTemplater
Library OperatingSystem
-Library ONAPLibrary.ServiceMapping
+Library ONAPLibrary.ServiceMapping
+Library ONAPLibrary.Templating
Resource openstack/keystone_interface.robot
Resource openstack/heat_interface.robot
*** Variables ***
${MULTIPART_PATH} /bulkadd
${NAMED_QUERY_PATH} /aai/search/named-query
-${NAMED_QUERY_TEMPLATE} robot/assets/templates/aai/named_query.template
+${NAMED_QUERY_TEMPLATE} aai/named_query.jinja
${BASE_URI} /cloud-infrastructure/cloud-regions/cloud-region/\${cloud}/\${region}
${IMAGE_URI} ${BASE_URI}/images/image/\${image_id}
[Documentation] Run A&AI query to validate the bulk add
[Arguments] ${vserver_name}
${dict}= Create Dictionary vserver_name=${vserver_name}
- ${request}= OperatingSystem.Get File ${NAMED_QUERY_TEMPLATE}
- ${request}= Template String ${request} ${dict}
+ Create Environment aai ${GLOBAL_TEMPLATE_FOLDER}
+ ${request}= Apply Template aai ${NAMED_QUERY_TEMPLATE} ${dict}
${resp}= Run A&AI Post Request ${NAMED_QUERY_PATH} ${request}
Should Be Equal As Strings ${resp.status_code} 200
+++ /dev/null
-*** Settings ***
-Documentation This resource is filling out json string templates and returning the json back
-Library RequestsLibrary
-Library StringTemplater
-Library OperatingSystem
-
-*** Keywords ***
-Fill JSON Template
- [Documentation] Runs substitution on template to return a filled in json
- [Arguments] ${json} ${arguments}
- ${returned_string}= Template String ${json} ${arguments}
- ${returned_json}= To Json ${returned_string}
- [Return] ${returned_json}
-
-Fill JSON Template File
- [Documentation] Runs substitution on template to return a filled in json
- [Arguments] ${json_file} ${arguments}
- ${json}= OperatingSystem.Get File ${json_file}
- ${returned_json}= Fill JSON Template ${json} ${arguments}
- [Return] ${returned_json}
\ No newline at end of file
Library ONAPLibrary.Openstack
Library RequestsLibrary
Library ONAPLibrary.Utilities
+Library ONAPLibrary.Templating
Resource ../global_properties.robot
-Resource ../json_templater.robot
Resource openstack_common.robot
${OPENSTACK_CINDER_API_VERSION} /v1
${OPENSTACK_CINDER_TYPES_PATH} /types
${OPENSTACK_CINDER_VOLUMES_PATH} /volumes
-${OPENSTACK_CINDER_VOLUMES_ADD_BODY_FILE} robot/assets/templates/cinder_add_volume.template
+${OPENSTACK_CINDER_VOLUMES_ADD_BODY_FILE} openstack/cinder_add_volume.jinja
${OPENSTACK_CINDER_VOLUMES_TYPE} SSD
${OPENSTACK_CINDER_AVAILABILITY_ZONE} nova
[Arguments] ${alias} ${name} ${size}
${uuid}= Generate UUID4
${arguments}= Create Dictionary name=${name} description=${GLOBAL_APPLICATION_ID}${uuid} size=${size} type=${OPENSTACK_CINDER_VOLUMES_TYPE} availability_zone=${OPENSTACK_CINDER_AVAILABILITY_ZONE}
- ${data}= Fill JSON Template File ${OPENSTACK_CINDER_VOLUMES_ADD_BODY_FILE} ${arguments}
+ Create Environment cinder ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template cinder ${OPENSTACK_CINDER_VOLUMES_ADD_BODY_FILE} ${arguments}
${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} ${OPENSTACK_CINDER_VOLUMES_PATH} data_path= data=${data}
Should Be Equal As Strings 200 ${resp.status_code}
[Return] ${resp.json()['volume']['id']}
Documentation The interface for interacting with Openstack Heat API.
Library ONAPLibrary.Openstack
Library RequestsLibrary
-Library OperatingSystem
-Library StringTemplater
-Library Collections
+Library OperatingSystem
+Library Collections
+Library ONAPLibrary.Templating
Resource ../global_properties.robot
-Resource ../json_templater.robot
Resource openstack_common.robot
*** Variables ***
${OPENSTACK_HEAT_API_VERSION} /v1
${OPENSTACK_HEAT_STACK_PATH} /stacks
-${OPENSTACK_HEAT_ADD_STACK_TEMPLATE} robot/assets/templates/heat_add_stack.template
+${OPENSTACK_HEAT_ADD_STACK_TEMPLATE} openstack/heat_add_stack.jinja
*** Keywords ***
${templatedata}= Template Yaml To Json ${template}
${envdata}= Env Yaml To Json ${env}
${dict}= Create Dictionary template=${templatedata} parameters=${envdata} stack_name=${name}
- ${resp}= OperatingSystem.Get File ${OPENSTACK_HEAT_ADD_STACK_TEMPLATE}
- ${request}= Template String ${resp} ${dict}
- Log $request
+ Create Environment heat ${GLOBAL_TEMPLATE_FOLDER}
+ ${request}= Apply Template heat ${OPENSTACK_HEAT_ADD_STACK_TEMPLATE} ${dict}
+ Log ${request}
[Return] ${request}
Delete Openstack Stack
Library RequestsLibrary
Library ONAPLibrary.Utilities
Library Collections
-Library OperatingSystem
-Library String
+Library OperatingSystem
+Library String
+Library ONAPLibrary.Templating
Resource ../global_properties.robot
-Resource ../json_templater.robot
Resource openstack_common.robot
*** Variables ***
${OPENSTACK_KEYSTONE_API_v2_VERSION} /v2.0
${OPENSTACK_KEYSTONE_AUTH_v3_PATH} /auth/tokens
${OPENSTACK_KEYSTONE_AUTH_v2_PATH} /tokens
-${OPENSTACK_KEYSTONE_AUTH_v2_BODY_FILE} robot/assets/templates/keystone_get_v2_auth.template
-${OPENSTACK_KEYSTONE_AUTH_v3_BODY_FILE} robot/assets/templates/keystone_get_v3_auth.template
+${OPENSTACK_KEYSTONE_AUTH_v2_BODY_FILE} openstack/keystone_get_v2_auth.jinja
+${OPENSTACK_KEYSTONE_AUTH_v3_BODY_FILE} openstack/keystone_get_v3_auth.jinja
${OPENSTACK_KEYSTONE_TENANT_PATH} /tenants
*** Keywords ***
[Documentation] Returns all the data for keystone auth v2 api
[Arguments] ${username} ${password} ${path}
${arguments}= Create Dictionary username=${username} password=${password} tenantId=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}
- ${data}= Fill JSON Template File ${OPENSTACK_KEYSTONE_AUTH_v2_BODY_FILE} ${arguments}
+ Create Environment keystone ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template keystone ${OPENSTACK_KEYSTONE_AUTH_v2_BODY_FILE} ${arguments}
${data_path}= Catenate ${path}${OPENSTACK_KEYSTONE_AUTH_v2_PATH}
[Return] ${data_path} ${data}
[Documentation] Returns all the data for keystone auth v3 api
[Arguments] ${username} ${password} ${path}
${arguments}= Create Dictionary username=${username} password=${password} domain_id=${GLOBAL_INJECTED_OPENSTACK_DOMAIN_ID} project_name=${GLOBAL_INJECTED_OPENSTACK_PROJECT_NAME}
- ${data}= Fill JSON Template File ${OPENSTACK_KEYSTONE_AUTH_v3_BODY_FILE} ${arguments}
+ Create Environment keystone ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template keystone ${OPENSTACK_KEYSTONE_AUTH_v3_BODY_FILE} ${arguments}
${data_path}= Catenate ${path}${OPENSTACK_KEYSTONE_AUTH_v3_PATH}
[Return] ${data_path} ${data}
Library ONAPLibrary.Openstack
Library RequestsLibrary
Library Collections
+Library ONAPLibrary.Templating
Resource ../global_properties.robot
-Resource ../json_templater.robot
Resource openstack_common.robot
*** Variables ***
${OPENSTACK_NEUTRON_API_VERSION} /v2.0
${OPENSTACK_NEUTRON_NETWORK_PATH} /networks
-${OPENSTACK_NEUTRON_NETWORK_ADD_BODY_FILE} robot/assets/templates/neutron_add_network.template
+${OPENSTACK_NEUTRON_NETWORK_ADD_BODY_FILE} openstack/neutron_add_network.jinja
${OPENSTACK_NEUTRON_SUBNET_PATH} /subnets
-${OPENSTACK_NEUTRON_SUBNET_ADD_BODY_FILE} robot/assets/templates/neutron_add_subnet.template
+${OPENSTACK_NEUTRON_SUBNET_ADD_BODY_FILE} openstack/neutron_add_subnet.jinja
${OPENSTACK_NEUTRON_PORT_PATH} /ports
*** Keywords ***
[Documentation] Runs an Openstack Request to add a network and returns that network id of the created network
[Arguments] ${alias} ${name}
${arguments}= Create Dictionary name=${name}
- ${data}= Fill JSON Template File ${OPENSTACK_NEUTRON_NETWORK_ADD_BODY_FILE} ${arguments}
+ Create Environment openstack ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template openstack ${OPENSTACK_NEUTRON_NETWORK_ADD_BODY_FILE} ${arguments}
${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_NETWORK_PATH} data_path= data=${data}
Should Be Equal As Strings 201 ${resp.status_code}
[Return] ${resp.json()['network']['id']}
[Arguments] ${alias} ${name} ${cidr}
${network_id}= Add Openstack Network ${alias} ${name}
${arguments}= Create Dictionary network_id=${network_id} cidr=${cidr} subnet_name=${name}
- ${data}= Fill JSON Template File ${OPENSTACK_NEUTRON_SUBNET_ADD_BODY_FILE} ${arguments}
+ Create Environment openstack ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template openstack ${OPENSTACK_NEUTRON_SUBNET_ADD_BODY_FILE} ${arguments}
${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} ${OPENSTACK_NEUTRON_SUBNET_PATH} data_path= data=${data}
Should Be Equal As Strings 201 ${resp.status_code}
[Return] ${network_id}
Library ONAPLibrary.Openstack
Library RequestsLibrary
Library ONAPLibrary.JSON
+Library ONAPLibrary.Templating
Library OperatingSystem
Library Collections
Resource ../global_properties.robot
-Resource ../json_templater.robot
Resource openstack_common.robot
*** Variables ***
${OPENSTACK_NOVA_API_VERSION} /v2
${OPENSTACK_NOVA_KEYPAIR_PATH} /os-keypairs
-${OPENSTACK_NOVA_KEYPAIR_ADD_BODY_FILE} robot/assets/templates/nova_add_keypair.template
+${OPENSTACK_NOVA_KEYPAIR_ADD_BODY_FILE} openstack/nova_add_keypair.jinja
${OPENSTACK_NOVA_KEYPAIR_SSH_KEY} robot/assets/keys/robot_ssh_public_key.txt
${OPENSTACK_NOVA_FLAVORS_PATH} /flavors
${OPENSTACK_NOVA_SERVERS_PATH} /servers
${OPENSTACK_NOVA_IMAGES_PATH} /images
${OPENSTACK_NOVA_SERVERS_REBOOT_BODY} {"reboot" : { "type" : "SOFT" }}
-${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} robot/assets/templates/nova_add_server.template
+${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} openstack/nova_add_server.jinja
*** Keywords ***
[Arguments] ${alias} ${name}
${ssh_key}= OperatingSystem.Get File ${OPENSTACK_NOVA_KEYPAIR_SSH_KEY}
${arguments}= Create Dictionary name=${name} publickey=${ssh_key}
- ${data}= Fill JSON Template File ${OPENSTACK_NOVA_KEYPAIR_ADD_BODY_FILE} ${arguments}
+ Create Environment openstack ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template openstack ${OPENSTACK_NOVA_KEYPAIR_ADD_BODY_FILE} ${arguments}
${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_KEYPAIR_PATH} data_path= data=${data}
Should Be Equal As Strings 200 ${resp.status_code}
[Return] ${resp.json()['keypair']['name']}
[Documentation] Adds a server for the passed if
[Arguments] ${alias} ${name} ${imageRef} ${flavorRef}
${dict}= Create Dictionary name=${name} imageRef=${imageRef} flavorRef=${flavorRef}
- ${data}= Fill JSON Template File ${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} ${dict}
+ Create Environment openstack ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template openstack ${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} ${dict}
${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} data_path= data=${data}
[Return] ${resp}
${imageRef}= Get Id For Name ${images} ${imageName}
${flavorRef}= Get Id For Name ${flavors} ${flavorName}
${dict}= Create Dictionary name=${name} imageRef=${imageRef} flavorRef=${flavorRef} public_net_id=${public_net_id}
- ${data}= Fill JSON Template File ${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} ${dict}
+ Create Environment openstack ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template openstack ${OPENSTACK_NOVA_SERVER_ADD_BODY_FILE} ${dict}
${resp}= Internal Post Openstack ${alias} ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} ${OPENSTACK_NOVA_SERVERS_PATH} data_path= data=${data}
${status_string}= Convert To String ${resp.status_code}
Should Match Regexp ${status_string} ^(202)$
Library String
Library StringTemplater
Library ONAPLibrary.ServiceMapping
-
+Library ONAPLibrary.Templating
Resource global_properties.robot
-Resource ../resources/json_templater.robot
Resource browser_setup.robot
*** Variables ***
${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} /operations/VNF-API:preload-vnf-topology-operation
${PRELOAD_VNF_CONFIG_PATH} /config/VNF-API:preload-vnfs/vnf-preload-list
-${PRELOAD_VNF_TOPOLOGY_OPERATION_BODY} robot/assets/templates/sdnc/
+${PRELOAD_VNF_TOPOLOGY_OPERATION_BODY} sdnc
${SDNGC_INDEX_PATH} /restconf
${SDNCGC_HEALTHCHECK_OPERATION_PATH} /operations/SLI-API:healthcheck
${SDNGC_REST_ENDPOINT} ${GLOBAL_SDNGC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDNC_IP_ADDR}:${GLOBAL_SDNGC_REST_PORT}
Return From Keyword If '${filename}' == ''
${parameters}= Get Template Parameters ${generic_vnf_name} ${filename} ${uuid}
Set To Dictionary ${parameters} generic_vnf_name=${generic_vnf_name} generic_vnf_type=${generic_vnf_type} service_type=${service_type_uuid} vf_module_name=${vf_module_name} vf_module_type=${vf_module_type}
- ${data}= Fill JSON Template File ${PRELOAD_VNF_TOPOLOGY_OPERATION_BODY}/preload.template ${parameters}
+ Create Environment sdnc ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Apply Template sdnc ${PRELOAD_VNF_TOPOLOGY_OPERATION_BODY}/preload.jinja ${parameters}
${put_resp}= Run SDNGC Post Request ${SDNGC_INDEX_PATH}${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} ${data}
Should Be Equal As Strings ${put_resp.json()['output']['response-code']} 200
${get_resp}= Run SDNGC Get Request ${SDNGC_INDEX_PATH}${PRELOAD_VNF_CONFIG_PATH}/${vf_module_name}/${vf_module_type}
Resource ../openstack/nova_interface.robot
Resource ../openstack/heat_interface.robot
Resource ../ssh/files.robot
-Resource ../ssh/processes.robot
Resource ../demo_preload.robot
Resource packet_generator_interface.robot
Resource validate_common.robot
Resource ../../resources/openstack/nova_interface.robot
Resource ../../resources/openstack/heat_interface.robot
Resource ../../resources/ssh/files.robot
-Resource ../../resources/ssh/processes.robot
Resource packet_generator_interface.robot
Resource vnf_orchestration_test_template.robot
Library String
-LIbrary Process
+Library Process
+Library ONAPLibrary.Templating
*** Variables ***
${RESOURCE_PATH_CREATE} /pdp/createPolicy
${RESOURCE_PATH_CREATE_PUSH} /pdp/pushPolicy
${RESOURCE_PATH_CREATE_DELETE} /pdp/deletePolicy
${RESOURCE_PATH_GET_CONFIG} /pdp/getConfig
-${CREATE_CONFIG_TEMPLATE} robot/assets/templates/policy/closedloop_configpolicy.template
-${CREATE_OPS_TEMPLATE} robot/assets/templates/policy/closedloop_opspolicy.template
-${PUSH_POLICY_TEMPLATE} robot/assets/templates/policy/closedloop_pushpolicy.template
-${DEL_POLICY_TEMPLATE} robot/assets/templates/policy/closedloop_deletepolicy.template
-${GECONFIG_VFW_TEMPLATE} robot/assets/templates/policy/closedloop_getconfigpolicy.template
+${CREATE_CONFIG_TEMPLATE} policy/closedloop_configpolicy.jinja
+${CREATE_OPS_TEMPLATE} policy/closedloop_opspolicy.jinja
+${PUSH_POLICY_TEMPLATE} policy/closedloop_pushpolicy.jinja
+${DEL_POLICY_TEMPLATE} policy/closedloop_deletepolicy.jinja
+${GECONFIG_VFW_TEMPLATE} policy/closedloop_getconfigpolicy.jinja
# 'Normal' number of pg streams that will be set when policy is triggered
${VFWPOLICYRATE} 5
[Documentation] Get Config Policy for VFW
${getconfigpolicy}= Catenate .*${CONFIG_POLICY_NAME}*
${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy}
- ${output} = Fill JSON Template File ${GECONFIG_VFW_TEMPLATE} ${configpolicy_name}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${GECONFIG_VFW_TEMPLATE} ${configpolicy_name}
${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output}
Should Be Equal As Strings ${get_resp.status_code} 200
${config}= Catenate ${get_resp.json()[0]["config"]}
[Documentation] Get Config Policy for VDNS
${getconfigpolicy}= Catenate .*MicroServicevDNS*
${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy}
- ${output} = Fill JSON Template File ${GECONFIG_VFW_TEMPLATE} ${configpolicy_name}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${GECONFIG_VFW_TEMPLATE} ${configpolicy_name}
${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output}
Should Be Equal As Strings ${get_resp.status_code} 200
${config}= Catenate ${get_resp.json()[0]["config"]}
${policyname1}= Catenate com.${randompolicyname}
${CONFIG_POLICY_NAME}= Set Test Variable ${policyname1}
${configpolicy}= Create Dictionary policy_name=${CONFIG_POLICY_NAME}
- ${output} = Fill JSON Template File ${CREATE_CONFIG_TEMPLATE} ${configpolicy}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${CREATE_CONFIG_TEMPLATE} ${configpolicy}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
${policyname1}= Catenate com.${randompolicyname}
${OPS_POLICY_NAME}= Set Test Variable ${policyname1}
${dict}= Create Dictionary policy_name=${OPS_POLICY_NAME}
- #${NEWPOLICY1}= Create Dictionary policy_name=com.${OPS_POLICY_NAME}
- ${output} = Fill JSON Template File ${CREATE_OPS_TEMPLATE} ${dict}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${CREATE_OPS_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Log ${put_resp}
Should Be Equal As Strings ${put_resp.status_code} 200
[Documentation] Push Ops Policy
[Arguments] ${policyname} ${policytype}
${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype}
- ${output} = Fill JSON Template File ${PUSH_POLICY_TEMPLATE} ${dict}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${PUSH_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
[Documentation] Push Config Policy
[Arguments] ${policyname} ${policytype}
${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype}
- ${output} = Fill JSON Template File ${PUSH_POLICY_TEMPLATE} ${dict}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${PUSH_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
[Arguments] ${policy_name}
${policyname3}= Catenate com.Config_BRMS_Param_${policyname}.1.xml
${dict}= Create Dictionary policy_name=${policyname3}
- ${output} = Fill JSON Template File ${DEL_POLICY_TEMPLATE} ${dict}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${DEL_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
[Arguments] ${policy_name}
${policyname3}= Catenate com.Config_MS_com.vFirewall.1.xml
${dict}= Create Dictionary policy_name=${policyname3}
- ${output} = Fill JSON Template File ${DEL_POLICY_TEMPLATE} ${dict}
+ Create Environment cl ${GLOBAL_TEMPLATE_FOLDER}
+ ${output}= Apply Template cl ${DEL_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200