Merge "Purge deleted stacks for specific project"
diff --git a/common/config.py b/common/config.py
index b3615d2..3983792 100644
--- a/common/config.py
+++ b/common/config.py
@@ -133,7 +133,7 @@
                help="Timeout in seconds to wait for connectivity to "
                     "server."),
     cfg.IntOpt('sighup_timeout',
-               default=30,
+               default=120,
                help="Timeout in seconds to wait for adding or removing child"
                     "process after receiving of sighup signal"),
     cfg.IntOpt('sighup_config_edit_retries',
diff --git a/functional/test_nova_server_networks.py b/functional/test_nova_server_networks.py
index f258f83..e631e3e 100644
--- a/functional/test_nova_server_networks.py
+++ b/functional/test_nova_server_networks.py
@@ -56,16 +56,46 @@
     value: {get_attr: [server, networks]}
 '''
 
+server_with_port_template = '''
+heat_template_version: 2016-04-08
+description: Test template to test nova server with port.
+parameters:
+  flavor:
+    type: string
+  image:
+    type: string
+resources:
+  net:
+    type: OS::Neutron::Net
+    properties:
+      name: my_net
+  subnet:
+    type: OS::Neutron::Subnet
+    properties:
+      network: {get_resource: net}
+      cidr: 11.11.11.0/24
+  port:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_resource: net}
+      fixed_ips:
+        - subnet: {get_resource: subnet}
+          ip_address: 11.11.11.11
+  server:
+    type: OS::Nova::Server
+    properties:
+      image: {get_param: image}
+      flavor: {get_param: flavor}
+      networks:
+        - port: {get_resource: port}
+'''
+
 
 class CreateServerTest(functional_base.FunctionalTestsBase):
 
-    def setUp(self):
-        super(CreateServerTest, self).setUp()
-
     def get_outputs(self, stack_identifier, output_key):
         stack = self.client.stacks.get(stack_identifier)
-        output = self._stack_output(stack, output_key)
-        return output
+        return self._stack_output(stack, output_key)
 
     def test_create_server_with_subnet_fixed_ip_sec_group(self):
         parms = {'flavor': self.conf.minimal_instance_type,
@@ -104,3 +134,13 @@
                           parameters=parms)
         new_networks = self.get_outputs(stack_identifier, 'networks')
         self.assertNotEqual(['11.11.11.22'], new_networks['my_net'])
+
+    def test_create_server_with_port(self):
+        parms = {'flavor': self.conf.minimal_instance_type,
+                 'image': self.conf.minimal_image_ref}
+        # We just want to make sure we can create the server, no need to assert
+        # anything
+        self.stack_create(
+            template=server_with_port_template,
+            stack_name='server_with_port',
+            parameters=parms)
diff --git a/functional/test_templates.py b/functional/test_templates.py
index 9d36391..232b30d 100644
--- a/functional/test_templates.py
+++ b/functional/test_templates.py
@@ -47,7 +47,7 @@
             template=self.template
         )
         template_from_client = self.client.stacks.template(stack_identifier)
-        self.assertDictEqual(self.template, template_from_client)
+        self.assertEqual(self.template, template_from_client)
 
     def test_template_version(self):
         template_versions = self.client.template_versions.list()
diff --git a/scenario/test_server_cfn_init.py b/scenario/test_server_cfn_init.py
index d3ee7ee..7ed6082 100644
--- a/scenario/test_server_cfn_init.py
+++ b/scenario/test_server_cfn_init.py
@@ -36,9 +36,6 @@
         try:
             self._wait_for_resource_status(
                 sid, 'WaitCondition', 'CREATE_COMPLETE')
-        except (exceptions.StackResourceBuildErrorException,
-                exceptions.TimeoutException) as e:
-            raise e
         finally:
             # attempt to log the server console regardless of WaitCondition
             # going to complete. This allows successful and failed cloud-init
@@ -87,9 +84,9 @@
                     server_ip, username='ec2-user')
                 linux_client.validate_authentication()
             except (exceptions.ServerUnreachable,
-                    exceptions.SSHTimeout) as e:
+                    exceptions.SSHTimeout):
                 self._log_console_output(servers=[server])
-                raise e
+                raise
 
     def test_server_cfn_init(self):
         """Check cfn-init and cfn-signal availability on the created server.
diff --git a/scenario/test_server_software_config.py b/scenario/test_server_software_config.py
index 75de02e..ec12fda 100644
--- a/scenario/test_server_software_config.py
+++ b/scenario/test_server_software_config.py
@@ -13,7 +13,6 @@
 from heatclient.common import template_utils
 import six
 
-from heat_integrationtests.common import exceptions
 from heat_integrationtests.scenario import scenario_base
 
 CFG1_SH = '''#!/bin/sh
@@ -69,9 +68,6 @@
             for res in ('dep2a', 'dep2b', 'dep1', 'dep3'):
                 self._wait_for_resource_status(
                     sid, res, 'CREATE_COMPLETE')
-        except (exceptions.StackResourceBuildErrorException,
-                exceptions.TimeoutException) as e:
-            raise e
         finally:
             # attempt to log the server console regardless of deployments
             # going to complete. This allows successful and failed boot