Skip to content

Conversation

@william-billaud
Copy link
Contributor

  • Add support to zstd compressed vmtar files (and XZ, as fsutil.open_decompress is now used to manage decompress)
  • Use VmtarFilesystem inside esxi._os, instead of manual tar uncompress
  • Add the backport.zstd dependency. In Python 3.14 zstd as been added to standard library (pep-0784), author as backported the lib.
    • Using this lib, we do not need to fully read data in memory when uncompressing zstd, which is more convenient.
  • Add an UncompressionError, mainly raised when required dependency is missing. This allows logging when a file couldn't be decompressed due to an error/missing deps
  • Initially, using zstandard I encounter uncompression Errors of few zstd file, but this error is not present using backport.zstd (and files from "faulty" archive are present when mounting the disk).
  • Add test regarding a zstd compressed vmtar file.

Some note regarding somme "issues" I found into the code

  • Perhaps zstandard usage should be fully replaced by backport.zstd/zstd in a dedicated issue
  • Perhaps a decompression error should be generated whenever a compressed stream is detected using open_decompress, but the required library is not present (or when decompression has failed). This would warn the user of something abnormal without causing a crash.

I can provide an esxi 8 and esxi 9 disk (30Go, less than 1Go compressed) if needed for testing purposes.

close #1296

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for zstandard compressed ESXi boot modules

1 participant