Problem: The openstack driver had been base64 encoding the user data resulting in inconsistent behavior between drivers.
Solution: Do not base64 encode the user data in the Openstack driver. Testing: I tested by curling http and also using the ruby client to create instences with user data on Openstack, RHEVm3.1 and Ec2 The test matrix: rhevm3.1 ruby( Base64 encoded user-data sent) -> instance has ( user-data rcvd Base64 encoded ) curl( Base64 encoded user-data sent) -> instance has ( user-data rcvd decoded/readable ) ec2 ruby( Base64 encoded user-data sent) -> instance has ( user-data rcvd Base64 encoded) curl( Base64 encoded user-data sent) -> instance has ( user-data rcvd decoded/readable ) Openstack ruby( Base64 encoded user-data sent) -> instance has ( user-data rcvd "Double" Base64 encoded ) curl( Base64 encoded user-data sent) -> instance has ( user-data rcvd Base64 encoded ) Openstack (with this patch) ruby( Base64 encoded user-data sent) -> instance has ( user-data rcvd Base64 encoded) curl( Base64 encoded user-data sent) -> instance has ( user-data rcvd decoded/readable )