Skip to content

Commit 31cb90c

Browse files
committed
CP-11264: Storing and retrieving the user_data template on the config drive.
Signed-off-by: Rob Dobson <[email protected]>
1 parent 6eed803 commit 31cb90c

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/xscontainer/coreos.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def find_latest_tools_iso_path():
159159
return tools_iso_path_wo_releaseless[-1]
160160

161161

162-
def create_config_drive_iso(session, userdata, vmuuid):
162+
def create_config_drive_iso(session, userdata_template, vmuuid):
163163
log.info("create_config_drive_iso for vm %s" % (vmuuid))
164164
umountrequired = False
165165
temptoolsisodir = None
@@ -177,8 +177,10 @@ def create_config_drive_iso(session, userdata, vmuuid):
177177
latestfolder = os.path.join(openstackfolder, 'latest')
178178
os.makedirs(latestfolder)
179179
userdatafile = os.path.join(latestfolder, 'user_data')
180-
userdata = customize_userdata(session, userdata, vmuuid)
180+
userdatatemplatefile = "%s.template" % userdatafile
181+
userdata = customize_userdata(session, userdata_template, vmuuid)
181182
util.write_file(userdatafile, userdata)
183+
util.write_file(userdatatemplatefile, userdata_template)
182184
log.debug("Userdata: %s" % (userdata))
183185
# Also add the Linux guest agent
184186
temptoolsisodir = tempfile.mkdtemp()
@@ -206,8 +208,9 @@ def create_config_drive_iso(session, userdata, vmuuid):
206208
if umountrequired:
207209
cmd = ['umount', temptoolsisodir]
208210
util.runlocal(cmd)
209-
for path in [temptoolsisodir, userdatafile, latestfolder,
210-
openstackfolder] + agentfilepaths + [agentpath, tempisodir]:
211+
for path in [temptoolsisodir, userdatafile, userdatatemplatefile,
212+
latestfolder, openstackfolder] + agentfilepaths + \
213+
[agentpath, tempisodir]:
211214
if path != None:
212215
if os.path.isdir(path):
213216
os.rmdir(path)
@@ -270,9 +273,9 @@ def get_config_drive_configuration(session, vdiuuid):
270273
cmd = ['mount', '-o', 'loop', '-t', 'iso9660', filename, tempdir]
271274
util.runlocal(cmd)
272275
umountrequired = True
273-
userdatapath = os.path.join(
274-
tempdir, 'openstack', 'latest', 'user_data')
275-
content = util.read_file(userdatapath)
276+
userdatapath_template = os.path.join(
277+
tempdir, 'openstack', 'latest', 'user_data.template')
278+
content = util.read_file(userdatapath_template)
276279
finally:
277280
os.remove(filename)
278281
if umountrequired:

0 commit comments

Comments
 (0)