-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iso image made by pycdlib not working as config drive for cloudinit #7
Comments
I'll take a look at this in more detail over the weekend. Two preliminary questions, though:
Thanks! |
So looking at those two isos that you attached, a couple of things stood out at me that might be different between them:
Besides those things, nothing is very different between the two. If doing none of the above helps, it would help to get some debugging output from the system where this is failing so I can get a better idea of what exactly it doesn't like. |
Below are two captures of commands. The first is launching a virtual machine using qemu. The iso image is a cloudinit iso that the operating system uses to configure things, in this case we're interested in it configuring the password for the default user 'ubuntu'. The first transcript - with seednew.iso generated by genisoimage (refer to top of transcript for command params) shows boot all the way to login prompt and successful login which indicates that the iso was read and password set. I wondered if there might be a clue in this discussion but it went over my head https://bbs.archlinux.org/viewtopic.php?id=195763&p=2 Python code is at bottom. The second transcript shows the same process but instead using iso generated by pycdlib. The noticable error in the boot commands is:
Exhibit 1: successful boot:
Exhibit 2
Python code to generate cidata.iso:
|
OK, I found some time to sit down and look at this, and I found the bug. It's a latent bug in how we were encoding the system identifier that goes into the Joliet extension. Basically, we were encoding to |
Thanks for the great library! I need this fix, but it looks like it is not yet in an official release. Please can you tell me when you are likely to be releasing a new version that includes this. |
I have a couple of more bugs that I'm working on, then I should be able to release the next version. I'd guess another 2-3 weeks; sorry for so long, but I'm only working on this in my spare time. |
@johnbatty I've gone ahead and done a 1.4.0 release to PyPI (https://pypi.org/project/pycdlib/). Give it a whirl and let me know if you run into problems. |
Attached are two iso files.
seednew.iso is created by genisoimage, cidata.iso is created by pycdlib
seednew.iso.zip
cidata.iso.zip
I am trying to make a config drive for cloudinit http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html
seednew.iso works
cidata.iso does not seem to work for some reason.
I can't see what is different between them that would prevent cidata.iso working
There's only two files and hopefully they are the same on each iso:
The command to generate the iso image is this:
genisoimage -output seednew.iso -volid cidata -joliet -rock user-data meta-data
My Python code to generate the iso looks like this:
Any guess as to why one of these isos works and the other does not?
thanks!
The text was updated successfully, but these errors were encountered: