Closed tkontogi closed 1 year ago
[tkonto@tweety-lap test]$ ls -l VMware_ESXi_6.7.0_17700523_HPE_Gen9plus_670.U3.10.7.0.132_May2021.iso
-rw-r--r--. 1 tkonto tkonto 418224128 Dec 15 18:16 VMware_ESXi_6.7.0_17700523_HPE_Gen9plus_670.U3.10.7.0.132_May2021.iso
[tkonto@tweety-lap test]$ file VMware_ESXi_6.7.0_17700523_HPE_Gen9plus_670.U3.10.7.0.132_May2021.iso
VMware_ESXi_6.7.0_17700523_HPE_Gen9plus_670.U3.10.7.0.132_May2021.iso: ISO 9660 CD-ROM filesystem data 'HPE-ESXI-6.7.0-UPDATE3-ISO-GEN9P' (bootable)
[tkonto@tweety-lap test]$ file TEST.FILE
TEST.FILE: ASCII text
[tkonto@tweety-lap test]$ ls -l TEST.FILE
-rw-r--r--. 1 tkonto tkonto 35 Dec 16 12:51 TEST.FILE
Sorry for the long delay here. In short, I can reproduce this problem (outside of ansible, which makes it easier). There must be something about the structure of that particular ISO that is different than pycdlib expects. I'll take a closer look; thanks for the report.
All right, I see what is happening. In all other ISOs I've looked at until this point, the Path Table is always created in groups of 2 extents (4096 bytes). There is both a little-endian and big-endian Path Table on an ISO, so in simple ISOs this takes up 4 extents (8192 bytes).
However, the standard doesn't mandate that, and in fact the VMWare ISO has Path Tables with only 1 extent (2048 bytes). With the little-endian and big-endian ones, the total is 2 extents (4096 bytes).
Because I've never seen an ISO like this before, pycdlib has an assumption about the 2 extents per Path Table thing, and that is what is being violated here. I'm not quite sure how to fix this yet, but at least I understand the problem now.
All right, 692a2dd9736acc8650ad065d4ef8264d0f446df1 should fix this particular problem. I don't love the solution, but I also don't see another way to fix it right now; we just don't have the required information. Please give this a shot when you get a chance. I'm going to close this out for now.
Summary
Hello,
Using the playbook listed in "Steps to Reproduce" I get the failure listed in "Actual Results"
Thank you
Issue Type
Bug Report
Component Name
community.general.iso_customize
Ansible Version
Community.general Version
Configuration
OS / Environment
Fedora 37
Steps to Reproduce
Expected Results
I expect the TEST.FILE to be injected in the iso file and have a new iso file created
Actual Results