From 9ccbfe7e20b3914c37c0dec50762cec9da8a63c6 Mon Sep 17 00:00:00 2001 From: "Lovett, Trevor" Date: Tue, 14 May 2019 10:37:17 -0500 Subject: [VVP] Adding env file checks for contrail * Introduced helper method get_param to handle extracting param names from both get_params with string and list arguments * Moved test files for environment tests to independent directories to make it easier to isolate unit tests * Added contrail tests related to env file usage related to VNFRQTS-630 Change-Id: I3b44f0ce2d5657e9ab5290cd77f1422b36052b6a Issue-ID: VVP-213 Signed-off-by: Lovett, Trevor --- .../fail/general/STARKDB-nested.yaml | 132 +++++++ .../fail/general/fail.env | 108 ++++++ .../fail/general/fail.yaml | 402 +++++++++++++++++++++ 3 files changed, 642 insertions(+) create mode 100644 ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/STARKDB-nested.yaml create mode 100644 ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.env create mode 100644 ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.yaml (limited to 'ice_validator/tests/fixtures/test_environment_file_parameters/fail/general') diff --git a/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/STARKDB-nested.yaml b/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/STARKDB-nested.yaml new file mode 100644 index 0000000..bb82a04 --- /dev/null +++ b/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/STARKDB-nested.yaml @@ -0,0 +1,132 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2019 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============================================ +# +# + +heat_template_version: 2015-04-30 + +description: fdsafsfsa + +parameters: + + STARKDB_image_name: + type: number + description: sdfnklafd + STARKDB_name: + type: number + description: sdfnklafd + my_nested_parameter: + type: number + description: sdfnklafd + #constraints: + # - range: { min: 100, max: 400 } + subnet_uuid: + type: string + +resources: + + STARKDB_server_2: + type: OS::Nova::Server + properties: + image: { get_param: STARKDB_image_name } + flavor: { get_param: STARKDB_flavor_dvdfg } + name: { get_param: STARKDB_name } + availability_zone: { get_param: availability_zone_0 } + + my_nested_resource2: + type: test + properties: + name: { get_param: asfasf } + + STARKDB_2_crazy_port_2: + type: OS::Neutron::Port + properties: + network: { get_param: crazy_net_id } + fixed_ips: + - subnet: { get_param: crazy_subnet_id } + - ip_address: { get_param: STARKDB_crazy_ip_0 } + allowed_address_pairs: [ { "ip_address": {get_param: + STARKDB_crazy_floating_ip}}] + + int_private_net_id: + type: OS::Neutron::Net + properties: + name: { get_param: int_priv_net_id } + + STARKDB_0_int_priv_port_0: + type: OS::Neutron::Port + properties: + network: { get_resource: int_private_net_id } + fixed_ips: + - subnet: { get_resource: int_priv_subnet } + - ip_address: { get_param: STARKDB_int_private_v6_ips } + + myrouteprefix: + type: OS::ContrailV2::InterfaceRouteTable + properties: + name: + str_replace: + template: VNF_NAME_interface_route_table + params: + VNF_NAME: { get_param: vnf_name } + interface_route_table_routes: + interface_route_table_routes_route: { get_param: fw_oam_route_prefixes } + test: safd + + stark_rg: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: stark_rg_count } + resource_def: + type: STARKDB-nested.yaml + properties: + my_nested_parameter: 4 + + fw_0_oam_protected_vmi_0_IP_0: + type: OS::ContrailV2::InstanceIp + properties: + instance_ip_address: { get_param: [fw_oam_protected_ips, get_param: index ] } + + fw_0_int_other_vmi_0_IP_0: + type: OS::ContrailV2::InstanceIp + properties: + instance_ip_address: { get_param: fw_other_ip_0 } + subnet_uuid: { get_param: subnet_uuid } + +outputs: + test_value: + value: { get_param: my_nested_parameter } diff --git a/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.env b/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.env new file mode 100644 index 0000000..dbdc492 --- /dev/null +++ b/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.env @@ -0,0 +1,108 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2019 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============================================ +# +# + +parameters: + + fw_oam_route_prefixes: nsaflj + + myvm_net_fqdn: nasfln + + vnf_id: sadfadf + + vf_module_id: sadfadf + + vf_module_name: sadfadf + + vnf_name: sadfadf + + starkdb_name: bghbhjb + + STARKDB_name: bghbhjb + + #STARKDB_image_name: sadfadf + + #STARKDB_flavor_dvdfg: sadfadf + + TESTDB_name: bghbhjb + + TESTDB_valet_hosts: test + + #TESTDB_image_name: sadfadf + + #TESTDB_flavor_name: sadfadf + + stark_vol1_id: sanfkl + + param_X: sadnfklsadnfl + + priv_net_id: 123214 + + priv_sub2net_id: 123123 + + int_priv_net_id: sndfj + + workload_context: asdfsadfs + + environment_context: asdfsadfs + + availability_zone_0: sadnfjk + + #STARKDB_int_private_v6_ips: ansdfj + + int_priv_subnet_name: safbdjk + + STARKDB_crazy_floating_ip: safd + + crazy_net_id: safd + + crazy_subnet_id: asfd + + STARKDB_crazy_ip_0: sadf + + STARKDB_crazy_ip_1: fsad + + TESTDB_name2: asnjkv + + vf_module_index: nalfs + + #fw_other_ip_0: 127.0.0.1 + + fw_oam_protected_ips: 127.0.0.1 + + subnet_uuid: aldfjj diff --git a/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.yaml b/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.yaml new file mode 100644 index 0000000..d311730 --- /dev/null +++ b/ice_validator/tests/fixtures/test_environment_file_parameters/fail/general/fail.yaml @@ -0,0 +1,402 @@ +# -*- coding: utf8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/validation-scripts +# =================================================================== +# Copyright © 2019 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============================================ +# +# + +heat_template_version: 2015-04-30 + +description: fdsafsfsa + +parameters: + + fw_oam_route_prefixes: + type: string + description: nsjalfdn + + myvm_net_fqdn: + type: string + description: nasfln + + TESTDB_valet_hosts: + type: string + description: nsfadl + + STARKDB_int_private_v6_ips: + type: comma_delimited_list + description: ndsajlfn + + workload_context: + type: string + description: Unique ID for this VNF instance + + availability_zone_0: + type: json + description: Unique ID for this VNF instance + + environment_context: + type: string + description: Unique ID for this VNF instance + + vnf_id: + type: string + description: Unique ID for this VNF instance + + vf_module_id: + type: json + description: Unique ID for this VNF module instance + + vnf_name: + type: string + description: Unique name for this VNF instance + + starkdb_name: + type: string + description: fdhsfbsakdjnfjdsank + + STARKDB_name: + type: json + description: fdhsfbsakdjnfjdsank + + STARKDB_image_name: + type: string + description: fdhsfbsakdjnfjdsank + + STARKDB_flavor_dvdfg: + type: string + description: fdhsfbsakdjnfjdsank + + + TESTDB_name: + type: string + description: fdhsfbsakdjnfjdsank + + TESTDB_name2: + type: string + description: fdhsfbsakdjnfjdsank + + TESTDB_image_name: + type: string + description: fdhsfbsakdjnfjdsank + + TESTDB_flavor_name: + type: string + description: fdhsfbsakdjnfjdsank + + stark_vol1_id: + type: number + description: myvolume + constraints: + - range: { min: 100, max: 400 } + + param_X: + type: string + description: fdafsda + + priv_net_id: + type: string + description: external network + + #priv_sub2net_id: + # type: json + # description: external subnetwork + + int_priv_subnet_name: + type: string + description: sadnfjls + + int_priv_net_id: + type: string + description: internal network name + + STARKDB_crazy_floating_ip: + type: string + description: asnfjl + + crazy_net_id: + type: string + description: ansfkld + + crazy_subnet_id: + type: string + description: asdfnkal + + STARKDB_crazy_ip_0: + type: string + description: nsalfd + + STARKDB_crazy_ip_1: + type: string + description: nsalfd + + stark_rg_count: + type: string + description: nafs + + fw_other_ip_0: + type: string + + fw_oam_protected_ips: + type: comma_delimited_list + +resources: + + STARKDB_cinder_attach: + type: OS::Cinder::VolumeAttachment + properties: + server: { get_resource: STARKDB_server_0 } + volume: { get_param: stark_vol1_id } + + STARKDB_server_0: + type: OS::Nova::Server + properties: + image: { get_param: STARKDB_image_name } + flavor: { get_param: STARKDB_flavor_dvdfg } + name: { get_param: starkdb_name } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vnf_name: { get_param: vnf_name } + #int_network_id: { get_resource: int_priv_network } + workload_context: { get_param: workload_context } + environment_context: { get_param: environment_context } + #valet_groups: "safnkl, sdaflksanl" + networks: + - port: { get_resource: STARKDB_0_int_priv_port_0 } + - port: { get_resource: STARKDB_0_PRIV_port_1} + - port: { get_resource: STARKDB_0_crazy_port_0 } + - network: { get_param: int_priv_net_id } + user_data: { get_file: deep-nested.file } + + + STARKDB_server_1: + type: OS::Nova::Server + properties: + image: { get_param: STARKDB_image_name } + flavor: { get_param: STARKDB_flavor_dvdfg } + name: { get_param: STARKDB_name } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vnf_name: { get_param: vnf_name } + #int_network_id: { get_resource: int_priv_network } + workload_context: { get_param: workload_context } + environment_context: { get_param: environment_context } + #valet_groups: "safnkl, sdaflksanl" + networks: + - port: {get_resource: STARKDB_1_int_priv_port_0} + - port: {get_resource: STARKDB_1_crazy_port_0} + - network: { get_param: int_priv_net_id } + + TESTDB_server_0: + type: OS::Nova::Server + properties: + image: { get_param: TESTDB_image_name } + flavor: { get_param: TESTDB_flavor_name } + name: { get_param: TESTDB_name } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vnf_name: { get_param: vnf_name } + #int_network_id: { get_resource: int_priv_network } + workload_context: { get_param: workload_context } + environment_context: { get_param: environment_context } + #valet_groups: "safnkl, sdaflksanl" + networks: + - port: {get_resource: TESTDB_0_int_priv_port_0} + - network: { get_param: int_priv_net_id } + + availability_zone: { get_param: availability_zone_0 } + + TESTDB_server_1: + type: OS::Nova::Server + properties: + image: { get_param: TESTDB_image_name } + flavor: { get_param: TESTDB_flavor_name } + name: { get_param: TESTDB_name2 } + metadata: + test_fqdn: { get_param: myvm_net_fqdn } + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vnf_name: { get_param: vnf_name } + #int_network_id: { get_resource: int_priv_network } + workload_context: { get_param: workload_context } + environment_context: { get_param: environment_context } + #valet_groups: "safnkl, sdaflksanl" + networks: + - port: {get_resource: TESTDB_0_int_priv_port_0} + - network: { get_param: int_priv_net_id } + + availability_zone: + str_replace: + template: $AZ$VALET_HOST_ASSIGNMENT + params: + $AZ: { get_param: availability_zone_0 } + $VALET_HOST_ASSIGNMENT: { get_param: [ TESTDB_valet_hosts, 0 ] } + + + vol_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_param: stark_vol1_id } + server: { get_resource: STARKDB_server_0 } + + int_private_net_id: + type: OS::Neutron::Net + properties: + name: { get_param: int_priv_net_id } + + priv_network: + type: OS::Neutron::Net + properties: + fnsdf: nksldfnkl + + stark_nested_resource: + type: STARKDB-nested.yaml + properties: + my_nested_parame: { get_param: vnf_id } + subnet_uuid: { get_param: subnet_uuid } + + int_priv_subnet: + type: OS::Neutron::Subnet + properties: + name: { get_param: int_priv_subnet_name} + network_id: { get_resource: int_private_net_id } + + STARKDB_0_int_priv_port_0: + type: OS::Neutron::Port + properties: + network: { get_resource: int_private_net_id } + fixed_ips: + - subnet: { get_resource: int_priv_subnet } + - ip_address: { get_param: STARKDB_int_private_v6_ips } + + + STARKDB_0_crazy_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: crazy_net_id } + fixed_ips: + - subnet: { get_param: crazy_subnet_id } + - ip_address: { get_param: STARKDB_crazy_ip_0 } + allowed_address_pairs: [ { "ip_address": {get_param: + STARKDB_crazy_floating_ip}}] + + + STARKDB_1_crazy_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: crazy_net_id } + fixed_ips: + - subnet: { get_param: crazy_subnet_id } + - ip_address: { get_param: STARKDB_crazy_ip_1 } + allowed_address_pairs: [ { "ip_address": {get_param: + STARKDB_crazy_floating_ip}}] + + STARKDB_1_int_priv_port_0: + type: OS::Neutron::Port + properties: + network: { get_resource: int_private_net_id } + + + TESTDB_0_int_priv_port_0: + type: OS::Neutron::Port + properties: + network: { get_param: int_priv_net_id } + + STARKDB_0_PRIV_port_1: + type: OS::Neutron::Port + properties: + network: { get_param: priv_net_id } + + STARKDB_cloud_config: + type: OS::Heat::CloudConfig + + subnet_uuid: + type: string + + + myrouteprefix: + type: OS::ContrailV2::InterfaceRouteTable + properties: + name: + str_replace: + template: VNF_NAME_interface_route_table + params: + VNF_NAME: { get_param: vnf_name } + interface_route_table_routes: + interface_route_table_routes_route: { get_param: fw_oam_route_prefixes } + test: safd + + stark_rg: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: stark_rg_count } + resource_def: + type: STARKDB-nested.yaml + properties: + my_nested_parameter: 4 + subnet_uuid: { get_param: subnet_uuid } + + fw_0_oam_protected_vmi_0_IP_0: + type: OS::ContrailV2::InstanceIp + properties: + instance_ip_address: { get_param: [fw_oam_protected_ips, get_param: index ] } + + fw_0_int_other_vmi_0_IP_0: + type: OS::ContrailV2::InstanceIp + properties: + instance_ip_address: { get_param: fw_other_ip_0 } + subnet_uuid: { get_param: subnet_uuid } + +outputs: + test_output: + value: { list_join: [',', [ { get_param: param_X }, { get_param: stark_vol1_id } ] ] } + + int_priv_su2bnet_id: + value: { get_resource: int_priv_subnet } + + int_priv_net_id: + value: { get_resource: int_private_net_id } + + STARKDB_crazy_floating_ip: + value: { get_param: STARKDB_crazy_floating_ip } + + crazy_subnet_id: + value: { get_param: crazy_subnet_id } + + crazy_net_id: + value: { get_param: crazy_net_id } \ No newline at end of file -- cgit 1.2.3-korg