Encode userdata base64 for launch templates
For create_launch_template, the userdata must be provided base64 encoded. In contrast to the run_instance call, for which it is automatically encoded. Change-Id: I5fe3a8d13705d6f4b6a0c9ad3ec8e2c94d27a726
This commit is contained in:
parent
8d5bb20aee
commit
ee621f1a70
@ -1709,7 +1709,9 @@ class AwsAdapter(statemachine.Adapter):
|
||||
}
|
||||
|
||||
if label.userdata:
|
||||
template_data['UserData'] = label.userdata
|
||||
userdata_base64 = base64.b64encode(
|
||||
label.userdata.encode('ascii')).decode('utf-8')
|
||||
template_data['UserData'] = userdata_base64
|
||||
|
||||
template_args = dict(
|
||||
LaunchTemplateData=template_data,
|
||||
|
@ -1444,7 +1444,8 @@ class TestDriverAws(tests.DBTestCase):
|
||||
LaunchTemplateId=lt1['LaunchTemplateId'])[
|
||||
'LaunchTemplateVersions'][0]
|
||||
lt1_data = lt1_version['LaunchTemplateData']
|
||||
self.assertEqual(lt1_data['UserData'], 'some-command')
|
||||
lt1_userdata = base64.b64decode(lt1_data['UserData']).decode()
|
||||
self.assertEqual(lt1_userdata, 'some-command')
|
||||
|
||||
# Get details from second launch template
|
||||
lt2_version = self.ec2_client.\
|
||||
|
Loading…
x
Reference in New Issue
Block a user