diff --git a/heat_integrationtests/common/config.py b/heat_integrationtests/common/config.py index ce7407a1b9..5ced77bda8 100644 --- a/heat_integrationtests/common/config.py +++ b/heat_integrationtests/common/config.py @@ -38,6 +38,8 @@ IntegrationTestGroup = [ cfg.StrOpt('instance_type', help="Instance type for tests. Needs to be big enough for a " "full OS plus the test workload"), + cfg.StrOpt('minimal_instance_type', + help="Instance type enough for simplest cases."), cfg.StrOpt('image_ref', help="Name of image to use for tests which boot servers."), cfg.StrOpt('keypair_name', diff --git a/heat_integrationtests/functional/test_validation.py b/heat_integrationtests/functional/test_validation.py index 2df6356e69..6a65091bf8 100644 --- a/heat_integrationtests/functional/test_validation.py +++ b/heat_integrationtests/functional/test_validation.py @@ -22,8 +22,9 @@ class StackValidationTest(test.HeatIntegrationTest): if not self.conf.minimal_image_ref: raise self.skipException("No image configured to test") - if not self.conf.instance_type: - raise self.skipException("No instance_type configured to test") + if not self.conf.minimal_instance_type: + raise self.skipException( + "No minimal_instance_type configured to test") self.assign_keypair() @@ -72,7 +73,7 @@ resources: env = {'resource_registry': {'My::Config': 'provider.yaml'}} parameters = {'keyname': self.keypair_name, - 'flavor': self.conf.instance_type, + 'flavor': self.conf.minimal_instance_type, 'image': self.conf.minimal_image_ref} # Note we don't wait for CREATE_COMPLETE, because we're using a # minimal image without the tools to apply the config. diff --git a/heat_integrationtests/heat_integrationtests.conf.sample b/heat_integrationtests/heat_integrationtests.conf.sample index e6207c7a9b..5a89910e51 100644 --- a/heat_integrationtests/heat_integrationtests.conf.sample +++ b/heat_integrationtests/heat_integrationtests.conf.sample @@ -23,6 +23,9 @@ # workload (string value) #instance_type = +# Instance type enough for simplest cases. (string value) +#minimal_instance_type = + # Name of image to use for tests which boot servers. (string value) #image_ref = diff --git a/heat_integrationtests/prepare_test_env.sh b/heat_integrationtests/prepare_test_env.sh index 537694a785..2ed2d22372 100755 --- a/heat_integrationtests/prepare_test_env.sh +++ b/heat_integrationtests/prepare_test_env.sh @@ -24,9 +24,11 @@ source $DEST/devstack/inc/ini-config cd $DEST/heat/heat_integrationtests -# Register the flavor for booting test servers +# Register the flavors for booting test servers iniset heat_integrationtests.conf DEFAULT instance_type m1.heat_int +iniset heat_integrationtests.conf DEFAULT minimal_instance_type m1.heat_micro nova flavor-create m1.heat_int 452 512 0 1 +nova flavor-create m1.heat_micro 453 128 0 1 # Register the glance image for testing glance image-create --name fedora-heat-test-image --disk-format qcow2 --container-format bare --is-public True --location http://tarballs.openstack.org/heat-test-image/fedora-heat-test-image.qcow2 @@ -34,4 +36,4 @@ iniset heat_integrationtests.conf DEFAULT image_ref fedora-heat-test-image iniset heat_integrationtests.conf DEFAULT boot_config_env $DEST/heat-templates/hot/software-config/boot-config/test_image_env.yaml iniset heat_integrationtests.conf DEFAULT minimal_image_ref cirros-0.3.2-x86_64-uec -cat heat_integrationtests.conf \ No newline at end of file +cat heat_integrationtests.conf diff --git a/heat_integrationtests/scenario/scenario_base.py b/heat_integrationtests/scenario/scenario_base.py index 77c3624496..dd25b89dd7 100644 --- a/heat_integrationtests/scenario/scenario_base.py +++ b/heat_integrationtests/scenario/scenario_base.py @@ -31,6 +31,11 @@ class ScenarioTestsBase(test.HeatIntegrationTest): if not self.conf.instance_type: raise self.skipException("No flavor configured to test") + if not self.conf.minimal_image_ref: + raise self.skipException("No minimal image configured to test") + if not self.conf.minimal_instance_type: + raise self.skipException("No minimal flavor configured to test") + def launch_stack(self, template_name, expected_status='CREATE_COMPLETE', parameters=None, **kwargs): template = self._load_template(__file__, template_name, self.sub_dir) diff --git a/heat_integrationtests/scenario/test_neutron_autoscaling.py b/heat_integrationtests/scenario/test_neutron_autoscaling.py index 2ba085b7c3..9bbfbab331 100644 --- a/heat_integrationtests/scenario/test_neutron_autoscaling.py +++ b/heat_integrationtests/scenario/test_neutron_autoscaling.py @@ -20,8 +20,6 @@ class NeutronAutoscalingTest(scenario_base.ScenarioTestsBase): def setUp(self): super(NeutronAutoscalingTest, self).setUp() - if not self.conf.minimal_image_ref: - raise self.skipException("No minimal image configured to test") if not self.conf.fixed_subnet_name: raise self.skipException("No sub-network configured to test") self.template_name = 'test_neutron_autoscaling.yaml' @@ -41,7 +39,7 @@ class NeutronAutoscalingTest(scenario_base.ScenarioTestsBase): parameters = { "image_id": self.conf.minimal_image_ref, "capacity": "1", - "instance_type": self.conf.instance_type, + "instance_type": self.conf.minimal_instance_type, "fixed_subnet_name": self.conf.fixed_subnet_name, } diff --git a/heat_integrationtests/scenario/test_neutron_loadbalancer.py b/heat_integrationtests/scenario/test_neutron_loadbalancer.py index 0591e5bdda..bbe85bc4cf 100644 --- a/heat_integrationtests/scenario/test_neutron_loadbalancer.py +++ b/heat_integrationtests/scenario/test_neutron_loadbalancer.py @@ -52,7 +52,7 @@ class NeutronLoadBalancerTest(scenario_base.ScenarioTestsBase): parameters = { 'key_name': self.keypair_name, - 'flavor': self.conf.instance_type, + 'flavor': self.conf.minimal_instance_type, 'image': self.conf.image_ref, 'private_subnet_id': self.net['subnets'][0], 'external_network_id': self.public_net['id'] diff --git a/heat_integrationtests/scenario/test_volumes.py b/heat_integrationtests/scenario/test_volumes.py index 9b12a9cc4c..79d49314a6 100644 --- a/heat_integrationtests/scenario/test_volumes.py +++ b/heat_integrationtests/scenario/test_volumes.py @@ -119,7 +119,7 @@ class VolumeBackupRestoreIntegrationTest(scenario_base.ScenarioTestsBase): """ parameters = { 'key_name': self.keypair_name, - 'instance_type': self.conf.instance_type, + 'instance_type': self.conf.minimal_instance_type, 'image_id': self.conf.minimal_image_ref, 'volume_description': self.volume_description, 'timeout': self.conf.build_timeout,