diff options
79 files changed, 18698 insertions, 112 deletions
diff --git a/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh b/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh index 2d276e51..bdee34ee 100644 --- a/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh +++ b/plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh @@ -12,8 +12,7 @@ cd $WORKSPACE/archives/dfc if [ -z "$SIM_ROOT" ] then - #git clone --depth 1 https://gerrit.onap.org/r/integration -b master - git clone https://github.com/yanhuanwang/integration.git + git clone --depth 1 https://gerrit.onap.org/r/integration -b master #Location of all individual simulators for DFC echo "Determine SIM_ROOT based on the WORKSPACE" SIM_ROOT=$WORKSPACE/archives/dfc/integration/test/mocks/datafilecollector-testharness diff --git a/plans/dcaegen2-collectors-datafile/Functional-suite/teardown.sh b/plans/dcaegen2-collectors-datafile/Functional-suite/teardown.sh index 0dc2af18..2c46439e 100644 --- a/plans/dcaegen2-collectors-datafile/Functional-suite/teardown.sh +++ b/plans/dcaegen2-collectors-datafile/Functional-suite/teardown.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -running_containers=$(docker ps --filter name=dfc_ -q) - +running_containers=$(docker ps --filter name=dfc_ -qa) +running_images=$(docker images -q) if [ -z "$running_containers" ] then @@ -10,5 +10,6 @@ else echo "Stopping and removing containers" docker stop $running_containers docker rm $running_containers + docker rmi $running_images fi diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml b/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml index eb61db97..4b184d38 100644 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/docker-compose.yml @@ -84,7 +84,7 @@ services: - hv-ves-default config-binding-service: - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.4 + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding:2.5.2 ports: - "10000:10000" environment: diff --git a/plans/dcaegen2-collectors-hv-ves/testsuites/env.sh b/plans/dcaegen2-collectors-hv-ves/testsuites/env.sh index 08bbb61e..940c757f 100755 --- a/plans/dcaegen2-collectors-hv-ves/testsuites/env.sh +++ b/plans/dcaegen2-collectors-hv-ves/testsuites/env.sh @@ -39,7 +39,7 @@ export HV_VES_GROUP_ID="org.onap.dcaegen2.collectors.hv-ves" export HV_VES_HOSTNAME="dcae-hv-ves-collector" export HV_VES_COLLECTOR_NAMESPACE="onap" export HV_VES_HEALTHCHECK_CMD="curl --request GET --fail --silent --show-error localhost:6060/health/ready && nc -vz localhost 6061" -export HV_VES_VERSION="1.2-SNAPSHOT" +export HV_VES_VERSION="latest" export HV_VES_IMAGE="hv-collector-main" export DCAE_APP_SIMULATOR_IMAGE="hv-collector-dcae-app-simulator" export XNF_SIMULATOR_IMAGE="hv-ves-collector-xnf-simulator" diff --git a/plans/sdc/sanity/setup.sh b/plans/sdc/sanity/setup.sh index 0e652f86..20a8eac3 100644 --- a/plans/sdc/sanity/setup.sh +++ b/plans/sdc/sanity/setup.sh @@ -15,4 +15,26 @@ # limitations under the License. # +# By default all images are from remote upstream registry, this option +# provides the chance to test locally built images +export SDC_LOCAL_IMAGES="${SDC_LOCAL_IMAGES:-false}" + +# For this to take effect SDC_LOCAL_IMAGES must be enabled... +# +# The path to the local sdc git repo from which the local images have +# been built - it also affects the tag used - if left empty *AND* +# local images are used *AND* SDC_LOCAL_TAG is unset then the tag +# will be set to: 'latest' +# +# BEWARE: Using local images with an incorrect git repo could lead to +# problems...set SDC_LOCAL_GITREPO or GERRIT_BRANCH properly... +export SDC_LOCAL_GITREPO="${SDC_LOCAL_GITREPO}" + +# For this to take effect SDC_LOCAL_IMAGES must be enabled... +# +# This will set the tag for local images - leaving this empty *AND* +# with unset SDC_LOCAL_GITREPO the local images will fallback to the +# tag: 'latest' +export SDC_LOCAL_TAG="${SDC_LOCAL_TAG}" + source ${WORKSPACE}/scripts/sdc/setup_sdc_for_sanity.sh tad diff --git a/plans/sdc/uiSanity/setup.sh b/plans/sdc/uiSanity/setup.sh index 3d315098..b02cd7be 100644 --- a/plans/sdc/uiSanity/setup.sh +++ b/plans/sdc/uiSanity/setup.sh @@ -13,5 +13,28 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# + +# By default all images are from remote upstream registry, this option +# provides the chance to test locally built images +export SDC_LOCAL_IMAGES="${SDC_LOCAL_IMAGES:-false}" + +# For this to take effect SDC_LOCAL_IMAGES must be enabled... +# +# The path to the local sdc git repo from which the local images have +# been built - it also affects the tag used - if left empty *AND* +# local images are used *AND* SDC_LOCAL_TAG is unset then the tag +# will be set to: 'latest' +# +# BEWARE: Using local images with an incorrect git repo could lead to +# problems...set SDC_LOCAL_GITREPO or GERRIT_BRANCH properly... +export SDC_LOCAL_GITREPO="${SDC_LOCAL_GITREPO}" + +# For this to take effect SDC_LOCAL_IMAGES must be enabled... +# +# This will set the tag for local images - leaving this empty *AND* +# with unset SDC_LOCAL_GITREPO the local images will fallback to the +# tag: 'latest' +export SDC_LOCAL_TAG="${SDC_LOCAL_TAG}" source ${WORKSPACE}/scripts/sdc/setup_sdc_for_sanity.sh tud diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/artifacts/service-Manualdistributiontestservice-csar.csar b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/artifacts/service-Manualdistributiontestservice-csar.csar Binary files differnew file mode 100644 index 00000000..c7a325e4 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/artifacts/service-Manualdistributiontestservice-csar.csar diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/TOSCA.meta b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/TOSCA.meta new file mode 100644 index 00000000..78e5dff0 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/TOSCA.meta @@ -0,0 +1,7 @@ +TOSCA-Meta-File-Version: 1.0 +CSAR-Version: 1.1 +Created-by: EST +Entry-Definitions: Artifacts/Deployment/OTHER/descriptor.yaml +Entry-Manifest: sgsn-mme.mf +Entry-Change-Log: ChangeLog.txt +Entry-Licenses: Licenses/LICENSE diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/VSP_manualDistributionTestVSP_Information.txt b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/VSP_manualDistributionTestVSP_Information.txt new file mode 100644 index 00000000..2fb08492 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/VSP_manualDistributionTestVSP_Information.txt @@ -0,0 +1,50 @@ +Proprietary information (Restricted) +For use only by authorized individuals and not for general distribution. + + +1. VSP Details: + a. Name: manualDistributionTestVSP + b. Description Test + c. Version: 0.0 + d. Vendor: Test + e. Category: resourceNewCategory.application l4+ + f. License Details: + i. License Model Version: 0.0 + ii. License Agreement Name: 683cd9113b02405e8c68b5dec6837bd7 + iii List of Feature Groups: + 1. c9890306e372438fa1eaac1c9bf5db92 + g. High Availability + h. Storage Data Back-up Details: + i. Data Replication Required?: false + ii. Data Size to replicate in GB: null + iii. Data replication frequency: null + iv. Replication Source: null + v. Replication Destination: null + 3. List of VFCs + a. For each VFC: + i. VFC Name: + ii. Description: + iii. Images: + iv. Compute/VM Characteristics + 1. vCPU: + 2. CPU over-subscription: + 3. Memory: + 4. Disk: + v. Hypervisor Details + 1. Name: KVM + 2. Drivers: null + vi. Guest OS Details + 1. Name: null + 2. Bit Size: 64 + 3. Tools: null + vii. Number of VFC Instances + viii. vNICs + 5. Protocols: Protocols{protocols=[], protocolWithHighestTrafficProfile=''} + 6. IP v4 Required: true + 7. IP v6 Required: false + ix. Recovery Details: + + + +Proprietary information (Restricted) +For use only by authorized individuals and not for general distribution.
\ No newline at end of file diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/annotations.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/annotations.yml new file mode 100644 index 00000000..2f146061 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/annotations.yml @@ -0,0 +1,30 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +annotation_types: + org.openecomp.annotations.Source: + description: Indicates the origin source of an input + properties: + source_type: + type: string + vf_module_label: + type: list + description: List of VF Modules this input was originated from + entry_schema: + type: string + param_name: + type: string + description: Source parameter name diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/artifacts.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/artifacts.yml new file mode 100644 index 00000000..a4fb0fe2 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/artifacts.yml @@ -0,0 +1,49 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +artifact_types: + tosca.artifacts.Root: + description: This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from. + tosca.artifacts.Deployment.Image: + derived_from: tosca.artifacts.Deployment + description: This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared to be run on a known target container. + tosca.artifacts.Implementation.Bash: + derived_from: tosca.artifacts.Implementation + description: This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell. + tosca.artifacts.Deployment.Image.VM: + derived_from: tosca.artifacts.Deployment + description: This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., hardware) resources. + tosca.artifacts.Implementation.Python: + derived_from: tosca.artifacts.Implementation + description: This artifact type represents a Python file that contains Python language constructs that can be executed within a Python interpreter. + tosca.artifacts.Deployment: + derived_from: tosca.artifacts.Root + description: This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's lifecycle. + tosca.artifacts.File: + derived_from: tosca.artifacts.Root + description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type). + tosca.artifacts.Implementation: + derived_from: tosca.artifacts.Root + description: This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files). + tosca.artifacts.nfv.SwImage: + derived_from: tosca.artifacts.Deployment.Image + description: describes the software image which is directly loaded on the virtualisation container realizing of the VDU or is to be loaded on a virtual + tosca.artifacts.Implementation.nfv.Mistral: + derived_from: tosca.artifacts.Implementation + description: artifacts for Mistral workflows + mime_type: application/x-yaml + file_ext: + - yaml diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.env b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.env new file mode 100644 index 00000000..2c73cedc --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.env @@ -0,0 +1,11 @@ +parameters: + node_ip: "172.26.10.27" + public_net_id: "nova_floating" + simple_flavor_name: "m1.small" + simple_image_name: "UBUNTU16" + simple_key: "afr-key" + simple_name_0: "SIMPLEUBU" + simple_netid: "onap_vip" + ves_ip: "172.26.10.19" + vf_module_id: "AFRMODULEID" + vnf_id: "VESMED" diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.yaml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.yaml new file mode 100644 index 00000000..aa51a80b --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.yaml @@ -0,0 +1,86 @@ +heat_template_version: 2013-05-23 + +description: Simple template to deploy a single compute instance + +parameters: + simple_name_0: + type: string + label: Key Name + description: Name of key-pair to be used for compute instance + simple_key: + type: string + label: Key Name + description: Name of key-pair to be used for compute instance + simple_image_name: + type: string + label: Image ID + description: Image to be used for compute instance + simple_flavor_name: + type: string + label: Instance Type + description: Type of instance (flavor) to be used + vnf_id: + type: string + label: VNF ID + description: The VNF ID is provided by ONAP + vf_module_id: + type: string + label: vFirewall module ID + description: The vFirewall Module ID is provided by ONAP + simple_netid: + type: string + label: Netid + description: netid + public_net_id: + type: string + label: Netid + description: public NetId + ves_ip: + type: string + label: Netid + description: public ves_ip + node_ip: + type: string + label: Netid + description: public ves_ip + + + +resources: + + simple_0_private_port: + type: OS::Neutron::Port + properties: + network: { get_param: simple_netid } + fixed_ips: + - ip_address: { get_param: node_ip } + + + simple_0: + type: OS::Nova::Server + properties: + availability_zone: nova + key_name: { get_param: simple_key } + image: { get_param: simple_image_name } + flavor: { get_param: simple_flavor_name } + name: { get_param: simple_name_0 } + metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + networks: + - port: { get_resource: simple_0_private_port } + user_data_format: RAW + user_data: + str_replace: + params: + __ves_ip__: { get_param: ves_ip } + __vnfId__: { get_param: vnf_id } + + template: | + #!/bin/bash + + echo "the value we got for vndID was : __vnfId__" >> /tmp/vnfid.log + +outputs: + oam_management_v4_address: + description: The IP address of the oam_management_v4_address + value: { get_param: node_ip } + diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/capabilities.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/capabilities.yml new file mode 100644 index 00000000..85af71a8 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/capabilities.yml @@ -0,0 +1,310 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +capability_types: + tosca.capabilities.Root: + description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from + tosca.capabilities.Attachment: + derived_from: tosca.capabilities.Root + tosca.capabilities.Node: + derived_from: tosca.capabilities.Root + tosca.capabilities.Container: + derived_from: tosca.capabilities.Root + properties: + num_cpus: + type: integer + required: false + constraints: + - greater_or_equal: 1 + cpu_frequency: + type: scalar-unit.frequency + required: false + constraints: + - greater_or_equal: 0.1 GHz + disk_size: + type: scalar-unit.size + required: false + constraints: + - greater_or_equal: 0 MB + mem_size: + type: scalar-unit.size + required: false + constraints: + - greater_or_equal: 0 MB + org.openecomp.capabilities.PortMirroring: + derived_from: tosca.capabilities.Root + properties: + connection_point: + type: org.openecomp.datatypes.PortMirroringConnectionPointDescription + tosca.capabilities.Endpoint: + derived_from: tosca.capabilities.Root + properties: + protocol: + type: string + default: tcp + port: + type: PortDef + required: false + secure: + type: boolean + default: false + url_path: + type: string + required: false + port_name: + type: string + required: false + network_name: + type: string + required: false + default: PRIVATE + initiator: + type: string + default: source + constraints: + - valid_values: + - source + - target + - peer + ports: + type: map + required: false + constraints: + - min_length: 1 + entry_schema: + type: PortSpec + attributes: + ip_address: + type: string + tosca.capabilities.DatabaseEndpoint: + derived_from: tosca.capabilities.Endpoint + tosca.capabilities.Endpoint.Public: + derived_from: tosca.capabilities.Endpoint + properties: + network_name: PUBLIC + floating: + description: | + indicates that the public address should be allocated from a pool of floating IPs that are associated with the network. + type: boolean + default: false + status: experimental + dns_name: + description: The optional name to register with DNS + type: string + required: false + status: experimental + tosca.capabilities.Endpoint.Admin: + derived_from: tosca.capabilities.Endpoint + properties: + secure: true + tosca.capabilities.Endpoint.Database: + derived_from: tosca.capabilities.Endpoint + tosca.capabilities.OperatingSystem: + derived_from: tosca.capabilities.Root + properties: + architecture: + type: string + required: false + type: + type: string + required: false + distribution: + type: string + required: false + version: + type: version + required: false + tosca.capabilities.Scalable: + derived_from: tosca.capabilities.Root + properties: + min_instances: + type: integer + default: 1 + max_instances: + type: integer + default: 1 + default_instances: + type: integer + tosca.capabilities.network.Bindable: + derived_from: tosca.capabilities.Node + tosca.capabilities.Container.Docker: + derived_from: tosca.capabilities.Container + properties: + version: + type: list + required: false + entry_schema: version + publish_all: + type: boolean + default: false + required: false + publish_ports: + type: list + entry_schema: PortSpec + required: false + expose_ports: + type: list + entry_schema: PortSpec + required: false + volumes: + type: list + entry_schema: string + required: false + tosca.capabilities.network.Linkable: + derived_from: tosca.capabilities.Root + org.openecomp.capabilities.AllottedResource: + derived_from: tosca.capabilities.Root + tosca.capabilities.nfv.Metric: + derived_from: tosca.capabilities.Endpoint + org.openecomp.capabilities.Metric: + derived_from: tosca.capabilities.nfv.Metric + description: A node type that includes the Metric capability indicates that it can be monitored. + properties: + unit: + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + attributes: + value: + type: string + description: Runtime monitored value + status: SUPPORTED + org.openecomp.capabilities.metric.Ceilometer: + derived_from: org.openecomp.capabilities.Metric + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + status: SUPPORTED + org.openecomp.capabilities.metric.SnmpPolling: + derived_from: org.openecomp.capabilities.Metric + description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling. + properties: + oid: + type: string + description: Object Id of the metric + required: true + status: SUPPORTED + org.openecomp.capabilities.metric.SnmpTrap: + derived_from: org.openecomp.capabilities.Metric + description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap. + properties: + oid: + type: string + description: Object Id of the metric + required: true + status: SUPPORTED + org.openecomp.capabilities.Forwarder: + derived_from: tosca.capabilities.Root + org.openecomp.capabilities.VLANAssignment: + derived_from: tosca.capabilities.Root + description: ability to expose routing information of the internal network + properties: + vfc_instance_group_reference: + type: string + description: Ability to recognize capability per vfc instance group on vnf instance + required: true + org.openecomp.capabilities.RoutingConfiguration: + derived_from: tosca.capabilities.Root + org.openecomp.capabilities.FabricConfiguration: + derived_from: tosca.capabilities.Root + tosca.capabilities.nfv.VirtualStorage: + derived_from: tosca.capabilities.Root + description: Describes the attachment capabilities related to Vdu.Storage + tosca.capabilities.nfv.VirtualCompute: + derived_from: tosca.capabilities.Node + description: Describes the capabilities related to virtual compute resources + properties: + logical_node: + type: map + description: Describes the Logical Node requirements + required: false + entry_schema: + type: tosca.datatypes.nfv.LogicalNodeData + requested_additional_capabilities: + type: map + description: Describes additional capability for a particular VDU + required: false + entry_schema: + type: tosca.datatypes.nfv.RequestedAdditionalCapability + compute_requirements: + type: map + required: false + entry_schema: + type: string + virtual_memory: + type: tosca.datatypes.nfv.VirtualMemory + description: Describes virtual memory of the virtualized compute + required: true + virtual_cpu: + type: tosca.datatypes.nfv.VirtualCpu + description: Describes virtual CPU(s) of the virtualized compute + required: true + virtual_local_storage: + type: list + description: A list of virtual system disks created and destroyed as part of the VM lifecycle + required: false + entry_schema: + type: tosca.datatypes.nfv.VirtualBlockStorageData + description: virtual system disk definition + tosca.capabilities.nfv.VirtualBindable: + derived_from: tosca.capabilities.Node + description: Indicates that the node that includes it can be pointed by a tosca.relationships.nfv.VirtualBindsTo relationship type which is used to model the VduHasCpd association + tosca.capabilities.nfv.VirtualLinkable: + derived_from: tosca.capabilities.Root + description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type + tosca.capabilities.nfv.ExtVirtualLinkable: + derived_from: tosca.capabilities.Root + tosca.capabilities.nfv.Forwarder: + derived_from: tosca.capabilities.Root + tosca.capabilities.nfv.ext.GuestOs: + derived_from: tosca.capabilities.Root + tosca.capabilities.nfv.ext.ImageFile: + derived_from: tosca.capabilities.Root + tosca.capabilities.nfv.ext.LocalAttachment: + derived_from: tosca.capabilities.Root + tosca.capabilities.nfv.ext.Compute.Container.Architecture: + derived_from: tosca.capabilities.Root + properties: + num_cpus: + type: string + required: false + flavor_extra_specs: + type: map + required: false + entry_schema: + type: string + mem_size: + type: string + required: false diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/csar.meta b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/csar.meta new file mode 100644 index 00000000..bc3359ce --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/csar.meta @@ -0,0 +1,2 @@ +SDC-TOSCA-Meta-File-Version: 1.0 +SDC-TOSCA-Definitions-Version: 9.0 diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/data.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/data.yml new file mode 100644 index 00000000..552513af --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/data.yml @@ -0,0 +1,2417 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +data_types: + tosca.datatypes.Root: + description: The TOSCA root Data Type all other TOSCA base Data Types derive from + integer: + derived_from: tosca.datatypes.Root + string: + derived_from: tosca.datatypes.Root + boolean: + derived_from: tosca.datatypes.Root + float: + derived_from: tosca.datatypes.Root + list: + derived_from: tosca.datatypes.Root + map: + derived_from: tosca.datatypes.Root + json: + derived_from: tosca.datatypes.Root + scalar-unit: + derived_from: tosca.datatypes.Root + scalar-unit.size: + derived_from: scalar-unit + scalar-unit.time: + derived_from: scalar-unit + scalar-unit.frequency: + derived_from: scalar-unit + tosca.datatypes.Credential: + derived_from: tosca.datatypes.Root + properties: + protocol: + type: string + required: false + token_type: + type: string + default: password + token: + type: string + keys: + type: map + required: false + entry_schema: + type: string + user: + type: string + required: false + org.openecomp.datatypes.PortMirroringConnectionPointDescription: + derived_from: tosca.datatypes.Root + properties: + nf_naming_code: + type: string + nfc_naming_code: + type: string + network_role: + type: string + pps_capacity: + type: string + nf_type: + type: string + description: deprecated + nfc_type: + type: string + description: deprecated + tosca.datatypes.TimeInterval: + derived_from: tosca.datatypes.Root + properties: + start_time: + type: timestamp + required: true + end_time: + type: timestamp + required: true + tosca.datatypes.network.NetworkInfo: + derived_from: tosca.datatypes.Root + properties: + network_name: + type: string + network_id: + type: string + addresses: + type: list + entry_schema: + type: string + tosca.datatypes.network.PortInfo: + derived_from: tosca.datatypes.Root + properties: + port_name: + type: string + port_id: + type: string + network_id: + type: string + mac_address: + type: string + addresses: + type: list + entry_schema: + type: string + tosca.datatypes.network.PortDef: + derived_from: integer + constraints: + - in_range: + - 1 + - 65535 + tosca.datatypes.network.PortSpec: + derived_from: tosca.datatypes.Root + properties: + protocol: + type: string + required: true + default: tcp + constraints: + - valid_values: + - udp + - tcp + - igmp + target: + type: tosca.datatypes.network.PortDef + target_range: + type: range + constraints: + - in_range: + - 1 + - 65535 + source: + type: tosca.datatypes.network.PortDef + source_range: + type: range + constraints: + - in_range: + - 1 + - 65535 + org.openecomp.datatypes.heat.network.AddressPair: + derived_from: tosca.datatypes.Root + description: MAC/IP address pairs + properties: + mac_address: + type: string + description: MAC address + required: false + status: SUPPORTED + ip_address: + type: string + description: IP address + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.network.subnet.HostRoute: + derived_from: tosca.datatypes.Root + description: Host route info for the subnet + properties: + destination: + type: string + description: The destination for static route + required: false + status: SUPPORTED + nexthop: + type: string + description: The next hop for the destination + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.network.AllocationPool: + derived_from: tosca.datatypes.Root + description: The start and end addresses for the allocation pool + properties: + start: + type: string + description: Start address for the allocation pool + required: false + status: SUPPORTED + end: + type: string + description: End address for the allocation pool + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.network.neutron.Subnet: + derived_from: tosca.datatypes.Root + description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances + properties: + tenant_id: + type: string + description: The ID of the tenant who owns the network + required: false + status: SUPPORTED + enable_dhcp: + type: boolean + description: Set to true if DHCP is enabled and false if DHCP is disabled + required: false + default: true + status: SUPPORTED + ipv6_address_mode: + type: string + description: IPv6 address mode + required: false + status: SUPPORTED + constraints: + - valid_values: + - dhcpv6-stateful + - dhcpv6-stateless + - slaac + ipv6_ra_mode: + type: string + description: IPv6 RA (Router Advertisement) mode + required: false + status: SUPPORTED + constraints: + - valid_values: + - dhcpv6-stateful + - dhcpv6-stateless + - slaac + value_specs: + type: map + description: Extra parameters to include in the request + required: false + default: {} + status: SUPPORTED + entry_schema: + type: string + allocation_pools: + type: list + description: The start and end addresses for the allocation pools + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.AllocationPool + subnetpool: + type: string + description: The name or ID of the subnet pool + required: false + status: SUPPORTED + dns_nameservers: + type: list + description: A specified set of DNS name servers to be used + required: false + default: [] + status: SUPPORTED + entry_schema: + type: string + host_routes: + type: list + description: The gateway IP address + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.subnet.HostRoute + ip_version: + type: integer + description: The gateway IP address + required: false + default: 4 + status: SUPPORTED + constraints: + - valid_values: + - '4' + - '6' + name: + type: string + description: The name of the subnet + required: false + status: SUPPORTED + prefixlen: + type: integer + description: Prefix length for subnet allocation from subnet pool + required: false + status: SUPPORTED + constraints: + - greater_or_equal: 0 + cidr: + type: string + description: The CIDR + required: false + status: SUPPORTED + gateway_ip: + type: string + description: The gateway IP address + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties: + derived_from: tosca.datatypes.Root + description: Nova server network expand properties for port + properties: + port_security_enabled: + type: boolean + description: Flag to enable/disable port security on the port + required: false + status: SUPPORTED + mac_address: + type: string + description: MAC address to give to this port + required: false + status: SUPPORTED + admin_state_up: + type: boolean + description: The administrative state of this port + required: false + default: true + status: SUPPORTED + qos_policy: + type: string + description: The name or ID of QoS policy to attach to this port + required: false + status: SUPPORTED + allowed_address_pairs: + type: list + description: Additional MAC/IP address pairs allowed to pass through the port + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.AddressPair + binding:vnic_type: + type: string + description: The vnic type to be bound on the neutron port + required: false + status: SUPPORTED + constraints: + - valid_values: + - macvtap + - direct + - normal + value_specs: + type: map + description: Extra parameters to include in the request + required: false + default: {} + status: SUPPORTED + entry_schema: + type: string + org.openecomp.datatypes.heat.novaServer.network.AddressInfo: + derived_from: tosca.datatypes.network.NetworkInfo + description: Network addresses with corresponding port id + properties: + port_id: + type: string + description: Port id + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.neutron.port.FixedIps: + derived_from: tosca.datatypes.Root + description: subnet/ip_address + properties: + subnet: + type: string + description: Subnet in which to allocate the IP address for this port + required: false + status: SUPPORTED + ip_address: + type: string + description: IP address desired in the subnet for this port + required: false + status: SUPPORTED + subnet_id: + type: string + description: Subnet in which to allocate the IP address for this port + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.FileInfo: + derived_from: tosca.datatypes.Root + description: Heat File Info + properties: + file: + type: string + description: The required URI string (relative or absolute) which can be used to locate the file + required: true + status: SUPPORTED + file_type: + type: string + description: The type of the file + required: true + status: SUPPORTED + constraints: + - valid_values: + - base + - env + - volume + - network + org.openecomp.datatypes.heat.contrail.network.rule.PortPairs: + derived_from: tosca.datatypes.Root + description: source and destination port pairs + properties: + start_port: + type: string + description: Start port + required: false + status: SUPPORTED + end_port: + type: string + description: End port + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrail.network.rule.Rule: + derived_from: tosca.datatypes.Root + description: policy rule + properties: + src_ports: + type: list + description: Source ports + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs + protocol: + type: string + description: Protocol + required: false + status: SUPPORTED + dst_addresses: + type: list + description: Destination addresses + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork + apply_service: + type: string + description: Service to apply + required: false + status: SUPPORTED + dst_ports: + type: list + description: Destination ports + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs + src_addresses: + type: list + description: Source addresses + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork + direction: + type: string + description: Direction + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrail.network.rule.RuleList: + derived_from: tosca.datatypes.Root + description: list of policy rules + properties: + policy_rule: + type: list + description: Contrail network rule + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrail.network.rule.Rule + org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork: + derived_from: tosca.datatypes.Root + description: source and destination addresses + properties: + virtual_network: + type: string + description: Virtual network + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule: + derived_from: tosca.datatypes.Root + description: Rules Pairs + properties: + remote_group_id: + type: string + description: The remote group ID to be associated with this security group rule + required: false + status: SUPPORTED + protocol: + type: string + description: The protocol that is matched by the security group rule + required: false + status: SUPPORTED + constraints: + - valid_values: + - tcp + - udp + - icmp + ethertype: + type: string + description: Ethertype of the traffic + required: false + default: IPv4 + status: SUPPORTED + constraints: + - valid_values: + - IPv4 + - IPv6 + port_range_max: + type: integer + description: 'The maximum port number in the range that is matched by the + security group rule. ' + required: false + status: SUPPORTED + constraints: + - in_range: + - 0 + - 65535 + remote_ip_prefix: + type: string + description: The remote IP prefix (CIDR) to be associated with this security group rule + required: false + status: SUPPORTED + remote_mode: + type: string + description: Whether to specify a remote group or a remote IP prefix + required: false + default: remote_ip_prefix + status: SUPPORTED + constraints: + - valid_values: + - remote_ip_prefix + - remote_group_id + direction: + type: string + description: The direction in which the security group rule is applied + required: false + default: ingress + status: SUPPORTED + constraints: + - valid_values: + - egress + - ingress + port_range_min: + type: integer + description: The minimum port number in the range that is matched by the security group rule. + required: false + status: SUPPORTED + constraints: + - in_range: + - 0 + - 65535 + org.openecomp.datatypes.heat.substitution.SubstitutionFiltering: + derived_from: tosca.datatypes.Root + description: Substitution Filter + properties: + substitute_service_template: + type: string + description: Substitute Service Template + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of the substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + count: + type: string + description: Count + required: false + default: 1 + status: SUPPORTED + scaling_enabled: + type: boolean + description: Indicates whether service scaling is enabled + required: false + default: true + status: SUPPORTED + mandatory: + type: boolean + description: Mandatory + required: false + default: true + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence: + derived_from: tosca.datatypes.Root + description: network policy refs data sequence + properties: + network_policy_refs_data_sequence_major: + type: integer + description: Network Policy ref data sequence Major + required: false + status: SUPPORTED + network_policy_refs_data_sequence_minor: + type: integer + description: Network Policy ref data sequence Minor + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData: + derived_from: tosca.datatypes.Root + description: network policy refs data + properties: + network_policy_refs_data_sequence: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence + description: Network Policy ref data sequence + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet: + derived_from: tosca.datatypes.Root + description: Network Ipam Ref Data Subnet + properties: + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: + type: string + description: Network ipam refs data ipam subnets ip prefix len + required: false + status: SUPPORTED + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: + type: string + description: Network ipam refs data ipam subnets ip prefix + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList: + derived_from: tosca.datatypes.Root + description: Network Ipam Ref Data Subnet List + properties: + network_ipam_refs_data_ipam_subnets_subnet: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet + description: Network ipam refs data ipam subnets + required: false + status: SUPPORTED + network_ipam_refs_data_ipam_subnets_addr_from_start: + type: string + description: Network ipam refs data ipam subnets addr from start + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData: + derived_from: tosca.datatypes.Root + description: Network Ipam Ref Data + properties: + network_ipam_refs_data_ipam_subnets: + type: list + description: Network ipam refs data ipam subnets + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList + org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork: + derived_from: tosca.datatypes.Root + description: source addresses + properties: + network_policy_entries_policy_rule_src_addresses_virtual_network: + type: string + description: Source addresses Virtual network + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork: + derived_from: tosca.datatypes.Root + description: destination addresses + properties: + network_policy_entries_policy_rule_dst_addresses_virtual_network: + type: string + description: Destination addresses Virtual network + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs: + derived_from: tosca.datatypes.Root + description: destination port pairs + properties: + network_policy_entries_policy_rule_dst_ports_start_port: + type: string + description: Start port + required: false + status: SUPPORTED + network_policy_entries_policy_rule_dst_ports_end_port: + type: string + description: End port + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs: + derived_from: tosca.datatypes.Root + description: source port pairs + properties: + network_policy_entries_policy_rule_src_ports_start_port: + type: string + description: Start port + required: false + status: SUPPORTED + network_policy_entries_policy_rule_src_ports_end_port: + type: string + description: End port + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList: + derived_from: tosca.datatypes.Root + description: Action List + properties: + network_policy_entries_policy_rule_action_list_simple_action: + type: string + description: Simple Action + required: false + status: SUPPORTED + network_policy_entries_policy_rule_action_list_apply_service: + type: list + description: Apply Service + required: false + status: SUPPORTED + entry_schema: + type: string + org.openecomp.datatypes.heat.contrailV2.network.rule.Rule: + derived_from: tosca.datatypes.Root + description: policy rule + properties: + network_policy_entries_policy_rule_dst_addresses: + type: list + description: Destination addresses + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork + network_policy_entries_policy_rule_dst_ports: + type: list + description: Destination ports + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs + network_policy_entries_policy_rule_protocol: + type: string + description: Protocol + required: false + status: SUPPORTED + network_policy_entries_policy_rule_src_addresses: + type: list + description: Source addresses + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork + network_policy_entries_policy_rule_direction: + type: string + description: Direction + required: false + status: SUPPORTED + network_policy_entries_policy_rule_src_ports: + type: list + description: Source ports + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs + network_policy_entries_policy_rule_action_list: + type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList + description: Action list + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList: + derived_from: tosca.datatypes.Root + description: list of policy rules + properties: + network_policy_entries_policy_rule: + type: list + description: Contrail network rule + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule + org.openecomp.datatypes.heat.network.contrail.port.StaticRoute: + derived_from: tosca.datatypes.Root + description: static route + properties: + prefix: + type: string + description: Route prefix + required: false + status: SUPPORTED + next_hop: + type: string + description: Next hop + required: false + status: SUPPORTED + next_hop_type: + type: string + description: Next hop type + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.network.contrail.AddressPair: + derived_from: tosca.datatypes.Root + description: Address Pair + properties: + address_mode: + type: string + description: Address mode active-active or active-standy + required: false + status: SUPPORTED + constraints: + - valid_values: + - active-active + - active-standby + prefix: + type: string + description: IP address prefix + required: false + status: SUPPORTED + mac_address: + type: string + description: Mac address + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.network.contrail.InterfaceData: + derived_from: tosca.datatypes.Root + description: Interface Data + properties: + static_routes: + type: list + description: An ordered list of static routes to be added to this interface + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute + virtual_network: + type: string + description: Virtual Network for this interface + required: true + status: SUPPORTED + allowed_address_pairs: + type: list + description: List of allowed address pair for this interface + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.AddressPair + ip_address: + type: string + description: IP for this interface + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties: + derived_from: tosca.datatypes.Root + description: Virtual Machine Interface Properties. + properties: + virtual_machine_interface_properties_service_interface_type: + type: string + description: Service Interface Type. + required: false + status: SUPPORTED + org.openecomp.datatypes.Root: + derived_from: tosca.datatypes.Root + description: | + The ECOMP root Data Type all other Data Types derive from + properties: + supplemental_data: + type: map + entry_schema: + description: | + A placeholder for missing properties that would be included in future ecomp model versions. fromat <key>:<value> + type: string + org.openecomp.datatypes.AssignmentRequirements: + derived_from: org.openecomp.datatypes.Root + properties: + is_required: + description: | + "true" indicates that assignment is required + type: boolean + default: false + required: true + count: + description: number of assignments required + type: integer + required: false + org.openecomp.datatypes.network.SubnetAssignments: + derived_from: org.openecomp.datatypes.Root + properties: + ip_network_address_plan: + type: string + required: false + description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network + dhcp_enabled: + type: boolean + required: false + description: \"true\" indicates the network has 1 or more policies + ip_version: + type: integer + constraints: + - valid_values: + - 4 + - 6 + required: true + description: The IP version of the subnet + cidr_mask: + type: integer + required: true + description: The default subnet CIDR mask + min_subnets_count: + type: integer + default: 1 + required: true + description: Quantity of subnets that must be initially assigned + org.openecomp.datatypes.network.IPv4SubnetAssignments: + derived_from: org.openecomp.datatypes.network.SubnetAssignments + properties: + use_ipv4: + type: boolean + required: true + description: Indicates IPv4 subnet assignments + org.openecomp.datatypes.network.IPv6SubnetAssignments: + derived_from: org.openecomp.datatypes.network.SubnetAssignments + properties: + use_ipv6: + type: boolean + required: true + description: Indicates IPv6 subnet assignments + org.openecomp.datatypes.network.NetworkAssignments: + derived_from: org.openecomp.datatypes.Root + properties: + ecomp_generated_network_assignment: + type: boolean + required: true + default: false + description: | + \"true\" indicates that the network assignments will be auto-generated by ECOMP \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file). + is_shared_network: + type: boolean + required: true + description: \"true\" means this network is shared by multiple Openstack tenants + is_external_network: + type: boolean + required: true + default: false + description: | + \"true\" means this Contrail external network + ipv4_subnet_default_assignment: + type: org.openecomp.datatypes.network.IPv4SubnetAssignments + required: true + description: IPv4 defualt subnet assignments + ipv6_subnet_default_assignment: + type: org.openecomp.datatypes.network.IPv6SubnetAssignments + required: true + description: IPv6 defualt subnet assignments + related_networks: + type: list + required: false + description: Related Networks List. + entry_schema: + type: org.openecomp.datatypes.network.RelatedNetworksAssignments + is_trunked: + type: boolean + required: true + description: \"true\" indicates that network is trunked + default: false + org.openecomp.datatypes.network.ProviderNetwork: + derived_from: org.openecomp.datatypes.Root + properties: + is_provider_network: + type: boolean + required: true + description: \"true\" indicates that this a Neutron provider type of network + physical_network_name: + type: string + required: false + constraints: + - valid_values: + - Physnet41 + - Physnet42 + - Physnet43 + - Physnet44 + - Physnet21 + - Physnet22 + - sriovnet1 + - sriovnet2 + - oam + description: | + Identifies the NUMA processor cluster to which this physical network interface belongs. NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1) + numa: + type: string + required: false + constraints: + - valid_values: + - NUMA 0 + - NUMA 1 + description: | + PNIC instance within the NUMA processor cluster PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2) + pnic_instance: + type: integer + required: false + description: PNIC instance within the NUMA processor cluster + org.openecomp.datatypes.network.NetworkFlows: + derived_from: org.openecomp.datatypes.Root + properties: + is_network_policy: + type: boolean + required: false + default: false + description: \"true\" indicates the network has 1 or more policies + network_policy: + type: string + required: false + description: 'Identifies the specific Cloud network policy that must be applied + to this network (source: from Policy Manager).' + is_bound_to_vpn: + type: boolean + required: false + default: false + description: \"true\" indicates the network has 1 or more vpn bindings + vpn_binding: + type: string + required: false + description: 'Identifies the specific VPN Binding entry in A&AI that must + be applied when creating this network (source: A&AI)' + org.openecomp.datatypes.network.VlanRequirements: + derived_from: org.openecomp.datatypes.Root + properties: + vlan_range_plan: + type: string + required: true + description: reference to a vlan range plan + vlan_type: + type: string + required: true + constraints: + - valid_values: + - c-tag + - s-tag + description: identifies the vlan type (e.g., c-tag) + vlan_count: + type: integer + required: true + description: identifies the number of vlan tags to assign to the CP from the plan + org.openecomp.datatypes.network.IpRequirements: + derived_from: org.openecomp.datatypes.Root + properties: + ip_version: + type: integer + required: true + constraints: + - valid_values: + - 4 + - 6 + ip_count: + description: identifies the number of ip address to assign to the CP from the plan + type: integer + required: false + floating_ip_count: + type: integer + required: false + subnet_role: + type: string + required: false + assingment_method: + type: string + required: true + constraints: + - valid_values: + - fixed + - dhcp + dhcp_enabled: + type: boolean + required: false + ip_count_required: + description: identifies the number of ip address to assign to the CP from the plan + type: org.openecomp.datatypes.AssignmentRequirements + required: false + floating_ip_count_required: + type: org.openecomp.datatypes.AssignmentRequirements + required: false + ip_address_plan_name: + type: string + required: false + vrf_name: + type: string + required: false + org.openecomp.datatypes.network.MacAssignments: + derived_from: org.openecomp.datatypes.Root + properties: + mac_range_plan: + type: string + required: true + description: reference to a MAC address range plan + mac_count: + type: integer + required: true + description: identifies the number of MAC addresses to assign to the CP from the plan + org.openecomp.datatypes.EcompHoming: + derived_from: org.openecomp.datatypes.Root + properties: + ecomp_selected_instance_node_target: + type: boolean + required: true + default: false + description: | + \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the operator-selected target node for the deployment of this Network instance). + homing_policy: + type: string + required: false + description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node + instance_node_target: + type: string + required: false + description: Instance target deployment node + org.openecomp.datatypes.EcompNaming: + derived_from: org.openecomp.datatypes.Root + properties: + ecomp_generated_naming: + type: boolean + required: true + default: true + description: | + \"true\" indicates that the name for the instance will be auto-generated by ECOMP. \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name). + naming_policy: + type: string + required: false + description: Referenc to naming policy that ECOMP will use when the name is auto-generated + org.openecomp.datatypes.network.MacRequirements: + derived_from: org.openecomp.datatypes.Root + properties: + mac_range_plan: + description: reference to a MAC address range plan + type: string + required: false + mac_count: + description: identifies the number of MAC addresses to assign to the CP from the plan + type: integer + required: false + mac_count_required: + description: identifies the number of MAC addresses to assign to the CP from the plan + type: org.openecomp.datatypes.AssignmentRequirements + org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp: + derived_from: tosca.datatypes.Root + description: Virtual Machine Sub Interface Address Pair IP. + properties: + ip_prefix: + type: string + description: IP Prefix. + required: false + status: SUPPORTED + ip_prefix_len: + type: integer + description: IP Prefix Len. + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress: + derived_from: tosca.datatypes.Root + description: Virtual Machine Sub Interface Mac Address. + properties: + mac_address: + type: list + description: Mac Addresses List. + required: false + status: SUPPORTED + entry_schema: + type: string + org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties: + derived_from: tosca.datatypes.Root + description: Virtual Machine Sub Interface VLAN Properties. + properties: + sub_interface_vlan_tag: + type: string + description: Sub Interface VLAN Tag. + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair: + derived_from: tosca.datatypes.Root + description: Virtual Machine Sub Interface Address Pair. + properties: + address_mode: + type: string + description: Address Mode. + required: false + status: SUPPORTED + ip: + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp + description: IP. + required: false + status: SUPPORTED + mac: + type: string + description: Mac. + required: false + status: SUPPORTED + org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs: + derived_from: tosca.datatypes.Root + description: Virtual Machine Sub Interface Address Pairs. + properties: + allowed_address_pair: + type: list + description: Addresses pair List. + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair + org.openecomp.datatypes.Naming: + derived_from: org.openecomp.datatypes.Root + properties: + ecomp_generated_naming: + description: | + "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name). + type: boolean + default: true + required: true + naming_policy: + description: Reference to naming policy that ECOMP will use when the name is auto-generated + type: string + required: false + instance_name: + description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name). + type: string + required: false + org.openecomp.datatypes.flavors.ComputeFlavor: + derived_from: tosca.datatypes.Root + properties: + num_cpus: + type: integer + disk_size: + type: scalar-unit.size + mem_size: + type: scalar-unit.size + org.openecomp.datatypes.flavors.LicenseFlavor: + derived_from: tosca.datatypes.Root + properties: + feature_group_uuid: + type: string + org.openecomp.datatypes.flavors.VendorInfo: + derived_from: tosca.datatypes.Root + properties: + manufacturer_reference_number: + type: string + vendor_model: + type: string + org.openecomp.datatypes.flavors.DeploymentFlavor: + derived_from: tosca.datatypes.Root + properties: + sp_part_number: + type: string + vendor_info: + type: org.openecomp.datatypes.flavors.VendorInfo + compute_flavor: + type: org.openecomp.datatypes.flavors.ComputeFlavor + license_flavor: + type: org.openecomp.datatypes.flavors.LicenseFlavor + required: false + org.openecomp.datatypes.ImageInfo: + derived_from: tosca.datatypes.Root + properties: + software_version: + type: string + file_name: + type: string + file_hash: + type: string + description: checksum/signature + file_hash_type: + type: string + required: false + default: md5 + org.openecomp.datatypes.network.RelatedNetworksAssignments: + derived_from: org.openecomp.datatypes.Root + properties: + related_network_role: + type: string + description: The network role of the related network, sharing provider network. + required: false + tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties: + derived_from: tosca.datatypes.Root + description: VnfcAdditionalConfigurableProperties type is an empty base type for deriving data types for describing additional configurable properties for a given VNFC. + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VnfcConfigurableProperties: + derived_from: tosca.datatypes.Root + description: Defines the configurable properties of a VNFC + properties: + additional_vnfc_configurable_properties: + type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties + description: Describes additional configuration for VNFC that can be modified using the ModifyVnfInfo operation + required: false + tosca.datatypes.nfv.RequestedAdditionalCapability: + derived_from: tosca.datatypes.Root + description: describes requested additional capability for a particular VDU + properties: + requested_additional_capability_name: + type: string + description: Identifies a requested additional capability for the VDU. + required: true + support_mandatory: + type: boolean + description: Indicates whether the requested additional capability is mandatory for successful operation. + required: true + min_requested_additional_capability_version: + type: string + description: Identifies the minimum version of the requested additional capability. + required: false + preferred_requested_additional_capability_version: + type: string + description: Identifies the preferred version of the requested additional capability. + required: false + target_performance_parameters: + type: map + description: Identifies specific attributes, dependent on the requested additional capability type. + required: true + entry_schema: + type: string + tosca.datatypes.nfv.VirtualMemory: + derived_from: tosca.datatypes.Root + description: supports the specification of requirements related to virtual memory of a virtual compute resource + properties: + virtual_mem_size: + type: scalar-unit.size + description: Amount of virtual memory. + required: true + virtual_mem_oversubscription_policy: + type: string + description: The memory core oversubscription policy in terms of virtual memory to physical memory on the platform. + required: false + vdu_mem_requirements: + type: map + description: The hardware platform specific VDU memory requirements. A map of strings that contains a set of key-value pairs that describes hardware platform specific VDU memory requirements. + required: false + entry_schema: + type: string + numa_enabled: + type: boolean + description: It specifies the memory allocation to be cognisant of the relevant process/core allocation. + required: false + default: false + tosca.datatypes.nfv.VirtualCpuPinning: + derived_from: tosca.datatypes.Root + description: Supports the specification of requirements related to the virtual CPU pinning configuration of a virtual compute resource + properties: + virtual_cpu_pinning_policy: + type: string + description: 'Indicates the policy for CPU pinning. The policy can take values + of "static" or "dynamic". In case of "dynamic" the allocation of virtual + CPU cores to logical CPU cores is decided by the VIM. (e.g.: SMT (Simultaneous + Multi-Threading) requirements). In case of "static" the allocation is requested + to be according to the virtual_cpu_pinning_rule.' + required: false + constraints: + - valid_values: + - static + - dynamic + virtual_cpu_pinning_rule: + type: list + description: Provides the list of rules for allocating virtual CPU cores to logical CPU cores/threads + required: false + entry_schema: + type: string + tosca.datatypes.nfv.VirtualCpu: + derived_from: tosca.datatypes.Root + description: Supports the specification of requirements related to virtual CPU(s) of a virtual compute resource + properties: + cpu_architecture: + type: string + description: CPU architecture type. Examples are x86, ARM + required: false + num_virtual_cpu: + type: integer + description: Number of virtual CPUs + required: true + constraints: + - greater_than: 0 + virtual_cpu_clock: + type: scalar-unit.frequency + description: Minimum virtual CPU clock rate + required: false + virtual_cpu_oversubscription_policy: + type: string + description: CPU core oversubscription policy e.g. the relation of virtual CPU cores to physical CPU cores/threads. + required: false + vdu_cpu_requirements: + type: map + description: The hardware platform specific VDU CPU requirements. A map of strings that contains a set of key-value pairs describing VDU CPU specific hardware platform requirements. + required: false + entry_schema: + type: string + virtual_cpu_pinning: + type: tosca.datatypes.nfv.VirtualCpuPinning + description: The virtual CPU pinning configuration for the virtualised compute resource. + required: false + tosca.datatypes.nfv.LogicalNodeData: + derived_from: tosca.datatypes.Root + description: Describes compute, memory and I/O requirements associated with a particular VDU. + properties: + logical_node_requirements: + type: map + description: The logical node-level compute, memory and I/O requirements. A map of strings that contains a set of key-value pairs that describes hardware platform specific deployment requirements, including the number of CPU cores on this logical node, a memory configuration specific to a logical node or a requirement related to the association of an I/O device with the logical node. + required: false + entry_schema: + type: string + tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements: + derived_from: tosca.datatypes.Root + description: Describes requirements on a virtual network interface + properties: + name: + type: string + description: Provides a human readable name for the requirement. + required: false + description: + type: string + description: Provides a human readable description of the requirement. + required: false + support_mandatory: + type: boolean + description: Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE). + required: true + network_interface_requirements: + type: map + description: The network interface requirements. A map of strings that contain a set of key-value pairs that describes the hardware platform specific network interface deployment requirements. + required: true + entry_schema: + type: string + nic_io_requirements: + type: tosca.datatypes.nfv.LogicalNodeData + description: references (couples) the CP with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CP. + required: false + tosca.datatypes.nfv.injectFile: + derived_from: tosca.datatypes.Root + properties: + source_path: + type: string + required: true + dest_path: + type: string + required: true + tosca.datatypes.nfv.L2AddressData: + derived_from: tosca.datatypes.Root + description: Describes the information on the MAC addresses to be assigned to a connection point. + properties: + mac_address_assignment: + type: boolean + description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility + required: true + tosca.datatypes.nfv.L3AddressData: + derived_from: tosca.datatypes.Root + description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP + properties: + ip_address_assignment: + type: boolean + description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility + required: true + floating_ip_activated: + type: boolean + description: Specifies if the floating IP scheme is activated on the Connection Point or not + required: true + ip_address_type: + type: string + description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp + required: false + constraints: + - valid_values: + - ipv4 + - ipv6 + number_of_ip_address: + type: integer + description: Minimum number of IP addresses to be assigned + required: false + constraints: + - greater_than: 0 + fixed_ip_address: + type: list + entry_schema: + type: string + required: false + tosca.datatypes.nfv.AddressData: + derived_from: tosca.datatypes.Root + description: Describes information about the addressing scheme and parameters applicable to a CP + properties: + address_type: + type: string + description: Describes the type of the address to be assigned to a connection point. The content type shall be aligned with the address type supported by the layerProtocol property of the connection point + required: true + constraints: + - valid_values: + - mac_address + - ip_address + l2_address_data: + type: tosca.datatypes.nfv.L2AddressData + description: Provides the information on the MAC addresses to be assigned to a connection point. + required: false + l3_address_data: + type: tosca.datatypes.nfv.L3AddressData + description: Provides the information on the IP addresses to be assigned to a connection point + required: false + tosca.datatypes.nfv.ConnectivityType: + derived_from: tosca.datatypes.Root + description: describes additional connectivity information of a virtualLink + properties: + layer_protocols: + type: list + description: Identifies the protocol a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire).The top layer protocol of the virtualLink protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers. + required: true + entry_schema: + type: string + constraints: + - valid_values: + - ethernet + - mpls + - odu2 + - ipv4 + - ipv6 + - pseudo-wire + flow_pattern: + type: string + description: Identifies the flow pattern of the connectivity + required: false + constraints: + - valid_values: + - line + - tree + - mesh + tosca.datatypes.nfv.VlFlavour: + derived_from: tosca.datatypes.Root + properties: + flavourId: + type: string + tosca.datatypes.nfv.ext.AddressPairs: + properties: + ip: + type: string + required: false + mac: + type: string + required: false + tosca.datatypes.nfv.ext.FloatingIP: + properties: + external_network: + type: string + required: false + ip_address: + type: string + required: false + tosca.datatypes.nfv.ext.LocationInfo: + properties: + availability_zone: + type: string + required: false + vimid: + type: integer + required: false + tenant: + type: string + required: false + tosca.datatypes.nfv.ext.HostRouteInfo: + properties: + destination: + type: string + required: false + nexthop: + type: string + required: false + tosca.datatypes.nfv.ext.InjectData: + properties: + file_name: + type: string + required: false + file_data: + type: string + required: false + tosca.datatypes.nfv.ext.zte.WatchDog: + properties: + enable_delay: + type: integer + required: false + action: + type: string + required: false + tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule: + properties: + scope: + type: string + required: false + affinity_antiaffinity: + type: string + required: false + tosca.datatypes.nfv.VduProfile: + derived_from: tosca.datatypes.Root + description: describes additional instantiation data for a given Vdu.Compute used in a specific deployment flavour. + properties: + min_number_of_instances: + type: integer + description: Minimum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour. + required: true + constraints: + - greater_or_equal: 0 + max_number_of_instances: + type: integer + description: Maximum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour. + required: true + constraints: + - greater_or_equal: 0 + watchdog: + type: string + required: true + vmBootUpTimeOut: + type: integer + required: false + tosca.datatypes.nfv.LinkBitrateRequirements: + derived_from: tosca.datatypes.Root + description: describes the requirements in terms of bitrate for a virtual link + properties: + root: + type: integer + description: Specifies the throughput requirement in bits per second of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN). + required: true + constraints: + - greater_or_equal: 0 + leaf: + type: integer + description: Specifies the throughput requirement in bits per second of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E LAN branches). + required: false + constraints: + - greater_or_equal: 0 + tosca.datatypes.nfv.Qos: + derived_from: tosca.datatypes.Root + description: describes QoS data for a given VL used in a VNF deployment flavour + properties: + latency: + type: scalar-unit.time + description: Specifies the maximum latency + required: true + constraints: + - greater_than: 0 s + packet_delay_variation: + type: scalar-unit.time + description: Specifies the maximum jitter + required: true + constraints: + - greater_or_equal: 0 s + packet_loss_ratio: + type: float + description: Specifies the maximum packet loss ratio + required: false + constraints: + - in_range: + - 0.0 + - 1.0 + tosca.datatypes.nfv.IpAllocationPool: + derived_from: tosca.datatypes.Root + description: Specifies a range of IP addresses + properties: + start_ip_address: + type: string + description: The IP address to be used as the first one in a pool of addresses derived from the cidr block full IP range + required: true + end_ip_address: + type: string + description: The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range + required: true + tosca.datatypes.nfv.L2ProtocolData: + derived_from: tosca.datatypes.Root + description: describes L2 protocol data for a given virtual link used in a specific VNF deployment flavour. + properties: + name: + type: string + description: Identifies the network name associated with this L2 protocol. + required: false + network_type: + type: string + description: Specifies the network type for this L2 protocol.The value may be overridden at run-time. + required: false + constraints: + - valid_values: + - flat + - vlan + - vxlan + - gre + vlan_transparent: + type: boolean + description: Specifies whether to support VLAN transparency for this L2 protocol or not. + required: false + default: false + mtu: + type: integer + description: Specifies the maximum transmission unit (MTU) value for this L2 protocol. + required: false + constraints: + - greater_than: 0 + segmentation_id: + type: integer + required: false + physical_network: + type: string + required: false + tosca.datatypes.nfv.L3ProtocolData: + derived_from: tosca.datatypes.Root + description: describes L3 protocol data for a given virtual link used in a specific VNF deployment flavour. + properties: + name: + type: string + description: Identifies the network name associated with this L3 protocol. + required: false + ip_version: + type: string + description: Specifies IP version of this L3 protocol.The value of the ip_version property shall be consistent with the value of the layer_protocol in the connectivity_type property of the virtual link node. + required: true + constraints: + - valid_values: + - ipv4 + - ipv6 + cidr: + type: string + description: Specifies the CIDR (Classless Inter-Domain Routing) of this L3 protocol. The value may be overridden at run-time. + required: true + ip_allocation_pools: + type: list + description: Specifies the allocation pools with start and end IP addresses for this L3 protocol. The value may be overridden at run-time. + required: false + entry_schema: + type: tosca.datatypes.nfv.IpAllocationPool + gateway_ip: + type: string + description: Specifies the gateway IP address for this L3 protocol. The value may be overridden at run-time. + required: false + dhcp_enabled: + type: boolean + description: Indicates whether DHCP (Dynamic Host Configuration Protocol) is enabled or disabled for this L3 protocol. The value may be overridden at run-time. + required: false + ipv6_address_mode: + type: string + description: Specifies IPv6 address mode. May be present when the value of the ipVersion attribute is "ipv6" and shall be absent otherwise. The value may be overridden at run-time. + required: false + constraints: + - valid_values: + - slaac + - dhcpv6-stateful + - dhcpv6-stateless + tosca.datatypes.nfv.VirtualLinkProtocolData: + derived_from: tosca.datatypes.Root + description: describes one protocol layer and associated protocol data for a given virtual link used in a specific VNF deployment flavour + properties: + associated_layer_protocol: + type: string + description: Identifies one of the protocols a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire) as specified by the connectivity_type property. + required: true + constraints: + - valid_values: + - ethernet + - mpls + - odu2 + - ipv4 + - ipv6 + - pseudo-wire + l2_protocol_data: + type: tosca.datatypes.nfv.L2ProtocolData + description: Specifies the L2 protocol data for a virtual link. Shall be present when the associatedLayerProtocol attribute indicates a L2 protocol and shall be absent otherwise. + required: false + l3_protocol_data: + type: tosca.datatypes.nfv.L3ProtocolData + description: Specifies the L3 protocol data for this virtual link. Shall be present when the associatedLayerProtocol attribute indicates a L3 protocol and shall be absent otherwise. + required: false + tosca.datatypes.nfv.VlProfile: + derived_from: tosca.datatypes.Root + description: Describes additional instantiation data for a given VL used in a specific VNF deployment flavour. + properties: + max_bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile. + required: true + min_bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile. + required: true + qos: + type: tosca.datatypes.nfv.Qos + description: Specifies the QoS requirements of a VL instantiated according to this profile. + required: false + virtual_link_protocol_data: + type: list + description: Specifies the protocol data for a virtual link. + required: false + entry_schema: + type: tosca.datatypes.nfv.VirtualLinkProtocolData + tosca.datatypes.nfv.VduLevel: + derived_from: tosca.datatypes.Root + description: Indicates for a given Vdu.Compute in a given level the number of instances to deploy + properties: + number_of_instances: + type: integer + description: Number of instances of VNFC based on this VDU to deploy for this level. + required: true + constraints: + - greater_or_equal: 0 + tosca.datatypes.nfv.ScaleInfo: + derived_from: tosca.datatypes.Root + description: Indicates for a given scaleAspect the corresponding scaleLevel + properties: + scale_level: + type: integer + description: The scale level for a particular aspect + required: true + constraints: + - greater_or_equal: 0 + tosca.datatypes.nfv.ScalingAspect: + derived_from: tosca.datatypes.Root + properties: + name: + type: string + required: true + description: + type: string + required: true + max_scale_level: + type: integer + required: true + constraints: + - greater_or_equal: 0 + step_deltas: + type: list + required: false + entry_schema: + type: string + tosca.datatypes.nfv.InstantiationLevel: + derived_from: tosca.datatypes.Root + description: Describes the scale level for each aspect that corresponds to a given level of resources to be instantiated within a deployment flavour in term of the number VNFC instances + properties: + description: + type: string + description: Human readable description of the level + required: true + scale_info: + type: map + description: Represents for each aspect the scale level that corresponds to this instantiation level. scale_info shall be present if the VNF supports scaling. + required: false + entry_schema: + type: tosca.datatypes.nfv.ScaleInfo + tosca.datatypes.nfv.VnfInstantiateOperationConfiguration: + derived_from: tosca.datatypes.Root + description: represents information that affect the invocation of the InstantiateVnf operation. + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VnfScaleOperationConfiguration: + derived_from: tosca.datatypes.Root + description: Represents information that affect the invocation of the ScaleVnf operation + properties: + scaling_by_more_than_one_step_supported: + type: boolean + description: Signals whether passing a value larger than one in the numScalingSteps parameter of the ScaleVnf operation is supported by this VNF. + required: false + default: false + tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration: + derived_from: tosca.datatypes.Root + description: represents information that affect the invocation of the ScaleVnfToLevel operation + properties: + arbitrary_target_levels_supported: + type: boolean + description: Signals whether scaling according to the parameter "scaleInfo" is supported by this VNF + required: true + tosca.datatypes.nfv.VnfHealOperationConfiguration: + derived_from: tosca.datatypes.Root + description: represents information that affect the invocation of the HealVnf operation + properties: + causes: + type: list + description: Supported "cause" parameter values + required: false + entry_schema: + type: string + tosca.datatypes.nfv.VnfTerminateOperationConfiguration: + derived_from: tosca.datatypes.Root + description: represents information that affect the invocation of the TerminateVnf + properties: + min_graceful_termination_timeout: + type: scalar-unit.time + description: Minimum timeout value for graceful termination of a VNF instance + required: true + max_recommended_graceful_termination_timeout: + type: scalar-unit.time + description: Maximum recommended timeout value that can be needed to gracefully terminate a VNF instance of a particular type under certain conditions, such as maximum load condition. This is provided by VNF provider as information for the operator facilitating the selection of optimal timeout value. This value is not used as constraint + required: false + tosca.datatypes.nfv.VnfOperateOperationConfiguration: + derived_from: tosca.datatypes.Root + description: represents information that affect the invocation of the OperateVnf operation + properties: + min_graceful_stop_timeout: + type: scalar-unit.time + description: Minimum timeout value for graceful stop of a VNF instance + required: true + max_recommended_graceful_stop_timeout: + type: scalar-unit.time + description: Maximum recommended timeout value that can be needed to gracefully stop a VNF instance of a particular type under certain conditions, such as maximum load condition. This is provided by VNF provider as information for the operator facilitating the selection of optimal timeout value. This value is not used as constraint + required: false + tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration: + derived_from: tosca.datatypes.Root + description: represents information that affect the invocation of the ChangeVnfFlavour operation + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VnfProfile: + derived_from: tosca.datatypes.Root + description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF. + properties: + instantiation_level: + type: string + description: Identifier of the instantiation level of the VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used. + required: false + min_number_of_instances: + type: integer + description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. + required: true + constraints: + - greater_or_equal: 0 + max_number_of_instances: + type: integer + description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. + required: true + constraints: + - greater_or_equal: 0 + tosca.datatypes.nfv.UriAuthority: + derived_from: tosca.datatypes.Root + description: information that corresponds to the authority component of a URI as specified in IETF RFC 3986 [8] + properties: + user_info: + type: string + description: user_info field of the authority component of a URI + required: false + host: + type: string + description: host field of the authority component of a URI + required: false + port: + type: string + description: port field of the authority component of a URI + required: false + tosca.datatypes.nfv.UriComponents: + derived_from: tosca.datatypes.Root + description: information used to build a URI that complies with IETF RFC 3986 [8]. + properties: + scheme: + type: string + description: scheme component of a URI. + required: true + authority: + type: tosca.datatypes.nfv.UriAuthority + description: Authority component of a URI + required: false + path: + type: string + description: path component of a URI. + required: false + query: + type: string + description: query component of a URI. + required: false + fragment: + type: string + description: fragment component of a URI. + required: false + tosca.datatypes.nfv.InterfaceDetails: + derived_from: tosca.datatypes.Root + description: information used to access an interface exposed by a VNF + properties: + uri_components: + type: tosca.datatypes.nfv.UriComponents + description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point. + required: false + interface_specific_data: + type: map + description: Provides additional details that are specific to the type of interface considered. + required: false + entry_schema: + type: string + tosca.datatypes.nfv.VirtualLinkMonitoringParameter: + derived_from: tosca.datatypes.Root + description: Represents information on virtualised resource related performance metrics applicable to the VNF. + properties: + name: + type: string + description: Human readable name of the monitoring parameter + required: true + performance_metric: + type: string + description: Identifies a performance metric derived from those defined in ETSI GS NFV-IFA 027.The packetOutgoingVirtualLink and packetIncomingVirtualLink metrics shall be obtained by aggregation the PacketOutgoing and PacketIncoming measurements defined in clause 7.1 of GS NFV-IFA 027 of all virtual link ports attached to the virtual link to which the metrics apply. + required: true + constraints: + - valid_values: + - packet_outgoing_virtual_link + - packet_incoming_virtual_link + collection_period: + type: scalar-unit.time + description: Describes the recommended periodicity at which to collect the performance information. + required: false + constraints: + - greater_than: 0 s + tosca.datatypes.nfv.VnfcMonitoringParameter: + derived_from: tosca.datatypes.Root + description: Represents information on virtualised resource related performance metrics applicable to the VNF. + properties: + name: + type: string + description: Human readable name of the monitoring parameter + required: true + performance_metric: + type: string + description: Identifies the performance metric, according to ETSI GS NFV-IFA 027. + required: true + constraints: + - valid_values: + - v_cpu_usage_mean_vnf + - v_cpu_usage_peak_vnf + - v_memory_usage_mean_vnf + - v_memory_usage_peak_vnf + - v_disk_usage_mean_vnf + - v_disk_usage_peak_vnf + - byte_incoming_vnf_int_cp + - byte_outgoing_vnf_int_cp + - packet_incoming_vnf_int_cp + - packet_outgoing_vnf_int_cp + collection_period: + type: scalar-unit.time + description: Describes the recommended periodicity at which to collect the performance information. + required: false + constraints: + - greater_than: 0 s + tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration: + derived_from: tosca.datatypes.Root + description: represents information that affect the invocation of the ChangeExtVnfConnectivity operation + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VnfMonitoringParameter: + derived_from: tosca.datatypes.Root + description: Represents information on virtualised resource related performance metrics applicable to the VNF. + properties: + name: + type: string + description: Human readable name of the monitoring parameter + required: true + performance_metric: + type: string + description: Identifies the performance metric, according to ETSI GS NFV-IFA 027. + required: true + constraints: + - valid_values: + - v_cpu_usage_mean_vnf + - v_cpu_usage_peak_vnf + - v_memory_usage_mean_vnf + - v_memory_usage_peak_vnf + - v_disk_usage_mean_vnf + - v_disk_usage_peak_vnf + - byte_incoming_vnf_ext_cp + - byte_outgoing_vnf_ext_cp + - packet_incoming_vnf_ext_cp + - packet_outgoing_vnf_ext_cp + collection_period: + type: scalar-unit.time + description: Describes the recommended periodicity at which to collect the performance information. + required: false + constraints: + - greater_than: 0 s + tosca.datatypes.nfv.VnfLcmOperationsConfiguration: + derived_from: tosca.datatypes.Root + description: Represents information to configure lifecycle management operations + properties: + instantiate: + type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration + description: Configuration parameters for the InstantiateVnf operation + required: false + scale: + type: tosca.datatypes.nfv.VnfScaleOperationConfiguration + description: Configuration parameters for the ScaleVnf operation + required: false + scale_to_level: + type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration + description: Configuration parameters for the ScaleVnfToLevel operation + required: false + change_flavour: + type: tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration + description: Configuration parameters for the changeVnfFlavourOpConfig operation + required: false + heal: + type: tosca.datatypes.nfv.VnfHealOperationConfiguration + description: Configuration parameters for the HealVnf operation + required: false + terminate: + type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration + description: Configuration parameters for the TerminateVnf operation + required: false + operate: + type: tosca.datatypes.nfv.VnfOperateOperationConfiguration + description: Configuration parameters for the OperateVnf operation + required: false + change_ext_connectivity: + type: tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration + description: Configuration parameters for the changeExtVnfConnectivityOpConfig operation + required: false + tosca.datatypes.nfv.CpProtocolData: + derived_from: tosca.datatypes.Root + description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information + properties: + associated_layer_protocol: + type: string + required: true + description: One of the values of the property layer_protocols of the CP + constraints: + - valid_values: + - ethernet + - mpls + - odu2 + - ipv4 + - ipv6 + - pseudo-wire + address_data: + type: list + description: Provides information on the addresses to be assigned to the CP + entry_schema: + type: tosca.datatypes.nfv.AddressData + required: false + tosca.datatypes.nfv.VnfAdditionalConfigurableProperties: + derived_from: tosca.datatypes.Root + description: is an empty base type for deriving data types for describing additional configurable properties for a given VNF + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VnfConfigurableProperties: + derived_from: tosca.datatypes.Root + description: indicates configuration properties for a given VNF (e.g. related to auto scaling and auto healing). + properties: + is_autoscale_enabled: + type: boolean + description: It permits to enable (TRUE)/disable (FALSE) the auto-scaling functionality. If the properties is not present for configuring, then VNF property is not supported + required: false + is_autoheal_enabled: + type: boolean + description: It permits to enable (TRUE)/disable (FALSE) the auto-healing functionality. If the properties is not present for configuring, then VNF property is not supported + required: false + additional_configurable_properties: + description: It provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation + required: false + type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties + tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions: + derived_from: tosca.datatypes.Root + description: is an empty base type for deriving data types for describing VNF-specific extension + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata: + derived_from: tosca.datatypes.Root + description: is an empty base type for deriving data types for describing VNF-specific metadata + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VnfInfoModifiableAttributes: + derived_from: tosca.datatypes.Root + description: Describes VNF-specific extension and metadata for a given VNF + properties: + extensions: + type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions + description: \"Extension\" properties of VnfInfo that are writeable + required: false + metadata: + type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata + description: \"Metadata\" properties of VnfInfo that are writeable + required: false + tosca.datatypes.nfv.VirtualLinkBitrateLevel: + derived_from: tosca.datatypes.Root + description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink + properties: + description: + type: string + required: false + bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Virtual link bitrate requirements for an instantiation level or bitrate delta for a scaling step + required: true + tosca.datatypes.nfv.VnfOperationAdditionalParameters: + derived_from: tosca.datatypes.Root + description: Is an empty base type for deriving data type for describing VNF-specific parameters to be passed when invoking lifecycle management operations + properties: + description: + type: string + required: false + tosca.datatypes.nfv.VirtualFileStorageData: + derived_from: tosca.datatypes.Root + description: VirtualFileStorageData describes file storage requirements associated with compute resources in a particular VDU + properties: + size_of_storage: + type: scalar-unit.size + description: Size of virtualized storage resource + required: true + file_system_protocol: + type: string + description: The shared file system protocol (e.g. NFS, CIFS) + required: true + tosca.datatypes.nfv.VirtualObjectStorageData: + derived_from: tosca.datatypes.Root + description: VirtualObjectStorageData describes object storage requirements associated with compute resources in a particular VDU + properties: + max_size_of_storage: + type: scalar-unit.size + description: Maximum size of virtualized storage resource + required: false + tosca.datatypes.nfv.VirtualBlockStorageData: + derived_from: tosca.datatypes.Root + description: VirtualBlockStorageData describes block storage requirements associated with compute resources in a particular VDU, either as a local disk or as virtual attached storage + properties: + size_of_storage: + type: scalar-unit.size + description: Size of virtualised storage resource + required: true + vdu_storage_requirements: + type: map + description: The hardware platform specific storage requirements. A map of strings that contains a set of key-value pairs that represents the hardware platform specific storage deployment requirements. + required: false + entry_schema: + type: string + rdma_enabled: + type: boolean + description: Indicates if the storage support RDMA + required: false + default: false + tosca.datatypes.nfv.SwImageData: + derived_from: tosca.datatypes.Root + description: describes information related to a software image artifact + properties: + name: + type: string + description: Name of this software image + required: true + version: + type: string + description: Version of this software image + required: true + checksum: + type: string + description: Checksum of the software image file + required: true + container_format: + type: string + description: The container format describes the container file format in which software image is provided + required: true + constraints: + - valid_values: + - aki + - ami + - ari + - bare + - docker + - ova + - ovf + disk_format: + type: string + description: The disk format of a software image is the format of the underlying disk image + required: true + constraints: + - valid_values: + - aki + - ami + - ari + - iso + - qcow2 + - raw + - vdi + - vhd + - vhdx + - vmdk + min_disk: + type: scalar-unit.size + description: The minimal disk size requirement for this software image + required: true + min_ram: + type: scalar-unit.size + description: The minimal RAM requirement for this software image + required: false + size: + type: scalar-unit.size + description: The size of this software image + required: true + operating_system: + type: string + description: Identifies the operating system used in the software image + required: false + supported_virtualisation_environments: + type: list + description: Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image + required: false + entry_schema: + type: string + onap.datatypes.monitoring.metricsPerEventName: + derived_from: tosca.datatypes.Root + properties: + controlLoopSchemaType: + constraints: + - valid_values: + - VM + - VNF + description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM + required: true + type: string + eventName: + description: Event name to which thresholds need to be applied + required: true + type: string + policyName: + description: TCA Policy Scope Name + required: true + type: string + policyScope: + description: TCA Policy Scope + required: true + type: string + policyVersion: + description: TCA Policy Scope Version + required: true + type: string + thresholds: + description: Thresholds associated with eventName + entry_schema: + type: onap.datatypes.monitoring.thresholds + required: true + type: list + onap.datatypes.monitoring.tca_policy: + derived_from: tosca.datatypes.Root + properties: + domain: + constraints: + - equal: measurementsForVfScaling + default: measurementsForVfScaling + description: Domain name to which TCA needs to be applied + required: true + type: string + metricsPerEventName: + description: Contains eventName and threshold details that need to be applied to given eventName + entry_schema: + type: onap.datatypes.monitoring.metricsPerEventName + required: true + type: list + onap.datatypes.monitoring.thresholds: + derived_from: tosca.datatypes.Root + properties: + closedLoopControlName: + description: Closed Loop Control Name associated with the threshold + required: true + type: string + closedLoopEventStatus: + constraints: + - valid_values: + - ONSET + - ABATED + description: Closed Loop Event Status of the threshold + required: true + type: string + direction: + constraints: + - valid_values: + - LESS + - LESS_OR_EQUAL + - GREATER + - GREATER_OR_EQUAL + - EQUAL + description: Direction of the threshold + required: true + type: string + fieldPath: + constraints: + - valid_values: + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated + - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait + - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage + - $.event.measurementsForVfScalingFields.meanRequestLatency + - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered + - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached + - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured + - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree + - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed + - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value + description: Json field Path as per CEF message which needs to be analyzed for TCA + required: true + type: string + severity: + constraints: + - valid_values: + - CRITICAL + - MAJOR + - MINOR + - WARNING + - NORMAL + description: Threshold Event Severity + required: true + type: string + thresholdValue: + description: Threshold value for the field Path inside CEF message + required: true + type: integer + version: + description: Version number associated with the threshold + required: true + type: string diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/descriptor.yaml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/descriptor.yaml new file mode 100644 index 00000000..7192b690 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/descriptor.yaml @@ -0,0 +1,66 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 + +description: VNF Descriptor for dummy VNFD + +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +# + +imports: + - etsi_nfv_sol001_vnfd_0_10_0_type.yaml + +data_types: + node_types: + Vendor.vnf.name: + derived_from: tosca.nodes.nfv.VNF + properties: + # TODO: descriptor_id should be a UUID + descriptor_id: + type: string + constraints: [ valid_values: [ sgsn-mme_12df452s04131 ] ] + default: sgsn-mme_12df452s04131 + flavour_id: + type: string + constraints: [ valid_values: [ default ] ] + default: default + flavour_description: + type: string + default: '' + interfaces: + Vnflcm: + type: tosca.interfaces.nfv.Vnflcm + instantiate: + heal: + +topology_template: + node_templates: + dummy_Vnf: + type: Vendor.vnf.name + properties: + flavour_id: default + flavour_description: > + A customized VNF Deployment Flavour + lcm_operations_configuration: + scale: + scaling_by_more_than_one_step_supported: true + interfaces: + Vnflcm: + instantiate: + terminate: + heal: + scale:
\ No newline at end of file diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/groups.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/groups.yml new file mode 100644 index 00000000..3fd26fff --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/groups.yml @@ -0,0 +1,144 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +group_types: + tosca.groups.Root: + description: The TOSCA Group Type all other TOSCA Group Types derive from + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard + org.openecomp.groups.heat.HeatStack: + derived_from: tosca.groups.Root + description: Grouped all heat resources which are in the same heat stack + properties: + heat_file: + type: string + description: Heat file which associate to this group/heat stack + required: true + status: SUPPORTED + description: + type: string + description: group description + required: true + status: SUPPORTED + org.openecomp.groups.VfModule: + derived_from: tosca.groups.Root + description: Grouped all heat resources which are in the same VF Module + properties: + isBase: + type: boolean + description: Whether this module should be deployed before other modules + required: true + default: false + status: SUPPORTED + vf_module_label: + type: string + required: true + description: | + Alternate textual key used to reference this VF-Module model. Must be unique within the VNF model + vf_module_description: + type: string + required: true + description: | + Description of the VF-modules contents and purpose (e.g. "Front-End" or "Database Cluster") + min_vf_module_instances: + type: integer + required: true + description: The minimum instances of this VF-Module + max_vf_module_instances: + type: integer + required: false + description: The maximum instances of this VF-Module + initial_count: + type: integer + required: false + description: | + The initial count of instances of the VF-Module. The value must be in the range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances. + vf_module_type: + type: string + required: true + constraint: + - valid_values: + - Base + - Expansion + volume_group: + type: boolean + required: true + default: false + description: | + "true" indicates that this VF Module model requires attachment to a Volume Group. VID operator must select the Volume Group instance to attach to a VF-Module at deployment time. + availability_zone_count: + type: integer + required: false + description: | + Quantity of Availability Zones needed for this VF-Module (source: Extracted from VF-Module HEAT template) + vfc_list: + type: map + entry_schema: + description: <vfc_id>:<count> + type: string + required: false + description: | + Identifies the set of VM types and their count included in the VF-Module + org.openecomp.groups.NetworkCollection: + derived_from: tosca.groups.Root + description: groups l3-networks in network collection + properties: + network_collection_function: + type: string + required: true + description: network collection function + network_collection_description: + type: string + required: true + description: network collection description, free format text + org.openecomp.groups.VfcInstanceGroup: + derived_from: tosca.groups.Root + description: groups VFCs with same parent port role + properties: + vfc_instance_group_function: + type: string + required: true + description: function of this VFC group + vfc_parent_port_role: + type: string + required: true + description: common role of parent ports of VFCs in this group + network_collection_function: + type: string + required: true + description: network collection function assigned to this group + subinterface_role: + type: string + required: true + description: common role of subinterfaces of VFCs in this group, criteria the group is created + capabilities: + vlan_assignment: + type: org.openecomp.capabilities.VLANAssignment + properties: + vfc_instance_group_reference: + type: string + tosca.groups.nfv.PlacementGroup: + derived_from: tosca.groups.Root + description: PlacementGroup is used for describing the affinity or anti-affinity relationship applicable between the virtualization containers to be created based on different VDUs, or between internal VLs to be created based on different VnfVirtualLinkDesc(s) + properties: + description: + type: string + description: Human readable description of the group + required: true + members: + - tosca.nodes.nfv.Vdu.Compute + - tosca.nodes.nfv.VnfVirtualLink diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/interfaces.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/interfaces.yml new file mode 100644 index 00000000..35353603 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/interfaces.yml @@ -0,0 +1,138 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +interface_types: + tosca.interfaces.nfv.vnf.lifecycle.Nfv: + instantiate: + description: Invoked upon receipt of an Instantiate VNF request + instantiate_start: + description: Invoked before instantiate + instantiate_end: + description: Invoked after instantiate + terminate: + description: Invoked upon receipt Terminate VNF request + terminate_start: + description: Invoked before terminate + terminate_end: + description: Invoked after terminate + modify_information: + description: Invoked upon receipt of a Modify VNF Information request + modify_information_start: + description: Invoked before modify_information + modify_information_end: + description: Invoked after modify_information + change_flavour: + description: Invoked upon receipt of a Change VNF Flavour request + change_flavour_start: + description: Invoked before change_flavour + change_flavour_end: + description: Invoked after change_flavour + change_external_connectivity: + description: Invoked upon receipt of a Change External VNF Connectivity request + change_external_connectivity_start: + description: Invoked before change_external_connectivity + change_external_connectivity_end: + description: Invoked after change_external_connectivity + operate: + description: Invoked upon receipt of an Operate VNF request + operate_start: + description: Invoked before operate + operate_end: + description: Invoked after operate + heal: + description: Invoked upon receipt of a Heal VNF request + heal_start: + description: Invoked before heal + heal_end: + description: Invoked after heal + scale: + description: Invoked upon receipt of a Scale VNF request + scale_start: + description: Invoked before scale + scale_end: + description: Invoked after scale + scale_to_level: + description: Invoked upon receipt of a Scale VNF to Level request + scale_to_level_start: + description: Invoked before scale_to_level + scale_to_level_end: + description: Invoked after scale_to_level + tosca.interfaces.node.lifecycle.Standard: + create: + description: Standard lifecycle create operation. + configure: + description: Standard lifecycle configure operation. + start: + description: Standard lifecycle start operation. + stop: + description: Standard lifecycle stop operation. + delete: + description: Standard lifecycle delete operation. + tosca.interfaces.nfv.Vnflcm: + instantiate: + description: Invoked upon receipt of an Instantiate VNF request + instantiate_start: + description: Invoked before instantiate + instantiate_end: + description: Invoked after instantiate + terminate: + description: Invoked upon receipt Terminate VNF request + terminate_start: + description: Invoked before terminate + terminate_end: + description: Invoked after terminate + modify_information: + description: Invoked upon receipt of a Modify VNF Information request + modify_information_start: + description: Invoked before modify_information + modify_information_end: + description: Invoked after modify_information + change_flavour: + description: Invoked upon receipt of a Change VNF Flavour request + change_flavour_start: + description: Invoked before change_flavour + change_flavour_end: + description: Invoked after change_flavour + change_external_connectivity: + description: Invoked upon receipt of a Change External VNF Connectivity request + change_external_connectivity_start: + description: Invoked before change_external_connectivity + change_external_connectivity_end: + description: Invoked after change_external_connectivity + operate: + description: Invoked upon receipt of an Operate VNF request + operate_start: + description: Invoked before operate + operate_end: + description: Invoked after operate + heal: + description: Invoked upon receipt of a Heal VNF request + heal_start: + description: Invoked before heal + heal_end: + description: Invoked after heal + scale: + description: Invoked upon receipt of a Scale VNF request + scale_start: + description: Invoked before scale + scale_end: + description: Invoked after scale + scale_to_level: + description: Invoked upon receipt of a Scale VNF to Level request + scale_to_level_start: + description: Invoked before scale_to_level + scale_to_level_end: + description: Invoked after scale_to_level diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/manualdistributiontestvnf0_modules.json b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/manualdistributiontestvnf0_modules.json new file mode 100644 index 00000000..9098234e --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/manualdistributiontestvnf0_modules.json @@ -0,0 +1,25 @@ +[ + { + "vfModuleModelName": "manualDistributionTestVNF..base_ves_med1..module-0", + "vfModuleModelInvariantUUID": "dafd0c51-d03c-4849-a777-756e608ad6a5", + "vfModuleModelVersion": "1", + "vfModuleModelUUID": "b31a30a8-a4e4-4a5e-8f2d-ce7662ea4872", + "vfModuleModelCustomizationUUID": "6c3eafaf-dd98-4b35-8414-86e2beaed279", + "isBase": true, + "artifacts": [ + "e216d9da-18c4-460f-8b2b-d7f8dd9e9295", + "6243747f-e794-4519-82b2-6399846f1951" + ], + "properties": { + "min_vf_module_instances": "1", + "vf_module_label": "base_ves_med1", + "max_vf_module_instances": "1", + "vfc_list": "", + "vf_module_description": "", + "vf_module_type": "Base", + "availability_zone_count": "", + "volume_group": "false", + "initial_count": "1" + } + } +]
\ No newline at end of file diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/nodes.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/nodes.yml new file mode 100644 index 00000000..d188dd1b --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/nodes.yml @@ -0,0 +1,4980 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +- artifacts.yml +- capabilities.yml +- interfaces.yml +- relationships.yml +node_types: + tosca.nodes.LoadBalancer: + derived_from: tosca.nodes.Root + properties: + algorithm: + type: string + required: false + status: experimental + capabilities: + client: + type: tosca.capabilities.Endpoint.Public + occurrences: + - 0 + - UNBOUNDED + description: the Floating (IP) client's on the public network can connect to + requirements: + - application: + capability: tosca.capabilities.Endpoint + relationship: tosca.relationships.RoutesTo + occurrences: + - 0 + - UNBOUNDED + tosca.nodes.Container.Application: + derived_from: tosca.nodes.Root + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.Container + relationship: tosca.relationships.HostedOn + tosca.nodes.ObjectStorage: + derived_from: tosca.nodes.Root + properties: + name: + type: string + size: + type: scalar-unit.size + constraints: + - greater_or_equal: 0 GB + maxsize: + type: scalar-unit.size + constraints: + - greater_or_equal: 0 GB + capabilities: + storage_endpoint: + type: tosca.capabilities.Endpoint + tosca.nodes.network.Network: + derived_from: tosca.nodes.Root + properties: + ip_version: + type: integer + required: false + default: 4 + constraints: + - valid_values: + - 4 + - 6 + cidr: + type: string + required: false + start_ip: + type: string + required: false + end_ip: + type: string + required: false + gateway_ip: + type: string + required: false + network_name: + type: string + required: false + network_id: + type: string + required: false + segmentation_id: + type: string + required: false + network_type: + type: string + required: false + physical_network: + type: string + required: false + dhcp_enabled: + type: boolean + required: false + default: true + capabilities: + link: + type: tosca.capabilities.network.Linkable + tosca.nodes.BlockStorage: + derived_from: tosca.nodes.Root + properties: + size: + type: scalar-unit.size + constraints: + - greater_or_equal: 1 MB + volume_id: + type: string + required: false + snapshot_id: + type: string + required: false + capabilities: + attachment: + type: tosca.capabilities.Attachment + tosca.nodes.SoftwareComponent: + derived_from: tosca.nodes.Root + properties: + component_version: + type: version + required: false + admin_credential: + type: tosca.datatypes.Credential + required: false + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.Compute + relationship: tosca.relationships.HostedOn + tosca.nodes.DBMS: + derived_from: tosca.nodes.SoftwareComponent + properties: + root_password: + type: string + required: false + description: the optional root password for the DBMS service + port: + type: integer + required: false + description: the port the DBMS service will listen to for data and requests + capabilities: + host: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.Database + tosca.nodes.network.Port: + derived_from: tosca.nodes.Root + properties: + ip_address: + type: string + required: false + order: + type: integer + required: true + default: 0 + constraints: + - greater_or_equal: 0 + is_default: + type: boolean + required: false + default: false + ip_range_start: + type: string + required: false + ip_range_end: + type: string + required: false + requirements: + - link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - binding: + capability: tosca.capabilities.network.Bindable + relationship: tosca.relationships.network.BindsTo + tosca.nodes.WebApplication: + derived_from: tosca.nodes.Root + properties: + context_root: + type: string + capabilities: + app_endpoint: + type: tosca.capabilities.Endpoint + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.WebServer + relationship: tosca.relationships.HostedOn + tosca.nodes.WebServer: + derived_from: tosca.nodes.SoftwareComponent + capabilities: + data_endpoint: tosca.capabilities.Endpoint + admin_endpoint: tosca.capabilities.Endpoint.Admin + host: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.WebApplication + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from + attributes: + tosca_id: + type: string + tosca_name: + type: string + state: + type: string + capabilities: + feature: + type: tosca.capabilities.Node + requirements: + - dependency: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard + tosca.nodes.Database: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: the logical name of the database + port: + type: integer + description: the port the underlying database service will listen to for data + user: + type: string + description: the optional user account name for DB administration + required: false + password: + type: string + description: the optional password for the DB user account + required: false + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.DBMS + relationship: tosca.relationships.HostedOn + capabilities: + database_endpoint: + type: tosca.capabilities.Endpoint.Database + tosca.nodes.Compute: + derived_from: tosca.nodes.Root + attributes: + private_address: + type: string + public_address: + type: string + networks: + type: map + entry_schema: + type: tosca.datatypes.network.NetworkInfo + ports: + type: map + entry_schema: + type: tosca.datatypes.network.PortInfo + requirements: + - local_storage: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + host: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + endpoint: + type: tosca.capabilities.Endpoint.Admin + os: + type: tosca.capabilities.OperatingSystem + scalable: + type: tosca.capabilities.Scalable + binding: + type: tosca.capabilities.network.Bindable + tosca.nodes.Container.Runtime: + derived_from: tosca.nodes.SoftwareComponent + capabilities: + host: + type: tosca.capabilities.Container + scalable: + type: tosca.capabilities.Scalable + org.openecomp.resource.vfc.nodes.heat.contrail.Compute: + derived_from: org.openecomp.resource.vfc.nodes.Compute + properties: + flavor: + type: string + description: flavor + required: false + status: SUPPORTED + image_name: + type: string + description: Image name + required: true + status: SUPPORTED + availability_zone: + type: string + description: Availability zone to create servers in + required: false + status: SUPPORTED + service_type: + type: string + description: Service type + required: true + status: SUPPORTED + constraints: + - valid_values: + - firewall + - analyzer + - source-nat + - loadbalancer + availability_zone_enable: + type: boolean + description: Indicates availability zone is enabled + required: false + default: false + status: SUPPORTED + service_template_name: + type: string + description: Service template name + required: false + status: SUPPORTED + service_instance_name: + type: string + description: Service instance name + required: true + status: SUPPORTED + service_mode: + type: string + description: Service mode + required: true + status: SUPPORTED + constraints: + - valid_values: + - transparent + - in-network + - in-network-nat + attributes: + tenant_id: + type: string + description: Tenant id of the VM + status: SUPPORTED + fq_name: + type: string + description: fq_name + status: SUPPORTED + show: + type: string + description: All attributes + status: SUPPORTED + active_vms: + type: string + description: Number of active VMs + status: SUPPORTED + virtual_machines: + type: string + description: VMs of this compute + status: SUPPORTED + status: + type: string + description: status of the compute + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.cinder.Volume: + derived_from: org.openecomp.resource.vfc.nodes.volume + properties: + availability_zone: + description: The availability zone in which the volume will be created + type: string + status: SUPPORTED + required: false + image: + description: If specified, the name or ID of the image to create the volume from + type: string + status: SUPPORTED + required: false + metadata: + description: Key/value pairs to associate with the volume + type: map + status: SUPPORTED + entry_schema: + type: string + required: false + volume_type: + description: If specified, the type of volume to use, mapping to a specific backend + type: string + status: SUPPORTED + required: false + description: + description: A description of the volume + type: string + status: SUPPORTED + required: false + device_type: + description: Device type + type: string + status: SUPPORTED + required: false + constraints: + - valid_values: + - cdrom + - disk + disk_bus: + description: 'Bus of the device: hypervisor driver chooses a suitable default + if omitted' + type: string + status: SUPPORTED + required: false + constraints: + - valid_values: + - ide + - lame_bus + - scsi + - usb + - virtio + backup_id: + description: If specified, the backup to create the volume from + type: string + status: SUPPORTED + required: false + source_volid: + description: If specified, the volume to use as source + type: string + status: SUPPORTED + required: false + boot_index: + description: Integer used for ordering the boot disks + type: integer + status: SUPPORTED + required: false + size: + description: The requested storage size (default unit is MB) + type: scalar-unit.size + status: SUPPORTED + required: false + constraints: + - greater_or_equal: 1 GB + read_only: + description: Enables or disables read-only access mode of volume + type: boolean + status: SUPPORTED + required: false + name: + description: A name used to distinguish the volume + type: string + status: SUPPORTED + required: false + scheduler_hints: + description: Arbitrary key-value pairs specified by the client to help the Cinder scheduler creating a volume + type: map + status: SUPPORTED + entry_schema: + type: string + required: false + swap_size: + description: The size of the swap, in MB + type: scalar-unit.size + status: SUPPORTED + required: false + delete_on_termination: + description: Indicate whether the volume should be deleted when the server is terminated + type: boolean + status: SUPPORTED + required: false + multiattach: + description: Whether allow the volume to be attached more than once + type: boolean + status: SUPPORTED + required: false + attributes: + display_description: + description: Description of the volume + type: string + status: SUPPORTED + attachments: + description: The list of attachments of the volume + type: string + status: SUPPORTED + entry_schema: + type: string + encrypted: + description: Boolean indicating if the volume is encrypted or not + type: boolean + status: SUPPORTED + show: + description: Detailed information about resource + type: string + status: SUPPORTED + created_at: + description: The timestamp indicating volume creation + type: timestamp + status: SUPPORTED + display_name: + description: Name of the volume + type: string + status: SUPPORTED + metadata_values: + description: Key/value pairs associated with the volume in raw dict form + type: map + status: SUPPORTED + entry_schema: + type: string + bootable: + description: Boolean indicating if the volume can be booted or not + type: boolean + status: SUPPORTED + status: + description: The current status of the volume + type: string + status: SUPPORTED + org.openecomp.nodes.PortMirroringConfiguration: + derived_from: tosca.nodes.Root + requirements: + - source: + capability: org.openecomp.capabilities.PortMirroring + occurrences: + - 1 + - UNBOUNDED + - collector: + capability: org.openecomp.capabilities.PortMirroring + occurrences: + - 1 + - 1 + org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules: + derived_from: tosca.nodes.Root + properties: + entries: + type: org.openecomp.datatypes.heat.contrail.network.rule.RuleList + description: A symbolic name for this contrail network rule + required: false + status: SUPPORTED + name: + type: string + description: A symbolic name for this contrail network rule + required: false + status: SUPPORTED + attributes: + tenant_id: + type: string + description: tenant_id + status: SUPPORTED + fq_name: + type: string + description: fq_name + status: SUPPORTED + show: + type: string + description: All attributes. + status: SUPPORTED + rules: + type: list + description: List of rules + status: SUPPORTED + entry_schema: + type: string + requirements: + - network: + capability: tosca.capabilities.Attachment + node: tosca.nodes.network.Network + relationship: org.openecomp.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + org.openecomp.resource.vl.extVL: + derived_from: tosca.nodes.Root + description: VF Tenant oam protected network + properties: + network_type: + type: string + required: true + description: ECOMP supported network types. + network_role: + type: string + required: true + description: | + Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network + network_scope: + type: string + constraints: + valid_values: + - VF + - SERVICE + - GLOBAL + description: | + Uniquely identifies the network scope. Valid values for the network scope includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects the VFs within the service GLOBAL - Global network which can be shared by multiple services + network_technology: + type: string + required: true + description: ECOMP supported network technology + exVL_naming: + type: org.openecomp.datatypes.Naming + required: true + network_homing: + type: org.openecomp.datatypes.EcompHoming + required: true + network_assignments: + type: org.openecomp.datatypes.network.NetworkAssignments + required: true + provider_network: + type: org.openecomp.datatypes.network.ProviderNetwork + required: true + network_flows: + type: org.openecomp.datatypes.network.NetworkFlows + required: false + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + org.openecomp.resource.cp.extCP: + derived_from: tosca.nodes.Root + description: The SDC Connection Point base type all other CP derive from + properties: + network_role: + type: string + required: true + description: identical to VL network_role + order: + type: integer + required: true + description: The order of the CP on the compute instance (e.g. eth2). + network_role_tag: + type: string + required: true + description: Must correlate to the set of defined network-role tag identifiers from the associated HEAT template + mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: false + description: identifies MAC address assignments to the CP + vlan_requirements: + type: list + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + required: false + description: identifies vlan address assignments to the CP + ip_requirements: + type: list + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + required: true + description: identifies IP requirements to the CP + exCP_naming: + type: org.openecomp.datatypes.Naming + subnetpoolid: + type: string + requirements: + - virtualLink: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - virtualBinding: + capability: tosca.capabilities.network.Bindable + relationship: tosca.relationships.network.BindsTo + - external_virtualLink: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + node: org.openecomp.resource.vl.VL + capabilities: + internal_connectionPoint: + type: tosca.capabilities.Node + valid_source_type: + - tosca.nodes.network.Port + org.openecomp.resource.cp.nodes.heat.network.contrail.Port: + derived_from: org.openecomp.resource.cp.nodes.network.Port + properties: + static_routes: + type: list + description: An ordered list of static routes to be added to this interface + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute + virtual_network: + type: string + description: Virtual Network for this interface + required: true + status: SUPPORTED + static_route: + type: boolean + description: Static route enabled + required: false + default: false + status: SUPPORTED + allowed_address_pairs: + type: list + description: List of allowed address pair for this interface + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.AddressPair + shared_ip: + type: boolean + description: Shared ip enabled + required: false + default: false + status: SUPPORTED + ip_address: + type: string + description: IP for this interface + required: false + status: SUPPORTED + interface_type: + type: string + description: Interface type + required: true + status: SUPPORTED + constraints: + - valid_values: + - management + - left + - right + - other + attributes: + fq_name: + type: string + description: fq_name + status: SUPPORTED + org.openecomp.nodes.Configuration: + derived_from: tosca.nodes.Root + properties: + type: + type: string + description: The type of the node, the configuration will be defined for it. Ex. SBC + required: false + role: + type: string + description: The role of the node, the configuration will be defined for it. Ex. Active, Standby + required: false + function: + type: string + description: The function of the node, the configuration will be defined for it. Ex. NAT Traversal + required: false + org.openecomp.resource.vl.nodes.network.Network: + derived_from: tosca.nodes.network.Network + properties: + vendor: + type: string + required: false + vl_name: + type: string + required: false + capabilities: + end_point: + type: tosca.capabilities.Endpoint + org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules: + derived_from: tosca.nodes.Root + properties: + description: + type: string + description: Description of the security group + required: false + status: SUPPORTED + name: + type: string + description: A symbolic name for this security group, which is not required to be unique. + required: false + status: SUPPORTED + rules: + type: list + description: List of security group rules + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule + attributes: + show: + type: string + description: Detailed information about resource + status: SUPPORTED + requirements: + - port: + capability: tosca.capabilities.Attachment + node: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + relationship: org.openecomp.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.nova.Server: + derived_from: org.openecomp.resource.vfc.nodes.Compute + properties: + admin_pass: + type: string + description: The administrator password for the server + required: false + status: SUPPORTED + availability_zone: + type: string + description: Availability zone to create servers in + required: false + status: SUPPORTED + image: + type: string + description: The ID or name of the image to boot with + required: false + status: SUPPORTED + image_update_policy: + type: string + description: Policy on how to apply an image-id update + required: false + default: REBUILD + status: SUPPORTED + constraints: + - valid_values: + - REBUILD_PRESERVE_EPHEMERAL + - REPLACE + - REBUILD + metadata: + type: json + description: Arbitrary JSON metadata to store for this server + required: false + status: SUPPORTED + contrail_service_instance_ind: + type: boolean + description: Nova server related to service instance indicator + required: false + default: false + status: SUPPORTED + user_data_update_policy: + type: string + description: Policy on how to apply a user_data update + required: false + default: REPLACE + status: SUPPORTED + constraints: + - valid_values: + - REPLACE + - IGNORE + flavor_update_policy: + type: string + description: Policy on how to apply a flavor update + required: false + default: RESIZE + status: SUPPORTED + constraints: + - valid_values: + - RESIZE + - REPLACE + user_data: + type: string + description: User data script to be executed by cloud-init + required: false + default: '' + status: SUPPORTED + flavor: + type: string + description: The ID or name of the flavor to boot onto + required: true + status: SUPPORTED + key_name: + type: string + description: Name of keypair to inject into the server + required: false + status: SUPPORTED + reservation_id: + type: string + description: A UUID for the set of servers being requested + required: false + status: SUPPORTED + security_groups: + type: list + description: List of security group names or IDs + required: false + default: [] + status: SUPPORTED + entry_schema: + type: string + config_drive: + type: boolean + description: enable config drive on the server + required: false + status: SUPPORTED + personality: + type: map + description: A map of files to create/overwrite on the server upon boot + required: false + default: {} + status: SUPPORTED + entry_schema: + type: string + software_config_transport: + type: string + description: How the server should receive the metadata required for software configuration + required: false + default: POLL_SERVER_CFN + status: SUPPORTED + constraints: + - valid_values: + - POLL_SERVER_CFN + - POLL_SERVER_HEAT + - POLL_TEMP_URL + - ZAQAR_MESSAGE + user_data_format: + type: string + description: How the user_data should be formatted for the server + required: false + default: HEAT_CFNTOOLS + status: SUPPORTED + constraints: + - valid_values: + - SOFTWARE_CONFIG + - RAW + - HEAT_CFNTOOLS + diskConfig: + type: string + description: Control how the disk is partitioned when the server is created + required: false + status: SUPPORTED + constraints: + - valid_values: + - AUTO + - MANUAL + name: + type: string + description: Server name + required: false + status: SUPPORTED + scheduler_hints: + type: map + description: Arbitrary key-value pairs specified by the client to help boot a server + required: false + status: SUPPORTED + entry_schema: + type: string + attributes: + accessIPv4: + type: string + description: The manually assigned alternative public IPv4 address of the server + status: SUPPORTED + addresses: + type: map + description: A dict of all network addresses with corresponding port_id + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo + accessIPv6: + type: string + description: The manually assigned alternative public IPv6 address of the server + status: SUPPORTED + instance_name: + type: string + description: AWS compatible instance name + status: SUPPORTED + name: + type: string + description: Name of the server + status: SUPPORTED + show: + type: string + description: Detailed information about resource + status: SUPPORTED + console_urls: + type: string + description: URLs of servers consoles + status: SUPPORTED + org.openecomp.resource.cp.v2.extNeutronCP: + derived_from: org.openecomp.resource.cp.v2.extCP + properties: + port_security_enabled: + type: boolean + description: Flag to enable/disable port security on the network + required: false + status: SUPPORTED + device_id: + type: string + description: Device ID of this port + required: false + status: SUPPORTED + qos_policy: + type: string + description: The name or ID of QoS policy to attach to this network + required: false + status: SUPPORTED + allowed_address_pairs: + type: list + description: Additional MAC/IP address pairs allowed to pass through the port + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.AddressPair + binding:vnic_type: + type: string + description: The vnic type to be bound on the neutron port + required: false + status: SUPPORTED + constraints: + - valid_values: + - macvtap + - direct + - normal + value_specs: + type: map + description: Extra parameters to include in the request + required: false + default: {} + status: SUPPORTED + entry_schema: + type: string + device_owner: + type: string + description: Name of the network owning the port + required: false + status: SUPPORTED + network: + type: string + description: Network this port belongs to + required: false + status: SUPPORTED + replacement_policy: + type: string + description: Policy on how to respond to a stack-update for this resource + required: false + default: AUTO + status: SUPPORTED + constraints: + - valid_values: + - REPLACE_ALWAYS + - AUTO + security_groups: + type: list + description: List of security group names or IDs + required: false + status: SUPPORTED + entry_schema: + type: string + fixed_ips: + type: list + description: Desired IPs for this port + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + mac_address: + type: string + description: MAC address to give to this port + required: false + status: SUPPORTED + admin_state_up: + type: boolean + description: A boolean value specifying the administrative status of the network + required: false + default: true + status: SUPPORTED + name: + type: string + description: A symbolic name for this port + required: false + status: SUPPORTED + attributes: + tenant_id: + type: string + description: Tenant owning the port + status: SUPPORTED + network_id: + type: string + description: Unique identifier for the network owning the port + status: SUPPORTED + qos_policy_id: + type: string + description: The QoS policy ID attached to this network + status: SUPPORTED + show: + type: string + description: Detailed information about resource + status: SUPPORTED + subnets: + type: list + description: Subnets of this network + status: SUPPORTED + entry_schema: + type: string + status: + type: string + description: The status of the network + status: SUPPORTED + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + org.openecomp.resource.vfc.nodes.Compute: + derived_from: tosca.nodes.Compute + capabilities: + disk.ephemeral.size: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: GB + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.ephemeral.size + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Size of ephemeral disk + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + instance: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: instance + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: instance + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Existence of instance + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + memory: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: MB + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: memory + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Volume of RAM allocated to the instance + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.iops: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: count/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.iops + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average disk iops + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: request + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.read.requests + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of read requests + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + cpu.delta: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: ns + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: cpu.delta + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: CPU time used since previous datapoint + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Delta + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.capacity: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.capacity + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: The amount of disk that the instance can see + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.read.bytes + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Volume of reads + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.write.bytes + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Volume of writes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.latency: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: ms + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.latency + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average disk latency + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.read.bytes.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of reads + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.usage: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.usage + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: The physical size in bytes of the image container on the host + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + cpu_util: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: '%' + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: cpu_util + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average CPU utilization + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.allocation + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: The amount of disk per device occupied by the instance on the host machine + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: request/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.write.requests.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of write requests + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.write.bytes.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of writes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.latency: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: ms + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.latency + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average disk latency per device + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + cpu: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: ns + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: cpu + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: CPU time used + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: request + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.write.requests + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of write requests + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.write.bytes + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Volume of writes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.read.requests: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: request + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.read.requests + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of read requests + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.root.size: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: GB + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.root.size + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Size of root disk + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.write.bytes.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of writes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + vcpus: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: vcpu + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: vcpus + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of virtual CPUs allocated to the instance + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.iops: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: count/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.iops + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average disk iops per device + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.usage: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.usage + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: The physical size in bytes of the image container on the host per device + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: request/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.read.requests.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of read requests + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: request/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.write.requests.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of write requests + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.allocation: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.allocation + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: The amount of disk occupied by the instance on the host machine + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.read.bytes.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of reads + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.read.bytes + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Volume of reads + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + memory.usage: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: MB + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: memory.usage + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Volume of RAM used by the instance from the amount of its allocated memory + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.device.capacity + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: The amount of disk per device that the instance can see + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: disk + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + memory.resident: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: MB + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: memory.resident + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Volume of RAM used by the instance on the physical machine + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + disk.write.requests: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: request + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: disk.write.requests + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of write requests + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: compute + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.cp.v2.extContrailCP: + derived_from: org.openecomp.resource.cp.v2.extCP + properties: + static_routes: + type: list + description: An ordered list of static routes to be added to this interface + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute + virtual_network: + type: string + description: Virtual Network for this interface + required: true + status: SUPPORTED + static_route: + type: boolean + description: Static route enabled + required: false + default: false + status: SUPPORTED + allowed_address_pairs: + type: list + description: List of allowed address pair for this interface + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.AddressPair + shared_ip: + type: boolean + description: Shared ip enabled + required: false + default: false + status: SUPPORTED + ip_address: + type: string + description: IP for this interface + required: false + status: SUPPORTED + interface_type: + type: string + description: Interface type + required: true + status: SUPPORTED + constraints: + - valid_values: + - management + - left + - right + - other + attributes: + fq_name: + type: string + description: fq_name + status: SUPPORTED + org.openecomp.resource.abstract.nodes.CR: + derived_from: tosca.nodes.Root + properties: + cr_function: + type: string + cr_role: + type: string + cr_type: + type: string + org.openecomp.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: A symbolic name for this contrail v2 network rule + required: false + status: SUPPORTED + network_policy_entries: + type: org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList + description: A symbolic name for this contrail v2 network rule + required: false + status: SUPPORTED + attributes: + fq_name: + type: string + description: fq_name + status: SUPPORTED + requirements: + - network: + capability: tosca.capabilities.Attachment + node: tosca.nodes.network.Network + relationship: org.openecomp.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + org.openecomp.nodes.ForwardingPath: + derived_from: tosca.nodes.Root + properties: + target_range: + type: list + required: true + status: SUPPORTED + entry_schema: + description: Identifier of the reciever port of the VNF or the service + type: integer + protocol: + type: string + description: protocol type that runs on the link + required: true + status: SUPPORTED + requirements: + - forwarder: + capability: org.openecomp.capabilities.Forwarder + relationship: org.openecomp.relationships.ForwardsTo + occurrences: + - 0 + - UNBOUNDED + org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface: + derived_from: org.openecomp.resource.cp.nodes.network.Port + properties: + name: + description: Virtual Machine Interface name + type: string + status: SUPPORTED + required: false + security_group_refs: + description: List of security groups. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_network_refs: + description: List of virtual networks. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_properties: + description: virtual machine interface properties. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties + status: SUPPORTED + required: false + port_tuple_refs: + description: List of port tuples. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_mac_addresses: + description: List of mac addresses. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_allowed_address_pairs: + description: Virtual Machine Interface allowed address pairs. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs + status: SUPPORTED + required: false + attributes: + fq_name: + description: The FQ name of the Virtual Network. + type: string + status: SUPPORTED + show: + description: All attributes. + type: string + status: SUPPORTED + capabilities: + binding: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface + org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP: + derived_from: org.openecomp.resource.cp.v2.extCP + properties: + name: + description: Virtual Machine Interface name + type: string + status: SUPPORTED + required: false + security_group_refs: + description: List of security groups. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_network_refs: + description: List of virtual networks. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_properties: + description: virtual machine interface properties. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties + status: SUPPORTED + required: false + port_tuple_refs: + description: List of port tuples. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_mac_addresses: + description: List of mac addresses. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_allowed_address_pairs: + description: Virtual Machine Interface allowed address pairs. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs + status: SUPPORTED + required: false + attributes: + fq_name: + description: The FQ name of the Virtual Network. + type: string + status: SUPPORTED + show: + description: All attributes. + type: string + status: SUPPORTED + capabilities: + binding: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface + org.openecomp.nodes.VRFObject: + derived_from: tosca.nodes.Root + description: provides capability to connect WAN Transport Service Proxy to VRF Entry + capabilities: + routing_configuration_external: + type: org.openecomp.capabilities.RoutingConfiguration + org.openecomp.resource.abstract.nodes.AbstractSubstitute: + derived_from: tosca.nodes.Root + properties: + service_template_filter: + type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering + description: Substitution Filter + required: true + status: SUPPORTED + org.openecomp.nodes.PortMirroringConfigurationByPolicy: + derived_from: tosca.nodes.Root + properties: + collector_node: + type: string + description: The name of the Collector Proxy + required: true + policy_name: + type: string + description: The name of the policy for selection of the collector interfaces + required: true + equip_model: + type: string + description: The name of the equipment type of the collector, i.e. Cisco 4500x + required: true + equip_vendor: + type: string + description: The name of the equipment vendor of the collector, i.e. Cisco + required: true + requirements: + - source: + capability: org.openecomp.capabilities.PortMirroring + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.cp.nodes.heat.network.neutron.Port: + derived_from: org.openecomp.resource.cp.nodes.network.Port + properties: + port_security_enabled: + type: boolean + description: Flag to enable/disable port security on the network + required: false + status: SUPPORTED + device_id: + type: string + description: Device ID of this port + required: false + status: SUPPORTED + qos_policy: + type: string + description: The name or ID of QoS policy to attach to this network + required: false + status: SUPPORTED + allowed_address_pairs: + type: list + description: Additional MAC/IP address pairs allowed to pass through the port + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.AddressPair + binding:vnic_type: + type: string + description: The vnic type to be bound on the neutron port + required: false + status: SUPPORTED + constraints: + - valid_values: + - macvtap + - direct + - normal + value_specs: + type: map + description: Extra parameters to include in the request + required: false + default: {} + status: SUPPORTED + entry_schema: + type: string + device_owner: + type: string + description: Name of the network owning the port + required: false + status: SUPPORTED + network: + type: string + description: Network this port belongs to + required: false + status: SUPPORTED + replacement_policy: + type: string + description: Policy on how to respond to a stack-update for this resource + required: false + default: AUTO + status: SUPPORTED + constraints: + - valid_values: + - REPLACE_ALWAYS + - AUTO + security_groups: + type: list + description: List of security group names or IDs + required: false + status: SUPPORTED + entry_schema: + type: string + fixed_ips: + type: list + description: Desired IPs for this port + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + mac_address: + type: string + description: MAC address to give to this port + required: false + status: SUPPORTED + admin_state_up: + type: boolean + description: A boolean value specifying the administrative status of the network + required: false + default: true + status: SUPPORTED + name: + type: string + description: A symbolic name for this port + required: false + status: SUPPORTED + attributes: + tenant_id: + type: string + description: Tenant owning the port + status: SUPPORTED + network_id: + type: string + description: Unique identifier for the network owning the port + status: SUPPORTED + qos_policy_id: + type: string + description: The QoS policy ID attached to this network + status: SUPPORTED + show: + type: string + description: Detailed information about resource + status: SUPPORTED + subnets: + type: list + description: Subnets of this network + status: SUPPORTED + entry_schema: + type: string + status: + type: string + description: The status of the network + status: SUPPORTED + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.VF: + derived_from: tosca.nodes.Root + properties: + nf_function: + type: string + nf_role: + type: string + nf_naming_code: + type: string + nf_type: + type: string + nf_naming: + type: org.openecomp.datatypes.Naming + Default: true + availability_zone_max_count: + type: integer + default: 1 + constraints: + - valid_values: + - 0 + - 1 + - 2 + min_instances: + type: integer + max_instances: + type: integer + multi_stage_design: + type: string + default: false + sdnc_model_name: + type: string + sdnc_model_version: + type: string + sdnc_artifact_name: + type: string + skip_post_instantiation_configuration: + type: boolean + default: true + constraints: + - valid_values: + - true + - false + org.openecomp.resource.vfc.nodes.volume: + derived_from: tosca.nodes.BlockStorage + org.openecomp.nodes.ServiceProxy: + derived_from: tosca.nodes.Root + org.openecomp.resource.cp.v2.extCP: + derived_from: org.openecomp.resource.cp.nodes.network.Port + description: The SDC External Connection Point base type + capabilities: + port_mirroring: + type: org.openecomp.capabilities.PortMirroring + org.openecomp.resource.cp.nodes.network.SubInterface: + derived_from: tosca.nodes.network.Port + org.openecomp.resource.vl.nodes.heat.network.neutron.Net: + derived_from: org.openecomp.resource.vl.nodes.network.Network + properties: + dhcp_agent_ids: + type: list + description: The IDs of the DHCP agent to schedule the network + required: false + status: SUPPORTED + entry_schema: + type: string + tenant_id: + type: string + description: The ID of the tenant which will own the network + required: false + status: SUPPORTED + port_security_enabled: + type: boolean + description: Flag to enable/disable port security on the network + required: false + status: SUPPORTED + shared: + type: boolean + description: Whether this network should be shared across all tenants + required: false + default: false + status: SUPPORTED + admin_state_up: + type: boolean + description: A boolean value specifying the administrative status of the network + required: false + default: true + status: SUPPORTED + qos_policy: + type: string + description: The name or ID of QoS policy to attach to this network + required: false + status: SUPPORTED + subnets: + type: map + description: Network related subnets + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + value_specs: + type: map + description: Extra parameters to include in the request + required: false + default: {} + status: SUPPORTED + entry_schema: + type: string + attributes: + qos_policy_id: + type: string + description: The QoS policy ID attached to this network + status: SUPPORTED + show: + type: string + description: Detailed information about resource + status: SUPPORTED + subnets_name: + type: list + description: Subnets name of this network + status: SUPPORTED + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + mtu: + type: scalar-unit.size + description: The maximum transmission unit size(in bytes) for the network + status: SUPPORTED + status: + type: string + description: The status of the network + status: SUPPORTED + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.contrail.AbstractSubstitute: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + availability_zone: + type: string + description: Availability zone to create servers in + required: false + status: SUPPORTED + static_routes_list: + type: list + description: Static routes enabled + required: false + status: SUPPORTED + entry_schema: + type: boolean + availability_zone_enable: + type: boolean + description: Indicates availability zone is enabled + required: false + default: false + status: SUPPORTED + service_template_name: + type: string + description: Service template name + required: false + status: SUPPORTED + ordered_interfaces: + type: boolean + description: Indicates if service interface are ordered + required: false + default: false + status: SUPPORTED + flavor: + type: string + description: flavor + required: false + status: SUPPORTED + image_name: + type: string + description: Image name + required: true + status: SUPPORTED + service_type: + type: string + description: Service type + required: true + status: SUPPORTED + constraints: + - valid_values: + - firewall + - analyzer + - source-nat + - loadbalancer + service_interface_type_list: + type: list + description: List of interface types + required: true + status: SUPPORTED + entry_schema: + type: string + constraints: + - valid_values: + - management + - left + - right + - other + service_instance_name: + type: string + description: Service instance name + required: true + status: SUPPORTED + interface_list: + type: list + description: List of interfaces + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.contrail.InterfaceData + service_mode: + type: string + description: Service mode + required: true + status: SUPPORTED + constraints: + - valid_values: + - transparent + - in-network + - in-network-nat + shared_ip_list: + type: list + description: Shared ips enabled + required: false + status: SUPPORTED + entry_schema: + type: boolean + attributes: + tenant_id: + type: string + description: Tenant id of the Service Instance + status: SUPPORTED + fq_name: + type: string + description: The FQ name of the service instance + status: SUPPORTED + service_template_name: + type: string + description: Service Template of the Service Instance + status: SUPPORTED + show: + type: string + description: All attributes + status: SUPPORTED + active_vms: + type: string + description: Number of service VMs active for this Service Instance + status: SUPPORTED + service_instance_name: + type: string + description: The name of the service instance + status: SUPPORTED + virtual_machines: + type: string + description: Service VMs for the Service Instance + status: SUPPORTED + status: + type: string + description: Status of the service instance + status: SUPPORTED + org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork: + derived_from: org.openecomp.resource.vl.nodes.network.Network + properties: + network_ipam_refs_data: + type: list + description: IPAM references Data + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData + network_policy_refs_data: + type: list + description: Policy references data + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData + network_ipam_refs: + type: list + description: IPAM references + required: false + status: SUPPORTED + entry_schema: + type: string + network_policy_refs: + type: list + description: Policy references + required: false + status: SUPPORTED + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + attributes: + fq_name: + type: string + description: fq_name + status: SUPPORTED + subnets_name: + type: list + description: Subnets name of this network + status: SUPPORTED + entry_schema: + type: string + subnets_show: + type: map + description: Detailed information about each subnet + status: SUPPORTED + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.PNF: + derived_from: tosca.nodes.Root + properties: + nf_function: + type: string + nf_role: + type: string + nf_type: + type: string + software_versions: + type: list + entry_schema: + type: string + sdnc_model_name: + type: string + sdnc_model_version: + type: string + sdnc_artifact_name: + type: string + skip_post_instantiation_configuration: + type: boolean + default: true + constraints: + - valid_values: + - true + - false + org.openecomp.resource.abstract.nodes.service: + derived_from: tosca.nodes.Root + org.openecomp.resource.cp.nodes.network.v2.SubInterface: + derived_from: tosca.nodes.Root + properties: + ip_address: + description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with. + type: string + required: false + order: + description: 'The order of the NIC on the compute instance (e.g. eth2). Note: + when binding more than one port to a single compute (aka multi vNICs) and + ordering is desired, it is *mandatory* that all ports will be set with an + order value and. The order values must represent a positive, arithmetic + progression that starts with 0 (e.g. 0, 1, 2, ..., n).' + type: integer + default: 0 + required: false + constraints: + - greater_or_equal: 0 + is_default: + description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true. + type: boolean + default: false + required: false + ip_range_start: + description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network. + type: string + required: false + ip_range_end: + description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network. + type: string + required: false + attributes: + ip_address: + description: The IP address would be assigned to the associated compute instance. + type: string + requirements: + - subinterface_link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - binding: + capability: tosca.capabilities.network.Bindable + relationship: tosca.relationships.network.BindsTo + org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface: + derived_from: org.openecomp.resource.cp.nodes.network.SubInterface + properties: + virtual_machine_interface_refs: + description: List of virtual machine interface. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + name: + description: Virtual Machine Sub Interface VLAN name + type: string + status: SUPPORTED + required: false + virtual_network_refs: + description: List of virtual networks. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_properties: + description: virtual machine interface properties. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties + status: SUPPORTED + required: false + virtual_machine_interface_allowed_address_pairs: + description: Virtual Machine Sub Interface allowed address pairs. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs + status: SUPPORTED + required: false + virtual_machine_interface_mac_addresses: + description: List of mac addresses. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress + status: SUPPORTED + required: false + security_group_refs: + description: List of security groups. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + port_tuple_refs: + description: List of port tuples. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + attributes: + fq_name: + description: The FQ name of the Virtual Network. + type: string + status: SUPPORTED + show: + description: All attributes. + type: string + status: SUPPORTED + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: org.openecomp.resource.cp.nodes.network.Port + relationship: tosca.relationships.network.BindsTo + occurrences: + - 1 + - 1 + org.openecomp.nodes.FabricConfiguration: + derived_from: org.openecomp.nodes.Configuration + requirements: + - fabric_configuration_monitoring: + capability: org.openecomp.capabilities.FabricConfiguration + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork: + derived_from: org.openecomp.resource.vl.nodes.network.Network + properties: + shared: + type: string + description: Is virtual network shared + required: false + status: SUPPORTED + forwarding_mode: + type: string + description: forwarding mode of the virtual network + required: false + status: SUPPORTED + external: + type: string + description: Is virtual network external + required: false + status: SUPPORTED + allow_transit: + type: string + description: Whether this network should be transitive. + required: false + status: SUPPORTED + flood_unknown_unicast: + type: string + description: flood L2 packets on network + required: false + status: SUPPORTED + route_targets: + type: list + description: route targets associated with the virtual network + required: false + status: SUPPORTED + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + required: false + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + attributes: + fq_name: + type: string + description: fq_name + status: SUPPORTED + show: + type: string + description: All attributes. + status: SUPPORTED + subnets_name: + type: list + description: Subnets name of this network + status: SUPPORTED + entry_schema: + type: string + subnets_show: + type: map + description: Detailed information about each subnet + status: SUPPORTED + entry_schema: + type: string + subnets: + type: map + description: Network related subnets + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.network.neutron.Subnet + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + org.openecomp.nodes.VLANNetworkReceptor: + derived_from: tosca.nodes.Root + capabilities: + routing_configuration_internal: + type: org.openecomp.capabilities.RoutingConfiguration + requirements: + - vlan_assignment: + occurrences: + - 1 + - UNBOUNDED + capability: org.openecomp.capabilities.VLANAssignment + relationship: org.openecomp.relationships.AssignsTo + org.openecomp.resource.vl.ELine: + derived_from: org.openecomp.resource.vl.VL + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 0 + - 2 + org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface: + derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface + properties: + virtual_machine_interface_refs: + description: List of virtual machine interface. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + name: + description: Virtual Machine Sub Interface VLAN name + type: string + status: SUPPORTED + required: false + virtual_network_refs: + description: List of virtual networks. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + virtual_machine_interface_properties: + description: virtual machine interface properties. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties + status: SUPPORTED + required: false + virtual_machine_interface_allowed_address_pairs: + description: Virtual Machine Sub Interface allowed address pairs. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs + status: SUPPORTED + required: false + virtual_machine_interface_mac_addresses: + description: List of mac addresses. + type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress + status: SUPPORTED + required: false + security_group_refs: + description: List of security groups. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + port_tuple_refs: + description: List of port tuples. + type: list + status: SUPPORTED + entry_schema: + type: string + required: false + attributes: + fq_name: + description: The FQ name of the Virtual Network. + type: string + status: SUPPORTED + show: + description: All attributes. + type: string + status: SUPPORTED + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: org.openecomp.resource.cp.nodes.network.Port + relationship: tosca.relationships.network.BindsTo + occurrences: + - 1 + - 1 + org.openecomp.resource.vl.VL: + derived_from: tosca.nodes.network.Network + properties: + vendor: + type: string + required: false + vl_name: + type: string + required: false + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + end_point: + type: tosca.capabilities.Endpoint + org.openecomp.resource.abstract.nodes.MultiFlavorVFC: + derived_from: org.openecomp.resource.abstract.nodes.VFC + properties: + images: + type: map + entry_schema: + type: org.openecomp.datatypes.ImageInfo + required: false + org.openecomp.resource.abstract.nodes.VnfConfiguration: + derived_from: tosca.nodes.Root + properties: + allowed_flavors: + description: a collection of all flavor valuesets available for a given VFC + type: map + entry_schema: + type: org.openecomp.datatypes.flavors.DeploymentFlavor + org.openecomp.nodes.VRFEntry: + derived_from: tosca.nodes.Root + requirements: + - routing_configuration_internal: + occurrences: + - 1 + - UNBOUNDED + capability: org.openecomp.capabilities.RoutingConfiguration + relationship: org.openecomp.relationships.RoutesTo + - routing_configuration_external: + occurrences: + - 1 + - UNBOUNDED + capability: org.openecomp.capabilities.RoutingConfiguration + relationship: org.openecomp.relationships.RoutesTo + org.openecomp.resource.abstract.nodes.VFC: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + nfc_function: + type: string + high_availablity: + type: string + description: high_availablity + required: false + status: SUPPORTED + vm_image_name: + type: string + description: Master image_name volume id + required: true + status: SUPPORTED + vm_flavor_name: + type: string + description: Master image_name volume id + required: true + status: SUPPORTED + nfc_naming_code: + type: string + description: nfc code for instance naming + required: false + status: SUPPORTED + vm_type_tag: + type: string + description: vm type based on naming Convention + required: false + status: SUPPORTED + nfc_naming: + type: org.openecomp.datatypes.Naming + description: vfc naming + min_instances: + type: integer + description: Minimum number of VFC Instances + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + max_instances: + type: integer + description: Maximum number of VFC Instances + required: false + status: SUPPORTED + constraints: + - greater_or_equal: 1 + org.openecomp.resource.vl.internalVL: + derived_from: tosca.nodes.network.Network + description: The AT&T internal (VF-level) Virtual Link + org.openecomp.resource.cp.nodes.network.Port: + derived_from: tosca.nodes.network.Port + properties: + network_role: + type: string + required: true + description: identical to VL network_role + order: + type: integer + required: true + description: The order of the CP on the compute instance (e.g. eth2). + network_role_tag: + description: Must correlate to the set of defined network-role tag identifiers from the associated HEAT template + type: string + required: true + mac_requirements: + description: identifies MAC address assignments to the CP + type: org.openecomp.datatypes.network.MacRequirements + required: false + vlan_requirements: + description: identifies vlan address assignments to the CP + type: list + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + required: false + ip_requirements: + description: identifies IP requirements to the CP + type: list + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + required: true + exCP_naming: + type: org.openecomp.datatypes.Naming + subnetpoolid: + type: string + subinterface_indicator: + description: identifies if Port is having Sub Interface + type: boolean + required: false + default: false + related_networks: + type: list + description: Related Networks List. + required: false + entry_schema: + type: org.openecomp.datatypes.network.RelatedNetworksAssignments + capabilities: + network.incoming.packets.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: packet/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.incoming.packets.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of incoming packets + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + forwarder: + type: org.openecomp.capabilities.Forwarder + network.outgoing.bytes: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.outgoing.bytes + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of outgoing bytes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: packet/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.outgoing.packets.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of outgoing packets + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: packet + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.outpoing.packets + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of outgoing packets + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.incoming.bytes.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of incoming bytes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.incoming.bytes + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of incoming bytes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: B/s + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.outgoing.bytes.rate + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Average rate of outgoing bytes + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Gauge + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + properties: + unit: + type: string + description: Unit of the metric value + required: true + default: packet + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + default: network.incoming.packets + status: SUPPORTED + description: + type: string + description: Description of the metric + required: false + default: Number of incoming packets + status: SUPPORTED + type: + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + default: Cumulative + status: SUPPORTED + category: + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + default: network + status: SUPPORTED + occurrences: + - 1 + - UNBOUNDED + tosca.nodes.nfv.Vdu.VirtualBlockStorage: + derived_from: tosca.nodes.Root + description: This node type describes the specifications of requirements related to virtual block storage resources + properties: + virtual_block_storage_data: + type: tosca.datatypes.nfv.VirtualBlockStorageData + description: Describes the block storage characteristics. + required: true + sw_image_data: + type: tosca.datatypes.nfv.SwImageData + description: Defines information related to a SwImage artifact used by this Vdu.Compute node. + required: false + capabilities: + virtual_storage: + type: tosca.capabilities.nfv.VirtualStorage + description: Defines the capabilities of virtual_storage. + tosca.nodes.nfv.Vdu.Compute: + derived_from: tosca.nodes.Root + description: Describes the virtual compute part of a VDU which is a construct supporting the description of the deployment and operational behavior of a VNFC + properties: + name: + type: string + description: Human readable name of the VDU + required: true + description: + type: string + description: Human readable description of the VDU + required: true + boot_order: + type: list + description: References a node template name from which a valid boot device is created + required: false + entry_schema: + type: string + nfvi_constraints: + type: list + description: Describes constraints on the NFVI for the VNFC instance(s) created from this VDU + required: false + entry_schema: + type: string + monitoring_parameters: + type: list + description: Describes monitoring parameters applicable to a VNFC instantiated from this VDU + required: false + entry_schema: + type: tosca.datatypes.nfv.VnfcMonitoringParameter + vdu_profile: + type: tosca.datatypes.nfv.VduProfile + description: Defines additional instantiation data for the VDU.Compute node + required: true + sw_image_data: + type: tosca.datatypes.nfv.SwImageData + description: Defines information related to a SwImage artifact used by this Vdu.Compute node + required: false + boot_data: + type: string + description: Contains a string or a URL to a file contained in the VNF package used to customize a virtualised compute resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent to the VIM. + required: false + inject_files: + type: tosca.datatypes.nfv.injectFile + required: false + meta_data: + type: map + entry_schema: + type: string + required: false + capabilities: + virtual_compute: + type: tosca.capabilities.nfv.VirtualCompute + occurrences: + - 1 + - 1 + virtual_binding: + type: tosca.capabilities.nfv.VirtualBindable + occurrences: + - 1 + - UNBOUNDED + requirements: + - virtual_storage: + capability: tosca.capabilities.nfv.VirtualStorage + relationship: tosca.relationships.nfv.AttachesTo + occurrences: + - 0 + - UNBOUNDED + tosca.nodes.nfv.VDU: + derived_from: tosca.nodes.SoftwareComponent + capabilities: + Virtualbinding: + type: tosca.capabilities.nfv.VirtualBindable + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.Compute + relationship: tosca.relationships.HostedOn + tosca.nodes.nfv.Vdu.VirtualFileStorage: + derived_from: tosca.nodes.Root + description: This node type describes the specifications of requirements related to virtual file storage resources + properties: + virtual_file_storage_data: + type: tosca.datatypes.nfv.VirtualFileStorageData + description: Describes the file storage characteristics. + required: true + capabilities: + virtual_storage: + type: tosca.capabilities.nfv.VirtualStorage + description: Defines the capabilities of virtual_storage. + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + tosca.nodes.nfv.VduCp: + derived_from: tosca.nodes.nfv.Cp + description: describes network connectivity between a VNFC instance based on this VDU and an internal VL + properties: + bitrate_requirement: + type: integer + description: Bitrate requirement in bit per second on this connection point + required: false + constraints: + - greater_or_equal: 0 + virtual_network_interface_requirements: + type: list + description: Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD + required: false + entry_schema: + type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements + order: + type: integer + description: The order of the NIC on the compute instance (e.g.eth2) + required: false + constraints: + - greater_or_equal: 0 + vnic_type: + type: string + description: Describes the type of the virtual network interface realizing the CPs instantiated from this CPD + required: false + constraints: + - valid_values: + - direct + - normal + - virtio + - direct-physical + vnic_name: + type: string + required: false + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + - virtual_binding: + capability: tosca.capabilities.nfv.VirtualBindable + relationship: tosca.relationships.nfv.VirtualBindsTo + node: tosca.nodes.nfv.Vdu.Compute + tosca.nodes.nfv.ext.zte.VDU: + derived_from: tosca.nodes.Root + properties: + manual_scale_select_vim: + type: boolean + required: false + vdu_type: + type: string + required: false + watchdog: + type: tosca.datatypes.nfv.ext.zte.WatchDog + required: false + name: + type: string + required: false + local_affinity_antiaffinity_rule: + type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule + required: false + support_scaling: + type: boolean + required: false + storage_policy: + type: string + required: false + key_vdu: + type: boolean + required: false + location_info: + type: tosca.datatypes.nfv.ext.LocationInfo + required: false + inject_data_list: + type: list + required: false + entry_schema: + type: tosca.datatypes.nfv.ext.InjectData + requirements: + - guest_os: + capability: tosca.capabilities.nfv.ext.GuestOs + occurrences: + - 0 + - UNBOUNDED + - local_storage: + capability: tosca.capabilities.nfv.ext.LocalAttachment + occurrences: + - 0 + - UNBOUNDED + - volume_storage: + capability: tosca.capabilities.Attachment + occurrences: + - 0 + - UNBOUNDED + - dependency: + capability: tosca.capabilities.Node + occurrences: + - 0 + - UNBOUNDED + capabilities: + scalable: + type: tosca.capabilities.Scalable + monitoring_parameter: + type: tosca.capabilities.nfv.Metric + nfv_compute: + type: tosca.capabilities.nfv.ext.Compute.Container.Architecture + virtualbinding: + type: tosca.capabilities.nfv.VirtualBindable + tosca.nodes.nfv.ext.zte.VL: + derived_from: tosca.nodes.Root + properties: + segmentation_id: + type: string + required: false + network_name: + type: string + required: false + is_predefined: + type: boolean + required: false + mtu: + type: integer + required: false + dns_nameservers: + type: list + required: false + entry_schema: + type: string + physical_network: + type: string + required: false + dhcp_enabled: + type: boolean + required: false + network_id: + type: string + required: false + host_routes: + type: list + required: false + entry_schema: + type: tosca.datatypes.nfv.ext.HostRouteInfo + ip_version: + type: integer + required: false + vendor: + type: string + required: false + name: + type: string + required: false + start_ip: + type: string + required: false + vlan_transparent: + type: boolean + required: false + cidr: + type: string + required: false + gateway_ip: + type: string + required: false + network_type: + type: string + required: false + end_ip: + type: string + required: false + location_info: + type: tosca.datatypes.nfv.ext.LocationInfo + required: false + capabilities: + virtual_linkable: + type: tosca.capabilities.nfv.VirtualLinkable + tosca.nodes.nfv.VnfExtCp: + derived_from: tosca.nodes.nfv.Cp + description: Describes a logical external connection point, exposed by the VNF enabling connection with an external Virtual Link + properties: + virtual_network_interface_requirements: + type: list + description: The actual virtual NIC requirements that is been assigned when instantiating the connection point + required: false + entry_schema: + type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements + requirements: + - external_virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + - internal_virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + tosca.nodes.nfv.Vdu.VirtualStorage: + derived_from: tosca.nodes.Root + properties: + type_of_storage: + type: string + constraints: + - valid_values: + - volume + - object + - root + - block + required: true + size_of_storage: + type: scalar-unit.size + required: true + vdu_storage_requirements: + type: map + entry_schema: + type: string + required: false + rdma_enabled: + type: boolean + required: false + capabilities: + virtual_storage: + type: tosca.capabilities.nfv.VirtualStorage + tosca.nodes.nfv.ext.LocalStorage: + derived_from: tosca.nodes.Root + properties: + size: + type: string + required: false + disk_type: + type: string + required: false + capabilities: + local_attachment: + type: tosca.capabilities.nfv.ext.LocalAttachment + org.openecomp.resource.cp.PonUni: + derived_from: tosca.nodes.nfv.VduCp + properties: + expected_ont_id: + type: string + required: true + cvlan_id: + type: string + required: true + olt_name: + type: string + required: true + olt_pon_port: + type: string + required: true + olt_pon_slot: + type: string + required: true + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.VnfVirtualLink + - virtual_binding: + capability: tosca.capabilities.nfv.VirtualBindable + relationship: tosca.relationships.nfv.VirtualBindsTo + node: org.openecomp.resource.vfc.accessConnectivity + tosca.nodes.nfv.Vdu.VirtualObjectStorage: + derived_from: tosca.nodes.Root + description: This node type describes the specifications of requirements related to virtual object storage resources + properties: + virtual_object_storage_data: + type: tosca.datatypes.nfv.VirtualObjectStorageData + description: Describes the object storage characteristics. + required: true + capabilities: + virtual_storage: + type: tosca.capabilities.nfv.VirtualStorage + description: Defines the capabilities of virtual_storage. + tosca.nodes.nfv.ext.ImageFile: + derived_from: tosca.nodes.Root + properties: + file_url: + type: string + required: false + container_type: + type: string + required: false + name: + type: string + required: false + disk_format: + type: string + required: false + version: + type: string + required: false + capabilities: + guest_os: + type: tosca.capabilities.nfv.ext.GuestOs + image_fle: + type: tosca.capabilities.nfv.ext.ImageFile + tosca.nodes.nfv.VnfVirtualLinkDesc: + derived_from: tosca.nodes.Root + properties: + connectivity_type: + type: tosca.datatypes.nfv.ConnectivityType + required: true + description: + type: string + required: false + test_access: + type: list + entry_schema: + type: string + required: false + vl_flavours: + type: map + entry_schema: + type: tosca.datatypes.nfv.VlFlavour + required: true + capabilities: + virtual_linkable: + type: tosca.capabilities.nfv.VirtualLinkable + org.openecomp.resource.vl.overlaytunnel: + derived_from: tosca.nodes.Root + description: This entity represents abstract overlay tunnel end point. + properties: + id: + type: string + description: Identifier of the Tunnel Endpoint node. + required: false + template_name: + type: string + required: false + version: + type: string + required: false + name: + type: string + description: Overlay tunnel name used by for reference by the administrator. + required: false + description: + type: string + description: Additional comments/information about overlay tunnel. + required: false + tunnelType: + type: string + constraints: + - valid_values: + - L3-DCI + - L2-DCI + description: type defines if the overlay tunnel is L3-DCI tunnel or L2-DCI tunnel. + required: true + site1_id: + type: string + description: Identifier of first DCI overlay tunnel endpoint. This could be IP address of domain controller. + required: true + site1_description: + type: string + description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller. + required: false + site1_networkName: + type: string + description: Name of the network that is being associated with overlay tunnel. + required: true + site1_routerId: + type: string + description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel. + required: false + site1_importRT1: + type: string + description: List of Route targets imported by the local router. + required: false + site1_exportRT1: + type: string + description: List of Route targets exported by the local router. + required: false + site1_vni: + type: integer + description: VXLAN ID + required: false + site1_fireWallEnable: + type: boolean + required: false + description: Identifies if a firewall exists in the path of overlay tunnel. + default: false + site1_fireWallId: + type: string + description: Identifier of Firewall that is in overlay tunnel path + required: false + site1_localNetworkAll: + type: boolean + description: Identifies whether all the local networks associate with the tunnel or not. + required: false + default: 'false' + site2_id: + type: string + description: Identifier of second DCI overlay tunnel endpoint. This could be IP address of domain controller. + required: true + site2_description: + type: string + description: Additional comments/information about overlay tunnel. Description can also be used to identify domain controller. + required: false + site2_networkName: + type: string + description: Name of the network that is being associated with overlay tunnel. + required: true + site2_routerId: + type: string + description: Identifier of router connected to L3 tunnel end point, while configuring L3-DCI tunnel. + required: false + site2_importRT1: + type: string + description: List of Route targets imported by the local router. + required: false + site2_exportRT1: + type: string + description: List of Route targets exported by the local router. + required: false + site2_vni: + type: integer + description: VXLAN ID + required: false + site2_fireWallEnable: + type: boolean + required: false + description: Identifies if a firewall exists in the path of overlay tunnel. + default: false + site2_fireWallId: + type: string + description: Identifier of Firewall that is in overlay tunnel path + required: false + site2_localNetworkAll: + type: boolean + description: Identifies whether all the local networks associate with the tunnel or not. + required: false + default: 'false' + requirements: + - virtualLink: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + tosca.nodes.nfv.VnfVirtualLink: + derived_from: tosca.nodes.Root + description: Describes the information about an internal VNF VL + properties: + connectivity_type: + type: tosca.datatypes.nfv.ConnectivityType + description: Specifies the protocol exposed by the VL and the flow pattern supported by the VL + required: true + description: + type: string + description: Provides human-readable information on the purpose of the VL + required: false + test_access: + type: list + description: Test access facilities available on the VL + required: false + entry_schema: + type: string + constraints: + - valid_values: + - passive_monitoring + - active_loopback + vl_profile: + type: tosca.datatypes.nfv.VlProfile + description: Defines additional data for the VL + required: true + monitoring_parameters: + type: list + description: Describes monitoring parameters applicable to the VL + required: false + entry_schema: + type: tosca.datatypes.nfv.VirtualLinkMonitoringParameter + capabilities: + virtual_linkable: + type: tosca.capabilities.nfv.VirtualLinkable + org.openecomp.resource.cp.OltNni: + derived_from: tosca.nodes.nfv.VduCp + properties: + olt_name: + type: string + required: true + olt_nni_port: + type: string + required: true + olt_nni_slot: + type: string + required: true + svlan: + type: string + required: true + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.VnfVirtualLink + - virtual_binding: + capability: tosca.capabilities.nfv.VirtualBindable + relationship: tosca.relationships.nfv.VirtualBindsTo + node: org.openecomp.resource.vfc.accessConnectivity + org.openecomp.resource.vfc.AllottedResource: + derived_from: tosca.nodes.Root + description: ECOMP Allotted Resource base type all other allotted resources node types derive from + properties: + providing_service_uuid: + type: string + required: true + description: The depending service uuid in order to map the allotted resource to the specific service version + providing_service_invariant_uuid: + type: string + required: true + description: The depending service invariant uuid in order to map the allotted resource to the specific service version + providing_service_name: + type: string + required: true + description: The depending service name in order to map the allotted resource to the specific service version + role: + type: string + required: true + description: Unique label that defines the role that this allotted resource performs + min_instances: + type: integer + default: 1 + max_instances: + type: integer + default: 1 + target_network_role: + type: string + required: true + description: Target network role + requirements: + - service_dependency: + capability: org.openecomp.capabilities.AllottedResource + relationship: tosca.relationships.DependsOn + org.openecomp.resource.vl.GenericNeutronNet: + derived_from: org.openecomp.resource.vl.extVL + description: Generic Neutron Network + properties: + network_role: + type: string + description: | + Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network + network_assignments: + type: org.openecomp.datatypes.network.NetworkAssignments + network_flows: + type: org.openecomp.datatypes.network.NetworkFlows + network_scope: + type: string + network_ecomp_naming: + type: org.openecomp.datatypes.EcompNaming + network_type: + type: string + description: ECOMP supported network types. + default: NEUTRON + provider_network: + type: org.openecomp.datatypes.network.ProviderNetwork + network_technology: + type: string + description: ECOMP supported network technology + default: NEUTRON + network_homing: + type: org.openecomp.datatypes.EcompHoming + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.cp.OntNni: + derived_from: tosca.nodes.nfv.VduCp + properties: + ont_port: + type: string + required: true + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.VnfVirtualLink + - virtual_binding: + capability: tosca.capabilities.nfv.VirtualBindable + relationship: tosca.relationships.nfv.VirtualBindsTo + node: org.openecomp.resource.vfc.OntPnf + tosca.nodes.nfv.Cp: + derived_from: tosca.nodes.Root + description: Provides information regarding the purpose of the connection point + properties: + layer_protocols: + type: list + description: Identifies which protocol the connection point uses for connectivity purposes + required: true + entry_schema: + type: string + constraints: + - valid_values: + - ethernet + - mpls + - odu2 + - ipv4 + - ipv6 + - pseudo-wire + role: + type: string + description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS + required: false + constraints: + - valid_values: + - root + - leaf + description: + type: string + description: Provides human-readable information on the purpose of the connection point + required: false + protocol: + type: list + description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor + required: false + entry_schema: + type: tosca.datatypes.nfv.CpProtocolData + trunk_mode: + type: boolean + description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other), When operating in "trunk mode", the Cp is capable of carrying traffic for several VLANs. Absence of this property implies that trunkMode is not configured for the Cp i.e. It is equivalent to boolean value "false". + required: false + allowed_address_data: + type: tosca.datatypes.nfv.AddressData + required: false + tosca.nodes.nfv.VNF: + derived_from: tosca.nodes.Root + description: The generic abstract type from which all VNF specific abstract node types shall be derived to form, together with other node types, the TOSCA service template(s) representing the VNFD + properties: + descriptor_id: + type: string + description: Globally unique identifier of the VNFD + required: true + descriptor_version: + type: string + description: Identifies the version of the VNFD + required: true + provider: + type: string + description: Provider of the VNF and of the VNFD + required: true + product_name: + type: string + description: Human readable name for the VNF Product + required: true + software_version: + type: string + description: Software version of the VNF + required: true + product_info_name: + type: string + description: Human readable name for the VNF Product + required: false + product_info_description: + type: string + description: Human readable description of the VNF Product + required: false + vnfm_info: + type: list + required: true + description: Identifies VNFM(s) compatible with the VNF + entry_schema: + type: string + localization_languages: + type: list + description: Information about localization languages of the VNF + required: false + entry_schema: + type: string + default_localization_language: + type: string + description: Default localization language that is instantiated if no information about selected localization language is available + required: false + lcm_operations_configuration: + type: tosca.datatypes.nfv.VnfLcmOperationsConfiguration + description: Describes the configuration parameters for the VNF LCM operations + required: false + monitoring_parameters: + type: list + entry_schema: + type: tosca.datatypes.nfv.VnfMonitoringParameter + description: Describes monitoring parameters applicable to the VNF. + required: false + flavour_id: + type: string + description: Identifier of the Deployment Flavour within the VNFD + required: true + flavour_description: + type: string + description: Human readable description of the DF + required: true + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + occurrences: + - 0 + - 1 + interfaces: + Vnflcm: + type: tosca.interfaces.nfv.Vnflcm + org.openecomp.resource.vl.underlayvpn: + derived_from: tosca.nodes.Root + description: undelay vpn type definitions + properties: + id: + type: string + required: false + template_name: + type: string + required: false + version: + type: string + required: false + vendor: + type: string + required: false + template_author: + type: string + required: false + name: + type: string + required: false + description: + type: string + required: false + serviceType: + type: string + description: type of VPN service + required: false + default: l3vpn_sptn + topology: + type: string + description: type of VPN topology + constraints: + - valid_values: + - full-mesh + - point_to_multipoint + - point_to_point + - singlePoint + - hubspoke + - hubspoke_via_hubce + - hubspoke_disjoint + - ADD_DROP_Z + required: false + default: full-mesh + technology: + type: string + description: type of VPN technology + constraints: + - valid_values: + - mpls + - rosen multivpn + - vxlan overlay l3vpn + - eth over sdh + - vlan + required: false + default: mpls + site1_name: + type: string + description: name of first site + required: false + site2_name: + type: string + description: name of second site + required: false + sna1_name: + type: string + description: name of site network accesses associated with the site1 + required: false + sna2_name: + type: string + description: name of site network accesses associated with the site2 + required: false + pe1_id: + type: string + description: id of provider edge1, it can be name or ip or uuid + required: false + pe2_id: + type: string + description: id of provider edge2, it can be name or ip or uuid + required: false + ac1_id: + type: string + description: id of attachment circuit1, it can be port name or uuid + required: false + ac1_svlan: + type: integer + description: ac1 svlan + required: false + ac1_ip: + type: string + description: ip of ac1, only for layer3 vpn, it should contain mask + required: false + ac1_peer_ip: + type: string + description: ip of ac1 peer CE tp, only for layer3 vpn, it should contain mask + required: false + ac1_route: + type: string + description: route configure of ac1, only for layer3 vpn + required: false + ac1_protocol: + type: string + description: routing protocol type of ac1, only for layer3 vpn + constraints: + - valid_values: + - STATIC + - OSPF + - ISIS + - BGP + - other + required: false + ac1_protocol_bgp_as: + type: string + description: autonomous-system number of ac1, , only required for ebgp protocol + required: false + ac2_id: + type: string + description: id of attachment circuit2, it can be port name or uuid + required: false + ac2_svlan: + type: integer + description: ac2 svlan + required: false + ac2_ip: + type: string + description: ip of ac2, only for layer3 vpn, it should contain mask + required: false + ac2_peer_ip: + type: string + description: ip of ac2 peer CE tp, only for layer3 vpn, it should contain mask + required: false + ac2_route: + type: string + description: route configure of ac2, only for layer3 vpn + required: false + ac2_protocol: + type: string + description: routing protocol type of ac2, only for layer3 vpn + constraints: + - valid_values: + - STATIC + - OSPF + - ISIS + - BGP + - other + default: STATIC + required: false + ac2_protocol_bgp_as: + type: string + description: autonomous-system number of ac2, , only required for ebgp protocol + required: false + af_type: + type: string + description: address family type + default: ipv4 + required: false + requirements: + - virtualLink: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + tosca.nodes.nfv.ext.zte.CP: + derived_from: tosca.nodes.Root + properties: + guest_os_mtu: + type: integer + required: false + bandwidth: + type: integer + required: false + interface_name: + type: string + required: false + allowed_address_pairs: + type: list + required: false + entry_schema: + type: tosca.datatypes.nfv.ext.AddressPairs + ip_address: + type: string + required: false + bond: + type: string + required: false + proxiedVNFs: + type: list + required: false + entry_schema: + type: string + sfc_encapsulation: + type: string + required: false + floating_ip_address: + type: tosca.datatypes.nfv.ext.FloatingIP + required: false + service_ip_address: + required: false + type: string + mac_address: + type: string + required: false + proxiedVNFtype: + type: string + required: false + macbond: + type: string + required: false + vnic_type: + type: string + required: false + direction: + type: string + required: false + order: + type: integer + required: false + requirements: + - forwarder: + capability: tosca.capabilities.nfv.Forwarder + occurrences: + - 0 + - UNBOUNDED + - virtualbinding: + capability: tosca.capabilities.nfv.VirtualBindable + occurrences: + - 0 + - UNBOUNDED + - virtualLink: + capability: tosca.capabilities.nfv.VirtualLinkable + occurrences: + - 0 + - UNBOUNDED + capabilities: + forwarder: + type: tosca.capabilities.nfv.Forwarder + org.openecomp.resource.vfc.NSD: + derived_from: tosca.nodes.Root + description: ECOMP Allotted Resource base type all other allotted resources node types derive from + properties: + nsd_id: + type: string + required: true + description: ID of the NSD + nsd_designer: + type: string + required: true + description: Designer of the NSD + nsd_version: + type: string + required: true + description: Version of the NSD + nsd_name: + type: string + required: true + description: Name of the NSD + providing_service_uuid: + type: string + required: true + description: The depending service uuid in order to map the allotted resource to the specific service version + providing_service_invariant_uuid: + type: string + required: true + description: The depending service invariant uuid in order to map the allotted resource to the specific service version + providing_service_name: + type: string + required: true + description: The depending service name in order to map the allotted resource to the specific service version + requirements: + - virtualLink: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/policies.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/policies.yml new file mode 100644 index 00000000..4bef4e92 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/policies.yml @@ -0,0 +1,492 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- data.yml +policy_types: + tosca.policies.Root: + description: The TOSCA Policy Type all other TOSCA Policy Types derive from + tosca.policies.Placement: + derived_from: tosca.policies.Root + description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes. + tosca.policies.Scaling: + derived_from: tosca.policies.Root + description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes. + tosca.policies.Update: + derived_from: tosca.policies.Root + description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes. + tosca.policies.Performance: + derived_from: tosca.policies.Root + description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes. + org.openecomp.policies.placement.Antilocate: + derived_from: tosca.policies.Placement + description: My placement policy for separation based upon container type value + properties: + name: + type: string + description: The name of the policy + required: false + status: SUPPORTED + container_type: + type: string + description: container type + required: false + status: SUPPORTED + constraints: + - valid_values: + - host + - region + - compute + org.openecomp.policies.placement.Colocate: + derived_from: tosca.policies.Placement + description: Keep associated nodes (groups of nodes) based upon affinity value + properties: + name: + type: string + description: The name of the policy + required: false + status: SUPPORTED + affinity: + type: string + description: affinity + required: true + status: SUPPORTED + constraints: + - valid_values: + - host + - region + - compute + org.openecomp.policies.placement.valet.Diversity: + derived_from: tosca.policies.Placement + description: Valet Diversity + properties: + level: + type: string + description: diversity + required: false + default: host + status: SUPPORTED + constraints: + - valid_values: + - host + - rack + org.openecomp.policies.placement.valet.Exclusivity: + derived_from: tosca.policies.Placement + description: Valet Exclusivity + properties: + level: + type: string + description: exclusivity + required: false + default: host + status: SUPPORTED + constraints: + - valid_values: + - host + - rack + org.openecomp.policies.placement.valet.Affinity: + derived_from: tosca.policies.Placement + description: Valet Affinity + properties: + level: + type: string + description: affinity + required: false + default: host + status: SUPPORTED + constraints: + - valid_values: + - host + - rack + org.openecomp.policies.scaling.Fixed: + derived_from: tosca.policies.Scaling + properties: + quantity: + description: the exact number of instances to keep up + type: integer + required: true + org.openecomp.policies.External: + derived_from: tosca.policies.Root + description: externally managed policy (for example, type="network assignment", source="Policy Manager", name="route target") + properties: + source: + type: string + description: The name of the server that exposes the policy with predefined type and name. + required: false + type: + type: string + description: The type (category) of the policy same as it is defined in the source. + required: false + name: + type: string + description: The name of the policy, that related to specific type, same as it is defined in the source. + required: false + onap.policies.Monitoring: + derived_from: tosca.policies.Root + description: A base policy type for all policies that governs monitoring provisioning + onap.policies.monitoring.cdap.tca.hi.lo.app: + derived_from: onap.policies.Monitoring + version: 1.0.0 + properties: + tca_policy: + type: map + description: TCA Policy JSON + entry_schema: + type: onap.datatypes.monitoring.tca_policy + tosca.policies.nfv.InstantiationLevels: + derived_from: tosca.policies.Root + description: The InstantiationLevels type is a policy type representing all the instantiation levels of resources to be instantiated within a deployment flavour and including default instantiation level in term of the number of VNFC instances to be created as defined in ETSI GS NFV-IFA 011 [1]. + properties: + levels: + type: map + description: Describes the various levels of resources that can be used to instantiate the VNF using this flavour. + required: true + entry_schema: + type: tosca.datatypes.nfv.InstantiationLevel + default_level: + type: string + description: The default instantiation level for this flavour. + required: false + tosca.policies.nfv.VduInstantiationLevels: + derived_from: tosca.policies.Root + description: The VduInstantiationLevels type is a policy type representing all the instantiation levels of resources to be instantiated within a deployment flavour in term of the number of VNFC instances to be created from each vdu.Compute. as defined in ETSI GS NFV-IFA 011 [1] + properties: + levels: + type: map + description: Describes the Vdu.Compute levels of resources that can be used to instantiate the VNF using this flavour + required: true + entry_schema: + type: tosca.datatypes.nfv.VduLevel + targets: + - tosca.nodes.nfv.Vdu.Compute + tosca.policies.nfv.VirtualLinkInstantiationLevels: + derived_from: tosca.policies.Root + description: The VirtualLinkInstantiationLevels type is a policy type representing all the instantiation levels of virtual link resources to be instantiated within a deployment flavour as defined in ETSI GS NFV-IFA 011 [1]. + properties: + levels: + type: map + description: Describes the virtual link levels of resources that can be used to instantiate the VNF using this flavour. + required: true + entry_schema: + type: tosca.datatypes.nfv.VirtualLinkBitrateLevel + targets: + - tosca.nodes.nfv.VnfVirtualLink + tosca.policies.nfv.ScalingAspects: + derived_from: tosca.policies.Root + description: The ScalingAspects type is a policy type representing the scaling aspects used for horizontal scaling as defined in ETSI GS NFV-IFA 011 [1]. + properties: + aspects: + type: map + description: Describe maximum scale level for total number of scaling steps that can be applied to a particular aspect + required: true + entry_schema: + type: tosca.datatypes.nfv.ScalingAspect + tosca.policies.nfv.VduScalingAspectDeltas: + derived_from: tosca.policies.Root + description: The VduScalingAspectDeltas type is a policy type representing the Vdu.Compute detail of an aspect deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1]. + properties: + aspect: + type: string + description: Represents the scaling aspect to which this policy applies + required: true + deltas: + type: map + description: Describes the Vdu.Compute scaling deltas to be applied for every scaling steps of a particular aspect. + required: true + entry_schema: + type: tosca.datatypes.nfv.VduLevel + targets: + - tosca.nodes.nfv.Vdu.Compute + tosca.policies.nfv.VirtualLinkBitrateScalingAspectDeltas: + derived_from: tosca.policies.Root + description: The VirtualLinkBitrateScalingAspectDeltas type is a policy type representing the VnfVirtualLink detail of an aspect deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1]. + properties: + aspect: + type: string + description: Represents the scaling aspect to which this policy applies. + required: true + deltas: + type: map + description: Describes the VnfVirtualLink scaling deltas to be applied for every scaling steps of a particular aspect. + required: true + entry_schema: + type: tosca.datatypes.nfv.VirtualLinkBitrateLevel + targets: + - tosca.nodes.nfv.VnfVirtualLink + tosca.policies.nfv.VduInitialDelta: + derived_from: tosca.policies.Root + description: The VduInitialDelta type is a policy type representing the Vdu.Compute detail of an initial delta used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1]. + properties: + initial_delta: + type: tosca.datatypes.nfv.VduLevel + description: Represents the initial minimum size of the VNF. + required: true + targets: + - tosca.nodes.nfv.Vdu.Compute + tosca.policies.nfv.VirtualLinkBitrateInitialDelta: + derived_from: tosca.policies.Root + description: The VirtualLinkBitrateInitialDelta type is a policy type representing the VnfVirtualLink detail of an initial deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1]. + properties: + initial_delta: + type: tosca.datatypes.nfv.VirtualLinkBitrateLevel + description: Represents the initial minimum size of the VNF. + required: true + targets: + - tosca.nodes.nfv.VnfVirtualLink + tosca.policies.nfv.SecurityGroupRule: + derived_from: tosca.policies.Root + description: The SecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited connection points as defined in ETSI GS NFV-IFA 011 [1]. + properties: + description: + type: string + description: Human readable description of the security group rule. + required: false + direction: + type: string + description: The direction in which the security group rule is applied. The direction of 'ingress' or 'egress' is specified against the associated CP. I.e., 'ingress' means the packets entering a CP, while 'egress' means the packets sent out of a CP. + required: false + constraints: + - valid_values: + - ingress + - egress + default: ingress + ether_type: + type: string + description: Indicates the protocol carried over the Ethernet layer. + required: false + constraints: + - valid_values: + - ipv4 + - ipv6 + default: ipv4 + protocol: + type: string + description: Indicates the protocol carried over the IP layer. Permitted values include any protocol defined in the IANA protocol registry, e.g. TCP, UDP, ICMP, etc. + required: false + constraints: + - valid_values: + - hopopt + - icmp + - igmp + - ggp + - ipv4 + - st + - tcp + - cbt + - egp + - igp + - bbn_rcc_mon + - nvp_ii + - pup + - argus + - emcon + - xnet + - chaos + - udp + - mux + - dcn_meas + - hmp + - prm + - xns_idp + - trunk_1 + - trunk_2 + - leaf_1 + - leaf_2 + - rdp + - irtp + - iso_tp4 + - netblt + - mfe_nsp + - merit_inp + - dccp + - 3pc + - idpr + - xtp + - ddp + - idpr_cmtp + - tp++ + - il + - ipv6 + - sdrp + - ipv6_route + - ipv6_frag + - idrp + - rsvp + - gre + - dsr + - bna + - esp + - ah + - i_nlsp + - swipe + - narp + - mobile + - tlsp + - skip + - ipv6_icmp + - ipv6_no_nxt + - ipv6_opts + - cftp + - sat_expak + - kryptolan + - rvd + - ippc + - sat_mon + - visa + - ipcv + - cpnx + - cphb + - wsn + - pvp + - br_sat_mon + - sun_nd + - wb_mon + - wb_expak + - iso_ip + - vmtp + - secure_vmtp + - vines + - ttp + - iptm + - nsfnet_igp + - dgp + - tcf + - eigrp + - ospfigp + - sprite_rpc + - larp + - mtp + - ax.25 + - ipip + - micp + - scc_sp + - etherip + - encap + - gmtp + - ifmp + - pnni + - pim + - aris + - scps + - qnx + - a/n + - ip_comp + - snp + - compaq_peer + - ipx_in_ip + - vrrp + - pgm + - l2tp + - ddx + - iatp + - stp + - srp + - uti + - smp + - sm + - ptp + - isis + - fire + - crtp + - crudp + - sscopmce + - iplt + - sps + - pipe + - sctp + - fc + - rsvp_e2e_ignore + - mobility + - udp_lite + - mpls_in_ip + - manet + - hip + - shim6 + - wesp + - rohc + default: tcp + port_range_min: + type: integer + description: Indicates minimum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints. + required: false + constraints: + - greater_or_equal: 0 + - less_or_equal: 65535 + default: 0 + port_range_max: + type: integer + description: Indicates maximum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints. + required: false + constraints: + - greater_or_equal: 0 + - less_or_equal: 65535 + default: 65535 + targets: + - tosca.nodes.nfv.VduCp + - tosca.nodes.nfv.VnfExtCp + tosca.policies.nfv.SupportedVnfInterface: + derived_from: tosca.policies.Root + description: this policy type represents interfaces produced by a VNF, the details to access them and the applicable connection points to use to access these interfaces + properties: + interface_name: + type: string + description: Identifies an interface produced by the VNF. + required: true + constraints: + - valid_values: + - vnf_indicator + - vnf_configuration + details: + type: tosca.datatypes.nfv.InterfaceDetails + description: Provide additional data to access the interface endpoint + required: false + targets: + - tosca.nodes.nfv.VnfExtCp + - tosca.nodes.nfv.VduCp + tosca.policies.nfv.AffinityRule: + derived_from: tosca.policies.Placement + description: The AffinityRule describes the affinity rules applicable for the defined targets + properties: + scope: + type: string + description: scope of the rule is an NFVI_node, an NFVI_PoP, etc. + required: true + constraints: + - valid_values: + - nfvi_node + - zone + - zone_group + - nfvi_pop + targets: + - tosca.nodes.nfv.Vdu.Compute + - tosca.nodes.nfv.VnfVirtualLink + - tosca.groups.nfv.PlacementGroup + tosca.policies.nfv.AntiAffinityRule: + derived_from: tosca.policies.Placement + description: The AntiAffinityRule describes the anti-affinity rules applicable for the defined targets + properties: + scope: + type: string + description: scope of the rule is an NFVI_node, an NFVI_PoP, etc. + required: true + constraints: + - valid_values: + - nfvi_node + - zone + - zone_group + - nfvi_pop + targets: + - tosca.nodes.nfv.Vdu.Compute + - tosca.nodes.nfv.VnfVirtualLink + - tosca.groups.nfv.PlacementGroup diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/relationships.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/relationships.yml new file mode 100644 index 00000000..fe4b9880 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/relationships.yml @@ -0,0 +1,149 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- capabilities.yml +- data.yml +- interfaces.yml +relationship_types: + tosca.relationships.Root: + description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from. + attributes: + tosca_id: + description: A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type. + type: string + tosca_name: + description: This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not unique to the realized instance model of corresponding deployed application as each template in the model can result in one or more instances (e.g., scaled) when orchestrated to a provider environment. + type: string + state: + description: The state of the relationship instance. + type: string + default: initial + interfaces: + Configure: + type: tosca.interfaces.relationship.Configure + tosca.relationships.ConnectsTo: + derived_from: tosca.relationships.Root + description: This type represents a network connection relationship between two nodes. + valid_target_types: + - tosca.capabilities.Endpoint + properties: + credential: + type: tosca.datatypes.Credential + required: false + tosca.relationships.RoutesTo: + derived_from: tosca.relationships.ConnectsTo + description: This type represents an intentional network routing between two Endpoints in different networks. + valid_target_types: + - tosca.capabilities.Endpoint + tosca.relationships.AttachesTo: + derived_from: tosca.relationships.Root + description: This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used for attaching a storage node to a Compute node. + valid_target_types: + - tosca.capabilities.Attachment + properties: + location: + description: 'The relative location (e.g., path on the file system), which + provides the root location to address an attached node. e.g., a mount point + / path such as ''/usr/data''. Note: The user must provide it and it cannot + be "root".' + type: string + constraints: + - min_length: 1 + device: + description: The logical device name which for the attached device (which is represented by the target node in the model). e.g., '/dev/hda1'. + type: string + required: false + attributes: + device: + description: 'The logical name of the device as exposed to the instance. Note: + A runtime property that gets set when the model gets instantiated by the + orchestrator.' + type: string + tosca.relationships.HostedOn: + derived_from: tosca.relationships.Root + description: This type represents a hosting relationship between two nodes. + valid_target_types: + - tosca.capabilities.Container + tosca.relationships.DependsOn: + derived_from: tosca.relationships.Root + description: This type represents a general dependency relationship between two nodes. + valid_target_types: + - tosca.capabilities.Node + tosca.relationships.network.LinksTo: + derived_from: tosca.relationships.DependsOn + description: This relationship type represents an association relationship between Port and Network node types. + valid_target_types: + - tosca.capabilities.network.Linkable + tosca.relationships.network.BindsTo: + derived_from: tosca.relationships.DependsOn + description: This type represents a network association relationship between Port and Compute node types. + valid_target_types: + - tosca.capabilities.network.Bindable + org.openecomp.relationships.AttachesTo: + derived_from: tosca.relationships.AttachesTo + description: This type represents an attachment relationship + properties: + location: + description: The relative location (e.g., path on the file system), which provides the root location to address an attached node. + type: string + status: SUPPORTED + required: false + org.openecomp.relationships.VolumeAttachesTo: + derived_from: org.openecomp.relationships.AttachesTo + description: This type represents an attachment relationship for associating volume + properties: + volume_id: + description: The ID of the volume to be attached + type: string + status: SUPPORTED + required: true + instance_uuid: + description: The ID of the server to which the volume attaches + type: string + status: SUPPORTED + required: true + attributes: + show: + description: Detailed information about resource + type: string + status: SUPPORTED + org.openecomp.relationships.ForwardsTo: + derived_from: tosca.relationships.Root + valid_target_types: + - org.openecomp.capabilities.Forwarder + org.openecomp.relationships.AssignsTo: + derived_from: tosca.relationships.Root + org.openecomp.relationships.RoutesTo: + derived_from: tosca.relationships.RoutesTo + description: This type represents an intentional network routing between internal and external network + tosca.relationships.nfv.VirtualBindsTo: + derived_from: tosca.relationships.DependsOn + description: Represents an association relationship between Vdu.Compute and VduCp node types + valid_target_types: + - tosca.capabilities.nfv.VirtualBindable + tosca.relationships.nfv.VirtualLinksTo: + derived_from: tosca.relationships.DependsOn + description: Represents an association relationship between the VduCp and VnfVirtualLink node types + valid_target_types: + - tosca.capabilities.nfv.VirtualLinkable + tosca.relationships.nfv.AttachesTo: + derived_from: tosca.relationships.Root + description: Represents an association relationship between the Vdu.Compute and one of the node types, Vdu.VirtualBlockStorage, Vdu.VirtualObjectStorage or Vdu.VirtualFileStorage + valid_target_types: + - tosca.capabilities.nfv.VirtualStorage + tosca.relationships.nfv.Vdu.AttachedTo: + derived_from: tosca.relationships.DependsOn + valid_target_types: + - tosca.capabilities.nfv.VirtualStorage diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Extneutroncp-template.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Extneutroncp-template.yml new file mode 100644 index 00000000..b51a72f9 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Extneutroncp-template.yml @@ -0,0 +1,182 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +metadata: + invariantUUID: 3fed24ab-7a60-40cd-a52b-520df0d743e8 + UUID: e3334a40-6ede-4d38-975b-705e9cb99d2f + name: extNeutronCP + description: The AT&T Connection Point base type all other CP derive from + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ONAP (Tosca) + resourceVendorRelease: 1.0.0.wd03 + resourceVendorModelNumber: '' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +node_types: + org.openecomp.resource.cp.v2.extNeutronCP: + derived_from: org.openecomp.resource.cp.v2.extCP + description: The AT&T Connection Point base type all other CP derive from + properties: + port_security_enabled: + type: boolean + description: Flag to enable/disable port security on the network + required: false + qos_policy: + type: string + description: The name or ID of QoS policy to attach to this network + required: false + allowed_address_pairs: + type: list + description: Additional MAC/IP address pairs allowed to pass through the port + required: false + entry_schema: + type: org.openecomp.datatypes.heat.network.AddressPair + binding:vnic_type: + type: string + description: The vnic type to be bound on the neutron port + required: false + value_specs: + default: { + } + type: map + description: Extra parameters to include in the request + required: false + entry_schema: + type: string + related_networks: + type: list + description: Related Networks List. + required: false + entry_schema: + type: org.openecomp.datatypes.network.RelatedNetworksAssignments + network: + type: string + description: Network this port belongs to + required: false + mac_requirements: + default: + mac_count_required: + is_required: false + type: org.openecomp.datatypes.network.MacRequirements + description: identifies MAC address assignments to the CP + required: false + mac_address: + type: string + description: MAC address to give to this port + required: false + ip_range_start: + type: string + required: false + admin_state_up: + default: true + type: boolean + description: A boolean value specifying the administrative status of the network + required: false + exCP_naming: + default: + ecomp_generated_naming: true + type: org.openecomp.datatypes.Naming + required: false + order: + type: integer + description: The order of the CP on the compute instance (e.g. eth2). + required: true + subnetpoolid: + type: string + required: false + device_id: + type: string + description: Device ID of this port + required: false + ip_range_end: + type: string + required: false + ip_address: + type: string + required: false + is_default: + default: false + type: boolean + required: false + device_owner: + type: string + description: Name of the network owning the port + required: false + ip_requirements: + type: list + description: identifies IP requirements to the CP + required: true + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + replacement_policy: + default: AUTO + type: string + description: Policy on how to respond to a stack-update for this resource + required: false + network_role: + type: string + description: identical to VL network_role + required: true + security_groups: + type: list + description: List of security group names or IDs + required: false + entry_schema: + type: string + fixed_ips: + type: list + description: Desired IPs for this port + required: false + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + subinterface_indicator: + default: false + type: boolean + description: identifies if Port is having Sub Interface + required: false + name: + type: string + description: A symbolic name for this port + required: false + vlan_requirements: + type: list + description: identifies vlan address assignments to the CP + required: false + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + network_role_tag: + type: string + description: Must correlate to the set of defined network-role tag identifiers from the associated HEAT template + required: true + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard + capabilities: + attachment: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + binding: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Manualdistributiontestvsp-template-interface.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Manualdistributiontestvsp-template-interface.yml new file mode 100644 index 00000000..6d4cd7b3 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Manualdistributiontestvsp-template-interface.yml @@ -0,0 +1,1863 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +node_types: + org.openecomp.resource.vf.Manualdistributiontestvnf: + derived_from: org.openecomp.resource.abstract.nodes.VF + properties: + vf_module_id: + default: AFRMODULEID + type: string + description: The vFirewall Module ID is provided by ONAP + required: false + nf_naming: + default: + ecomp_generated_naming: true + type: org.openecomp.datatypes.Naming + required: false + skip_post_instantiation_configuration: + default: true + type: boolean + required: false + multi_stage_design: + default: 'false' + type: string + required: false + simple_key: + default: afr-key + type: string + description: Name of key-pair to be used for compute instance + required: false + ves_ip: + default: 172.26.10.19 + type: string + description: public ves_ip + required: false + nf_function: + type: string + required: false + nf_naming_code: + type: string + required: false + node_ip: + default: 172.26.10.27 + type: string + description: public ves_ip + required: false + simple_flavor_name: + default: m1.small + type: string + description: Type of instance (flavor) to be used + required: false + availability_zone_max_count: + default: 1 + type: integer + required: false + sdnc_artifact_name: + type: string + required: false + public_net_id: + default: nova_floating + type: string + description: public NetId + required: false + max_instances: + type: integer + required: false + nf_type: + type: string + required: false + simple_image_name: + default: UBUNTU16 + type: string + description: Image to be used for compute instance + required: false + sdnc_model_version: + type: string + required: false + vnf_id: + default: VESMED + type: string + description: The VNF ID is provided by ONAP + required: false + simple_netid: + default: onap_vip + type: string + description: netid + required: false + nf_role: + type: string + required: false + simple_name_0: + default: SIMPLEUBU + type: string + description: Name of key-pair to be used for compute instance + required: false + min_instances: + type: integer + required: false + sdnc_model_name: + type: string + required: false + capabilities: + abstract_simple.disk.write.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.network.incoming.packets.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of incoming packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.memory_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM allocated to the instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.root.size_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: GB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Size of root disk + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.network.outpoing.packets_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of outgoing packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.capacity_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk that the instance can see + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.allocation_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk per device occupied by the instance on the host machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.write.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.binding_simple: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + abstract_simple.network.incoming.bytes.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of incoming bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.cpu_util_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: '%' + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average CPU utilization + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.read.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.write.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.write.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.network.incoming.bytes_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of incoming bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.latency_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ms + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk latency + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.write.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.iops_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: count/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk iops per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.latency_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ms + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk latency per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.write.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.port_mirroring_simple_simple_private_port: + type: org.openecomp.capabilities.PortMirroring + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + connection_point: + default: + network_role: + get_input: port_simple_private_port_network_role + nfc_naming_code: simple + type: org.openecomp.datatypes.PortMirroringConnectionPointDescription + required: false + abstract_simple.memory.resident_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM used by the instance on the physical machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.read.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.read.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.network.outgoing.bytes.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of outgoing bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.read.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.write.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.binding_simple_simple_private_port: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface + abstract_simple.feature_simple_simple_private_port: + type: tosca.capabilities.Node + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + abstract_simple.disk.read.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.read.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.network.outgoing.bytes_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of outgoing bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.network.incoming.packets_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of incoming packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.allocation_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk occupied by the instance on the host machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.endpoint_simple: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + secure: + default: true + type: boolean + required: false + abstract_simple.forwarder_simple_simple_private_port: + type: org.openecomp.capabilities.Forwarder + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + abstract_simple.disk.device.write.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.memory.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM used by the instance from the amount of its allocated memory + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.cpu.delta_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ns + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: CPU time used since previous datapoint + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Delta + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.host_simple: + type: tosca.capabilities.Container + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - tosca.nodes.SoftwareComponent + properties: + num_cpus: + type: integer + required: false + disk_size: + type: scalar-unit.size + required: false + cpu_frequency: + type: scalar-unit.frequency + required: false + mem_size: + type: scalar-unit.size + required: false + abstract_simple.scalable_simple: + type: tosca.capabilities.Scalable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + max_instances: + default: 1 + type: integer + required: false + min_instances: + default: 1 + type: integer + required: false + default_instances: + type: integer + required: false + abstract_simple.instance_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: instance + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Existence of instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.attachment_simple_simple_private_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + abstract_simple.cpu_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ns + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: CPU time used + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.os_simple: + type: tosca.capabilities.OperatingSystem + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + distribution: + type: string + required: false + type: + type: string + required: false + version: + type: version + required: false + architecture: + type: string + required: false + abstract_simple.disk.device.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The physical size in bytes of the image container on the host per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The physical size in bytes of the image container on the host + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.vcpus_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: vcpu + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of virtual CPUs allocated to the instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.read.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.ephemeral.size_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: GB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Size of ephemeral disk + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.feature_simple: + type: tosca.capabilities.Node + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + abstract_simple.disk.iops_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: count/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk iops + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.disk.device.capacity_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk per device that the instance can see + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + abstract_simple.network.outgoing.packets.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of outgoing packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + requirements: + - abstract_simple.dependency_simple: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - abstract_simple.dependency_simple_simple_private_port: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - abstract_simple.link_simple_simple_private_port: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - abstract_simple.local_storage_simple: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Manualdistributiontestvsp-template.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Manualdistributiontestvsp-template.yml new file mode 100644 index 00000000..9d5bc204 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-Manualdistributiontestvsp-template.yml @@ -0,0 +1,673 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +metadata: + invariantUUID: 0a0b9979-863d-4b7e-b7f4-d27725a182b3 + UUID: 8f43a8c9-c677-462a-ae36-8ddb5990a60d + name: manualDistributionTestVNF + description: Test + type: VF + category: Application L4+ + subcategory: Media Servers + resourceVendor: Test + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +- resource-manualDistributionTestVNF-interface: + file: resource-Manualdistributiontestvsp-template-interface.yml +- resource-manualDistributionTestVSP-nodes.simpleCvfc: + file: resource-ManualdistributiontestvspNodesSimplecvfc-template.yml +- resource-manualDistributionTestVSP-nodes.simpleCvfc-interface: + file: resource-ManualdistributiontestvspNodesSimplecvfc-template-interface.yml +topology_template: + inputs: + vf_module_id: + default: AFRMODULEID + type: string + description: The vFirewall Module ID is provided by ONAP + required: false + nf_naming: + default: + ecomp_generated_naming: true + type: org.openecomp.datatypes.Naming + required: false + skip_post_instantiation_configuration: + default: true + type: boolean + required: false + multi_stage_design: + default: 'false' + type: string + required: false + simple_key: + default: afr-key + type: string + description: Name of key-pair to be used for compute instance + required: false + ves_ip: + default: 172.26.10.19 + type: string + description: public ves_ip + required: false + nf_function: + type: string + required: false + nf_naming_code: + type: string + required: false + node_ip: + default: 172.26.10.27 + type: string + description: public ves_ip + required: false + simple_flavor_name: + default: m1.small + type: string + description: Type of instance (flavor) to be used + required: false + availability_zone_max_count: + default: 1 + type: integer + required: false + sdnc_artifact_name: + type: string + required: false + public_net_id: + default: nova_floating + type: string + description: public NetId + required: false + max_instances: + type: integer + required: false + nf_type: + type: string + required: false + simple_image_name: + default: UBUNTU16 + type: string + description: Image to be used for compute instance + required: false + sdnc_model_version: + type: string + required: false + vnf_id: + default: VESMED + type: string + description: The VNF ID is provided by ONAP + required: false + simple_netid: + default: onap_vip + type: string + description: netid + required: false + nf_role: + type: string + required: false + simple_name_0: + default: SIMPLEUBU + type: string + description: Name of key-pair to be used for compute instance + required: false + min_instances: + type: integer + required: false + sdnc_model_name: + type: string + required: false + node_templates: + abstract_simple: + type: org.openecomp.resource.vfc.Manualdistributiontestvspcvfc.abstract.nodes.simple + directives: + - substitutable + metadata: + invariantUUID: 224c558c-56ab-40f8-9018-40846d8735a5 + UUID: 7fa6cae7-4a51-4f8b-b0ef-bbac305412ed + customizationUUID: 711886a7-8dc1-428b-955c-6e482fffe479 + version: '1.0' + name: manualDistributionTestVSP-nodes.simpleCvfc + description: Complex node type that is used as nested type in VF + type: CVFC + category: Generic + subcategory: Abstract + resourceVendor: Test + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + port_simple_private_port_network: + - get_input: simple_netid + compute_simple_user_data_format: + - RAW + index_value: 0 + compute_simple_key_name: + - get_input: simple_key + compute_simple_name: + - get_input: simple_name_0 + nfc_naming: + ecomp_generated_naming: true + vm_flavor_name: + get_input: simple_flavor_name + port_simple_private_port_fixed_ips: + - ip_address: + get_input: node_ip + service_template_filter: + substitute_service_template: Nested_simpleServiceTemplate.yaml + index_value: 0 + count: '1' + scaling_enabled: true + mandatory: true + port_simple_private_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + compute_simple_availability_zone: + - nova + vm_image_name: + get_input: simple_image_name + port_simple_private_port_mac_requirements: + mac_count_required: + is_required: false + vm_type_tag: simple + min_instances: 0 + compute_simple_metadata: + - vf_module_id: + get_input: vf_module_id + vnf_id: + get_input: vnf_id + port_simple_private_port_exCP_naming: + ecomp_generated_naming: true + nfc_naming_code: simple + capabilities: + disk.read.bytes_simple: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: compute + cpu_simple: + properties: + unit: ns + description: CPU time used + type: Cumulative + category: compute + disk.device.read.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: disk + disk.device.read.requests_simple: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: disk + network.incoming.packets.rate_simple_simple_private_port: + properties: + unit: packet/s + description: Average rate of incoming packets + type: Gauge + category: network + disk.capacity_simple: + properties: + unit: B + description: The amount of disk that the instance can see + type: Gauge + category: disk + disk.device.latency_simple: + properties: + unit: ms + description: Average disk latency per device + type: Gauge + category: disk + network.incoming.bytes.rate_simple_simple_private_port: + properties: + unit: B/s + description: Average rate of incoming bytes + type: Gauge + category: network + disk.write.bytes_simple: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: compute + disk.device.capacity_simple: + properties: + unit: B + description: The amount of disk per device that the instance can see + type: Gauge + category: disk + disk.usage_simple: + properties: + unit: B + description: The physical size in bytes of the image container on the host + type: Gauge + category: disk + memory.resident_simple: + properties: + unit: MB + description: Volume of RAM used by the instance on the physical machine + type: Gauge + category: compute + disk.device.write.requests.rate_simple: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: disk + cpu_util_simple: + properties: + unit: '%' + description: Average CPU utilization + type: Gauge + category: compute + instance_simple: + properties: + unit: instance + description: Existence of instance + type: Gauge + category: compute + disk.ephemeral.size_simple: + properties: + unit: GB + description: Size of ephemeral disk + type: Gauge + category: compute + disk.device.read.bytes_simple: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: disk + scalable_simple: + properties: + max_instances: 1 + min_instances: 1 + memory.usage_simple: + properties: + unit: MB + description: Volume of RAM used by the instance from the amount of its allocated memory + type: Gauge + category: compute + disk.device.iops_simple: + properties: + unit: count/s + description: Average disk iops per device + type: Gauge + category: disk + network.outpoing.packets_simple_simple_private_port: + properties: + unit: packet + description: Number of outgoing packets + type: Cumulative + category: network + memory_simple: + properties: + unit: MB + description: Volume of RAM allocated to the instance + type: Gauge + category: compute + network.outgoing.bytes_simple_simple_private_port: + properties: + unit: B + description: Number of outgoing bytes + type: Cumulative + category: network + disk.iops_simple: + properties: + unit: count/s + description: Average disk iops + type: Gauge + category: disk + disk.read.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: compute + disk.device.usage_simple: + properties: + unit: B + description: The physical size in bytes of the image container on the host per device + type: Gauge + category: disk + disk.latency_simple: + properties: + unit: ms + description: Average disk latency + type: Gauge + category: disk + network.outgoing.bytes.rate_simple_simple_private_port: + properties: + unit: B/s + description: Average rate of outgoing bytes + type: Gauge + category: network + disk.allocation_simple: + properties: + unit: B + description: The amount of disk occupied by the instance on the host machine + type: Gauge + category: disk + disk.device.read.requests.rate_simple: + properties: + unit: request/s + description: Average rate of read requests + type: Gauge + category: disk + disk.device.allocation_simple: + properties: + unit: B + description: The amount of disk per device occupied by the instance on the host machine + type: Gauge + category: disk + disk.device.write.bytes_simple: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: disk + network.incoming.packets_simple_simple_private_port: + properties: + unit: packet + description: Number of incoming packets + type: Cumulative + category: network + network.incoming.bytes_simple_simple_private_port: + properties: + unit: B + description: Number of incoming bytes + type: Cumulative + category: network + disk.read.requests_simple: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: compute + disk.device.write.requests_simple: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: disk + port_mirroring_simple_simple_private_port: + properties: + connection_point: + network_role: + get_input: port_simple_private_port_network_role + nfc_naming_code: simple + endpoint_simple: + properties: + secure: true + cpu.delta_simple: + properties: + unit: ns + description: CPU time used since previous datapoint + type: Delta + category: compute + vcpus_simple: + properties: + unit: vcpu + description: Number of virtual CPUs allocated to the instance + type: Gauge + category: compute + disk.device.write.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: disk + disk.root.size_simple: + properties: + unit: GB + description: Size of root disk + type: Gauge + category: compute + disk.write.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: compute + network.outgoing.packets.rate_simple_simple_private_port: + properties: + unit: packet/s + description: Average rate of outgoing packets + type: Gauge + category: network + disk.write.requests.rate_simple: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: compute + disk.write.requests_simple: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: compute + groups: + manualDistributionTestVNF..base_ves_med1..module-0: + type: org.openecomp.groups.VfModule + members: + - abstract_simple + metadata: + vfModuleModelName: manualDistributionTestVNF..base_ves_med1..module-0 + vfModuleModelInvariantUUID: dafd0c51-d03c-4849-a777-756e608ad6a5 + vfModuleModelUUID: b31a30a8-a4e4-4a5e-8f2d-ce7662ea4872 + vfModuleModelVersion: '1' + properties: + min_vf_module_instances: 1 + vf_module_label: base_ves_med1 + max_vf_module_instances: 1 + vf_module_type: Base + isBase: true + initial_count: 1 + volume_group: false + base_ves_med1_group: + type: org.openecomp.groups.heat.HeatStack + members: + - abstract_simple + metadata: + invariantUUID: 1ac6411a-1934-4b6a-b6d3-1d5b56b318cc + UUID: 83f33b1c-5f74-4302-92fe-1ebc9396894b + version: '1' + name: base_ves_med1_group + properties: + heat_file: ../Artifacts/base_ves_med1.yaml + description: Simple template to deploy a single compute instance + substitution_mappings: + node_type: org.openecomp.resource.vf.Manualdistributiontestvnf + capabilities: + abstract_simple.disk.write.requests_simple: + - abstract_simple + - disk.write.requests_simple + abstract_simple.network.incoming.packets.rate_simple_simple_private_port: + - abstract_simple + - network.incoming.packets.rate_simple_simple_private_port + abstract_simple.memory_simple: + - abstract_simple + - memory_simple + abstract_simple.disk.root.size_simple: + - abstract_simple + - disk.root.size_simple + abstract_simple.network.outpoing.packets_simple_simple_private_port: + - abstract_simple + - network.outpoing.packets_simple_simple_private_port + abstract_simple.disk.capacity_simple: + - abstract_simple + - disk.capacity_simple + abstract_simple.disk.device.allocation_simple: + - abstract_simple + - disk.device.allocation_simple + abstract_simple.disk.device.write.requests.rate_simple: + - abstract_simple + - disk.device.write.requests.rate_simple + abstract_simple.binding_simple: + - abstract_simple + - binding_simple + abstract_simple.network.incoming.bytes.rate_simple_simple_private_port: + - abstract_simple + - network.incoming.bytes.rate_simple_simple_private_port + abstract_simple.cpu_util_simple: + - abstract_simple + - cpu_util_simple + abstract_simple.disk.read.bytes_simple: + - abstract_simple + - disk.read.bytes_simple + abstract_simple.disk.write.bytes_simple: + - abstract_simple + - disk.write.bytes_simple + abstract_simple.disk.write.requests.rate_simple: + - abstract_simple + - disk.write.requests.rate_simple + abstract_simple.network.incoming.bytes_simple_simple_private_port: + - abstract_simple + - network.incoming.bytes_simple_simple_private_port + abstract_simple.disk.latency_simple: + - abstract_simple + - disk.latency_simple + abstract_simple.disk.device.write.requests_simple: + - abstract_simple + - disk.device.write.requests_simple + abstract_simple.disk.device.iops_simple: + - abstract_simple + - disk.device.iops_simple + abstract_simple.disk.device.latency_simple: + - abstract_simple + - disk.device.latency_simple + abstract_simple.disk.device.write.bytes.rate_simple: + - abstract_simple + - disk.device.write.bytes.rate_simple + abstract_simple.port_mirroring_simple_simple_private_port: + - abstract_simple + - port_mirroring_simple_simple_private_port + abstract_simple.memory.resident_simple: + - abstract_simple + - memory.resident_simple + abstract_simple.disk.read.bytes.rate_simple: + - abstract_simple + - disk.read.bytes.rate_simple + abstract_simple.disk.device.read.bytes_simple: + - abstract_simple + - disk.device.read.bytes_simple + abstract_simple.network.outgoing.bytes.rate_simple_simple_private_port: + - abstract_simple + - network.outgoing.bytes.rate_simple_simple_private_port + abstract_simple.disk.device.read.requests_simple: + - abstract_simple + - disk.device.read.requests_simple + abstract_simple.disk.write.bytes.rate_simple: + - abstract_simple + - disk.write.bytes.rate_simple + abstract_simple.binding_simple_simple_private_port: + - abstract_simple + - binding_simple_simple_private_port + abstract_simple.feature_simple_simple_private_port: + - abstract_simple + - feature_simple_simple_private_port + abstract_simple.disk.read.requests_simple: + - abstract_simple + - disk.read.requests_simple + abstract_simple.disk.device.read.bytes.rate_simple: + - abstract_simple + - disk.device.read.bytes.rate_simple + abstract_simple.network.outgoing.bytes_simple_simple_private_port: + - abstract_simple + - network.outgoing.bytes_simple_simple_private_port + abstract_simple.network.incoming.packets_simple_simple_private_port: + - abstract_simple + - network.incoming.packets_simple_simple_private_port + abstract_simple.disk.allocation_simple: + - abstract_simple + - disk.allocation_simple + abstract_simple.endpoint_simple: + - abstract_simple + - endpoint_simple + abstract_simple.forwarder_simple_simple_private_port: + - abstract_simple + - forwarder_simple_simple_private_port + abstract_simple.disk.device.write.bytes_simple: + - abstract_simple + - disk.device.write.bytes_simple + abstract_simple.memory.usage_simple: + - abstract_simple + - memory.usage_simple + abstract_simple.cpu.delta_simple: + - abstract_simple + - cpu.delta_simple + abstract_simple.host_simple: + - abstract_simple + - host_simple + abstract_simple.scalable_simple: + - abstract_simple + - scalable_simple + abstract_simple.instance_simple: + - abstract_simple + - instance_simple + abstract_simple.attachment_simple_simple_private_port: + - abstract_simple + - attachment_simple_simple_private_port + abstract_simple.cpu_simple: + - abstract_simple + - cpu_simple + abstract_simple.os_simple: + - abstract_simple + - os_simple + abstract_simple.disk.device.usage_simple: + - abstract_simple + - disk.device.usage_simple + abstract_simple.disk.usage_simple: + - abstract_simple + - disk.usage_simple + abstract_simple.vcpus_simple: + - abstract_simple + - vcpus_simple + abstract_simple.disk.device.read.requests.rate_simple: + - abstract_simple + - disk.device.read.requests.rate_simple + abstract_simple.disk.ephemeral.size_simple: + - abstract_simple + - disk.ephemeral.size_simple + abstract_simple.feature_simple: + - abstract_simple + - feature_simple + abstract_simple.disk.iops_simple: + - abstract_simple + - disk.iops_simple + abstract_simple.disk.device.capacity_simple: + - abstract_simple + - disk.device.capacity_simple + abstract_simple.network.outgoing.packets.rate_simple_simple_private_port: + - abstract_simple + - network.outgoing.packets.rate_simple_simple_private_port + requirements: + abstract_simple.dependency_simple_simple_private_port: + - abstract_simple + - dependency_simple_simple_private_port + abstract_simple.link_simple_simple_private_port: + - abstract_simple + - link_simple_simple_private_port + abstract_simple.dependency_simple: + - abstract_simple + - dependency_simple + abstract_simple.local_storage_simple: + - abstract_simple + - local_storage_simple diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspComputeNodesHeatSimple-template.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspComputeNodesHeatSimple-template.yml new file mode 100644 index 00000000..5c7c990a --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspComputeNodesHeatSimple-template.yml @@ -0,0 +1,131 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +metadata: + invariantUUID: 67a4bb59-d438-4c83-9c94-ed99b30a9b66 + UUID: 0c13eeca-9d3b-456a-9d78-73ffd155d940 + name: Manualdistributiontestvsp.compute.nodes.heat.simple + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: Test + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +node_types: + org.openecomp.resource.vfc.Manualdistributiontestvsp.abstract.compute.nodes.heat.simple: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + description: Not reusable inner VFC + properties: + admin_pass: + type: string + description: The administrator password for the server + required: false + image: + type: string + description: The ID or name of the image to boot with + required: false + availability_zone: + type: string + description: Availability zone to create servers in + required: false + metadata: + type: json + description: Arbitrary JSON metadata to store for this server + required: false + image_update_policy: + default: REBUILD + type: string + description: Policy on how to apply an image-id update + required: false + contrail_service_instance_ind: + default: false + type: boolean + description: Nova server related to service instance indicator + required: false + user_data_update_policy: + default: REPLACE + type: string + description: Policy on how to apply a user_data update + required: false + user_data: + type: string + description: User data script to be executed by cloud-init + required: false + flavor_update_policy: + default: RESIZE + type: string + description: Policy on how to apply a flavor update + required: false + reservation_id: + type: string + description: A UUID for the set of servers being requested + required: false + key_name: + type: string + description: Name of keypair to inject into the server + required: false + flavor: + type: string + description: The ID or name of the flavor to boot onto + required: true + security_groups: + default: [ + ] + type: list + description: List of security group names or IDs + required: false + entry_schema: + type: string + config_drive: + type: boolean + description: enable config drive on the server + required: false + software_config_transport: + default: POLL_SERVER_CFN + type: string + description: How the server should receive the metadata required for software configuration + required: false + personality: + default: { + } + type: map + description: A map of files to create/overwrite on the server upon boot + required: false + entry_schema: + type: string + user_data_format: + default: HEAT_CFNTOOLS + type: string + description: How the user_data should be formatted for the server + required: false + diskConfig: + type: string + description: Control how the disk is partitioned when the server is created + required: false + scheduler_hints: + type: map + description: Arbitrary key-value pairs specified by the client to help boot a server + required: false + entry_schema: + type: string + name: + type: string + description: Server name + required: false + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspNodesSimplecvfc-template-interface.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspNodesSimplecvfc-template-interface.yml new file mode 100644 index 00000000..a5ce7c7f --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspNodesSimplecvfc-template-interface.yml @@ -0,0 +1,1892 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +node_types: + org.openecomp.resource.vfc.Manualdistributiontestvspcvfc.abstract.nodes.simple: + derived_from: org.openecomp.resource.abstract.nodes.VFC + properties: + compute_simple_user_data_format: + type: list + required: true + entry_schema: + type: string + port_simple_private_port_network: + type: list + required: true + entry_schema: + type: string + nfc_naming: + default: + ecomp_generated_naming: true + type: org.openecomp.datatypes.Naming + description: vfc naming + required: false + port_simple_private_port_related_networks: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.network.RelatedNetworksAssignments + vm_flavor_name: + type: string + required: true + port_simple_private_port_fixed_ips: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_simple_private_port_subnetpoolid: + type: string + required: true + service_template_filter: + default: + index_value: 0 + count: '1' + scaling_enabled: true + mandatory: true + type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering + description: Substitution Filter + required: true + port_simple_private_port_ip_requirements: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_image_name: + type: string + required: true + vm_type_tag: + type: string + description: vm type based on naming Convention + required: false + high_availablity: + type: string + description: high_availablity + required: false + port_simple_private_port_network_role_tag: + type: string + required: true + compute_simple_metadata: + type: list + required: true + entry_schema: + type: json + nfc_naming_code: + type: string + description: nfc code for instance naming + required: false + nfc_function: + type: string + required: false + index_value: + default: 0 + type: integer + description: Index value of this substitution service template runtime instance + required: false + compute_simple_key_name: + type: list + required: true + entry_schema: + type: string + max_instances: + type: integer + description: Maximum number of VFC Instances + required: false + compute_simple_name: + type: list + required: true + entry_schema: + type: string + port_simple_private_port_order: + type: integer + required: true + compute_simple_availability_zone: + type: list + required: true + entry_schema: + type: string + port_simple_private_port_mac_requirements: + default: + mac_count_required: + is_required: false + type: org.openecomp.datatypes.network.MacRequirements + required: true + port_simple_private_port_network_role: + type: string + required: true + min_instances: + default: 0 + type: integer + description: Minimum number of VFC Instances + required: false + port_simple_private_port_vlan_requirements: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_simple_private_port_exCP_naming: + default: + ecomp_generated_naming: true + type: org.openecomp.datatypes.Naming + required: true + capabilities: + disk.device.read.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.read.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.read.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.capacity_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk that the instance can see + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.write.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.incoming.bytes.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of incoming bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + host_simple: + type: tosca.capabilities.Container + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - tosca.nodes.SoftwareComponent + properties: + num_cpus: + type: integer + required: false + disk_size: + type: scalar-unit.size + required: false + cpu_frequency: + type: scalar-unit.frequency + required: false + mem_size: + type: scalar-unit.size + required: false + disk.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The physical size in bytes of the image container on the host + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + feature_simple_simple_private_port: + type: tosca.capabilities.Node + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + disk.device.write.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.ephemeral.size_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: GB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Size of ephemeral disk + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + feature_simple: + type: tosca.capabilities.Node + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + os_simple: + type: tosca.capabilities.OperatingSystem + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + distribution: + type: string + required: false + type: + type: string + required: false + version: + type: version + required: false + architecture: + type: string + required: false + memory_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM allocated to the instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.iops_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: count/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk iops + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.outgoing.bytes_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of outgoing bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The physical size in bytes of the image container on the host per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.latency_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ms + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk latency + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + binding_simple: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + port_mirroring_simple_simple_private_port: + type: org.openecomp.capabilities.PortMirroring + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + connection_point: + default: + network_role: + get_input: port_simple_private_port_network_role + nfc_naming_code: simple + type: org.openecomp.datatypes.PortMirroringConnectionPointDescription + required: false + disk.device.write.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + binding_simple_simple_private_port: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface + endpoint_simple: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + secure: + default: true + type: boolean + required: false + disk.write.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.write.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.write.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + cpu_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ns + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: CPU time used + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.incoming.packets.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of incoming packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.latency_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ms + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk latency per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.capacity_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk per device that the instance can see + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + memory.resident_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM used by the instance on the physical machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + instance_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: instance + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Existence of instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + cpu_util_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: '%' + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average CPU utilization + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.read.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + scalable_simple: + type: tosca.capabilities.Scalable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + max_instances: + default: 1 + type: integer + required: false + min_instances: + default: 1 + type: integer + required: false + default_instances: + type: integer + required: false + disk.device.iops_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: count/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk iops per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + memory.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM used by the instance from the amount of its allocated memory + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.outpoing.packets_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of outgoing packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.read.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + forwarder_simple_simple_private_port: + type: org.openecomp.capabilities.Forwarder + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + attachment_simple_simple_private_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + disk.device.read.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.allocation_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk occupied by the instance on the host machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.outgoing.bytes.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of outgoing bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.allocation_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk per device occupied by the instance on the host machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.write.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.read.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.incoming.bytes_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of incoming bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.incoming.packets_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of incoming packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + cpu.delta_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ns + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: CPU time used since previous datapoint + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Delta + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + vcpus_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: vcpu + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of virtual CPUs allocated to the instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.root.size_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: GB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Size of root disk + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + disk.device.write.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + network.outgoing.packets.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of outgoing packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + requirements: + - dependency_simple: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - dependency_simple_simple_private_port: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - link_simple_simple_private_port: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - local_storage_simple: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspNodesSimplecvfc-template.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspNodesSimplecvfc-template.yml new file mode 100644 index 00000000..21093271 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/resource-ManualdistributiontestvspNodesSimplecvfc-template.yml @@ -0,0 +1,705 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +metadata: + invariantUUID: 224c558c-56ab-40f8-9018-40846d8735a5 + UUID: 7fa6cae7-4a51-4f8b-b0ef-bbac305412ed + name: manualDistributionTestVSP-nodes.simpleCvfc + description: Complex node type that is used as nested type in VF + type: CVFC + category: Generic + subcategory: Abstract + resourceVendor: Test + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +- resource-manualDistributionTestVSP-nodes.simpleCvfc-interface: + file: resource-ManualdistributiontestvspNodesSimplecvfc-template-interface.yml +- resource-Manualdistributiontestvsp.compute.nodes.heat.simple: + file: resource-ManualdistributiontestvspComputeNodesHeatSimple-template.yml +- resource-extNeutronCP: + file: resource-Extneutroncp-template.yml +topology_template: + inputs: + compute_simple_user_data_format: + type: list + required: true + entry_schema: + type: string + port_simple_private_port_network: + type: list + required: true + entry_schema: + type: string + nfc_naming: + default: + ecomp_generated_naming: true + type: org.openecomp.datatypes.Naming + description: vfc naming + required: false + port_simple_private_port_related_networks: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.network.RelatedNetworksAssignments + vm_flavor_name: + type: string + required: true + port_simple_private_port_fixed_ips: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_simple_private_port_subnetpoolid: + type: string + required: true + service_template_filter: + default: + index_value: 0 + count: '1' + scaling_enabled: true + mandatory: true + type: org.openecomp.datatypes.heat.substitution.SubstitutionFiltering + description: Substitution Filter + required: true + port_simple_private_port_ip_requirements: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_image_name: + type: string + required: true + vm_type_tag: + type: string + description: vm type based on naming Convention + required: false + high_availablity: + type: string + description: high_availablity + required: false + port_simple_private_port_network_role_tag: + type: string + required: true + compute_simple_metadata: + type: list + required: true + entry_schema: + type: json + nfc_naming_code: + type: string + description: nfc code for instance naming + required: false + nfc_function: + type: string + required: false + index_value: + default: 0 + type: integer + description: Index value of this substitution service template runtime instance + required: false + compute_simple_key_name: + type: list + required: true + entry_schema: + type: string + max_instances: + type: integer + description: Maximum number of VFC Instances + required: false + compute_simple_name: + type: list + required: true + entry_schema: + type: string + port_simple_private_port_order: + type: integer + required: true + compute_simple_availability_zone: + type: list + required: true + entry_schema: + type: string + port_simple_private_port_mac_requirements: + default: + mac_count_required: + is_required: false + type: org.openecomp.datatypes.network.MacRequirements + required: true + port_simple_private_port_network_role: + type: string + required: true + min_instances: + default: 0 + type: integer + description: Minimum number of VFC Instances + required: false + port_simple_private_port_vlan_requirements: + type: list + required: true + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_simple_private_port_exCP_naming: + default: + ecomp_generated_naming: true + type: org.openecomp.datatypes.Naming + required: true + node_templates: + simple_simple_private_port: + type: org.openecomp.resource.cp.v2.extNeutronCP + metadata: + invariantUUID: 3fed24ab-7a60-40cd-a52b-520df0d743e8 + UUID: e3334a40-6ede-4d38-975b-705e9cb99d2f + customizationUUID: cabd6198-f37f-4868-8a95-120296945db0 + version: '1.0' + name: extNeutronCP + description: The AT&T Connection Point base type all other CP derive from + type: CP + category: Generic + subcategory: Network Elements + resourceVendor: ONAP (Tosca) + resourceVendorRelease: 1.0.0.wd03 + resourceVendorModelNumber: '' + properties: + subnetpoolid: + get_input: port_simple_private_port_subnetpoolid + is_default: false + related_networks: + get_input: port_simple_private_port_related_networks + network: + get_input: + - port_simple_private_port_network + - index_value + replacement_policy: AUTO + ip_requirements: + get_input: port_simple_private_port_ip_requirements + network_role: + get_input: port_simple_private_port_network_role + fixed_ips: + get_input: + - port_simple_private_port_fixed_ips + - index_value + subinterface_indicator: false + mac_requirements: + get_input: port_simple_private_port_mac_requirements + admin_state_up: true + exCP_naming: + get_input: port_simple_private_port_exCP_naming + vlan_requirements: + get_input: port_simple_private_port_vlan_requirements + network_role_tag: + get_input: port_simple_private_port_network_role_tag + order: + get_input: port_simple_private_port_order + requirements: + - binding: + capability: binding + node: simple + capabilities: + network.incoming.packets.rate_simple_simple_private_port: + properties: + unit: packet/s + description: Average rate of incoming packets + type: Gauge + category: network + network.incoming.packets_simple_simple_private_port: + properties: + unit: packet + description: Number of incoming packets + type: Cumulative + category: network + network.incoming.bytes_simple_simple_private_port: + properties: + unit: B + description: Number of incoming bytes + type: Cumulative + category: network + network.incoming.bytes.rate_simple_simple_private_port: + properties: + unit: B/s + description: Average rate of incoming bytes + type: Gauge + category: network + port_mirroring_simple_simple_private_port: + properties: + connection_point: + network_role: + get_input: port_simple_private_port_network_role + nfc_naming_code: simple + network.outpoing.packets_simple_simple_private_port: + properties: + unit: packet + description: Number of outgoing packets + type: Cumulative + category: network + network.outgoing.bytes_simple_simple_private_port: + properties: + unit: B + description: Number of outgoing bytes + type: Cumulative + category: network + network.outgoing.bytes.rate_simple_simple_private_port: + properties: + unit: B/s + description: Average rate of outgoing bytes + type: Gauge + category: network + network.outgoing.packets.rate_simple_simple_private_port: + properties: + unit: packet/s + description: Average rate of outgoing packets + type: Gauge + category: network + simple: + type: org.openecomp.resource.vfc.Manualdistributiontestvsp.abstract.compute.nodes.heat.simple + metadata: + invariantUUID: 67a4bb59-d438-4c83-9c94-ed99b30a9b66 + UUID: 0c13eeca-9d3b-456a-9d78-73ffd155d940 + customizationUUID: d9fc7afd-3596-4296-8c78-d9befe8a9fae + version: '1.0' + name: Manualdistributiontestvsp.compute.nodes.heat.simple + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + resourceVendor: Test + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + flavor: + get_input: vm_flavor_name + key_name: + get_input: + - compute_simple_key_name + - index_value + image: + get_input: vm_image_name + availability_zone: + get_input: + - compute_simple_availability_zone + - index_value + image_update_policy: REBUILD + metadata: + get_input: + - compute_simple_metadata + - index_value + software_config_transport: POLL_SERVER_CFN + contrail_service_instance_ind: false + user_data_format: + get_input: + - compute_simple_user_data_format + - index_value + user_data_update_policy: REPLACE + name: + get_input: + - compute_simple_name + - index_value + flavor_update_policy: RESIZE + capabilities: + disk.read.bytes_simple: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: compute + cpu_simple: + properties: + unit: ns + description: CPU time used + type: Cumulative + category: compute + disk.device.read.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: disk + disk.device.read.requests_simple: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: disk + disk.capacity_simple: + properties: + unit: B + description: The amount of disk that the instance can see + type: Gauge + category: disk + disk.device.latency_simple: + properties: + unit: ms + description: Average disk latency per device + type: Gauge + category: disk + disk.write.bytes_simple: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: compute + disk.device.capacity_simple: + properties: + unit: B + description: The amount of disk per device that the instance can see + type: Gauge + category: disk + disk.usage_simple: + properties: + unit: B + description: The physical size in bytes of the image container on the host + type: Gauge + category: disk + memory.resident_simple: + properties: + unit: MB + description: Volume of RAM used by the instance on the physical machine + type: Gauge + category: compute + disk.device.write.requests.rate_simple: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: disk + cpu_util_simple: + properties: + unit: '%' + description: Average CPU utilization + type: Gauge + category: compute + instance_simple: + properties: + unit: instance + description: Existence of instance + type: Gauge + category: compute + disk.ephemeral.size_simple: + properties: + unit: GB + description: Size of ephemeral disk + type: Gauge + category: compute + disk.device.read.bytes_simple: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: disk + scalable_simple: + properties: + max_instances: 1 + min_instances: 1 + memory.usage_simple: + properties: + unit: MB + description: Volume of RAM used by the instance from the amount of its allocated memory + type: Gauge + category: compute + disk.device.iops_simple: + properties: + unit: count/s + description: Average disk iops per device + type: Gauge + category: disk + memory_simple: + properties: + unit: MB + description: Volume of RAM allocated to the instance + type: Gauge + category: compute + disk.iops_simple: + properties: + unit: count/s + description: Average disk iops + type: Gauge + category: disk + disk.read.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: compute + disk.device.usage_simple: + properties: + unit: B + description: The physical size in bytes of the image container on the host per device + type: Gauge + category: disk + disk.latency_simple: + properties: + unit: ms + description: Average disk latency + type: Gauge + category: disk + disk.allocation_simple: + properties: + unit: B + description: The amount of disk occupied by the instance on the host machine + type: Gauge + category: disk + disk.device.read.requests.rate_simple: + properties: + unit: request/s + description: Average rate of read requests + type: Gauge + category: disk + disk.device.allocation_simple: + properties: + unit: B + description: The amount of disk per device occupied by the instance on the host machine + type: Gauge + category: disk + disk.device.write.bytes_simple: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: disk + disk.read.requests_simple: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: compute + disk.device.write.requests_simple: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: disk + endpoint_simple: + properties: + secure: true + cpu.delta_simple: + properties: + unit: ns + description: CPU time used since previous datapoint + type: Delta + category: compute + vcpus_simple: + properties: + unit: vcpu + description: Number of virtual CPUs allocated to the instance + type: Gauge + category: compute + disk.device.write.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: disk + disk.root.size_simple: + properties: + unit: GB + description: Size of root disk + type: Gauge + category: compute + disk.write.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: compute + disk.write.requests.rate_simple: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: compute + disk.write.requests_simple: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: compute + substitution_mappings: + node_type: org.openecomp.resource.vfc.Manualdistributiontestvspcvfc.abstract.nodes.simple + capabilities: + disk.device.read.requests_simple: + - simple + - disk.device.read.requests + disk.device.read.bytes.rate_simple: + - simple + - disk.device.read.bytes.rate + disk.read.bytes_simple: + - simple + - disk.read.bytes + disk.capacity_simple: + - simple + - disk.capacity + disk.write.bytes_simple: + - simple + - disk.write.bytes + network.incoming.bytes.rate_simple_simple_private_port: + - simple_simple_private_port + - network.incoming.bytes.rate + host_simple: + - simple + - host + disk.usage_simple: + - simple + - disk.usage + feature_simple_simple_private_port: + - simple_simple_private_port + - feature + disk.device.write.requests.rate_simple: + - simple + - disk.device.write.requests.rate + disk.ephemeral.size_simple: + - simple + - disk.ephemeral.size + feature_simple: + - simple + - feature + os_simple: + - simple + - os + memory_simple: + - simple + - memory + disk.iops_simple: + - simple + - disk.iops + network.outgoing.bytes_simple_simple_private_port: + - simple_simple_private_port + - network.outgoing.bytes + disk.device.usage_simple: + - simple + - disk.device.usage + disk.latency_simple: + - simple + - disk.latency + binding_simple: + - simple + - binding + port_mirroring_simple_simple_private_port: + - simple_simple_private_port + - port_mirroring + disk.device.write.requests_simple: + - simple + - disk.device.write.requests + binding_simple_simple_private_port: + - simple_simple_private_port + - binding + endpoint_simple: + - simple + - endpoint + disk.write.bytes.rate_simple: + - simple + - disk.write.bytes.rate + disk.write.requests.rate_simple: + - simple + - disk.write.requests.rate + disk.write.requests_simple: + - simple + - disk.write.requests + cpu_simple: + - simple + - cpu + network.incoming.packets.rate_simple_simple_private_port: + - simple_simple_private_port + - network.incoming.packets.rate + disk.device.latency_simple: + - simple + - disk.device.latency + disk.device.capacity_simple: + - simple + - disk.device.capacity + memory.resident_simple: + - simple + - memory.resident + instance_simple: + - simple + - instance + cpu_util_simple: + - simple + - cpu_util + disk.device.read.bytes_simple: + - simple + - disk.device.read.bytes + scalable_simple: + - simple + - scalable + disk.device.iops_simple: + - simple + - disk.device.iops + memory.usage_simple: + - simple + - memory.usage + network.outpoing.packets_simple_simple_private_port: + - simple_simple_private_port + - network.outpoing.packets + disk.read.bytes.rate_simple: + - simple + - disk.read.bytes.rate + forwarder_simple_simple_private_port: + - simple_simple_private_port + - forwarder + attachment_simple_simple_private_port: + - simple_simple_private_port + - attachment + disk.device.read.requests.rate_simple: + - simple + - disk.device.read.requests.rate + disk.allocation_simple: + - simple + - disk.allocation + network.outgoing.bytes.rate_simple_simple_private_port: + - simple_simple_private_port + - network.outgoing.bytes.rate + disk.device.allocation_simple: + - simple + - disk.device.allocation + disk.device.write.bytes_simple: + - simple + - disk.device.write.bytes + disk.read.requests_simple: + - simple + - disk.read.requests + network.incoming.bytes_simple_simple_private_port: + - simple_simple_private_port + - network.incoming.bytes + network.incoming.packets_simple_simple_private_port: + - simple_simple_private_port + - network.incoming.packets + cpu.delta_simple: + - simple + - cpu.delta + vcpus_simple: + - simple + - vcpus + disk.root.size_simple: + - simple + - disk.root.size + disk.device.write.bytes.rate_simple: + - simple + - disk.device.write.bytes.rate + network.outgoing.packets.rate_simple_simple_private_port: + - simple_simple_private_port + - network.outgoing.packets.rate + requirements: + dependency_simple_simple_private_port: + - simple_simple_private_port + - dependency + local_storage_simple: + - simple + - local_storage + dependency_simple: + - simple + - dependency + link_simple_simple_private_port: + - simple_simple_private_port + - link diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/service-Manualdistributiontestservice-template-interface.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/service-Manualdistributiontestservice-template-interface.yml new file mode 100644 index 00000000..aa3f5456 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/service-Manualdistributiontestservice-template-interface.yml @@ -0,0 +1,1768 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +node_types: + org.openecomp.service.Manualdistributiontestservice: + derived_from: org.openecomp.resource.abstract.nodes.service + capabilities: + manualdistributiontestvnf0.abstract_simple.feature_simple_simple_private_port: + type: tosca.capabilities.Node + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + manualdistributiontestvnf0.abstract_simple.binding_simple_simple_private_port: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface + manualdistributiontestvnf0.abstract_simple.memory.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM used by the instance from the amount of its allocated memory + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.root.size_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: GB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Size of root disk + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.read.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.ephemeral.size_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: GB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Size of ephemeral disk + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.read.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.network.incoming.bytes.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of incoming bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.read.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.cpu.delta_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ns + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: CPU time used since previous datapoint + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Delta + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.latency_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ms + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk latency + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.network.outpoing.packets_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of outgoing packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.network.outgoing.packets.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of outgoing packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.latency_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ms + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk latency per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.write.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The physical size in bytes of the image container on the host + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.os_simple: + type: tosca.capabilities.OperatingSystem + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + distribution: + type: string + required: false + type: + type: string + required: false + version: + type: version + required: false + architecture: + type: string + required: false + manualdistributiontestvnf0.abstract_simple.attachment_simple_simple_private_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + manualdistributiontestvnf0.abstract_simple.cpu_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: ns + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: CPU time used + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.write.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.write.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.memory_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM allocated to the instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.read.requests.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.usage_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The physical size in bytes of the image container on the host per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.host_simple: + type: tosca.capabilities.Container + occurrences: + - 0 + - UNBOUNDED + valid_source_types: + - tosca.nodes.SoftwareComponent + properties: + num_cpus: + type: integer + required: false + disk_size: + type: scalar-unit.size + required: false + cpu_frequency: + type: scalar-unit.frequency + required: false + mem_size: + type: scalar-unit.size + required: false + manualdistributiontestvnf0.abstract_simple.disk.allocation_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk occupied by the instance on the host machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.cpu_util_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: '%' + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average CPU utilization + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.port_mirroring_simple_simple_private_port: + type: org.openecomp.capabilities.PortMirroring + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + connection_point: + default: + network_role: + get_input: port_simple_private_port_network_role + nfc_naming_code: simple + type: org.openecomp.datatypes.PortMirroringConnectionPointDescription + required: false + manualdistributiontestvnf0.abstract_simple.disk.device.write.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.read.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of reads + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.iops_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: count/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk iops per device + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.network.incoming.bytes_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of incoming bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.write.bytes.rate_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.endpoint_simple: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + secure: + default: true + type: boolean + required: false + manualdistributiontestvnf0.abstract_simple.disk.device.allocation_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk per device occupied by the instance on the host machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.capacity_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk that the instance can see + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.memory.resident_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: MB + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of RAM used by the instance on the physical machine + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.write.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.write.bytes_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Volume of writes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.feature_simple: + type: tosca.capabilities.Node + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + manualdistributiontestvnf0.abstract_simple.disk.read.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.vcpus_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: vcpu + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of virtual CPUs allocated to the instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.read.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of read requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.forwarder_simple_simple_private_port: + type: org.openecomp.capabilities.Forwarder + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + manualdistributiontestvnf0.abstract_simple.network.outgoing.bytes_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of outgoing bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.device.capacity_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: The amount of disk per device that the instance can see + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.scalable_simple: + type: tosca.capabilities.Scalable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + properties: + max_instances: + default: 1 + type: integer + required: false + min_instances: + default: 1 + type: integer + required: false + default_instances: + type: integer + required: false + manualdistributiontestvnf0.abstract_simple.network.outgoing.bytes.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: B/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of outgoing bytes + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.instance_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: instance + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Existence of instance + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.write.requests_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: request + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of write requests + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: compute + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.binding_simple: + type: tosca.capabilities.network.Bindable + occurrences: + - 0 + - UNBOUNDED + valid_source_types: [ + ] + manualdistributiontestvnf0.abstract_simple.network.incoming.packets_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Number of incoming packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Cumulative + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.disk.iops_simple: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: count/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average disk iops + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: disk + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + manualdistributiontestvnf0.abstract_simple.network.incoming.packets.rate_simple_simple_private_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + valid_source_types: [ + ] + properties: + unit: + default: packet/s + type: string + description: Unit of the metric value + required: true + status: SUPPORTED + name: + type: string + description: Ceilometer metric type name to monitor. (The name ceilometer is using) + required: true + description: + default: Average rate of incoming packets + type: string + description: Description of the metric + required: false + status: SUPPORTED + type: + default: Gauge + type: string + description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. + required: true + status: SUPPORTED + category: + default: network + type: string + description: Category of the metric, for an example, compute, disk, network, storage and etc. + required: false + status: SUPPORTED + requirements: + - manualdistributiontestvnf0.abstract_simple.dependency_simple: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - manualdistributiontestvnf0.abstract_simple.dependency_simple_simple_private_port: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + - manualdistributiontestvnf0.abstract_simple.link_simple_simple_private_port: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - manualdistributiontestvnf0.abstract_simple.local_storage_simple: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/service-Manualdistributiontestservice-template.yml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/service-Manualdistributiontestservice-template.yml new file mode 100644 index 00000000..defdf0a8 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/service-Manualdistributiontestservice-template.yml @@ -0,0 +1,537 @@ +tosca_definitions_version: tosca_simple_yaml_1_1 +metadata: + invariantUUID: 0ddc448d-5513-44bc-8b02-5759d84600d5 + UUID: 28d4acf3-4791-4998-8d06-1cdf6d1767a9 + name: manualDistributionTestService + description: Test + type: Service + category: Network L4+ + serviceType: '' + serviceRole: '' + instantiationType: A-la-carte + serviceEcompNaming: true + ecompGeneratedNaming: true + namingPolicy: '' + environmentContext: General_Revenue-Bearing +imports: +- nodes: + file: nodes.yml +- datatypes: + file: data.yml +- capabilities: + file: capabilities.yml +- relationships: + file: relationships.yml +- groups: + file: groups.yml +- policies: + file: policies.yml +- annotations: + file: annotations.yml +- service-manualDistributionTestService-interface: + file: service-Manualdistributiontestservice-template-interface.yml +- resource-manualDistributionTestVNF: + file: resource-Manualdistributiontestvsp-template.yml +- resource-manualDistributionTestVNF-interface: + file: resource-Manualdistributiontestvsp-template-interface.yml +topology_template: + node_templates: + manualDistributionTestVNF 0: + type: org.openecomp.resource.vf.Manualdistributiontestvnf + metadata: + invariantUUID: 0a0b9979-863d-4b7e-b7f4-d27725a182b3 + UUID: 8f43a8c9-c677-462a-ae36-8ddb5990a60d + customizationUUID: 82ad3aa0-edc6-410c-a217-655fb064323f + version: '1.0' + name: manualDistributionTestVNF + description: Test + type: VF + category: Application L4+ + subcategory: Media Servers + resourceVendor: Test + resourceVendorRelease: '1.0' + resourceVendorModelNumber: '' + properties: + vf_module_id: AFRMODULEID + skip_post_instantiation_configuration: true + nf_naming: + ecomp_generated_naming: true + ves_ip: 172.26.10.19 + simple_key: afr-key + multi_stage_design: 'false' + node_ip: 172.26.10.27 + simple_flavor_name: m1.small + availability_zone_max_count: 1 + public_net_id: nova_floating + simple_image_name: UBUNTU16 + nf_type: simulator + simple_netid: onap_vip + vnf_id: VESMED + simple_name_0: SIMPLEUBU + capabilities: + abstract_simple.network.incoming.packets.rate_simple_simple_private_port: + properties: + unit: packet/s + description: Average rate of incoming packets + type: Gauge + category: network + abstract_simple.disk.write.requests_simple: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: compute + abstract_simple.disk.read.requests_simple: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: compute + abstract_simple.memory_simple: + properties: + unit: MB + description: Volume of RAM allocated to the instance + type: Gauge + category: compute + abstract_simple.disk.root.size_simple: + properties: + unit: GB + description: Size of root disk + type: Gauge + category: compute + abstract_simple.network.incoming.packets_simple_simple_private_port: + properties: + unit: packet + description: Number of incoming packets + type: Cumulative + category: network + abstract_simple.network.outgoing.bytes_simple_simple_private_port: + properties: + unit: B + description: Number of outgoing bytes + type: Cumulative + category: network + abstract_simple.disk.device.read.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: disk + abstract_simple.network.outpoing.packets_simple_simple_private_port: + properties: + unit: packet + description: Number of outgoing packets + type: Cumulative + category: network + abstract_simple.disk.capacity_simple: + properties: + unit: B + description: The amount of disk that the instance can see + type: Gauge + category: disk + abstract_simple.disk.device.allocation_simple: + properties: + unit: B + description: The amount of disk per device occupied by the instance on the host machine + type: Gauge + category: disk + abstract_simple.disk.allocation_simple: + properties: + unit: B + description: The amount of disk occupied by the instance on the host machine + type: Gauge + category: disk + abstract_simple.endpoint_simple: + properties: + secure: true + abstract_simple.disk.device.write.requests.rate_simple: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: disk + abstract_simple.disk.device.write.bytes_simple: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: disk + abstract_simple.network.incoming.bytes.rate_simple_simple_private_port: + properties: + unit: B/s + description: Average rate of incoming bytes + type: Gauge + category: network + abstract_simple.memory.usage_simple: + properties: + unit: MB + description: Volume of RAM used by the instance from the amount of its allocated memory + type: Gauge + category: compute + abstract_simple.cpu_util_simple: + properties: + unit: '%' + description: Average CPU utilization + type: Gauge + category: compute + abstract_simple.cpu.delta_simple: + properties: + unit: ns + description: CPU time used since previous datapoint + type: Delta + category: compute + abstract_simple.disk.read.bytes_simple: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: compute + abstract_simple.disk.write.requests.rate_simple: + properties: + unit: request/s + description: Average rate of write requests + type: Gauge + category: compute + abstract_simple.disk.write.bytes_simple: + properties: + unit: B + description: Volume of writes + type: Cumulative + category: compute + abstract_simple.scalable_simple: + properties: + max_instances: 1 + min_instances: 1 + abstract_simple.instance_simple: + properties: + unit: instance + description: Existence of instance + type: Gauge + category: compute + abstract_simple.network.incoming.bytes_simple_simple_private_port: + properties: + unit: B + description: Number of incoming bytes + type: Cumulative + category: network + abstract_simple.disk.latency_simple: + properties: + unit: ms + description: Average disk latency + type: Gauge + category: disk + abstract_simple.disk.device.write.requests_simple: + properties: + unit: request + description: Number of write requests + type: Cumulative + category: disk + abstract_simple.disk.device.iops_simple: + properties: + unit: count/s + description: Average disk iops per device + type: Gauge + category: disk + abstract_simple.disk.device.write.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: disk + abstract_simple.disk.device.latency_simple: + properties: + unit: ms + description: Average disk latency per device + type: Gauge + category: disk + abstract_simple.cpu_simple: + properties: + unit: ns + description: CPU time used + type: Cumulative + category: compute + abstract_simple.port_mirroring_simple_simple_private_port: + properties: + connection_point: + network_role: + get_input: port_simple_private_port_network_role + nfc_naming_code: simple + abstract_simple.memory.resident_simple: + properties: + unit: MB + description: Volume of RAM used by the instance on the physical machine + type: Gauge + category: compute + abstract_simple.disk.device.usage_simple: + properties: + unit: B + description: The physical size in bytes of the image container on the host per device + type: Gauge + category: disk + abstract_simple.disk.usage_simple: + properties: + unit: B + description: The physical size in bytes of the image container on the host + type: Gauge + category: disk + abstract_simple.disk.device.read.requests.rate_simple: + properties: + unit: request/s + description: Average rate of read requests + type: Gauge + category: disk + abstract_simple.vcpus_simple: + properties: + unit: vcpu + description: Number of virtual CPUs allocated to the instance + type: Gauge + category: compute + abstract_simple.disk.read.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of reads + type: Gauge + category: compute + abstract_simple.disk.ephemeral.size_simple: + properties: + unit: GB + description: Size of ephemeral disk + type: Gauge + category: compute + abstract_simple.disk.device.read.bytes_simple: + properties: + unit: B + description: Volume of reads + type: Cumulative + category: disk + abstract_simple.disk.iops_simple: + properties: + unit: count/s + description: Average disk iops + type: Gauge + category: disk + abstract_simple.network.outgoing.bytes.rate_simple_simple_private_port: + properties: + unit: B/s + description: Average rate of outgoing bytes + type: Gauge + category: network + abstract_simple.disk.device.capacity_simple: + properties: + unit: B + description: The amount of disk per device that the instance can see + type: Gauge + category: disk + abstract_simple.network.outgoing.packets.rate_simple_simple_private_port: + properties: + unit: packet/s + description: Average rate of outgoing packets + type: Gauge + category: network + abstract_simple.disk.write.bytes.rate_simple: + properties: + unit: B/s + description: Average rate of writes + type: Gauge + category: compute + abstract_simple.disk.device.read.requests_simple: + properties: + unit: request + description: Number of read requests + type: Cumulative + category: disk + groups: + manualdistributiontestvnf0..manualDistributionTestVNF..base_ves_med1..module-0: + type: org.openecomp.groups.VfModule + metadata: + vfModuleModelName: manualDistributionTestVNF..base_ves_med1..module-0 + vfModuleModelInvariantUUID: dafd0c51-d03c-4849-a777-756e608ad6a5 + vfModuleModelUUID: b31a30a8-a4e4-4a5e-8f2d-ce7662ea4872 + vfModuleModelVersion: '1' + vfModuleModelCustomizationUUID: 6c3eafaf-dd98-4b35-8414-86e2beaed279 + properties: + min_vf_module_instances: 1 + vf_module_label: base_ves_med1 + max_vf_module_instances: 1 + vf_module_type: Base + isBase: true + initial_count: 1 + volume_group: false + substitution_mappings: + node_type: org.openecomp.service.Manualdistributiontestservice + capabilities: + manualdistributiontestvnf0.abstract_simple.feature_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.feature_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.binding_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.binding_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.memory.usage_simple: + - manualDistributionTestVNF 0 + - abstract_simple.memory.usage_simple + manualdistributiontestvnf0.abstract_simple.disk.root.size_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.root.size_simple + manualdistributiontestvnf0.abstract_simple.disk.read.bytes_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.read.bytes_simple + manualdistributiontestvnf0.abstract_simple.disk.ephemeral.size_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.ephemeral.size_simple + manualdistributiontestvnf0.abstract_simple.disk.device.read.bytes.rate_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.read.bytes.rate_simple + manualdistributiontestvnf0.abstract_simple.network.incoming.bytes.rate_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.incoming.bytes.rate_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.disk.device.read.bytes_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.read.bytes_simple + manualdistributiontestvnf0.abstract_simple.cpu.delta_simple: + - manualDistributionTestVNF 0 + - abstract_simple.cpu.delta_simple + manualdistributiontestvnf0.abstract_simple.disk.latency_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.latency_simple + manualdistributiontestvnf0.abstract_simple.network.outpoing.packets_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.outpoing.packets_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.network.outgoing.packets.rate_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.outgoing.packets.rate_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.disk.device.latency_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.latency_simple + manualdistributiontestvnf0.abstract_simple.disk.device.write.bytes.rate_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.write.bytes.rate_simple + manualdistributiontestvnf0.abstract_simple.disk.usage_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.usage_simple + manualdistributiontestvnf0.abstract_simple.os_simple: + - manualDistributionTestVNF 0 + - abstract_simple.os_simple + manualdistributiontestvnf0.abstract_simple.attachment_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.attachment_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.cpu_simple: + - manualDistributionTestVNF 0 + - abstract_simple.cpu_simple + manualdistributiontestvnf0.abstract_simple.disk.write.requests.rate_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.write.requests.rate_simple + manualdistributiontestvnf0.abstract_simple.disk.device.write.requests.rate_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.write.requests.rate_simple + manualdistributiontestvnf0.abstract_simple.memory_simple: + - manualDistributionTestVNF 0 + - abstract_simple.memory_simple + manualdistributiontestvnf0.abstract_simple.disk.device.read.requests.rate_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.read.requests.rate_simple + manualdistributiontestvnf0.abstract_simple.disk.device.usage_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.usage_simple + manualdistributiontestvnf0.abstract_simple.host_simple: + - manualDistributionTestVNF 0 + - abstract_simple.host_simple + manualdistributiontestvnf0.abstract_simple.disk.allocation_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.allocation_simple + manualdistributiontestvnf0.abstract_simple.cpu_util_simple: + - manualDistributionTestVNF 0 + - abstract_simple.cpu_util_simple + manualdistributiontestvnf0.abstract_simple.port_mirroring_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.port_mirroring_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.disk.device.write.requests_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.write.requests_simple + manualdistributiontestvnf0.abstract_simple.disk.read.bytes.rate_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.read.bytes.rate_simple + manualdistributiontestvnf0.abstract_simple.disk.device.iops_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.iops_simple + manualdistributiontestvnf0.abstract_simple.network.incoming.bytes_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.incoming.bytes_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.disk.write.bytes.rate_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.write.bytes.rate_simple + manualdistributiontestvnf0.abstract_simple.endpoint_simple: + - manualDistributionTestVNF 0 + - abstract_simple.endpoint_simple + manualdistributiontestvnf0.abstract_simple.disk.device.allocation_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.allocation_simple + manualdistributiontestvnf0.abstract_simple.disk.capacity_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.capacity_simple + manualdistributiontestvnf0.abstract_simple.memory.resident_simple: + - manualDistributionTestVNF 0 + - abstract_simple.memory.resident_simple + manualdistributiontestvnf0.abstract_simple.disk.device.write.bytes_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.write.bytes_simple + manualdistributiontestvnf0.abstract_simple.disk.write.bytes_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.write.bytes_simple + manualdistributiontestvnf0.abstract_simple.feature_simple: + - manualDistributionTestVNF 0 + - abstract_simple.feature_simple + manualdistributiontestvnf0.abstract_simple.disk.read.requests_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.read.requests_simple + manualdistributiontestvnf0.abstract_simple.vcpus_simple: + - manualDistributionTestVNF 0 + - abstract_simple.vcpus_simple + manualdistributiontestvnf0.abstract_simple.disk.device.read.requests_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.read.requests_simple + manualdistributiontestvnf0.abstract_simple.forwarder_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.forwarder_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.network.outgoing.bytes_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.outgoing.bytes_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.disk.device.capacity_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.device.capacity_simple + manualdistributiontestvnf0.abstract_simple.scalable_simple: + - manualDistributionTestVNF 0 + - abstract_simple.scalable_simple + manualdistributiontestvnf0.abstract_simple.network.outgoing.bytes.rate_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.outgoing.bytes.rate_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.instance_simple: + - manualDistributionTestVNF 0 + - abstract_simple.instance_simple + manualdistributiontestvnf0.abstract_simple.disk.write.requests_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.write.requests_simple + manualdistributiontestvnf0.abstract_simple.binding_simple: + - manualDistributionTestVNF 0 + - abstract_simple.binding_simple + manualdistributiontestvnf0.abstract_simple.network.incoming.packets_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.incoming.packets_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.disk.iops_simple: + - manualDistributionTestVNF 0 + - abstract_simple.disk.iops_simple + manualdistributiontestvnf0.abstract_simple.network.incoming.packets.rate_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.network.incoming.packets.rate_simple_simple_private_port + requirements: + manualdistributiontestvnf0.abstract_simple.link_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.link_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.dependency_simple_simple_private_port: + - manualDistributionTestVNF 0 + - abstract_simple.dependency_simple_simple_private_port + manualdistributiontestvnf0.abstract_simple.local_storage_simple: + - manualDistributionTestVNF 0 + - abstract_simple.local_storage_simple + manualdistributiontestvnf0.abstract_simple.dependency_simple: + - manualDistributionTestVNF 0 + - abstract_simple.dependency_simple diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/vendor-license-model.xml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/vendor-license-model.xml new file mode 100644 index 00000000..f25ff824 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/vendor-license-model.xml @@ -0,0 +1 @@ +<vendor-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>Test</vendor-name><entitlement-pool-list><entitlement-pool><entitlement-pool-invariant-uuid>9c7b6505ea31411e8dd9421d9aac9b54</entitlement-pool-invariant-uuid><entitlement-pool-uuid>FDE8E9CFC07B42AAB12987440BFBF866</entitlement-pool-uuid><version>1.0</version><name>TestEntitlementPool</name><description/><increments/><manufacturer-reference-number>TEP1</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><version>1.0</version><name>TestLicenseKeyGroup</name><description/><type>Universal</type><increments/><manufacturerReferenceNumber/><license-key-group-invariant-uuid>f109b410a44f4b8698c9afcecde66194</license-key-group-invariant-uuid><license-key-group-uuid>F4B453CBA577433589F81CB7E6556A89</license-key-group-uuid><threshold-value><unit/><value/></threshold-value><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list></vendor-license-model>
\ No newline at end of file diff --git a/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/vf-license-model.xml b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/vf-license-model.xml new file mode 100644 index 00000000..f4369f1f --- /dev/null +++ b/plans/so/integration-etsi-testing/config/distribution-test-unzipped/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/vf-license-model.xml @@ -0,0 +1 @@ +<vf-license-model xmlns="http://xmlns.openecomp.org/asdc/license-model/1.0"><vendor-name>Test</vendor-name><vf-id>024abe1eef244a22b91958f507d5d325</vf-id><feature-group-list><feature-group><entitlement-pool-list><entitlement-pool><name>TestEntitlementPool</name><description/><increments/><entitlement-pool-invariant-uuid>9c7b6505ea31411e8dd9421d9aac9b54</entitlement-pool-invariant-uuid><entitlement-pool-uuid>FDE8E9CFC07B42AAB12987440BFBF866</entitlement-pool-uuid><manufacturer-reference-number>TEP1</manufacturer-reference-number><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></entitlement-pool></entitlement-pool-list><license-key-group-list><license-key-group><name>TestLicenseKeyGroup</name><description/><type>Universal</type><increments/><license-key-group-invariant-uuid>f109b410a44f4b8698c9afcecde66194</license-key-group-invariant-uuid><license-key-group-uuid>F4B453CBA577433589F81CB7E6556A89</license-key-group-uuid><manufacturer-reference-number/><threshold-value><unit/><value/></threshold-value><version>1.0</version><sp-limits/><vendor-limits/><operational-scope><value/></operational-scope><start-date/><expiry-date/></license-key-group></license-key-group-list><name>TestFeatureGroup</name><feature-group-uuid>c9890306e372438fa1eaac1c9bf5db92</feature-group-uuid><description>Test Feature Group</description><part-number>TFG1</part-number></feature-group></feature-group-list></vf-license-model>
\ No newline at end of file diff --git a/plans/so/integration-etsi-testing/config/distribution-test-zip/distributionTestZip.zip b/plans/so/integration-etsi-testing/config/distribution-test-zip/distributionTestZip.zip Binary files differdeleted file mode 100644 index ac96bd94..00000000 --- a/plans/so/integration-etsi-testing/config/distribution-test-zip/distributionTestZip.zip +++ /dev/null diff --git a/plans/so/integration-etsi-testing/config/env b/plans/so/integration-etsi-testing/config/env index 61603aac..583be0af 100644 --- a/plans/so/integration-etsi-testing/config/env +++ b/plans/so/integration-etsi-testing/config/env @@ -1,4 +1,5 @@ NEXUS_DOCKER_REPO_MSO=nexus3.onap.org:10001 +DOCKER_ENVIRONMENT=remote TAG=1.4.3-STAGING-latest TIME_OUT_DEFAULT_VALUE_SEC=1200 PROJECT_NAME=etsiintegrationtesting diff --git a/plans/so/integration-etsi-testing/config/wait-for-container.sh b/plans/so/integration-etsi-testing/config/wait-for-container.sh index 598715d9..35ee2641 100755 --- a/plans/so/integration-etsi-testing/config/wait-for-container.sh +++ b/plans/so/integration-etsi-testing/config/wait-for-container.sh @@ -118,16 +118,23 @@ process_arguments() exit 1 fi + result=$(docker inspect --format '{{.State.Running}}' $CONTAINER_NAME) + + if [ $result != "true" ] ; then + echo "$SCRIPT_NAME $(current_timestamp) ERROR: $CONTAINER_NAME container is not running" + exit 1 + fi + HOST_IP=$(docker inspect --format '{{ index .NetworkSettings.Networks "'$NETWORK_NAME'" "IPAddress"}}' $CONTAINER_NAME) - if [ $? -ne 0 ]; then + if [ $? -ne 0 ] || [ -z $HOST_IP ] ; then echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to find HOST IP using network name: $NETWORK_NAME and container name: $CONTAINER_NAME" exit 1 fi PORT=$(docker port $CONTAINER_NAME | cut -c1-$(docker port $CONTAINER_NAME | grep -aob '/' | grep -oE '[0-9]+')) - if [ $? -ne 0 ]; then + if [ $? -ne 0 ] || [ -z $PORT ] ; then echo "$SCRIPT_NAME $(current_timestamp) ERROR: Unable to find PORT using project name: $PROJECT_NAME and container name: $CONTAINER_NAME" exit 1 fi diff --git a/plans/so/integration-etsi-testing/docker-compose.local.yml b/plans/so/integration-etsi-testing/docker-compose.local.yml new file mode 100644 index 00000000..ae15e6f6 --- /dev/null +++ b/plans/so/integration-etsi-testing/docker-compose.local.yml @@ -0,0 +1,33 @@ +version: '3' +services: +################################################################################ + mariadb: + image: mariadb:10.1.11 +################################################################################ + catalog-db-adapter: + image: onap/so/catalog-db-adapter:${TAG} +################################################################################ + request-db-adapter: + image: onap/so/request-db-adapter:${TAG} +################################################################################ + sdnc-adapter: + image: onap/so/sdnc-adapter:${TAG} +################################################################################ + sdc-controller: + image: onap/so/sdc-controller:${TAG} +################################################################################ + bpmn-infra: + image: onap/so/bpmn-infra:${TAG} +################################################################################ + api-handler-infra: + image: onap/so/api-handler-infra:${TAG} +############################################################################# + so-monitoring: + image: onap/so/so-monitoring:${TAG} +################################################################################ + vnfm-adapter: + image: onap/so/vnfm-adapter:${TAG} +################################################################################ + vnfm-simulator: + image: onap/so/vnfm-simulator:${TAG} +################################################################################ diff --git a/plans/so/integration-etsi-testing/docker-compose.yml b/plans/so/integration-etsi-testing/docker-compose.yml index 76dd7b6a..b356b7da 100644 --- a/plans/so/integration-etsi-testing/docker-compose.yml +++ b/plans/so/integration-etsi-testing/docker-compose.yml @@ -130,7 +130,7 @@ services: volumes: - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates - ${TEST_LAB_DIR}/volumes/so/config/sdc-controller/onapheat:/app/config - - ${CONFIG_DIR_PATH}/distribution-test-zip/distributionTestZip.zip:/distribution-test-zip/distributionTestZip.zip + - ${CONFIG_DIR_PATH}/distribution-test-unzipped:/distribution-test/unzipped environment: - APP=sdc-controller - JVM_ARGS=-Xms64m -Xmx512m @@ -152,9 +152,13 @@ services: max-size: "30m" max-file: "5" command: - - /bin/sh - - -c - - 'mkdir -p /distribution-test-zip/unzipped && unzip /distribution-test-zip/distributionTestZip.zip -d /distribution-test-zip/unzipped && /app/wait-for.sh -q -t "300" request-db-adapter:8083 -- "/app/start-app.sh"' + - /app/wait-for.sh + - -q + - -t + - "300" + - request-db-adapter:8083 + - -- + - "/app/start-app.sh" ################################################################################ bpmn-infra: image: ${NEXUS_DOCKER_REPO_MSO}/onap/so/bpmn-infra:${TAG} diff --git a/plans/so/integration-etsi-testing/setup.sh b/plans/so/integration-etsi-testing/setup.sh index 5af56460..ce6637c1 100755 --- a/plans/so/integration-etsi-testing/setup.sh +++ b/plans/so/integration-etsi-testing/setup.sh @@ -31,6 +31,7 @@ ENV_FILE=$CONFIG_DIR/env TEMP_DIR_PATH=$SCRIPT_HOME/temp TEST_LAB_DIR_PATH=$TEMP_DIR_PATH/test_lab DOCKER_COMPOSE_FILE_PATH=$SCRIPT_HOME/docker-compose.yml +DOCKER_COMPOSE_LOCAL_OVERRIDE_FILE=$SCRIPT_HOME/docker-compose.local.yml TEAR_DOWN_SCRIPT=$SCRIPT_HOME/teardown.sh MAVEN_DIR=$TEMP_DIR_PATH/maven @@ -48,7 +49,7 @@ echo "Running $SCRIPT_HOME/$SCRIPT_NAME ..." export $(egrep -v '^#' $ENV_FILE | xargs) -MANDATORY_VARIABLES_NAMES=( "NEXUS_DOCKER_REPO_MSO" "TAG" "TIME_OUT_DEFAULT_VALUE_SEC" "PROJECT_NAME" "DEFAULT_NETWORK_NAME") +MANDATORY_VARIABLES_NAMES=( "NEXUS_DOCKER_REPO_MSO" "DOCKER_ENVIRONMENT" "TAG" "TIME_OUT_DEFAULT_VALUE_SEC" "PROJECT_NAME" "DEFAULT_NETWORK_NAME") for var in "${MANDATORY_VARIABLES_NAMES[@]}" do @@ -138,7 +139,16 @@ git clone http://gerrit.onap.org/r/so/docker-config.git $TEST_LAB_DIR_PATH export TEST_LAB_DIR=$TEST_LAB_DIR_PATH export CONFIG_DIR_PATH=$CONFIG_DIR -docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME up -d +if [ "$DOCKER_ENVIRONMENT" == "remote" ]; then + echo "Starting docker containers with remote images ..." + docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME up -d +elif [ "$DOCKER_ENVIRONMENT" == "local" ]; then + echo "Starting docker containers with local images ..." + docker-compose -f $DOCKER_COMPOSE_FILE_PATH -f $DOCKER_COMPOSE_LOCAL_OVERRIDE_FILE -p $PROJECT_NAME up -d +else + echo "DOCKER_ENVIRONMENT not set correctly in $ENV_FILE. Allowed values: local | remote" + exit 1 +fi echo "Sleeping for 3m" sleep 3m diff --git a/plans/so/integration-etsi-testing/teardown.sh b/plans/so/integration-etsi-testing/teardown.sh index 61edc7df..e92b7314 100755 --- a/plans/so/integration-etsi-testing/teardown.sh +++ b/plans/so/integration-etsi-testing/teardown.sh @@ -28,12 +28,23 @@ ENV_FILE=$CONFIG_DIR/env TEMP_DIR_PATH=$SCRIPT_HOME/temp TEST_LAB_DIR_PATH=$TEMP_DIR_PATH/test_lab DOCKER_COMPOSE_FILE_PATH=$SCRIPT_HOME/docker-compose.yml +DOCKER_COMPOSE_LOCAL_OVERRIDE_FILE=$SCRIPT_HOME/docker-compose.local.yml echo "Running $SCRIPT_HOME/$SCRIPT_NAME ..." export $(egrep -v '^#' $ENV_FILE | xargs) export TEST_LAB_DIR=$TEST_LAB_DIR_PATH export CONFIG_DIR_PATH=$CONFIG_DIR -docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME down +if [ "$DOCKER_ENVIRONMENT" == "remote" ]; then + echo "Tearing down docker containers from remote images ..." + docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME down +elif [ "$DOCKER_ENVIRONMENT" == "local" ]; then + echo "Tearing down docker containers from local images ..." + docker-compose -f $DOCKER_COMPOSE_FILE_PATH -f $DOCKER_COMPOSE_LOCAL_OVERRIDE_FILE -p $PROJECT_NAME down +else + echo "Couldn't find valid property for DOCKER_ENVIRONMENT in $ENV_FILE." + echo "Attempting normal teardown ..." + docker-compose -f $DOCKER_COMPOSE_FILE_PATH -p $PROJECT_NAME down +fi echo "Finished executing $SCRIPT_HOME/$SCRIPT_NAME" diff --git a/run-csit.sh b/run-csit.sh index e7457adc..5551d212 100755 --- a/run-csit.sh +++ b/run-csit.sh @@ -18,6 +18,10 @@ # $1 project/functionality # $2 robot options +# +# functions +# + function docker_stats(){ #General memory details echo "> top -bn1 | head -3" @@ -38,6 +42,59 @@ function docker_stats(){ echo } +# save current set options +function save_set() { + RUN_CSIT_SAVE_SET="$-" + RUN_CSIT_SHELLOPTS="$SHELLOPTS" +} + +# load the saved set options +function load_set() { + _setopts="$-" + + # bash shellopts + for i in $(echo "$SHELLOPTS" | tr ':' ' ') ; do + set +o ${i} + done + for i in $(echo "$RUN_CSIT_SHELLOPTS" | tr ':' ' ') ; do + set -o ${i} + done + + # other options + for i in $(echo "$_setopts" | sed 's/./& /g') ; do + set +${i} + done + set -${RUN_CSIT_SAVE_SET} +} + +# set options for quick bailout when error +function harden_set() { + set -xeo pipefail + set +u # enabled it would probably fail too many often +} + +# relax set options so the sourced file will not fail +# the responsibility is shifted to the sourced file... +function relax_set() { + set +e + set +o pipefail +} + +# wrapper for sourcing a file +function source_safely() { + [ -z "$1" ] && return 1 + relax_set + . "$1" + load_set +} + +# +# main +# + +# set and save options for quick failure +harden_set && save_set + if [ $# -eq 0 ] then echo @@ -50,13 +107,13 @@ then fi if [ -z "$WORKSPACE" ]; then - export WORKSPACE=`git rev-parse --show-toplevel` + export WORKSPACE=$(git rev-parse --show-toplevel) fi -rm -rf $WORKSPACE/archives -mkdir -p $WORKSPACE/archives +rm -rf "$WORKSPACE/archives" +mkdir -p "$WORKSPACE/archives" -if [ -f ${WORKSPACE}/${1}/testplan.txt ]; then +if [ -f "${WORKSPACE}/${1}/testplan.txt" ]; then export TESTPLAN="${1}" else echo "testplan not found: ${WORKSPACE}/${TESTPLAN}/testplan.txt" @@ -65,67 +122,64 @@ fi export TESTOPTIONS="${2}" -TESTPLANDIR=${WORKSPACE}/${TESTPLAN} +TESTPLANDIR="${WORKSPACE}/${TESTPLAN}" # Run installation of prerequired libraries -source ${WORKSPACE}/prepare-csit.sh +source_safely "${WORKSPACE}/prepare-csit.sh" # Activate the virtualenv containing all the required libraries installed by prepare-csit.sh -source "${ROBOT_VENV}/bin/activate" - -WORKDIR=`mktemp -d --suffix=-robot-workdir` -cd ${WORKDIR} +source_safely "${ROBOT_VENV}/bin/activate" -set +u -set -x +WORKDIR=$(mktemp -d --suffix=-robot-workdir) +cd "${WORKDIR}" # Add csit scripts to PATH -export PATH=${PATH}:${WORKSPACE}/docker/scripts:${WORKSPACE}/scripts:${ROBOT_VENV}/bin -export SCRIPTS=${WORKSPACE}/scripts +export PATH="${PATH}:${WORKSPACE}/docker/scripts:${WORKSPACE}/scripts:${ROBOT_VENV}/bin" +export SCRIPTS="${WORKSPACE}/scripts" export ROBOT_VARIABLES= # Sign in to nexus3 docker repo docker login -u anonymous -p anonymous nexus3.onap.org:10001 # Run setup script plan if it exists -cd ${TESTPLANDIR} -SETUP=${TESTPLANDIR}/setup.sh -if [ -f ${SETUP} ]; then +cd "${TESTPLANDIR}" +SETUP="${TESTPLANDIR}/setup.sh" +if [ -f "${SETUP}" ]; then echo "Running setup script ${SETUP}" - source ${SETUP} + source_safely "${SETUP}" fi # show memory consumption after all docker instances initialized -docker_stats | tee $WORKSPACE/archives/_sysinfo-1-after-setup.txt +docker_stats | tee "$WORKSPACE/archives/_sysinfo-1-after-setup.txt" # Run test plan -cd $WORKDIR +cd "$WORKDIR" echo "Reading the testplan:" -cat ${TESTPLANDIR}/testplan.txt | egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' | sed "s|^|${WORKSPACE}/tests/|" > testplan.txt +cat "${TESTPLANDIR}/testplan.txt" | egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' | sed "s|^|${WORKSPACE}/tests/|" > testplan.txt cat testplan.txt SUITES=$( xargs -a testplan.txt ) -echo ROBOT_VARIABLES=${ROBOT_VARIABLES} +echo ROBOT_VARIABLES="${ROBOT_VARIABLES}" echo "Starting Robot test suites ${SUITES} ..." -set +e +relax_set python -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES} RESULT=$? -set -e -echo "RESULT: " $RESULT -rsync -av $WORKDIR/ $WORKSPACE/archives +load_set +echo "RESULT: $RESULT" +rsync -av "$WORKDIR/" "$WORKSPACE/archives" # Record list of active docker containers -docker ps --format "{{.Image}}" > $WORKSPACE/archives/_docker-images.log +docker ps --format "{{.Image}}" > "$WORKSPACE/archives/_docker-images.log" # show memory consumption after all docker instances initialized -docker_stats | tee $WORKSPACE/archives/_sysinfo-2-after-robot.txt +docker_stats | tee "$WORKSPACE/archives/_sysinfo-2-after-robot.txt" # Run teardown script plan if it exists -cd ${TESTPLANDIR} -TEARDOWN=${TESTPLANDIR}/teardown.sh -if [ -f ${TEARDOWN} ]; then +cd "${TESTPLANDIR}" +TEARDOWN="${TESTPLANDIR}/teardown.sh" +if [ -f "${TEARDOWN}" ]; then echo "Running teardown script ${TEARDOWN}" - source ${TEARDOWN} + source_safely "${TEARDOWN}" fi # TODO: do something with the output diff --git a/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-start.sh b/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-start.sh index 68e0745d..c63eaf68 100755 --- a/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-start.sh +++ b/scripts/dcaegen2-collectors-datafile/dfc-management/dfc-start.sh @@ -17,16 +17,6 @@ for i in {1..10}; do if [ $(docker inspect --format '{{ .State.Running }}' $DFC_APP) ] then echo "DFC app Running" - - # enable TRACE logging of DFC - docker exec $DFC_APP /bin/sh -c " sed -i 's/org.onap.dcaegen2.collectors.datafile: WARN/org.onap.dcaegen2.collectors.datafile: TRACE/g' /opt/app/datafile/config/application.yaml" - - #enable TRACE logging of spring-framework - docker exec $DFC_APP /bin/sh -c " sed -i 's/org.springframework.data: ERROR/org.springframework.data: TRACE/g' /opt/app/datafile/config/application.yaml" - - docker restart $DFC_APP - sleep 10 - break else echo sleep $i diff --git a/scripts/dcaegen2-collectors-datafile/dfc-management/docker-compose.yml b/scripts/dcaegen2-collectors-datafile/dfc-management/docker-compose.yml index 9738bcde..9e15ccf0 100644 --- a/scripts/dcaegen2-collectors-datafile/dfc-management/docker-compose.yml +++ b/scripts/dcaegen2-collectors-datafile/dfc-management/docker-compose.yml @@ -6,8 +6,7 @@ networks: services: dfc: #image fron Nexus - #image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest - image: yanhuanwang/dfc:latest + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest #local image for test purposes #image: org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest container_name: dfc_app0 diff --git a/scripts/sdc/setup_sdc_for_sanity.sh b/scripts/sdc/setup_sdc_for_sanity.sh index 603bd457..562c26d1 100644 --- a/scripts/sdc/setup_sdc_for_sanity.sh +++ b/scripts/sdc/setup_sdc_for_sanity.sh @@ -6,7 +6,22 @@ function usage { echo "setup sdc and run ui test suite: setup_sdc_for_sanity.sh tud" } -set -x +# returns 0: if SDC_LOCAL_IMAGES is set to true value +# returns 1: otherwise +function using_local_images { + SDC_LOCAL_IMAGES=$(echo "${SDC_LOCAL_IMAGES}" | tr '[:upper:]' '[:lower:]') + + case "$SDC_LOCAL_IMAGES" in + 1|yes|true|Y) + return 0 + ;; + esac + + return 1 +} + +# fail quick if error +set -exo pipefail echo "This is ${WORKSPACE}/scripts/sdc/setup_sdc_for_sanity.sh" @@ -21,7 +36,17 @@ mkdir -p ${WORKSPACE}/data/environments/ mkdir -p ${WORKSPACE}/data/clone/ cd ${WORKSPACE}/data/clone -git clone --depth 1 http://gerrit.onap.org/r/sdc -b ${GERRIT_BRANCH} +if using_local_images && [ -n "$SDC_LOCAL_GITREPO" ] ; then + if [ -d "$SDC_LOCAL_GITREPO" ] ; then + rm -rf ./sdc + cp -a "$SDC_LOCAL_GITREPO" ./sdc + else + echo "[ERROR]: Local git repo for sdc does not exist: ${SDC_LOCAL_GITREPO}" + exit 1 + fi +else + git clone --depth 1 http://gerrit.onap.org/r/sdc -b ${GERRIT_BRANCH} +fi chmod -R 777 ${WORKSPACE}/data/clone @@ -47,39 +72,29 @@ cp ${WORKSPACE}/data/clone/sdc/sdc-os-chef/scripts/docker_run.sh ${WORKSPACE}/sc source ${WORKSPACE}/data/clone/sdc/version.properties export RELEASE=$major.$minor-STAGING-latest -${WORKSPACE}/scripts/sdc/docker_run.sh -r ${RELEASE} -e ${ENV_NAME} -p 10001 -${TEST_SUITE} - -sleep 120 - -#monitor test processes - -TIME_OUT=1200 -INTERVAL=20 -TIME=0 -CID=`docker ps | grep tests | awk '{print $1}'` - -while [ "$TIME" -lt "$TIME_OUT" ]; do - -PID=`docker exec -i $CID ps -ef | grep java | awk '{print $1}'` - -echo sanity PID is -- $PID - -if [ -z "$PID" ] - then - echo SDC sanity finished in $TIME seconds - break - fi - - echo Sleep: $INTERVAL seconds before testing if SDC sanity completed. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) -done - -if [ "$TIME" -ge "$TIME_OUT" ] - then - echo TIME OUT: SDC sanity was NOT completed in $TIME_OUT seconds... Could cause problems for tests... +if using_local_images ; then + if [ -n "$SDC_LOCAL_TAG" ] ; then + RELEASE="$SDC_LOCAL_TAG" + elif [ -z "$SDC_LOCAL_GITREPO" ] ; then + echo "[WARNING]: Local images used but no tag and no source (git repo) provided for them - we will use tag 'latest'" + RELEASE=latest + fi + + echo "[INFO]: We will use the locally built images (tag: ${RELEASE})" + ${WORKSPACE}/scripts/sdc/docker_run.sh \ + --local \ + -r ${RELEASE} \ + -e ${ENV_NAME} \ + -p 10001 -${TEST_SUITE} +else + echo "[INFO]: We will download images from the default registry (tag: ${RELEASE})" + ${WORKSPACE}/scripts/sdc/docker_run.sh \ + -r ${RELEASE} \ + -e ${ENV_NAME} \ + -p 10001 -${TEST_SUITE} fi - - +# This file is sourced in another script which is out of our control... +set +e +set +o pipefail diff --git a/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot b/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot index 823a9b27..af7b6f1a 100755 --- a/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot +++ b/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot @@ -32,12 +32,12 @@ Verify single event with single 1MB SFTP file. From event poll to published file Set Environment Variable FTP_TYPE SFTP Set Environment Variable NUM_FTP_SERVERS 1 Set Environment Variable DR_FEEDS 2:A - Set Environment Variable DRR_SIM_IP drsim_redir + Set Environment Variable DR_REDIR_SIM drsim_redir Set Environment Variable SFTP_SIMS sftp-server0:22 Set Environment Variable FTPS_SIMS ftpes-server-vsftpd0:21 ${cli_cmd_output}= Run Process ./simulators-start.sh cwd=${SIMGROUP_ROOT} - Log To Console Simulator-start: + Log To Console Simulator-start: Log To Console ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} MR Sim Emitted Files Equal 0 #Verify 0 file emitted from MR sim DR Sim Published Files Equal 0 #Verify 0 file published to DR sim @@ -88,7 +88,7 @@ Verify single event with single 5MB SFTP file. From event poll to published file Set Environment Variable FTP_TYPE SFTP Set Environment Variable NUM_FTP_SERVERS 1 Set Environment Variable DR_FEEDS 2:A - Set Environment Variable DRR_SIM_IP drsim_redir + Set Environment Variable DR_REDIR_SIM drsim_redir Set Environment Variable SFTP_SIMS sftp-server0:22 Set Environment Variable FTPS_SIMS ftpes-server-vsftpd0:21 @@ -150,7 +150,7 @@ Verify single event with single 50MB SFTP file. From event poll to published fil Set Environment Variable FTP_TYPE SFTP Set Environment Variable NUM_FTP_SERVERS 1 Set Environment Variable DR_FEEDS 2:A - Set Environment Variable DRR_SIM_IP drsim_redir + Set Environment Variable DR_REDIR_SIM drsim_redir Set Environment Variable SFTP_SIMS sftp-server0:22 Set Environment Variable FTPS_SIMS ftpes-server-vsftpd0:21 diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot index 80017349..1e6d3105 100644 --- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot +++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot @@ -154,7 +154,7 @@ Add service instance entry in AAI [Arguments] ${aai_service_instance} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Log AAI url ${AAI_SIMULATOR_SETUP_URL} - ${resp}= Put Request ${aai_session} /setup/add_service_instace headers=${suite_headers} data=${aai_service_instance} + ${resp}= Put Request ${aai_session} /setup/add_service_instance headers=${suite_headers} data=${aai_service_instance} Should Be Equal As Strings ${resp.status_code} 200 Add logical link entry in AAI diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py index 0886434e..eeb08265 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py +++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py @@ -54,12 +54,12 @@ class AAISetup(BaseHTTPRequestHandler): httpServerLib.set_response_200_ok(self) logger.debug('AAISetup PUT /setup/add_pnf_entry [' + pnf_name + '] -> 200 OK') - elif re.search('/setup/add_service_instace', self.path): + elif re.search('/setup/add_service_instance', self.path): service_instance_payload = httpServerLib.get_payload(self) global service_instance service_instance = json.loads(service_instance_payload) httpServerLib.set_response_200_ok(self) - logger.debug('AAISetup PUT /setup/add_service_instace -> 200 OK') + logger.debug('AAISetup PUT /setup/add_service_instance -> 200 OK') elif re.search('/setup/add_logical_link', self.path): logical_link_payload = httpServerLib.get_payload(self) logical_link_name = json.loads(logical_link_payload).get("link-name") @@ -124,9 +124,9 @@ class AAIHandler(BaseHTTPRequestHandler): else: httpServerLib.set_response_404_not_found(self) logger.info('AAIHandler GET /aai/v12/network/logical-links/logical-link/' + logical_link_name + ' -> 404 Not found, actual link: ' + created_logical_link) - elif re.search('aai/v12/network/pnfs/pnf/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service', self.path): + elif re.search('aai/v12/network/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service', self.path): httpServerLib.set_response_200_ok(self, payload = json.dumps(service_instance).encode('utf-8')) - logger.debug('AAIHandler GET aai/v12/network/pnfs/pnf/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service -> 200 OK') + logger.debug('AAIHandler GET aai/v12/network/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service -> 200 OK') else: httpServerLib.set_response_404_not_found(self) logger.info('AAIHandler GET ' + self.path + ' -> 404 Not found') diff --git a/tests/so/etsi/data/distributeServiceTemplate.json b/tests/so/etsi/data/distributeServiceTemplate.json index 11b98807..47a9f21b 100644 --- a/tests/so/etsi/data/distributeServiceTemplate.json +++ b/tests/so/etsi/data/distributeServiceTemplate.json @@ -20,7 +20,7 @@ { "artifactName": "manualdistributiontestvnf0_modules.json", "artifactType": "VF_MODULES_METADATA", - "artifactURL": "/sdc/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/manualdistributiontestvnf0_modules.json", + "artifactURL": "/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/manualdistributiontestvnf0_modules.json", "artifactChecksum": "NTc0NDlkNzdmYzVmMDM3ZjMxMTE2NDBmYWJiMDM1NzY\u003d", "artifactDescription": "Auto-generated VF Modules information artifact", "artifactTimeout": 120, @@ -31,7 +31,7 @@ { "artifactName": "base_ves_med1.yaml", "artifactType": "HEAT", - "artifactURL": "/sdc/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.yaml", + "artifactURL": "/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.yaml", "artifactChecksum": "YTAwNTQ3NjczY2Y5MmUwZjUzZTY1ZjNhNTA0NGQyMDY\u003d", "artifactDescription": "created from csar", "artifactTimeout": 120, @@ -40,7 +40,7 @@ "generatedArtifact": { "artifactName": "base_ves_med1.env", "artifactType": "HEAT_ENV", - "artifactURL": "/sdc/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.env", + "artifactURL": "/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.env", "artifactChecksum": "Mjg5YTVhNTlmYTdjYTFlYjYxMDlhODYzNmJhZGJiZGE\u003d", "artifactDescription": "Auto-generated HEAT Environment deployment artifact", "artifactTimeout": 120, @@ -53,7 +53,7 @@ { "artifactName": "base_ves_med1.env", "artifactType": "HEAT_ENV", - "artifactURL": "/sdc/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.env", + "artifactURL": "/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/base_ves_med1.env", "artifactChecksum": "Mjg5YTVhNTlmYTdjYTFlYjYxMDlhODYzNmJhZGJiZGE\u003d", "artifactDescription": "Auto-generated HEAT Environment deployment artifact", "artifactTimeout": 120, @@ -64,7 +64,7 @@ { "artifactName": "TOSCA.meta", "artifactType": "OTHER", - "artifactURL": "/sdc/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/TOSCA.meta", + "artifactURL": "/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/TOSCA.meta", "artifactChecksum": "NWE2ODcyOWY0NGI2MzEyOGViYjUxNTEwMjU5OWRhZmI\u003d", "artifactDescription": "created from csar", "artifactTimeout": 120, @@ -75,7 +75,7 @@ { "artifactName": "descriptor.yaml", "artifactType": "OTHER", - "artifactURL": "/sdc/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/descriptor.yaml", + "artifactURL": "/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/resourceInstances/manualdistributiontestvnf0/artifacts/descriptor.yaml", "artifactChecksum": "YWZkNTg2ZGMzZjRhZjgxNzNkODJiNjgwZmRlZjlmNDE\u003d", "artifactDescription": "created from csar", "artifactTimeout": 120, @@ -90,7 +90,7 @@ { "artifactName": "service-Manualdistributiontestservice-csar.csar", "artifactType": "TOSCA_CSAR", - "artifactURL": "/sdc/v1/catalog/services/Manualdistributiontestservice/1.0/artifacts/service-Manualdistributiontestservice-csar.csar", + "artifactURL": "/unzipped_sdc_csar/v1/catalog/services/Manualdistributiontestservice/1.0/artifacts/service-Manualdistributiontestservice-csar.csar", "artifactChecksum": "YWYxNmUxNTlhMmE3MjA1NGVhNTBhYTdkMmU0OTZjNzM\u003d", "artifactDescription": "TOSCA definition package of the asset", "artifactTimeout": 0, @@ -100,4 +100,3 @@ ], "workloadContext": "Production" } - diff --git a/tests/so/etsi/etsi_tests.robot b/tests/so/etsi/etsi_tests.robot index 4459c07a..e35b5364 100644 --- a/tests/so/etsi/etsi_tests.robot +++ b/tests/so/etsi/etsi_tests.robot @@ -12,7 +12,7 @@ ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}= 48 # Represents the maximum number o Distribute Service Template Create Session sdc_controller_session http://${REPO_IP}:8085 ${data}= Get Binary File ${CURDIR}${/}data${/}distributeServiceTemplate.json - &{headers}= Create Dictionary Authorization=Basic bXNvX2FkbWluOnBhc3N3b3JkMSQ= resource-location=/distribution-test-zip/unzipped Content-Type=application/json Accept=application/json + &{headers}= Create Dictionary Authorization=Basic bXNvX2FkbWluOnBhc3N3b3JkMSQ= resource-location=/distribution-test/unzipped Content-Type=application/json Accept=application/json ${resp}= Post Request sdc_controller_session /test/treatNotification/v1 data=${data} headers=${headers} Run Keyword If '${resp.status_code}' == '200' log to console \nexecuted with expected result Should Be Equal As Strings '${resp.status_code}' '200' diff --git a/tests/so/orchestration/assets/templates/aai/add_customer_required_fields.template b/tests/so/orchestration/assets/templates/aai/add_customer_required_fields.template new file mode 100644 index 00000000..1e008102 --- /dev/null +++ b/tests/so/orchestration/assets/templates/aai/add_customer_required_fields.template @@ -0,0 +1,5 @@ +{ + "global-customer-id": "${global_customer_id}", + "subscriber-name": "${subscriber_name}", + "subscriber-type": "${subscriber_type}" +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/aai/service_model.template b/tests/so/orchestration/assets/templates/aai/service_model.template new file mode 100644 index 00000000..bc31dece --- /dev/null +++ b/tests/so/orchestration/assets/templates/aai/service_model.template @@ -0,0 +1,14 @@ +{ + "model-invariant-id": "${modelInvariantId}", + "model-type": "${modelType}", + "model-vers": { + "model-ver": [ + { + "model-version-id": "${modelVersionId}", + "model-name": "${modelName}", + "model-version": "${modelVersion}", + "model-description": "${modelDescription}" + } + ] + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/aai/service_subscription_required_fields.template b/tests/so/orchestration/assets/templates/aai/service_subscription_required_fields.template new file mode 100644 index 00000000..29503028 --- /dev/null +++ b/tests/so/orchestration/assets/templates/aai/service_subscription_required_fields.template @@ -0,0 +1,3 @@ +{ + "service-type": "${service_type}" +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/ServiceInstance.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/ServiceInstance.template new file mode 100644 index 00000000..a573a77f --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/ServiceInstance.template @@ -0,0 +1,35 @@ +{ + "requestDetails": { + "requestInfo": { + "productFamilyId": "${productFamilyId}", + "instanceName": "${instanceName}", + "source": "VID", + "suppressRollback": false, + "requestorId": "ROBOT" + }, + "modelInfo": { + "modelType": "${serviceInstModelType}", + "modelInvariantId": "${serviceInstModelInvariantId}", + "modelVersionId": "${serviceInstModelNameVersionId}", + "modelName": "${serviceInstModelName}", + "modelVersion": "${serviceInstModelVersion}" + }, + "project": { + "projectName": "${projectName}" + }, + "owningEntity": { + "owningEntityId": "${owningEntityId}", + "owningEntityName": "${owningEntityName}" + }, + "requestParameters": { + "testApi": "${testApi}", + "userParams": [], + "subscriptionServiceType": "${serviceType}", + "aLaCarte": ${aLaCarteFlag} + }, + "subscriberInfo": { + "globalSubscriberId": "${subscriberId}", + "subscriberName": "${subscriberId}" + } + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VfModule.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VfModule.template new file mode 100644 index 00000000..6a5f6d67 --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VfModule.template @@ -0,0 +1,56 @@ +{ + "requestDetails": { + "requestInfo": { + "instanceName": "${vfModuleName}", + "source": "VID", + "suppressRollback": false, + "requestorId": "az2016" + }, + "modelInfo": { + "modelType": "${vfModelType}", + "modelInvariantId": "${vfModelInvariantId}", + "modelVersionId": "${vfModelversionId}", + "modelName": "${vfModelName}", + "modelVersion": "${vfModelVersion}", + "modelCustomizationId": "${vfModelCustomizationId}" + }, + "requestParameters": { + "testApi": "${testApi}", + "aLaCarte": "${alaCarte}", + "userParams": [] + }, + "cloudConfiguration": { + "lcpCloudRegionId": "${vfLcpCloudRegionId}", + "tenantId": "${vfTenantId}", + "cloudOwner": "${cloudOwner}" + }, + "relatedInstanceList": [ + { + "relatedInstance": { + "instanceId": "${serviceInstanceId}", + "modelInfo": { + "modelType": "${serviceInstModelType}", + "modelInvariantId": "${serviceInstModelInvariantId}", + "modelVersionId": "${serviceInstModelNameVersionId}", + "modelName": "${serviceInstModelName}", + "modelVersion": "${serviceInstModelVersion}" + } + } + }, + { + "relatedInstance": { + "instanceId": "${vnfId}", + "modelInfo": { + "modelType": "${vnfModelType}", + "modelName": "${vnfModelName}", + "modelInvariantId": "${vnfModelInvariantId}", + "modelVersion": "${vnfModelVersion}", + "modelVersionId": "${vnfModelversionId}", + "modelCustomizationName": "${vnfModelCustomizationName}", + "modelCustomizationId": "${vnfModelcustomizationId}" + } + } + } + ] + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VfModuleWithVolume.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VfModuleWithVolume.template new file mode 100644 index 00000000..424d526a --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VfModuleWithVolume.template @@ -0,0 +1,69 @@ +{ + "requestDetails": { + "requestInfo": { + "instanceName": "${vfModuleName}", + "source": "VID", + "suppressRollback": false, + "requestorId": "az2016" + }, + "modelInfo": { + "modelType": "${vfModelType}", + "modelInvariantId": "${vfModelInvariantId}", + "modelVersionId": "${vfModelversionId}", + "modelName": "${vfModelName}", + "modelVersion": "${vfModelVersion}", + "modelCustomizationId": "${vfModelCustomizationId}" + }, + "requestParameters": { + "testApi": "${testApi}", + "aLaCarte": "${alaCarte}", + "userParams": [] + }, + "cloudConfiguration": { + "lcpCloudRegionId": "${vfLcpCloudRegionId}", + "cloudOwner": "${cloudOwner}", + "tenantId": "${vfTenantId}" + }, + "relatedInstanceList": [ + { + "relatedInstance": { + "instanceId": "${serviceInstanceId}", + "modelInfo": { + "modelType": "${serviceInstModelType}", + "modelInvariantId": "${serviceInstModelInvariantId}", + "modelVersionId": "${serviceInstModelNameVersionId}", + "modelName": "${serviceInstModelName}", + "modelVersion": "${serviceInstModelVersion}" + } + } + }, + { + "relatedInstance": { + "instanceId": "${vnfId}", + "modelInfo": { + "modelType": "${vnfModelType}", + "modelName": "${vnfModelName}", + "modelInvariantId": "${vnfModelInvariantId}", + "modelVersion": "${vnfModelVersion}", + "modelVersionId": "${vnfModelversionId}", + "modelCustomizationName": "${vnfModelCustomizationName}", + "modelCustomizationId": "${vnfModelcustomizationId}" + } + } + }, + { + "relatedInstance": { + "instanceId": "${volumeGroupId}", + "modelInfo": { + "modelType": "${volumeGroupModelType}", + "modelName": "${volumeGroupModelName}", + "modelInvariantId": "${volumeGroupModelInvariantId}", + "modelVersion": "${volumeGroupModelVersion}", + "modelVersionId": "${volumeGroupModelversionId}", + "modelCustomizationId": "${volumeGroupModelCustomizationId}" + } + } + } + ] + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/Vnf.json b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/Vnf.json new file mode 100644 index 00000000..7e11dbe7 --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/Vnf.json @@ -0,0 +1,49 @@ +{ + "requestDetails": { + "requestInfo": { + "instanceName": "${vnfInstanceName}", + "source": "VID", + "suppressRollback": false, + "productFamilyId": "${productfamilyid}", + "requestorId": "ROBOT" + }, + "modelInfo": { + "modelType": "${vnfModelType}", + "modelInvariantId": "${vnfModelInvariantId}", + "modelName": "${vnfModelName}", + "modelVersionId": "${vnfModelversionId}", + "modelVersion": "${vnfModelVersion}", + "modelCustomizationName": "${vnfModelCustomizationName}", + "modelCustomizationId": "${vnfModelcustomizationId}" + }, + "requestParameters": { + "testApi": "${testApi}", + "userParams": [] + }, + "cloudConfiguration": { + "lcpCloudRegionId": "${vnfLcpCloudRegionid}", + "cloudOwner": "${cloudOwner}", + "tenantId": "${vnfTenantId}" + }, + "platform": { + "platformName": "${platformName}" + }, + "lineOfBusiness": { + "lineOfBusinessName": "${lineOfBusinessName}" + }, + "relatedInstanceList": [ + { + "relatedInstance": { + "instanceId": "${serviceInstanceId}", + "modelInfo": { + "modelType": "${serviceInstModelType}", + "modelInvariantId": "${serviceInstModelInvariantId}", + "modelVersionId": "${serviceInstModelNameVersionId}", + "modelName": "${serviceInstModelName}", + "modelVersion": "${serviceInstModelVersion}" + } + } + } + ] + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VolumeGroup.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VolumeGroup.template new file mode 100644 index 00000000..d117e28d --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Create/VolumeGroup.template @@ -0,0 +1,56 @@ +{ + "requestDetails": { + "modelInfo": { + "modelType": "${volumeGroupModelType}", + "modelVersion": "${volumeGroupModelVersion}", + "modelName": "${volumeGroupModelName}", + "modelInvariantId": "${volumeGroupModelInvariantId}", + "modelVersionId": "${volumeGroupModelVersionId}", + "modelCustomizationId": "${volumeGroupModelCustomizationId}" + }, + "requestInfo": { + "instanceName": "${volumeGroupName}", + "source": "VID", + "suppressRollback": true, + "requestorId": "sk720x" + }, + "requestParameters": { + "testApi": "${testApi}", + "aLaCarte": "${alaCarte}", + "userParams": [] + }, + "cloudConfiguration": { + "lcpCloudRegionId": "${volumeGroupLcpCloudRegionId}", + "cloudOwner": "${cloudOwner}", + "tenantId": "${volumeGroupTenantId}" + }, + "relatedInstanceList": [ + { + "relatedInstance": { + "instanceId": "${serviceInstanceId}", + "modelInfo": { + "modelType": "${serviceInstModelType}", + "modelInvariantId": "${serviceInstModelInvariantId}", + "modelVersionId": "${serviceInstModelNameVersionId}", + "modelName": "${serviceInstModelName}", + "modelVersion": "${serviceInstModelVersion}" + } + } + }, + { + "relatedInstance": { + "instanceId": "${vnfId}", + "modelInfo": { + "modelType": "${vnfModelType}", + "modelName": "${vnfModelName}", + "modelInvariantId": "${vnfModelInvariantId}", + "modelVersion": "${vnfModelVersion}", + "modelVersionId": "${vnfModelversionId}", + "modelCustomizationName": "${vnfModelCustomizationName}", + "modelCustomizationId": "${vnfModelcustomizationId}" + } + } + } + ] + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/ServiceInstance.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/ServiceInstance.template new file mode 100644 index 00000000..531af177 --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/ServiceInstance.template @@ -0,0 +1,20 @@ +{ + "requestDetails": { + "modelInfo": { + "modelType": "service", + "modelInvariantId": "${serviceInstModelInvariantId}", + "modelVersionId": "${serviceInstModelNameVersionId}", + "modelName": "${serviceInstModelName}", + "modelVersion":"1.0" + }, + "requestInfo": { + "source": "VID", + "requestorId": "ROBOT" + }, + "requestParameters": { + "testApi": "${testApi}", + "userParams": [], + "aLaCarte": "${aLaCarteFlag}" + } + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/VfModule.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/VfModule.template new file mode 100644 index 00000000..ee227e08 --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/VfModule.template @@ -0,0 +1,26 @@ +{ + "requestDetails": { + "modelInfo": { + "modelType": "${vfModelType}", + "modelInvariantId": "${vfModelInvariantId}", + "modelVersionId": "${vfModelversionId}", + "modelName": "${vfModelName}", + "modelVersion": "${vfModelVersion}", + "modelCustomizationId": "${vfModelCustomizationId}" + }, + "requestParameters": { + "testApi": "${testApi}", + "aLaCarte": "${alaCarte}", + "userParams": [] + }, + "requestInfo": { + "source": "VID", + "requestorId": "az2016" + }, + "cloudConfiguration": { + "lcpCloudRegionId": "${vfLcpCloudRegionId}", + "tenantId": "${vfTenantId}", + "cloudOwner": "${cloudOwner}" + } + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/Vnf.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/Vnf.template new file mode 100644 index 00000000..fc553952 --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/Vnf.template @@ -0,0 +1,25 @@ +{ + "requestDetails":{ + "modelInfo":{ + "modelType":"${vnfModelType}", + "modelInvariantId":"${vnfModelInvariantId}", + "modelNameVersionId":"${vnfModelversionId}", + "modelName":"${vnfModelName}", + "modelCustomizationName":"${vnfModelCustomizationName}", + "modelVersion":"${vnfModelVersion}" + }, + "requestInfo":{ + "source":"VID", + "requestorId":"ROBOT" + }, + "cloudConfiguration":{ + "lcpCloudRegionId":"${vnfLcpCloudRegionid}", + "tenantId":"${vnfTenantId}", + "cloudOwner": "${cloudOwner}" + }, + "requestParameters": { + "testApi": "${testApi}", + "userParams": [] + } + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/VolumeGroup.template b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/VolumeGroup.template new file mode 100644 index 00000000..b5a495f2 --- /dev/null +++ b/tests/so/orchestration/assets/templates/bpmn-infra/aLaCarte/Delete/VolumeGroup.template @@ -0,0 +1,26 @@ +{ + "requestDetails": { + "modelInfo": { + "modelType": "${volumeGroupModelType}", + "modelInvariantId": "${volumeGroupModelInvariantId}", + "modelVersionId": "${volumeGroupModelVersionId}", + "modelName": "${volumeGroupModelName}", + "modelVersion": "${volumeGroupModelVersion}", + "modelCustomizationId": "${volumeGroupModelCustomizationId}" + }, + "requestParameters": { + "testApi": "${testApi}", + "aLaCarte": "${alaCarte}", + "userParams": [] + }, + "requestInfo": { + "source": "VID", + "requestorId": "sk720x" + }, + "cloudConfiguration": { + "lcpCloudRegionId": "${volumeGroupLcpCloudRegionId}", + "tenantId": "${volumeGroupTenantId}", + "cloudOwner": "${cloudOwner}" + } + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/gr-api/CreateAAIInventory.json b/tests/so/orchestration/assets/templates/gr-api/CreateAAIInventory.json new file mode 100644 index 00000000..5dd23235 --- /dev/null +++ b/tests/so/orchestration/assets/templates/gr-api/CreateAAIInventory.json @@ -0,0 +1,245 @@ +{ + "vserver-id": "92272b67-d23f-42ca-87fa-7b06a9ec81f3", + "vserver-name": "tsbc0005vm002", + "vserver-name2": "tsbc0005vm002", + "vserver-selflink": "https://test.com:8774/v2/0422ffb57ba042c0800a29dc85ca70f8/servers/92272b67-d23f-42ca-87fa-7b06a9ec81f3", + "in-maint": false, + "is-closed-loop-disabled": false, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "tsbc0005v_tsbc0005vm002_mgmt_port_1", + "selflink": "https://test.com:9696/v2.0/ports/07f5b14c-147a-4d14-8c94-a9e94dbc097b", + "interface-id": "07f5b14c-147a-4d14-8c94-a9e94dbc097b", + "macaddr": "02:07:f5:b1:4c:14", + "network-name": "GRP-27529-T-IST-05E-dyh3b_TIPFR_OAMP_NSD_TSBC0_net_1", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "1.2.2.2", + "l3-interface-ipv4-prefix-length": 28, + "is-floating": false, + "neutron-network-id": "cae2ade2-9f44-40fa-b124-18b101ff9aa0", + "neutron-subnet-id": "1f954922-6e9c-4a64-9d78-62e869ba8c77" + } + ], + "vlans" : { + "vlan": [ + { + "in-maint": false, + "is-ip-unnumbered": false, + "is-private": false, + "vlan-id-inner": 0, + "vlan-id-outer": 141, + "vlan-interface": "oamfw_oam_direct1_0_port141" + } + ] + } + }, + { + "interface-name": "tsbc0005v_tsbc0005vm002_role1_port_0", + "selflink": "https://test.com:9696/v2.0/ports/0594a2f2-7ea4-42eb-abc2-48ea49677fca", + "interface-id": "0594a2f2-7ea4-42eb-abc2-48ea49677fca", + "macaddr": "02:05:94:a2:f2:7e", + "network-name": "GRP-27529-T-IST-05E-dyh3b_TIPFR-UNTR-ROLE1-PARNT_net_1", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "tsbc0005v_tsbc0005vm002_subint_untrusted_role1_81", + "interface-id": "2bbfa345-33bb-495a-94b2-fb514ee1cffc", + "macaddr": "02:05:94:a2:f2:7e", + "network-name": "GRP-27529-T-IST-05E-dyh3b_TIPFR_UNTR_VSE_ROLE10_net_1", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false + } + ] + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "172.26.0.36", + "l3-interface-ipv4-prefix-length": 27, + "is-floating": false, + "neutron-network-id": "49bd2c8c-808d-4783-a1c5-5d9ae0c6a9fa", + "neutron-subnet-id": "8d073a94-b1b9-493a-8fc1-cf92abcba466" + } + ], + "vlans" : { + "vlan": [ + { + "in-maint": false, + "is-ip-unnumbered": false, + "is-private": false, + "vlan-id-inner": 0, + "vlan-id-outer": 256, + "vlan-interface": "oamfw_oam_direct1_0_port141" + } + ] + } + }, + { + "interface-name": "tsbc0005v_tsbc0005vm002_service1_port_0", + "selflink": "https://test.com:9696/v2.0/ports/27391d94-33af-474a-927d-d409249e8fd3", + "interface-id": "27391d94-33af-474a-927d-d409249e8fd3", + "macaddr": "02:27:39:1d:94:33", + "network-name": "GRP-27529-T-IST-05E-dyh3b_TIPFR-UNTR-CUS-PARNT_net_1", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "tsbc0005v_tsbc0005vm002_subint_untrusted_service1_101", + "interface-id": "d54dfd09-75c6-4e04-b204-909455b8f933", + "macaddr": "02:27:39:1d:94:33", + "network-name": "GRP-27529-T-IST-05E_int_SUB-INTERFACE_net_006", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false + }, + { + "interface-name": "tsbc0005v_tsbc0005vm002_subint_untrusted_service1_103", + "interface-id": "f7a998c0-8939-4b07-bf4a-0862e9c325e1", + "macaddr": "02:27:39:1d:94:33", + "network-name": "GRP-27529-T-IST-05E_int_SUB-INTERFACE_net_008", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false + }, + { + "interface-name": "tsbc0005v_tsbc0005vm002_subint_untrusted_service1_102", + "interface-id": "621c1fea-60b8-44ee-aede-c01b8b1aaa70", + "macaddr": "02:27:39:1d:94:33", + "network-name": "GRP-27529-T-IST-05E_int_SUB-INTERFACE_net_007", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false + } + ] + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "172.26.0.5", + "l3-interface-ipv4-prefix-length": 27, + "is-floating": false, + "neutron-network-id": "7acdc0c3-eff2-4ecb-8722-a3451711027c", + "neutron-subnet-id": "4c4cc70a-7f31-41a6-a50f-5390d80fd127" + } + ], + "vlans" : { + "vlan": [ + { + "in-maint": false, + "is-ip-unnumbered": false, + "is-private": false, + "vlan-id-inner": 0, + "vlan-id-outer": 574, + "vlan-interface": "oamfw_oam_direct1_0_port141" + } + ] + } + }, + { + "interface-name": "tsbc0005v_tsbc0005vm002_int_ha_port_0", + "selflink": "https://test.com:9696/v2.0/ports/00bb8407-650e-48b5-b919-33b88d6f8fe3", + "interface-id": "00bb8407-650e-48b5-b919-33b88d6f8fe3", + "macaddr": "02:00:bb:84:07:65", + "network-name": "tsbc0005v_int_ha_net", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "172.26.1.27", + "l3-interface-ipv4-prefix-length": 26, + "is-floating": false, + "neutron-network-id": "de0a1ec5-8685-4de5-999c-a791bd48c9d8", + "neutron-subnet-id": "1151932c-935d-4cdc-b134-f58bebed9bf1" + } + ], + "vlans" : { + "vlan": [ + { + "in-maint": false, + "is-ip-unnumbered": false, + "is-private": false, + + "vlan-id-inner": 0, + "vlan-id-outer": 654, + "vlan-interface": "oamfw_oam_direct1_0_port141" + } + ] + } + }, + { + "interface-name": "tsbc0005v_tsbc0005vm002_mgmt_port_0", + "selflink": "https://test.com:9696/v2.0/ports/8d93f63e-e972-48c7-ad98-b2122da47315", + "interface-id": "8d93f63e-e972-48c7-ad98-b2122da47315", + "macaddr": "02:8d:93:f6:3e:e9", + "network-name": "GRP-27529-T-IST-05E-dyh3b_TIPFR_OAMP_NSD_TSBC0_net_1", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "1.2.2.2", + "l3-interface-ipv4-prefix-length": 28, + "is-floating": false, + "neutron-network-id": "cae2ade2-9f44-40fa-b124-18b101ff9aa0", + "neutron-subnet-id": "1f954922-6e9c-4a64-9d78-62e869ba8c77" + } + ], + "vlans" : { + "vlan": [ + { + "in-maint": false, + "is-ip-unnumbered": false, + "is-private": false, + + "vlan-id-inner": 0, + "vlan-id-outer": 123, + "vlan-interface": "oamfw_oam_direct1_0_port141" + } + ] + } + }, + { + "interface-name": "tsbc0005v_tsbc0005vm002_trusted_port", + "selflink": "https://test.com:9696/v2.0/ports/d2f51f82-0ec2-4581-bd1a-d2a82073e52b", + "interface-id": "d2f51f82-0ec2-4581-bd1a-d2a82073e52b", + "macaddr": "02:d2:f5:1f:82:0e", + "network-name": "GRP-27529-T-IST-05E-dyh3b_TIPFR_TRST_VIF_TSBC0_net_1", + "is-port-mirrored": false, + "in-maint": false, + "is-ip-unnumbered": false, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "1.2.2.2", + "l3-interface-ipv4-prefix-length": 28, + "is-floating": false, + "neutron-network-id": "4f35d575-a4f2-4020-8322-3eb138e7f258", + "neutron-subnet-id": "d476da9d-bf9b-49e1-aec9-fee99b863f30" + } + ], + "vlans" : { + "vlan": [ + { + "in-maint": false, + "is-ip-unnumbered": false, + "is-private": false, + + "vlan-id-inner": 0, + "vlan-id-outer": 965, + "vlan-interface": "oamfw_oam_direct1_0_port141" + } + ] + } + } + ] + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/gr-api/PhysicalServerCreate.json b/tests/so/orchestration/assets/templates/gr-api/PhysicalServerCreate.json new file mode 100644 index 00000000..c0f0ea53 --- /dev/null +++ b/tests/so/orchestration/assets/templates/gr-api/PhysicalServerCreate.json @@ -0,0 +1,111 @@ +{ + "hostname": "rdm52r19c001", + "equip-type": "rack server", + "equip-vendor": "DELL", + "equip-model": "SVR - R740XD - AIC 25GB AC - 44 CORE - 384GB RAM - 4 X 480GB SSD - 6 X 2.4TB HDD - 2 X 1GB - 4 X 10GB X710 - 4 X 25GB (INTEL XXV710) - NBD", + "fqdn": "test.com", + "inv-status": "Configuration", + "in-maint": false, + "prov-status": "PREPROV", + "host-profile": "ns-hp1", + "role": "Application", + "function": "Node", + "p-interfaces": + { + "p-interface": + [ + { + "interface-name": "p7/1", + "speed-value": "25", + "speed-units": "GE", + "port-description": "25GE_rdm521928el1_et-0/0/1:1_[ckt-id]_[fac-id]_[CBB][NCOPS]", + "interface-role": "OAM", + "interface-type": "BUNDLE-MEMBER", + "prov-status": "PREPROV", + "in-maint": false + }, + + { + "interface-name": "p2/2", + "speed-value": "25", + "speed-units": "GE", + "port-description": "25GE_rdm521929el1_et-0/0/1:1_[ckt-id]_[fac-id]_[CBB][NCOPS]", + "interface-role": "OAM", + "interface-type": "BUNDLE-MEMBER", + "prov-status": "PREPROV", + "in-maint": false + }, + + { + "interface-name": "p7/2", + "speed-value": "25", + "speed-units": "GE", + "port-description": "25GE_rdm521929el1_et-0/0/0:1_[ckt-id]_[fac-id]_[CBB][NCOPS]", + "interface-role": "APPLICATION", + "interface-type": "PHYSICAL", + "prov-status": "PREPROV", + "in-maint": false, + "sriov-pfs": + { + "sriov-pf": + [ + { + "pf-pci-id": "0000:5e:00.0" + } + ] + } + }, + { + "interface-name": "p2/1", + "speed-value": "25", + "speed-units": "GE", + "port-description": "25GE_rdm521928el1_et-0/0/0:1_[ckt-id]_[fac-id]_[CBB][NCOPS]", + "interface-role": "APPLICATION", + "interface-type": "PHYSICAL", + "prov-status": "PREPROV", + "in-maint": false, + "sriov-pfs": + { + "sriov-pf": + [ + { + "pf-pci-id": "0000:5e:01.0" + } + ] + } + }, + { + "interface-name": "P1", + "speed-value": "1", + "speed-units": "GE", + "port-description": "1GE_rdm520019sx2_GigabitEthernet1/0/3_[ckt-id]_[fac-id]_[CBB][NCOPS]", + "interface-role": "PXE", + "interface-type": "PHYSICAL", + "prov-status": "PREPROV", + "in-maint": false + }, + + { + "interface-name": "R", + "speed-value": "1", + "speed-units": "GE", + "port-description": "1GE_rdm520019sx2_GigabitEthernet1/0/4_[ckt-id]_[fac-id]_[CBB][NCOPS]", + "interface-role": "IPMI", + "interface-type": "PHYSICAL", + "prov-status": "PREPROV", + "in-maint": false + } + ] + }, + "lag-interfaces": + { + "lag-interface": + [ + { + "interface-name": "bond1", + "prov-status": "PREPROV", + "in-maint": false + } + ] + } +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/setup_cloud_region.json b/tests/so/orchestration/assets/templates/setup_cloud_region.json new file mode 100644 index 00000000..cc5d8575 --- /dev/null +++ b/tests/so/orchestration/assets/templates/setup_cloud_region.json @@ -0,0 +1,10 @@ +{ + "cloud-owner": "${cloudOwner}", + "cloud-region-id": "${cloudRegionId}", + "cloud-type": "${cloudType}", + "owner-defined-type": "${ownerDefinedType}", + "cloud-region-version": "${cloudRegionVersion}", + "cloud-zone": "${cloudZone}", + "complex-name": "${complexName}", + "sriov-automation": "${sriovAutomation}" +}
\ No newline at end of file diff --git a/tests/so/orchestration/assets/templates/setup_tenant.json b/tests/so/orchestration/assets/templates/setup_tenant.json new file mode 100644 index 00000000..e615edef --- /dev/null +++ b/tests/so/orchestration/assets/templates/setup_tenant.json @@ -0,0 +1,4 @@ +{ + "tenant-id": "${tenantId}", + "tenant-name": "${tenantName}" +}
\ No newline at end of file diff --git a/tests/so/orchestration/data/bpmn-infra/aLaCarte/ServiceInstance.csv b/tests/so/orchestration/data/bpmn-infra/aLaCarte/ServiceInstance.csv new file mode 100644 index 00000000..a3468c83 --- /dev/null +++ b/tests/so/orchestration/data/bpmn-infra/aLaCarte/ServiceInstance.csv @@ -0,0 +1,2 @@ +uniqueKey,productFamilyId,instanceName,serviceInstModelInvariantId,serviceInstModelDescription,serviceInstModelType,serviceInstModelNameVersionId,serviceInstModelVersion,serviceInstModelName,owningEntityId,owningEntityName,projectName,serviceType,aLaCarteFlag,subscriberId,sync_response,orch_response,testApi,distributionFilePath,dlpFlag +TC_1,a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb,Robot_SI,944862ae-bb65-4429-8330-a6c9170d6672,Demo,service,d88da85c-d9e8-4f73-b837-3a72a431622b,1,Vf servername-Service,c3f57fa8-ac7d-11e8-98d0-529269fb1459,SO_Test-Network_2.0-1806 & GR_API OE SO_Test200,GR_API_OE_SO_Test200,Robot_Test_Service_Type,true,Robot_Test_Subscriber_ID,202,COMPLETE,GR_API,tests/so/orchestration/assets/templates/sdc_notif_container.json,false diff --git a/tests/so/orchestration/resources/SoKeywords.robot b/tests/so/orchestration/resources/SoKeywords.robot new file mode 100644 index 00000000..f9f68984 --- /dev/null +++ b/tests/so/orchestration/resources/SoKeywords.robot @@ -0,0 +1,103 @@ +*** Settings *** +Library StringTemplater +Library Collections +Library RequestsLibrary +Library HttpLibrary.HTTP +Library OperatingSystem +Library BuiltIn +Library String +Library XML +Resource common/Variables.robot +Resource SoVariables.robot +Resource global_properties.robot +Resource so_interface.robot + +***Variables*** +${SO_REST_URL} ${GLOBAL_SO_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SO_IP_ADDR}:${GLOBAL_SO_SERVER_PORT} + +*** Keywords *** +Wait To Poll + [Documentation] Sleep the execution for the specified time (in seconds). + Sleep ${POLL_WAIT_TIME} + +Poll Orchestration Request + [Documentation] Poll the service orchestration request for the completion. Uses MAX_POLL_COUNT to specify the maximum number of polling attempts. + [Arguments] ${request_id} + : FOR ${INDEX} IN RANGE 1 ${MAX_POLL_COUNT} + \ Log 'Poll Count :' + \ Log ${INDEX} + \ ${orchestration_request_response}= Get Orchestration Request Status ${request_id} + + # First check request status code + \ ${orch_request_status_code}= Set Variable ${orchestration_request_response.status_code} + \ ${orchestration_failure_message}= Run Keyword If ${orch_request_status_code} != ${HTTP_OK} Catenate Error Code ${orch_request_status_code} + \ ${request_completion_status}= Run Keyword If ${orch_request_status_code} != ${HTTP_OK} Set Variable '${ORCH_REQUEST_FAILED}' + \ Exit For Loop If ${orch_request_status_code} != ${HTTP_OK} + + # Get Status of Orchestration request + \ Log ${orchestration_request_response.content} + \ ${request_completion_status} Get Json Value ${orchestration_request_response.content} /request/requestStatus/requestState + \ ${orchestration_status_message}= Run Keyword If ${request_completion_status} != '${ORCH_REQUEST_IN_PROGRESS}' Get Json Value ${orchestration_request_response.content} /request/requestStatus/statusMessage + \ Log ${request_completion_status} + + # Check for FAILED status + \ ${orchestration_failure_message}= Run Keyword If ${request_completion_status} == '${ORCH_REQUEST_FAILED}' Set Variable ${orchestration_status_message} + \ Exit For Loop If ${request_completion_status} == '${ORCH_REQUEST_FAILED}' + + # Check for COMPLETE status + \ Exit For Loop If ${request_completion_status} == '${ORCH_REQUEST_COMPLETE}' + + # Check for MAX NO OF POLL count, and exit if it has reached the maximum poll count + \ ${orchestration_failure_message}= Run Keyword If ${INDEX} == ${MaxPollCount}-1 Set Variable ${TIME_OUT_MESSAGE} + \ Exit For Loop If ${INDEX} == ${MaxPollCount}-1 + \ Wait To Poll + LOG ${orchestration_failure_message} + ${request_completion_status} Get Substring ${request_completion_status} 1 -1 + [Return] ${request_completion_status} ${orchestration_failure_message} + +Get Orchestration Request Status + [Documentation] Get the status of the orchestrated service request. + [Arguments] ${request_id} + + ${url}= Catenate SEPARATOR=/ ${SO_ORCHESTRATION_REQUESTS_URI} ${request_id} + ${orchestration_request_response} Run SO Get Request ${url} + [Return] ${orchestration_request_response} + +Get Orchestration Request Status with parameters + [Documentation] Get the status of the orchestrated service request. + [Arguments] ${request_id} ${parameter} + + ${url}= Catenate ${SO_ORCHESTRATION_REQUESTS_URI}/${request_id}?${parameter} + ${orchestration_request_response} Run SO Get Request ${url} + [Return] ${orchestration_request_response} + +Get ExtSystemErrorSource + [Documentation] Return ExtSystemErrorSource from Get Orchestration Request + [Arguments] ${request_id} + + ${orchestration_request_response} Get Orchestration Request Status with parameters ${request_id} format=statusdetail + ${orchestration_request_response_json} Parse Json ${orchestration_request_response.content} + ${extSystemErrorSource} Convert to String ${orchestration_request_response_json['request']['requestStatus']['extSystemErrorSource']} + + [Return] ${extSystemErrorSource} + +Get RollbackExtSystemErrorSource + [Documentation] Return ExtSystemErrorSource from Get Orchestration Request + [Arguments] ${request_id} + + ${orchestration_request_response} Get Orchestration Request Status with parameters ${request_id} format=statusdetail + ${orchestration_request_response_json} Parse Json ${orchestration_request_response.content} + ${rollbackExtSystemErrorSource} Convert to String ${orchestration_request_response_json['request']['requestStatus']['rollbackExtSystemErrorSource']} + + [Return] ${rollbackExtSystemErrorSource} + +Get FlowStatus + [Documentation] Return Flow Status from Get Orchestration Request + [Arguments] ${request_id} + + ${orchestration_request_response} Get Orchestration Request Status with parameters ${request_id} format=statusdetail + ${orchestration_request_response_json} Parse Json ${orchestration_request_response.content} + Log ${orchestration_request_response_json} + ${flow_status} Convert to String ${orchestration_request_response_json['request']['requestStatus']['flowStatus']} + + [Return] ${flow_status}
\ No newline at end of file diff --git a/tests/so/orchestration/resources/SoVariables.robot b/tests/so/orchestration/resources/SoVariables.robot new file mode 100644 index 00000000..b3ea9098 --- /dev/null +++ b/tests/so/orchestration/resources/SoVariables.robot @@ -0,0 +1,67 @@ +*** Variables *** +### Orchestration Polling Properties ### +${POLL_WAIT_TIME} 5 +${MEGA_POLL_WAIT_TIME} 5 +${MAX_POLL_COUNT} 72 + +### Common Properties ### +${VNFS} vnfs +${VFMODULES} vfModules +${SO_REST_URI} /onap/so/infra/serviceInstantiation/v7/serviceInstances +${SO_ORCHESTRATION_REQUESTS_URI} /onap/so/infra/orchestrationRequests/v7 +${SO_HEALTHCHECK_URI} /manage/health + +${SO_AUDIT_REST_URI} /audit/v1/services/ + +### Layer3 Properties ### +&{SO_LAYER3_HEADERS} Content-Type=application/xml Accept=application/xml Authorization=Basic YXBpaEJwbW46Y2FtdW5kYS1SMTUxMiE= +### Service Properties ### +${SO_REST_URI_CREATE_SERVICE} ${SO_REST_URI} +${SO_REST_URI_DELETE_SERVICE} ${SO_REST_URI} + +### VNF Module Properties ### +${SO_REST_URI_CREATE_VFMODULE} ${SO_REST_URI}/<SERVICEINSTANCEID>/vnfs/<VNFINSTANCEID>/vfModules +${SO_REST_URI_DELETE_VFMODULE} ${SO_REST_URI}/<SERVICEINSTANCEID>/vnfs/<VNFINSTANCEID>/vfModules/<VFMODULEINSTANCEID> +### Messages ### +${TIME_OUT_MESSAGE} No Successful response within specified time +${ORCH_FAILURE_MESSAGE} Orchestration request has failed + +##### VF SPECIFIC PROPERTIES ##### +${INVALID_SERVICE_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid serviceInstanceId is specified" +${INVALID_VNF_INST_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid vnfInstanceId is specified" +${DELETE_VNF_FAIL_MSG} "Can't Delete Generic Vnf. Generic Vnf is still in use." + +##### NETWORK SPECIFIC PROPERTIES ##### +${INVALID_NW_INST_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid networkInstanceId is specified" +${INV_MODEL_NAME_MSG} "Received error from Network Adapter: Unknown Network Type: CONTRAIL_INTERNAL" +${BLANK_MODEL_NAME_MSG} "Error parsing request.${SPACE}${SPACE}No valid modelName is specified" +${INV_REGION_ID_MSG} "Received error from Network Adapter: Cloud Site [RegionTwo] not found" +${BLANK_REGION_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid lcpCloudRegionId is specified" +${INV_TENANT_MSG} "Received error from Network Adapter: 404 Not Found: " +${BLANK_TENANT_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid tenantId is specified" +${INV_SOURCE_MSG} "Recipe does not exist in catalog DB" +${BLANK_SOURCE_MSG} "Error parsing request.${SPACE}${SPACE}No valid source is specified" +${BLANK_INVAR_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid modelInvariantId is specified" +${BLANK_VER_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid modelVersionId is specified" +${BLANK_REQ_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid requestorId is specified" + +### Orchestration Constants ### +${ORCH_REQUEST_COMPLETE} COMPLETE +${ORCH_REQUEST_COMPLETED} COMPLETED +${ORCH_REQUEST_FAILED} FAILED +${ORCH_REQUEST_IN_PROGRESS} IN_PROGRESS + +### MODEL TYPE ### +${MODEL_TYPE_SERVICE} service +${MODEL_TYPE_VNF} vnf +${MODEL_TYPE_VFMODULE} vfModule +${MODEL_TYPE_VOLUME_GROUP} volumeGroup +${MODEL_TYPE_NETWORK} network +${INV_MODEL_TYPE_VNF} vnf1 +${INVALID_MODEL_TYPE} INVALID_MODEL_TYPE +${INVALID_SERVICE_MODEL_NAME} INVALID_SERVICE_MODEL +${INVALID_VFMODULE_MODEL_NAME} INVALID_VFMODULE_MODEL +${INVALID_CLOUD_REGION_ID} INVALID_CLR + +### CLOUD DATA ### +${TENANT_ID} 22eb191dd41a4f3c9be370fc638322f4
\ No newline at end of file diff --git a/tests/so/orchestration/resources/aai/aai_interface.robot b/tests/so/orchestration/resources/aai/aai_interface.robot new file mode 100644 index 00000000..67e828d2 --- /dev/null +++ b/tests/so/orchestration/resources/aai/aai_interface.robot @@ -0,0 +1,91 @@ +*** Settings *** +Documentation The main interface for interacting with A&AI. It handles low level stuff like managing the http request library and A&AI required fields +Library RequestsLibrary +Library UUID +Library HTTPUtils +Resource ../global_properties.robot + +*** Variables *** +${AAI_HEALTH_PATH} /aai/util/echo?action=long +${VERSIONED_INDEX_PATH} /aai/v14 +${AAI_FRONTEND_ENDPOINT} ${GLOBAL_AAI_SERVER_PROTOCOL}://${GLOBAL_INJECTED_AAI1_IP_ADDR}:${GLOBAL_AAI_SERVER_PORT} + +*** Keywords *** +Run A&AI Health Check + [Documentation] Runs an A&AI health check + :FOR ${i} IN RANGE 20 + \ ${resp}= Run A&AI Get Request ${AAI_HEALTH_PATH} + \ Log Received response from so ${resp.json()} + \ Log Received response from so status ${resp.status_code} + \ ${exit_loop}= Evaluate ${resp.status_code} == 200 + \ Exit For Loop If ${exit_loop} + \ Sleep 15s + +Run A&AI Get Request + [Documentation] Runs an A&AI get request + [Arguments] ${data_path} + Disable Warnings + Create Session aai ${AAI_FRONTEND_ENDPOINT} + ${uuid}= Generate UUID + ${headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Accept=application/json Content-Type=application/json X-TransactionId=Test X-FromAppId=SO + ${resp}= Get Request aai ${data_path} headers=${headers} + Log Received response from aai ${resp.text} + [Return] ${resp} + +Run A&AI Put Request + [Documentation] Runs an A&AI put request + [Arguments] ${data_path} ${data} + Disable Warnings + Create Session aai ${AAI_FRONTEND_ENDPOINT} + ${uuid}= Generate UUID + ${headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Accept=application/json Content-Type=application/json X-TransactionId=Test X-FromAppId=SO + ${resp}= Put Request aai ${data_path} data=${data} headers=${headers} + Log Received response from aai ${resp.text} + [Return] ${resp} + +Run A&AI Post Request + [Documentation] Runs an A&AI Post request + [Arguments] ${data_path} ${data} + Disable Warnings + Create Session aai ${AAI_FRONTEND_ENDPOINT} + ${uuid}= Generate UUID + ${headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} + ${resp}= Post Request aai ${data_path} data=${data} headers=${headers} + Log Received response from aai ${resp.text} + [Return] ${resp} + +Run A&AI Patch Request + [Documentation] Runs an A&AI Post request + [Arguments] ${data_path} ${data} + Disable Warnings + Log ${data} + Create Session aai ${AAI_FRONTEND_ENDPOINT} + ${uuid}= Generate UUID + ${headers}= Create Dictionary Accept=application/json Content-Type=application/merge-patch+json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} X-HTTP-Method-Override=PATCH + ${resp}= Post Request aai ${data_path} data=${data} headers=${headers} + Log Received response from aai ${resp.text} + [Return] ${resp} + +Run A&AI Delete Request + [Documentation] Runs an A&AI delete request + [Arguments] ${data_path} ${resource_version} + Disable Warnings + Create Session aai ${AAI_FRONTEND_ENDPOINT} + ${uuid}= Generate UUID + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} + ${resp}= Delete Request aai ${data_path}?resource-version=${resource_version} headers=${headers} + Log Received response from aai ${resp.text} + [Return] ${resp} + +Delete A&AI Entity + [Documentation] Deletes an entity in A&AI + [Arguments] ${uri} + ${get_resp}= Run A&AI Get Request ${VERSIONED_INDEX PATH}${uri} + Run Keyword If '${get_resp.status_code}' == '200' Delete A&AI Entity Exists ${uri} ${get_resp.json()['resource-version']} + +Delete A&AI Entity Exists + [Documentation] Deletes an A&AI entity + [Arguments] ${uri} ${resource_version_id} + ${put_resp}= Run A&AI Delete Request ${VERSIONED_INDEX PATH}${uri} ${resource_version_id} + Should Be Equal As Strings ${put_resp.status_code} 204 + diff --git a/tests/so/orchestration/resources/aai/service_instance.robot b/tests/so/orchestration/resources/aai/service_instance.robot new file mode 100644 index 00000000..bdf45475 --- /dev/null +++ b/tests/so/orchestration/resources/aai/service_instance.robot @@ -0,0 +1,191 @@ +*** Settings *** +Documentation Validate A&AI Serivce Instance +... +... Validate A&AI Serivce Instance + +Resource aai_interface.robot +Library Collections +Library OperatingSystem +Library RequestsLibrary +Library JSONUtils +Library HttpLibrary.HTTP +Library StringTemplater +Resource ../json_templater.robot +Resource ../aai/aai_interface.robot +Resource ../properties/cloudRegion.robot +*** Variables *** +${INDEX PATH} /aai/v15 +${GENERIC_QUERY_PATH} /search/generic-query? +${SYSTEM USER} robot-ete +${CUSTOMER SPEC PATH} /business/customers/customer/ +${SERVICE SUBSCRIPTIONS} /service-subscriptions/service-subscription/ +${SERVICE_INSTANCE_QUERY} /service-instances?service-instance-name= +${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.template +${vnf_orch_update_json} robot/assets/templates/aai/vnf_orch_update.template +${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 +${ROOT_CLOUD_PATH} /cloud-infrastructure/cloud-regions/cloud-region +#*************** Test Case Variables ************* +${VLB_CLOSED_LOOP_DELETE} +${VLB_CLOSED_LOOP_VNF_ID} + + +*** Keywords *** +Validate Service Instance + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${service_instance_name} ${service_type} ${customer_name} ${orchestration_status} + ${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_QUERY}${service_instance_name} + Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${service_instance_name} + Dictionary Should Contain Value ${resp.json()['service-instance'][0]} ${orchestration_status} + +Validate Service Instance By Id + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${service_instance_id} + ${resp}= Run A&AI Get Request ${INDEX PATH}/nodes/service-instances/service-instance/${service_instance_id}?depth=0&nodes-only + Should Be Equal As Strings ${resp.status_code} 200 + +Delete Service Instance by Id + [Documentation] Delete passed service in A&AI + [Arguments] ${service_instance_id} + ${resp}= Run A&AI Get Request ${INDEX PATH}/nodes/service-instances/service-instance/${service_instance_id} + Run Keyword If '${resp.status_code}' == '200' Run A&AI Delete Request ${INDEX PATH}/nodes/service-instances/service-instance/${service_instance_id} ${resp.json()['resource-version']} + +Validate Customer By Id + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${customer_id} ${status_code} + ${cust_resp}= Run A&AI Get Request ${INDEX PATH}/business/customers/customer/${customer_id} + Should Be Equal As Strings ${cust_resp.status_code} ${status_code} + +Validate Generic VNF + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${vnf_name} ${vnf_type} ${service_instance_id} + ${generic_vnf}= Run A&AI Get Request ${INDEX PATH}/network/generic-vnfs/generic-vnf?vnf-name=${vnf_name} + Dictionary Should Contain Value ${generic_vnf.json()} ${vnf_name} + ${returned_vnf_type}= Get From Dictionary ${generic_vnf.json()} vnf-type + Should Contain ${returned_vnf_type} ${vnf_type} + ${vnf_id}= Get From Dictionary ${generic_vnf.json()} vnf-id + ${generic_vnf}= Run A&AI Get Request ${INDEX PATH}/network/generic-vnfs/generic-vnf/${vnf_id}?depth=all + [Return] ${generic_vnf.json()} + +Delete Vnf by Id + [Documentation] Delete passed service in A&AI + [Arguments] ${vnf_id} + ${resp}= Run A&AI Get Request ${INDEX PATH}/network/generic-vnfs/generic-vnf/${vnf_id} + + Run Keyword If '${resp.status_code}'=='200' Run A&AI Delete Request ${INDEX PATH}/network/generic-vnfs/generic-vnf/${vnf_id} ${resp.json()['resource-version']} + +Delete Volume Group by Id + [Documentation] Delete passed service in A&AI + [Arguments] ${volume_group_instance_id} + ${resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_CLOUD_PATH}/${cloud_owner}/${cloud_region_id}/volume-groups/volume-group/${volume_group_instance_id} + + Run Keyword If '${resp.status_code}'=='200' Run A&AI Delete Request ${INDEX PATH}${ROOT_CLOUD_PATH}/${cloud_owner}/${cloud_region_id}/volume-groups/volume-group/${volume_group_instance_id} ${resp.json()['resource-version']} + +Validate Tenant By Name + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${tenant_name} ${cloud_owner} ${cloud_region} ${response_code} + ${tenants}= Run A&AI Get Request ${INDEX PATH}/cloud-infrastructure/cloud-regions/cloud-region/${cloud_owner}/${cloud_region}/tenants?tenant-name=${tenant_name} + Should Be Equal As Strings ${tenants.status_code} ${response_code} + Run Keyword If '${response_code}'=='200' Dictionary Should Contain Value ${tenants.json()['tenant'][0]} ${tenant_name} + +Validate Line of Business + [Arguments] ${vnf_id} @{Lobs} + :FOR ${ELEMENT} IN @{Lobs} + \ ${response} Run A&AI Get Request ${INDEX PATH}/network/generic-vnfs/generic-vnf/${vnf_id}/related-to/lines-of-business?line-of-business-name=${ELEMENT} + \ Should Be Equal As Strings ${response.status_code} 200 + +Validate Platform + [Arguments] ${vnf_id} @{platforms} + :FOR ${platform} IN @{platforms} + \ ${response} Run A&AI Get Request ${INDEX PATH}/network/generic-vnfs/generic-vnf/${vnf_id}/related-to/platforms?platform-name=${platform} + \ Should Be Equal As Strings ${response.status_code} 200 + + +Validate Owning Entity By Name + [Arguments] ${owning_entity_name} + ${oe_resp}= Run A&AI Get Request ${INDEX PATH}/business/owning-entities?owning-entity-name=${owning_entity_name} + Should Be Equal As Strings ${oe_resp.json()['owning-entity'][0]['owning-entity-name']} ${owning_entity_name} + + + +VLB Closed Loop Hack + [Arguments] ${service} ${generic_vnf} ${closedloop_vf_module} + Return From Keyword If '${service}' != 'vLB' + ${vnf_id}= Get From Dictionary ${generic_vnf} vnf-id + ${vf_modules}= Get From Dictionary ${generic_vnf} vf-modules + ${list}= Get From Dictionary ${vf_modules} vf-module + ${vfmodule}= Get From List ${list} 0 + ${persona_model_id}= Get From Dictionary ${closedloop_vf_module} invariantUUID + ${persona_model_version}= Get From Dictionary ${closedloop_vf_module} version + ${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} + ${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)$ + Set Test Variable ${VLB_CLOSED_LOOP_DELETE} ${datapath} + Set Test Variable ${VLB_CLOSED_LOOP_VNF_ID} ${vnf_id} + +VLB Closed Loop Hack Update + [Documentation] Update the A&AI vDNS scaling vf module to have persona-model-version 1 rather than 1.0 + [Arguments] ${stack_name} + ${dict}= Create Dictionary vnf_id=${VLB_CLOSED_LOOP_VNF_ID} vf_module_name=${stack_name} + ${query}= Template String ${GENERIC_VNF_QUERY_TEMPLATE} ${dict} + ${get_resp}= Run A&AI Get Request ${INDEX_PATH}${query} + ${json}= Set Variable ${get_resp.json()} + Set to Dictionary ${json} persona-model-version 1 + ${vf_module_id}= Get From Dictionary ${json} vf-module-id + Set to Dictionary ${dict} vf_module_id=${vf_module_id} + ${uri}= Template String ${GENERIC_VNF_PATH_TEMPLATE} ${dict} + ${resp}= Run A&AI Put Request ${INDEX_PATH}${uri} ${json} + ${get_resp}= Run A&AI Get Request ${INDEX_PATH}${query} + +Teardown VLB Closed Loop Hack + Return From Keyword If ' ${VLB_CLOSED_LOOP_DELETE}' == '' + Delete A&AI Entity ${VLB_CLOSED_LOOP_DELETE} + +Validate VF Module + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${vf_module_name} ${stack_type} + Run Keyword If '${stack_type}'=='vLB' Validate vLB Stack ${vf_module_name} + Run Keyword If '${stack_type}'=='vFW' Validate Firewall Stack ${vf_module_name} + Run Keyword If '${stack_type}'=='vVG' Validate vVG Stack ${vf_module_name} + +*** Keywords *** +Create AAI Service Instance + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${customer_id} ${service_type} ${service_instance_id} ${service_instance_name} + ${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}/{service_type} ${json_string} + Should Be Equal As Strings ${put_resp.status_code} 201 + [Return] ${put_resp.status_code} + +Validate Service Instance Not Exist + [Arguments] ${service_instance_name} ${service_type} ${customer_name} + ${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_QUERY}${service_instance_name} + Should Be Equal As Strings ${resp.status_code} 404 + +Validate Service Instance Not Exist By Id + [Arguments] ${service_instance_id} + ${resp}= Run A&AI Get Request ${INDEX PATH}/nodes/service-instances/service-instance/${service_instance_id}?depth=0&nodes-only + Should Be Equal As Strings ${resp.status_code} 404 + +Validate Customer Not Exist + [Documentation] Query and Validates A&AI Service Instance + [Arguments] ${customer_name} + ${cust_resp}= Run A&AI Get Request ${INDEX PATH}/business/customers?subscriber-name=${customer_name} + Should Be Equal As Strings ${cust_resp.status_code} 404 + +Validate Owning Entity + [Arguments] ${owning_entity_id} ${status_code} + ${oe_resp}= Run A&AI Get Request ${INDEX PATH}/business/owning-entities/owning-entity/${owning_entity_id} + Should Be Equal As Strings ${oe_resp.status_code} ${status_code} + +Validate Project + [Arguments] ${project_name} ${status_code} + ${proj_resp}= Run A&AI Get Request ${INDEX PATH}/business/projects/project/${project_name} + Should Be Equal As Strings ${proj_resp.status_code} ${status_code} diff --git a/tests/so/orchestration/resources/bpmn-infra/aLaCarte/Create/ServiceInstance.robot b/tests/so/orchestration/resources/bpmn-infra/aLaCarte/Create/ServiceInstance.robot new file mode 100644 index 00000000..bab0b327 --- /dev/null +++ b/tests/so/orchestration/resources/bpmn-infra/aLaCarte/Create/ServiceInstance.robot @@ -0,0 +1,172 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library HttpLibrary.HTTP +Library OperatingSystem +Library BuiltIn +Library String +Library CSVLibrary +Resource ../../../json_templater.robot +Resource ../../../SoKeywords.robot +Resource ../../../common/SoVariables.robot +Resource ../../../so_interface.robot +Resource ../../../aai/service_instance.robot +Resource ../../../common/Variables.robot +Resource ../../../properties/tenant.robot +Resource ../../../properties/cloudRegion.robot + +*** Variables *** +${data_file} ../../../../data/bpmn-infra/aLaCarte/ServiceInstance.csv +${create_customer_template_file} tests/so/orchestration/assets/templates/aai/add_customer_required_fields.template +${create_service_subscription_template_file} tests/so/orchestration/assets/templates/aai/service_subscription_required_fields.template +${create_service_model_template_file} tests/so/orchestration/assets/templates/aai/service_model.template +${serviceInstanceDictionary} +${serv_inst_id} +${serv_inst_tc_code} +${SUBSCRIBER_TYPE} CUST +${EXPECTED_ORCHESTRATION_STATUS} Active +${tenant_json} tests/so/orchestration/assets/templates/setup_tenant.json +${cloud_region_json} tests/so/orchestration/assets/templates/setup_cloud_region.json +${NOT_APPLICABLE} NA + +*** Keywords *** + +Setup GR Create Service Instance + [Arguments] ${serv_inst_tc_code} + ${serviceInstanceDictionary} Read CSV Data And Create Dictionary ${CURDIR}/${data_file} + Set Suite Variable ${serviceInstanceDictionary} + Set Suite Variable ${serv_inst_tc_code} + + Setup Cloud Region + Setup Tenant in AAI + + ${create_service_instance_data} Get From Dictionary ${serviceInstanceDictionary} ${serv_inst_tc_code} + + ${SUBSCRIBER_ID} Get From Dictionary ${create_service_instance_data} subscriberId + Setup Customer ${SUBSCRIBER_ID} + ${SUBSCRIPTION_SERVICE_TYPE} Get From Dictionary ${create_service_instance_data} serviceType + Setup Service Subscription ${SUBSCRIBER_ID} ${SUBSCRIPTION_SERVICE_TYPE} + + Setup Service Model in A&AI ${serviceInstanceDictionary} ${serv_inst_tc_code} + +Teardown GR Create Service Instance + [Arguments] ${service_instance_id} + Delete Service Instance by Id ${service_instance_id} + + +Setup Cloud Region + [Documentation] Setup the cloud region in AAI + + ${cloud_region_data} Create Dictionary cloudOwner=${cloudOwner} cloudRegionId=${cloudRegionId} cloudType=${cloudType} + ... ownerDefinedType=${ownerDefinedType} cloudRegionVersion=${cloudRegionVersion} cloudZone=${cloudZone} + ... complexName=${complexName} sriovAutomation=${sriovAutomation} + ${create_cloud_region_json} Fill JSON Template File ${cloud_region_json} ${cloud_region_data} + Run A&AI Put Request ${VERSIONED_INDEX_PATH}/cloud-infrastructure/cloud-regions/cloud-region/${cloudOwner}/${cloudRegionId} ${create_cloud_region_json} + + ${json}= OperatingSystem.Get File tests/so/orchestration/assets/templates/gr-api/PhysicalServerCreate.json + ${returned_json}= To Json ${json} + Run A&AI Put Request aai/v14/cloud-infrastructure/pservers/pserver/rdm52r19c001 ${returned_json} + +Setup Tenant in AAI + [Documentation] Setup the tenant in AAI + + ${tenant_data} Create Dictionary tenantId=${aai_tenant_Id} tenantName=${aai_tenant_name} + ${create_tenant_json} Fill JSON Template File ${tenant_json} ${tenant_data} + Run A&AI Put Request ${VERSIONED_INDEX_PATH}/cloud-infrastructure/cloud-regions/cloud-region/${cloudOwner}/${cloudRegionId}/tenants/tenant/${aai_tenant_Id} ${create_tenant_json} + +Setup Customer + [Documentation] Creates customer for use in tests + [Arguments] ${SUBSCRIBER_ID} + + ${create_customer_data} Create Dictionary global_customer_id=${SUBSCRIBER_ID} subscriber_name=${SUBSCRIBER_ID} subscriber_type=${SUBSCRIBER_TYPE} + Set Suite Variable ${create_customer_data} + ${create_customer_json} Fill JSON Template File ${create_customer_template_file} ${create_customer_data} + + Run A&AI Put Request ${VERSIONED_INDEX_PATH}/business/customers/customer/${SUBSCRIBER_ID} ${create_customer_json} + +Setup Service Subscription + [Documentation] Creates service subscription for use in tests + [Arguments] ${SUBSCRIBER_ID} ${SUBSCRIPTION_SERVICE_TYPE} + ${create_service_subscription_data} Create Dictionary service_type=${SUBSCRIPTION_SERVICE_TYPE} + Set Suite Variable ${create_service_subscription_data} + ${create_service_subscription_json} Fill JSON Template File ${create_service_subscription_template_file} ${create_service_subscription_data} + + Run A&AI Put Request ${VERSIONED_INDEX_PATH}/business/customers/customer/${SUBSCRIBER_ID}/service-subscriptions/service-subscription/${SUBSCRIPTION_SERVICE_TYPE} ${create_service_subscription_json} + +Setup Service Model in A&AI + [Arguments] ${serviceeDictionary} ${serv_inst_tc_code} + + ${create_service_instance_data} Get From Dictionary ${serviceInstanceDictionary} ${serv_inst_tc_code} + ${modelInvariantId} Get From Dictionary ${create_service_instance_data} serviceInstModelInvariantId + ${modelVersionId} Get From Dictionary ${create_service_instance_data} serviceInstModelNameVersionId + ${modelName} Get From Dictionary ${create_service_instance_data} serviceInstModelName + ${modelType} Get From Dictionary ${create_service_instance_data} serviceInstModelType + ${modelVersion} Get From Dictionary ${create_service_instance_data} serviceInstModelVersion + ${modelDescription} Get From Dictionary ${create_service_instance_data} serviceInstModelDescription + Setup Model in AAI ${modelInvariantId} ${modelType} ${modelVersionId} ${modelName} ${modelVersion} ${modelDescription} + +Setup Model in AAI + [Documentation] Setup Model in AAI for use in tests + [Arguments] ${modelInvariantId} ${modelType} ${modelVersionId} ${modelName} ${modelVersion} ${modelDescription} + ${create_service_model_data} Create Dictionary modelInvariantId=${modelInvariantId} modelType=${modelType} modelVersionId=${modelVersionId} + ... modelName=${modelName} modelVersion=${modelVersion} modelDescription=${modelDescription} + ${create_service_model_json} Fill JSON Template File ${create_service_model_template_file} ${create_service_model_data} + + Run A&AI Put Request ${VERSIONED_INDEX_PATH}/service-design-and-creation/models/model/${modelInvariantId} ${create_service_model_json} + + +Create Service Instance + [Documentation] Test Template for CreateServiceInstanceInfra + [Arguments] ${serv_inst_tc_code} ${payload_template} + log in create si sub + Log ${serv_inst_tc_code} + Log ${payload_template} + ${create_service_instance_data} Get From Dictionary ${serviceInstanceDictionary} ${serv_inst_tc_code} + Log create si data + Log ${create_service_instance_data} + Log ${CURDIR}/${payload_template} + Log ${create_service_instance_data} + Log ready to fill + ${service_body}= Fill JSON Template File ${CURDIR}/${payload_template} ${create_service_instance_data} + Log got service body + Log ${service_body} + Log after service body + ${serv_inst_id} ${request_id} ${request_completion_status} ${status_code} Invoke Create Service Instance Flow ${service_body} + [Return] ${serv_inst_id} ${request_id} ${request_completion_status} ${status_code} ${service_body} + + + +Invoke Create Service Instance Flow + [Documentation] Create Service Instance + [Arguments] ${service_body} + log invoking + ${create_service_response} Run SO Post request ${SO_REST_URI_CREATE_SERVICE} ${service_body} + log retunred ${create_service_response} + Return From Keyword If ${create_service_response.status_code} != ${HTTP_ACCEPTED} ${EMPTY} ${EMPTY} ${EMPTY} ${create_service_response.status_code} + ${request_id_string} Get Json Value ${create_service_response.content} /requestReferences/requestId + ${request_id} Get Substring ${request_id_string} 1 -1 + ${instance_id_string} Get Json Value ${create_service_response.content} /requestReferences/instanceId + ${instance_id} Get Substring ${instance_id_string} 1 -1 + Log ${instance_id} + ${request_completion_status} ${orchestration_failure_message} Run Keyword If ${create_service_response.status_code} == ${HTTP_ACCEPTED} + ... Poll Orchestration Request ${request_id} + + [Return] ${instance_id} ${request_id} ${request_completion_status} ${create_service_response.status_code} + + Invoke Delete Service Instance Flow + [Documentation] Delete a service instance. + [Arguments] ${service_body} ${service_instance} + + ${delete_service_response} Run SO Delete request ${SO_REST_URI_DELETE_SERVICE}/${service_instance} data=${service_body} + + Return From Keyword If ${delete_service_response.status_code} != ${HTTP_ACCEPTED} ${EMPTY} ${EMPTY} ${EMPTY} ${delete_service_response.status_code} + + ${request_id_string} Get Json Value ${delete_service_response.content} /requestReferences/requestId + ${request_id} Get Substring ${request_id_string} 1 -1 + ${instance_id_string} Get Json Value ${delete_service_response.content} /requestReferences/instanceId + ${instance_id} Get Substring ${instance_id_string} 1 -1 + + ${request_completion_status} ${orchestration_failure_message} Run Keyword If ${delete_service_response.status_code} == ${HTTP_ACCEPTED} + ... Poll Orchestration Request ${request_id} + + [Return] ${instance_id} ${request_id} ${request_completion_status} ${delete_service_response.status_code} diff --git a/tests/so/orchestration/resources/common/SoVariables.robot b/tests/so/orchestration/resources/common/SoVariables.robot new file mode 100644 index 00000000..3bdfdc64 --- /dev/null +++ b/tests/so/orchestration/resources/common/SoVariables.robot @@ -0,0 +1,68 @@ +*** Variables *** +### Orchestration Polling Properties ### +${POLL_WAIT_TIME} 5 +${MEGA_POLL_WAIT_TIME} 5 +${MAX_POLL_COUNT} 72 + +### Common Properties ### +${VNFS} vnfs +${VFMODULES} vfModules +${SO_REST_URI} /onap/so/infra/serviceInstantiation/v7/serviceInstances +${SO_ORCHESTRATION_REQUESTS_URI} /onap/so/infra/orchestrationRequests/v7 +${SO_HEALTHCHECK_URI} /manage/health + +### Layer3 Properties ### +&{SO_LAYER3_HEADERS} Content-Type=application/xml Accept=application/xml Authorization=Basic YXBpaEJwbW46Y2FtdW5kYS1SMTUxMiE= +### Service Properties ### +${SO_REST_URI_CREATE_SERVICE} ${SO_REST_URI} +${SO_REST_URI_DELETE_SERVICE} ${SO_REST_URI} + +### VNF Module Properties ### +${SO_REST_URI_CREATE_VFMODULE} ${SO_REST_URI}/<SERVICEINSTANCEID>/vnfs/<VNFINSTANCEID>/vfModules +${SO_REST_URI_DELETE_VFMODULE} ${SO_REST_URI}/<SERVICEINSTANCEID>/vnfs/<VNFINSTANCEID>/vfModules/<VFMODULEINSTANCEID> +### Messages ### +${TIME_OUT_MESSAGE} No Successful response within specified time +${ORCH_FAILURE_MESSAGE} Orchestration request has failed + +##### VF SPECIFIC PROPERTIES ##### +${INVALID_SERVICE_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid serviceInstanceId is specified" +${INVALID_VNF_INST_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid vnfInstanceId is specified" +${DELETE_VNF_FAIL_MSG} "Can't Delete Generic Vnf. Generic Vnf is still in use." + +##### NETWORK SPECIFIC PROPERTIES ##### +${INVALID_NW_INST_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid networkInstanceId is specified" +${INV_MODEL_NAME_MSG} "Received error from Network Adapter: Unknown Network Type: CONTRAIL_INTERNAL" +${BLANK_MODEL_NAME_MSG} "Error parsing request.${SPACE}${SPACE}No valid modelName is specified" +${INV_REGION_ID_MSG} "Received error from Network Adapter: Cloud Site [RegionTwo] not found" +${BLANK_REGION_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid lcpCloudRegionId is specified" +${INV_TENANT_MSG} "Received error from Network Adapter: 404 Not Found: " +${BLANK_TENANT_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid tenantId is specified" +${INV_SOURCE_MSG} "Recipe does not exist in catalog DB" +${BLANK_SOURCE_MSG} "Error parsing request.${SPACE}${SPACE}No valid source is specified" +${BLANK_INVAR_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid modelInvariantId is specified" +${BLANK_VER_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid modelVersionId is specified" +${BLANK_REQ_ID_MSG} "Error parsing request.${SPACE}${SPACE}No valid requestorId is specified" + +### Orchestration Constants ### +${ORCH_REQUEST_COMPLETE} COMPLETE +${ORCH_REQUEST_COMPLETED} COMPLETED +${ORCH_REQUEST_FAILED} FAILED +${ORCH_REQUEST_IN_PROGRESS} IN_PROGRESS + +### MODEL TYPE ### +${MODEL_TYPE_SERVICE} service +${MODEL_TYPE_VNF} vnf +${MODEL_TYPE_VFMODULE} vfModule +${MODEL_TYPE_VOLUME_GROUP} volumeGroup +${MODEL_TYPE_NETWORK} network +${INV_MODEL_TYPE_VNF} vnf1 +${INVALID_MODEL_TYPE} INVALID_MODEL_TYPE +${INVALID_SERVICE_MODEL_NAME} INVALID_SERVICE_MODEL +${INVALID_VFMODULE_MODEL_NAME} INVALID_VFMODULE_MODEL +${INVALID_CLOUD_REGION_ID} INVALID_CLR + + +### CLOUD DATA ### +${TENANT_ID} 22eb191dd41a4f3c9be370fc638322f4 + + diff --git a/tests/so/orchestration/resources/common/Variables.robot b/tests/so/orchestration/resources/common/Variables.robot new file mode 100644 index 00000000..a6ee32b2 --- /dev/null +++ b/tests/so/orchestration/resources/common/Variables.robot @@ -0,0 +1,15 @@ +*** Variables *** +### HTTP response Codes ### +${HTTP_OK} 200 +${HTTP_ACCEPTED} 202 +${HTTP_NO_CONTENT} 204 +${HTTP_BAD_REQUEST} 400 +${HTTP_BAD_GATEWAY} 502 +${HTTP_RESOURCE_NOT_FOUND} 404 +${INTERNAL_SERVER_ERROR} 500 +${METHOD_NOT_ALLOWED} 405 + +###TRUE FLASE##### +${TRUE_VALUE} true +${FALSE_VALUE} false + diff --git a/tests/so/orchestration/resources/global_properties.robot b/tests/so/orchestration/resources/global_properties.robot new file mode 100644 index 00000000..a4a0f44d --- /dev/null +++ b/tests/so/orchestration/resources/global_properties.robot @@ -0,0 +1,74 @@ +*** Settings *** +Documentation store all properties that can change or are used in multiple places here +... format is all caps with underscores between words and prepended with GLOBAL +... make sure you prepend them with GLOBAL so that other files can easily see it is from this file. + + +*** Variables *** +${GLOBAL_APPLICATION_ID} robot-ete +${GLOBAL_SELENIUM_BROWSER} chrome +${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary +${GLOBAL_SELENIUM_DELAY} 0 +${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} 5 +${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 15 +${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} orchestration +${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} volume +${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} compute +${GLOBAL_OPENSTACK_NEUTRON_SERVICE_TYPE} network +${GLOBAL_OPENSTACK_GLANCE_SERVICE_TYPE} image +${GLOBAL_OPENSTACK_KEYSTONE_SERVICE_TYPE} identity +${GLOBAL_OPENSTACK_STACK_DEPLOYMENT_TIMEOUT} 600s +${GLOBAL_AAI_CLOUD_OWNER} CloudOwner +${GLOBAL_AAI_CLOUD_OWNER_DEFINED_TYPE} OwnerType +${GLOBAL_AAI_COMPLEX_NAME} clli1 +${GLOBAL_AAI_PHYSICAL_LOCATION_ID} clli1 +${GLOBAL_BUILD_NUMBER} 0 +${GLOBAL_VID_UI_TIMEOUT_SHORT} 20s +${GLOBAL_VID_UI_TIMEOUT_MEDIUM} 60s +${GLOBAL_VID_UI_TIMEOUT_LONG} 120s +${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt +${GLOBAL_AAI_ZONE_ID} nova1 +${GLOBAL_AAI_ZONE_NAME} nova +${GLOBAL_AAI_DESIGN_TYPE} integration +${GLOBAL_AAI_ZONE_CONTEXT} labs +${GLOBAL_AAI_SERVER_PROTOCOL} http +${GLOBAL_INJECTED_AAI1_IP_ADDR} localhost +${GLOBAL_AAI_SERVER_PORT} 9900 +${GLOBAL_AAI_USERNAME} test +${GLOBAL_AAI_PASSWORD} test +${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} test +${GLOBAL_INJECTED_OPENSTACK_USERNAME} test +${GLOBAL_INJECTED_OPENSTACK_PASSWORD} test +${GLOBAL_INJECTED_KEYSTONE} test +${GLOBAL_PACKET_GENERATOR_PORT} test +${GLOBAL_PACKET_GENERATOR_USERNAME} test +${GLOBAL_PACKET_GENERATOR_PASSWORD} test +${GLOBAL_SERVICE_TEMPLATE_MAPPING} test +${GLOBAL_DNS_TRAFFIC_DURATION} test +${GLOBAL_INJECTED_NETWORK} test +${GLOBAL_SO_SERVER_PROTOCOL} http +${GLOBAL_INJECTED_SO_IP_ADDR} localhost +${GLOBAL_SO_SERVER_PORT} 8080 +${GLOBAL_SO_ASDC_PORT} 8085 +${GLOBAL_SO_CATALOG_PORT} 8082 +${GLOBAL_SO_CAMUNDA_PORT} 8081 +${GLOBAL_SO_SIMULATOR_PORT} 10000 +${resourceLocation} /app/csar/ +${GLOBAL_SO_CATDB_API_URI} aaaa + +${GLOBAL_INJECTED_PROPERTIES} None +${GLOBAL_INJECTED_ARTIFACTS_VERSION} None +${GLOBAL_INJECTED_PUBLIC_NET_ID} None +${GLOBAL_INJECTED_CLOUD_ENV} None +${GLOBAL_INJECTED_SCRIPT_VERSION} None +${GLOBAL_INJECTED_VM_IMAGE_NAME} None +${GLOBAL_INJECTED_VM_FLAVOR} None +${GLOBAL_PRELOAD_PARAMETERS} None + +${GLOBAL_SDNGC_USERNAME} admin +${GLOBAL_SDNGC_PASSWORD} admin +${GLOBAL_SDNGC_SERVER_PROTOCOL} https +#${GLOBAL_INJECTED_SDNC_IP_ADDR} +${GLOBAL_INJECTED_SDNC_IP_ADDR} aaaa +${GLOBAL_SDNGC_REST_PORT} 8443 +${GLOBAL_SDNGC_ADMIN_PORT} 8443
\ No newline at end of file diff --git a/tests/so/orchestration/resources/json_templater.robot b/tests/so/orchestration/resources/json_templater.robot new file mode 100644 index 00000000..0dd88b90 --- /dev/null +++ b/tests/so/orchestration/resources/json_templater.robot @@ -0,0 +1,42 @@ +*** Settings *** +Documentation This resource is filling out json string templates and returning the json back +Library RequestsLibrary +Library StringTemplater +Library OperatingSystem +Library CSVLibrary +Library Collections +Resource global_properties.robot + +*** Keywords *** +Fill JSON Template + [Documentation] Runs substitution on template to return a filled in json + [Arguments] ${json} ${arguments} + ${returned_string}= Template String ${json} ${arguments} + Log ${returned_string} + ${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} + +Read CSV Data And Create Dictionary + [Documentation] Read CSV Data And Create Dictionary + [Arguments] ${file} + + ${status} Run Keyword And Return Status Variable Should Exist ${file} + ${csv_file} = set variable if ${status}==True ${file} + LOG ${csv_file} + ${dictionary} Create Dictionary + ${dictionary_list} read csv file to associative ${csv_file} + + ${dict_count} Get Length ${dictionary_list} + : FOR ${row_num} IN RANGE 0 ${dict_count} + \ Log ${dictionary_list[${row_num}]} + \ ${dict_key} Get From Dictionary ${dictionary_list[${row_num}]} uniqueKey + \ Set To Dictionary ${dictionary} ${dict_key} ${dictionary_list[${row_num}]} + + [Return] ${dictionary}
\ No newline at end of file diff --git a/tests/so/orchestration/resources/properties/cloudRegion.robot b/tests/so/orchestration/resources/properties/cloudRegion.robot new file mode 100644 index 00000000..b38f4285 --- /dev/null +++ b/tests/so/orchestration/resources/properties/cloudRegion.robot @@ -0,0 +1,13 @@ +*** Settings *** +Documentation Properties for CloudRegion + + +*** Variables *** +${cloudOwner} CloudOwner +${cloudRegionId} regionOne +${cloudType} openstack +${ownerDefinedType} LCP +${cloudRegionVersion} 3.0.3 +${cloudZone} TEST1 +${complexName} regionOne +${sriovAutomation} false
\ No newline at end of file diff --git a/tests/so/orchestration/resources/properties/tenant.robot b/tests/so/orchestration/resources/properties/tenant.robot new file mode 100644 index 00000000..2e1ae75d --- /dev/null +++ b/tests/so/orchestration/resources/properties/tenant.robot @@ -0,0 +1,7 @@ +*** Settings *** +Documentation Properties for Tenant + + +*** Variables *** +${aai_tenant_Id} 0422ffb57ba042c0800a29dc85ca70f8 +${aai_tenant_Name} tenantName
\ No newline at end of file diff --git a/tests/so/orchestration/resources/so_interface.robot b/tests/so/orchestration/resources/so_interface.robot new file mode 100644 index 00000000..6db22bf2 --- /dev/null +++ b/tests/so/orchestration/resources/so_interface.robot @@ -0,0 +1,76 @@ +*** Settings *** +Documentation The main interface for interacting with SO. It handles low level stuff like managing the http request library and SO required fields +Library RequestsLibrary +Library UUID +Library OperatingSystem +Library Collections +Library HTTPUtils +Resource global_properties.robot +Resource json_templater.robot +*** Variables *** +${SO_ENDPOINT} ${GLOBAL_SO_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SO_IP_ADDR}:${GLOBAL_SO_SERVER_PORT} +${CATALOG_DB_ENDPOINT} ${GLOBAL_SO_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SO_IP_ADDR}:${GLOBAL_SO_CATALOG_PORT} +${CAMUNDA_DB_ENDPOINT} ${GLOBAL_SO_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SO_IP_ADDR}:${GLOBAL_SO_CAMUNDA_PORT} +${SIMULATOR_ENDPOINT} ${GLOBAL_SO_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SO_IP_ADDR}:${GLOBAL_SO_SIMULATOR_PORT} + +*** Keywords *** + +Run SO Get Request + [Documentation] Runs an SO get request + [Arguments] ${full_path} ${accept}=application/json ${endPoint}=${SO_ENDPOINT} + Disable Warnings + Log Creating session ${SO_ENDPOINT} + ${session}= Create Session so ${SO_ENDPOINT} + ${uuid}= Generate UUID + ${uuidstring}= Convert To String ${uuid} + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Get Request so ${full_path} headers=${headers} + Log Received response from so ${resp.text} + [Return] ${resp} + +Poll SO Get Request + [Documentation] Runs an SO get request until a certain status is received. valid values are COMPLETE + [Arguments] ${data_path} ${status} + Disable Warnings + Log Creating session ${SO_ENDPOINT} + ${session}= Create Session so ${SO_ENDPOINT} + ${uuid}= Generate UUID + ${uuidstring}= Convert To String ${uuid} + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + #do this until it is done + :FOR ${i} IN RANGE 20 + \ ${resp}= Get Request so ${data_path} headers=${headers} + \ Should Not Contain ${resp.text} FAILED + \ Log ${resp.json()['request']['requestStatus']['requestState']} + \ ${exit_loop}= Evaluate "${resp.json()['request']['requestStatus']['requestState']}" == "${status}" + \ Exit For Loop If ${exit_loop} + \ Sleep 15s + Log Received response from so ${resp.text} + [Return] ${resp} + +Run SO Post request + [Documentation] Runs an SO post request + [Arguments] ${data_path} ${data} + Disable Warnings + Log Creating session ${SO_ENDPOINT} + ${session}= Create Session so ${SO_ENDPOINT} + ${uuid}= Generate UUID + ${uuidstring}= Convert To String ${uuid} + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Post Request so ${data_path} data=${data} headers=${headers} + Log Received response from so ${resp.text} + [Return] ${resp} + + +Run SO Delete request + [Documentation] Runs an SO Delete request + [Arguments] ${data_path} ${data} + Disable Warnings + Log Creating session ${SO_ENDPOINT} + ${session}= Create Session so ${SO_ENDPOINT} + ${uuid}= Generate UUID + ${uuidstring}= Convert To String ${uuid} + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Delete Request so ${data_path} ${data} headers=${headers} + Log Received response from so ${resp.text} + [Return] ${resp} diff --git a/tests/so/orchestration/testsuites/bpmn-infra/aLaCarte/Create/ServiceInstantiationTest.robot b/tests/so/orchestration/testsuites/bpmn-infra/aLaCarte/Create/ServiceInstantiationTest.robot new file mode 100644 index 00000000..c4edba1b --- /dev/null +++ b/tests/so/orchestration/testsuites/bpmn-infra/aLaCarte/Create/ServiceInstantiationTest.robot @@ -0,0 +1,34 @@ +*** Settings *** +Documentation Testing Create Generic ALaCarte Service Instance flow +Resource ../../../../resources/bpmn-infra/aLaCarte/Create/ServiceInstance.robot +Resource ../../../../resources/common/Variables.robot +Resource ../../../../resources/common/SoVariables.robot +Resource ../../../../resources/aai/service_instance.robot + +*** Variables *** +${serv_inst_id} shouldOverWrite +${create_service_instance_template_file} ../../../../assets/templates/bpmn-infra/aLaCarte/Create/ServiceInstance.template + +*** Settings *** +*** Test Cases *** +Create and Delete Service Alacarte GR_API + [Tags] Smoke Sanity + [Setup] Setup GR Create Service Instance TC_1 + log starting create SI + ${serv_inst_id} ${request_id} ${request_completion_status} ${status_code} ${service_body} Create Service Instance TC_1 ${create_service_instance_template_file} + Should Be Equal As Strings ${status_code} 202 + Should Be Equal As Strings ${request_completion_status} COMPLETE + log validating SI + Validate Service Instance Robot_SI Robot_Test_Service_Type Robot_Test_Subscriber_ID Active + Validate Owning Entity c3f57fa8-ac7d-11e8-98d0-529269fb1459 200 + Validate Project GR_API_OE_SO_Test200 200 + + log starting delete SI + ${instance_id} ${delete_si_request_id} ${request_completion_status} ${delete_service_response.status_code} Invoke Delete Service Instance Flow ${service_body} ${serv_inst_id} + Should Be Equal As Strings ${delete_service_response.status_code} 202 + Should Be Equal As Strings ${request_completion_status} COMPLETE + Validate Service Instance Not Exist By Id ${serv_inst_id} + Validate Owning Entity c3f57fa8-ac7d-11e8-98d0-529269fb1459 200 + Validate Project GR_API_OE_SO_Test200 200 + + [Teardown] Teardown GR Create Service Instance ${serv_inst_id}
\ No newline at end of file |