Do not set the mime-type for userdata
We set the mime-type to 'x-shellscript' for all
single userdata when user_data_format='SOFTWARE_CONFIG',
it's incorrect, for example, if user create a server
with a cloud-config userdata, we will set the mime-type to
'x-shellscript', then cloud-init will consume the userdata
as a shellscript and fail to execute.
This change will improve this by not setting the mime-type
and letting cloud-init figure it out from the first line
in the file.
Closes-Bug: #1643739
Change-Id: If026884a95c58bb81a0f04ab415909011b1a5414
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)