shaner
(Shane Peters)
February 18, 2021, 9:20pm
1
Cloudbase-IT Cloudinit is failing to find filenames ‘user_data’, ‘meta_data’, and ‘vendor_data’ in the config drive as their filenames are limited to only 8 characters. I found the command used to generate the ISO, and it SHOULD allow for characters longer than 8 if IIUC. Perhaps windows is mounting it incorrectly?
Screenshot:
err = ioutil.WriteFile(filepath.Join(scratchDir, "meta-data"), []byte(metaData), 0400)
if err != nil {
return "", err
}
// Finally convert the config drive dir into an ISO file. The cidata label is important
// as this is what cloud-init uses to detect, mount the drive and run the cloud-init
// templates on first boot. The vendor-data template then modifies the system so that the
// config drive is mounted and the agent is started on subsequent boots.
isoPath := filepath.Join(d.inst.Path(), "config.iso")
_, err = shared.RunCommand(mkisofsPath, "-R", "-V", "cidata", "-o", isoPath, scratchDir)
if err != nil {
return "", err
}
// Remove the config drive folder.
os.RemoveAll(scratchDir)
return isoPath, nil
}
Has anybody else ran into this issue, am I doing something wrong here?
stgraber
(Stéphane Graber)
February 18, 2021, 10:52pm
2
shaner
(Shane Peters)
February 19, 2021, 1:21am
3
Yes, I suspect it will! Thank you so much!