Merge "Do not set the mime-type for userdata"
diff --git a/scenario/templates/test_server_signal.yaml b/scenario/templates/test_server_signal.yaml
index dfb1155..4466a5e 100644
--- a/scenario/templates/test_server_signal.yaml
+++ b/scenario/templates/test_server_signal.yaml
@@ -23,6 +23,9 @@
   dns_servers:
     type: comma_delimited_list
     default: ["8.8.8.8", "8.8.4.4"]
+  user_data_format:
+    type: string
+    default: RAW
 resources:
   sg:
     type: OS::Neutron::SecurityGroup
@@ -76,7 +79,7 @@
       - subnet: {get_resource: subnet}
       security_groups:
       - {get_resource: sg}
-      user_data_format: RAW
+      user_data_format: {get_param: user_data_format}
       user_data:
         str_replace:
           template: |
diff --git a/scenario/test_server_signal.py b/scenario/test_server_signal.py
index 4567e43..b2085e2 100644
--- a/scenario/test_server_signal.py
+++ b/scenario/test_server_signal.py
@@ -20,13 +20,15 @@
 class ServerSignalIntegrationTest(scenario_base.ScenarioTestsBase):
     """Test a server in a created network can signal to heat."""
 
-    def test_server_signal(self):
+    def _test_server_signal(self, user_data_format='RAW',
+                            image=None):
         """Check a server in a created network can signal to heat."""
         parameters = {
             'key_name': self.keypair_name,
             'flavor': self.conf.minimal_instance_type,
-            'image': self.conf.minimal_image_ref,
+            'image': image,
             'timeout': self.conf.build_timeout,
+            'user_data_format': user_data_format
         }
 
         # Launch stack
@@ -72,3 +74,12 @@
             self._log_console_output(servers=[server])
             self.fail(
                 "Timed out waiting for %s to become reachable" % server_ip)
+
+    def test_server_signal_userdata_format_raw(self):
+        self._test_server_signal(image=self.conf.minimal_image_ref)
+
+    def test_server_signal_userdata_format_software_config(self):
+        if not self.conf.image_ref:
+            raise self.skipException("No image configured to test")
+        self._test_server_signal(user_data_format='SOFTWARE_CONFIG',
+                                 image=self.conf.image_ref)