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
Improved image compression algorithm #445
Comments
The new hotness is |
Should we care about bit-by-bit reproducible compression too? |
I would vote for |
yeah my understanding was that That being said, I LOVE the compression ratio |
|
Well... we're releasing official binaries, so this is the sort of thing we're supposed to care about. (I'd argue that's still true, notwithstanding that those binaries will go stale pretty quickly.) We'll be signing our artifacts, which sidesteps the robustness issues, but the interoperability problems are still of concern. I'd tend to agree, though, that we shouldn't fight an uphill battle here. xz is pervasive, and other Fedora release artifacts already use it. (Also, precedent: ZIP files have interoperability problems and everyone uses them anyway.) |
Unless someone comes up with a good reason not to, I'm +1 for moving to |
RHCOS is providing artifacts for OpenStack and bare metal as gzipped compressed; my only concern is making sure the consumers of said artifacts (like the OpenShift installer or RHHI) are updated accordingly whenever RHCOS starts using a (Yeah, there's a lot of conditionals there, but it's something that will easily get overlooked) That being said, I'm not opposed to this change. |
Rather than enforcing the change from |
I was thinking it could be an |
Right exactly, switching now would almost certainly break some use cases. We'd need to ensure we've adapted those consumers ahead of time to e.g. detect the filename suffix and use the right decompressor or whatever. Probably starting here... |
Interestingly enough I just saw this proposal for moving to |
I don't think this affects our course of action at all, but coreos/bugs#2589 presents a cautionary tale. |
This change switches FCOS to produce XZ-compressed output artifacts, but keeps using gzip for RHCOS. Closes: coreos#445
This change switches FCOS to produce XZ-compressed output artifacts, but keeps using gzip for RHCOS. Changes include generating coreos-assembler-config.tar.xz instead of coreos-config.tar.gz and compressing using `xz -9` instead of `gzip`. Closes: coreos#445
This change switches FCOS to produce XZ-compressed output artifacts, but keeps using gzip for RHCOS. Changes include generating coreos-assembler-config.tar.xz instead of coreos-config.tar.gz and compressing using `xz -9` instead of `gzip`. Closes: coreos#445
This change switches FCOS to produce XZ-compressed output artifacts, but keeps using gzip for RHCOS. Changes include generating coreos-assembler-config.tar.xz instead of coreos-config.tar.gz and parameterizing the compression algorithm option and hardcoding a default value `xz` Closes: coreos#445
This change switches FCOS to produce XZ-compressed output artifacts, but keeps using gzip for RHCOS. Changes include parameterizing the compression algorithm option and setting the default value to `xz`. Closes: coreos#445
This change switches FCOS to produce XZ-compressed output artifacts, but keeps using gzip for RHCOS. Changes include parameterizing the compression algorithm option and setting the default value to `xz`. Closes: coreos#445
Allows FCOS to support XZ-compressed output artifacts. Changes include parameterizing the compression algorithm option and setting the default value to `gzip`. Closes: coreos#445
Allows FCOS to support XZ-compressed output artifacts. Changes include parameterizing the compression algorithm option and setting the default value to `gzip`. Closes: coreos#445
Allows FCOS to support XZ-compressed output artifacts. Changes include parameterizing the compression algorithm option and setting the default value to `gzip`. Closes: #445
There are a couple bits remaining:
|
As discussed in coreos/coreos-assembler#445.
coreos/fedora-coreos-pipeline#87
Hmm, let's make that part of another ticket instead, e.g. #531? |
As discussed in coreos/coreos-assembler#445.
We got our first FCOS build (30.309) compressed with xz:
Very nice! |
As expected, a major downside of FCOS switching to xz is that iterating on the pipeline is now much more painful. (And yes, we could skip compression or go back to gz in the developer case, though not matching production doesn't help e2e testing either, e.g. coreos-installer). |
jlebon: Maybe dropping the default developer case to gz but having it be a configurable option in the job itself? |
Agreed, closing! |
gzip is not very good by modern standards. xz seems to be the go-to algorithm; on the other hand it uses a comparatively large amount of memory and is not very robust. Container Linux uses bzip2.
The text was updated successfully, but these errors were encountered: