Merge "Use AWS::EC2::EIP for test_server_cfn_init"
diff --git a/scenario/templates/test_server_software_config.yaml b/scenario/templates/test_server_software_config.yaml
index e6ecae4..c173e2c 100644
--- a/scenario/templates/test_server_software_config.yaml
+++ b/scenario/templates/test_server_software_config.yaml
@@ -11,6 +11,9 @@
   signal_transport:
     type: string
     default: CFN_SIGNAL
+  software_config_transport:
+    type: string
+    default: POLL_SERVER_CFN
   dep1_foo:
     default: fooooo
     type: string
@@ -150,7 +153,7 @@
       networks:
       - network: {get_param: network}
       user_data_format: SOFTWARE_CONFIG
-      software_config_transport: POLL_TEMP_URL
+      software_config_transport: {get_param: software_config_transport}
       user_data: {get_resource: cfg_user_data}
 
 outputs:
diff --git a/scenario/test_server_software_config.py b/scenario/test_server_software_config.py
index a70c32f..86672c5 100644
--- a/scenario/test_server_software_config.py
+++ b/scenario/test_server_software_config.py
@@ -48,7 +48,8 @@
                           'skipping')
         self.stack_name = self._stack_rand_name()
 
-    def check_stack(self, sid):
+    def check_stack(self):
+        sid = self.stack_identifier
         # Check that all stack resources were created
         for res in ('cfg2a', 'cfg2b', 'cfg1', 'cfg3', 'server'):
             self._wait_for_resource_status(
@@ -123,8 +124,14 @@
         dep1_resource = self.client.resources.get(sid, 'dep1')
         dep1_id = dep1_resource.physical_resource_id
         dep1_dep = self.client.software_deployments.get(dep1_id)
-        self.assertIsNotNone(dep1_dep.updated_time)
-        self.assertNotEqual(dep1_dep.updated_time, dep1_dep.creation_time)
+        if hasattr(dep1_dep, 'updated_time'):
+            # Only check updated_time if the attribute exists.
+            # This allows latest heat agent code to be tested with
+            # Juno heat (which doesn't expose updated_time)
+            self.assertIsNotNone(dep1_dep.updated_time)
+            self.assertNotEqual(
+                dep1_dep.updated_time,
+                dep1_dep.creation_time)
 
     def test_server_software_config(self):
         """
@@ -151,7 +158,7 @@
         }
 
         # Launch stack
-        stack_id = self.launch_stack(
+        self.stack_identifier = self.launch_stack(
             stack_name=self.stack_name,
             template_name='test_server_software_config.yaml',
             parameters=parameters,
@@ -159,7 +166,5 @@
             expected_status=None
         )
 
-        self.stack_identifier = '%s/%s' % (self.stack_name, stack_id)
-
         # Check stack
-        self.check_stack(self.stack_identifier)
+        self.check_stack()