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:
|
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(
|
template_args = dict(
|
||||||
LaunchTemplateData=template_data,
|
LaunchTemplateData=template_data,
|
||||||
|
@ -1444,7 +1444,8 @@ class TestDriverAws(tests.DBTestCase):
|
|||||||
LaunchTemplateId=lt1['LaunchTemplateId'])[
|
LaunchTemplateId=lt1['LaunchTemplateId'])[
|
||||||
'LaunchTemplateVersions'][0]
|
'LaunchTemplateVersions'][0]
|
||||||
lt1_data = lt1_version['LaunchTemplateData']
|
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
|
# Get details from second launch template
|
||||||
lt2_version = self.ec2_client.\
|
lt2_version = self.ec2_client.\
|
||||||
|
Loading…
x
Reference in New Issue
Block a user