diff options
author | 2017-09-05 11:21:28 -0700 | |
---|---|---|
committer | 2017-09-05 11:48:52 -0700 | |
commit | cc21b8b08b6dbcec577bfb26ff397ac899da8002 (patch) | |
tree | 5d8a26586b0b0aee94002b472dfe995ffcb58fdf /ice_validator/tests/fixtures/test_volume_resource_ids | |
parent | 6755f61e44870ff65de0630a403f7b4ddfea4071 (diff) |
Commit seed code for validation-scripts
This imports the initial seed code for validation scripts.
These files were imported from a tarball with the SHA1SUM
ce2ae49c82546b987c8ad2f68ac43d94b4934818.
From the contents of the tarball, some errant .pyc files were removed,
and a .gitignore file was added. The result matches exactly the contents
of the origin private repository at hash 88c656e.
Change-Id: I97d19b11495e116890ca6577e83037b0934519cc
Issue-Id: VVP-11
Signed-off-by: Michael F. Lamb <mike@datagrok.org>
Diffstat (limited to 'ice_validator/tests/fixtures/test_volume_resource_ids')
7 files changed, 1050 insertions, 0 deletions
diff --git a/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_instance_uuid_volume_attachment.yaml b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_instance_uuid_volume_attachment.yaml new file mode 100644 index 0000000..2b78e58 --- /dev/null +++ b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_instance_uuid_volume_attachment.yaml @@ -0,0 +1,150 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +--- +heat_template_version: 2015-04-30 + +description: Heat template description + +parameters: + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: string + description: Unique ID for this VF module + + vnf_name: + type: string + description: Unique name for this VNF instance + + admin_names: + type: comma_delimited_list + description: Names attribute for the VMs + + availability_zone_0: + type: string + description: availability zone to be used + + admin_flavor_name: + type: string + description: flavor to be used to create this vm must be one of the following flavors + + admin_volume_id_0: + type: string + description: reference to externally created cinder vol + + admin_volume_id_1: + type: string + description: reference to externally created cinder vol + + admin_volume_id_2: + type: string + description: reference to externally created cinder vol + + admin_volume_size_0: + type: number + description: Size of the volume to be created. + constraints: + - range: { min: 1, max: 1024 } + description: must be between 1 and 1024 Gb. + +resources: + + admin_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 0] } + block_device_mapping: [{ device_name: "vda", volume_id: { get_param : admin_volume_id_0 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 1] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_param : admin_volume_id_1 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 2] } + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_3: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 3] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : admin_volume_id_3 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_volume_id_3: + type: OS::Cinder::Volume + properties: + size: { get_param: admin_volume_size_0} + availability_zone: { get_param: availability_zone_0 } + + admin_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: admin_volume_id_2 } + mountpoint: /dev/vdb + instance_uuid: { get_resource: admin2_server_2 }
\ No newline at end of file diff --git a/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_nova_server_id.yaml b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_nova_server_id.yaml new file mode 100644 index 0000000..76aa95e --- /dev/null +++ b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_nova_server_id.yaml @@ -0,0 +1,150 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +--- +heat_template_version: 2015-04-30 + +description: Heat template description + +parameters: + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: string + description: Unique ID for this VF module + + vnf_name: + type: string + description: Unique name for this VNF instance + + admin_names: + type: comma_delimited_list + description: Names attribute for the VMs + + availability_zone_0: + type: string + description: availability zone to be used + + admin_flavor_name: + type: string + description: flavor to be used to create this vm must be one of the following flavors + + admin_volume_id_0: + type: string + description: reference to externally created cinder vol + + admin_volume_id_1: + type: string + description: reference to externally created cinder vol + + admin_volume_id_2: + type: string + description: reference to externally created cinder vol + + admin_volume_size_0: + type: number + description: Size of the volume to be created. + constraints: + - range: { min: 1, max: 1024 } + description: must be between 1 and 1024 Gb. + +resources: + + admin_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 0] } + block_device_mapping: [{ device_name: "vda", volume_id: { get_param : admin_volume_id_0 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin2_names, 1] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_param : admin_volume_id_1 }, delete_on_termination : "false" }] + flavor: { get_param: admin2_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 2] } + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_3: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 3] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : admin_volume_id_3 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_volume_id_3: + type: OS::Cinder::Volume + properties: + size: { get_param: admin_volume_size_0} + availability_zone: { get_param: availability_zone_0 } + + admin_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: admin_volume_id_2 } + mountpoint: /dev/vdb + instance_uuid: { get_resource: admin_server_2 }
\ No newline at end of file diff --git a/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_param.yaml b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_param.yaml new file mode 100644 index 0000000..b0ff140 --- /dev/null +++ b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_param.yaml @@ -0,0 +1,150 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +--- +heat_template_version: 2015-04-30 + +description: Heat template description + +parameters: + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: string + description: Unique ID for this VF module + + vnf_name: + type: string + description: Unique name for this VNF instance + + admin_names: + type: comma_delimited_list + description: Names attribute for the VMs + + availability_zone_0: + type: string + description: availability zone to be used + + admin_flavor_name: + type: string + description: flavor to be used to create this vm must be one of the following flavors + + admin_volume_id_0: + type: string + description: reference to externally created cinder vol + + admin_volume_id_1: + type: string + description: reference to externally created cinder vol + + admin_volume_id_2: + type: string + description: reference to externally created cinder vol + + admin_volume_size_0: + type: number + description: Size of the volume to be created. + constraints: + - range: { min: 1, max: 1024 } + description: must be between 1 and 1024 Gb. + +resources: + + admin_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 0] } + block_device_mapping: [{ device_name: "vda", volume_id: { get_param : admin2_volume_id_0 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 1] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_param : admin_volume_id_1 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 2] } + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_3: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 3] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : admin_volume_id_3 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_volume_id_3: + type: OS::Cinder::Volume + properties: + size: { get_param: admin_volume_size_0} + availability_zone: { get_param: availability_zone_0 } + + admin_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: admin_volume_id_2 } + mountpoint: /dev/vdb + instance_uuid: { get_resource: admin_server_2 }
\ No newline at end of file diff --git a/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_resource.yaml b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_resource.yaml new file mode 100644 index 0000000..88fc6e2 --- /dev/null +++ b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_resource.yaml @@ -0,0 +1,150 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +--- +heat_template_version: 2015-04-30 + +description: Heat template description + +parameters: + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: string + description: Unique ID for this VF module + + vnf_name: + type: string + description: Unique name for this VNF instance + + admin_names: + type: comma_delimited_list + description: Names attribute for the VMs + + availability_zone_0: + type: string + description: availability zone to be used + + admin_flavor_name: + type: string + description: flavor to be used to create this vm must be one of the following flavors + + admin_volume_id_0: + type: string + description: reference to externally created cinder vol + + admin_volume_id_1: + type: string + description: reference to externally created cinder vol + + admin_volume_id_2: + type: string + description: reference to externally created cinder vol + + admin_volume_size_0: + type: number + description: Size of the volume to be created. + constraints: + - range: { min: 1, max: 1024 } + description: must be between 1 and 1024 Gb. + +resources: + + admin_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 0] } + block_device_mapping: [{ device_name: "vda", volume_id: { get_param : admin_volume_id_0 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 1] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_param : admin_volume_id_1 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 2] } + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_3: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 3] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : admin2_volume_id_3 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_volume_id_3: + type: OS::Cinder::Volume + properties: + size: { get_param: admin_volume_size_0} + availability_zone: { get_param: availability_zone_0 } + + admin_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: admin_volume_id_2 } + mountpoint: /dev/vdb + instance_uuid: { get_resource: admin_server_2 }
\ No newline at end of file diff --git a/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_volume_attachment.yaml b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_volume_attachment.yaml new file mode 100644 index 0000000..b07b2c1 --- /dev/null +++ b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_volume_attachment.yaml @@ -0,0 +1,150 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +--- +heat_template_version: 2015-04-30 + +description: Heat template description + +parameters: + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: string + description: Unique ID for this VF module + + vnf_name: + type: string + description: Unique name for this VNF instance + + admin_names: + type: comma_delimited_list + description: Names attribute for the VMs + + availability_zone_0: + type: string + description: availability zone to be used + + admin_flavor_name: + type: string + description: flavor to be used to create this vm must be one of the following flavors + + admin_volume_id_0: + type: string + description: reference to externally created cinder vol + + admin_volume_id_1: + type: string + description: reference to externally created cinder vol + + admin_volume_id_2: + type: string + description: reference to externally created cinder vol + + admin_volume_size_0: + type: number + description: Size of the volume to be created. + constraints: + - range: { min: 1, max: 1024 } + description: must be between 1 and 1024 Gb. + +resources: + + admin_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 0] } + block_device_mapping: [{ device_name: "vda", volume_id: { get_param : admin_volume_id_0 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 1] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_param : admin_volume_id_1 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 2] } + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_3: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 3] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : admin_volume_id_3 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_volume_id_3: + type: OS::Cinder::Volume + properties: + size: { get_param: admin_volume_size_0} + availability_zone: { get_param: availability_zone_0 } + + admin_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: admin2_volume_id_2 } + mountpoint: /dev/vdb + instance_uuid: { get_resource: admin_server_2 }
\ No newline at end of file diff --git a/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_volume_attachment_uppercase.yaml b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_volume_attachment_uppercase.yaml new file mode 100644 index 0000000..53e76b9 --- /dev/null +++ b/ice_validator/tests/fixtures/test_volume_resource_ids/fail/mismatch_vm_type_volume_id_volume_attachment_uppercase.yaml @@ -0,0 +1,150 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +--- +heat_template_version: 2015-04-30 + +description: Heat template description + +parameters: + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: string + description: Unique ID for this VF module + + vnf_name: + type: string + description: Unique name for this VNF instance + + admin_names: + type: comma_delimited_list + description: Names attribute for the VMs + + availability_zone_0: + type: string + description: availability zone to be used + + admin_flavor_name: + type: string + description: flavor to be used to create this vm must be one of the following flavors + + admin_volume_id_0: + type: string + description: reference to externally created cinder vol + + admin_volume_id_1: + type: string + description: reference to externally created cinder vol + + admin_volume_id_2: + type: string + description: reference to externally created cinder vol + + admin_volume_size_0: + type: number + description: Size of the volume to be created. + constraints: + - range: { min: 1, max: 1024 } + description: must be between 1 and 1024 Gb. + +resources: + + admin_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 0] } + block_device_mapping: [{ device_name: "vda", volume_id: { get_param : admin_volume_id_0 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 1] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_param : admin_volume_id_1 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 2] } + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_3: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 3] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : admin_volume_id_3 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_volume_id_3: + type: OS::Cinder::Volume + properties: + size: { get_param: admin_volume_size_0} + availability_zone: { get_param: availability_zone_0 } + + admin_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: admin2_volume_id_2 } + mountpoint: /dev/vdb + instance_uuid: { get_resource: ADMIN_SERVER_2 }
\ No newline at end of file diff --git a/ice_validator/tests/fixtures/test_volume_resource_ids/pass/valid_template.yaml b/ice_validator/tests/fixtures/test_volume_resource_ids/pass/valid_template.yaml new file mode 100644 index 0000000..bd18829 --- /dev/null +++ b/ice_validator/tests/fixtures/test_volume_resource_ids/pass/valid_template.yaml @@ -0,0 +1,150 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +--- +heat_template_version: 2015-04-30 + +description: Heat template description + +parameters: + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: string + description: Unique ID for this VF module + + vnf_name: + type: string + description: Unique name for this VNF instance + + admin_names: + type: comma_delimited_list + description: Names attribute for the VMs + + availability_zone_0: + type: string + description: availability zone to be used + + admin_flavor_name: + type: string + description: flavor to be used to create this vm must be one of the following flavors + + admin_volume_id_0: + type: string + description: reference to externally created cinder vol + + admin_volume_id_1: + type: string + description: reference to externally created cinder vol + + admin_volume_id_2: + type: string + description: reference to externally created cinder vol + + admin_volume_size_0: + type: number + description: Size of the volume to be created. + constraints: + - range: { min: 1, max: 1024 } + description: must be between 1 and 1024 Gb. + +resources: + + admin_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 0] } + block_device_mapping: [{ device_name: "vda", volume_id: { get_param : admin_volume_id_0 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 1] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_param : admin_volume_id_1 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + ADMIN_SERVER_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 2] } + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_server_3: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [admin_names, 3] } + block_device_mapping: [{ device_name: "vda", volume_id : { get_resource : admin_volume_id_3 }, delete_on_termination : "false" }] + flavor: { get_param: admin_flavor_name} + metadata: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + + admin_volume_id_3: + type: OS::Cinder::Volume + properties: + size: { get_param: admin_volume_size_0} + availability_zone: { get_param: availability_zone_0 } + + admin_volume_attachment_0: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: admin_volume_id_2 } + mountpoint: /dev/vdb + instance_uuid: { get_resource: ADMIN_SERVER_2 }
\ No newline at end of file |