Skip to content
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

Install tzdata-legacy when building extra docker image #6078

Open
TrayanZapryanov opened this issue Nov 26, 2024 · 9 comments
Open

Install tzdata-legacy when building extra docker image #6078

TrayanZapryanov opened this issue Nov 26, 2024 · 9 comments

Comments

@TrayanZapryanov
Copy link

Describe the Problem

Once developers migrate from jammy:8.0 to runtime:9.0.0-noble-chiseled-extra, they can experience incompatibility issues with time zones.
Suggestion in 6072 was to install tzdata-legacy or to force ICU changing their stuff.

Describe the Solution

Install tzdata-legacy in extra image to prevent breaking changes.

Additional Context

See 6072 for more context.

@lbussell
Copy link
Contributor

Thank you for the feature suggestion. The easy path for users being able to add tzdata-legacy to their own Chiseled images is going to depend on:

#4811 is the biggest unknown - if it turns out that adding packages to existing Chiseled images is still difficult/extra even after Chisel v1.0.0, then we could consider adding tzdata-legacy by default to noble extra images.

And just to be clear, @TrayanZapryanov, are you actually hitting this issue with Time Zone ID incompatibility today?

@TrayanZapryanov
Copy link
Author

Yes,
Logs in previous issue were from production environment. At the moment they are not so much to rever to .net8 as only half of the customers are affected.

@mthalman
Copy link
Member

I talked with @rebornplusplus about this. This is being investigated.

@richlander
Copy link
Member

Do we have a size cost for tzdata-legacy? I am guessing it is a drop in the bucket compared to ICU.

@lbussell
Copy link
Contributor

lbussell commented Dec 2, 2024

I went ahead and filed an issue to track this in the chisel-releases repo: Add tzdata-legacy slice for 24.04 (canonical/chisel-releases#405)

I'll get back to this issue with the maximum possible size increase by looking at the full package's installed size.

@lbussell
Copy link
Contributor

lbussell commented Dec 3, 2024

Adding tzdata legacy to the image mcr.microsoft.com/dotnet/runtime-deps:9.0-noble-amd64 resulted in a compressed image size increase of 167 KB. This is not a chiseled image (because we don't have a slice readily available), but we should expect the size increase to be similar in magnitude when we add it to chiseled images. In my opinion, this size seems small enough that we could add it to all noble chiseled images without too much consideration.

For context, the current size of Chiseled base images today (compressed):

  • mcr.microsoft.com/dotnet/runtime-deps:9.0-noble-chiseled-extra-amd64: 20.21 MB
  • mcr.microsoft.com/dotnet/runtime:9.0-noble-chiseled-extra-amd64: 53.15 MB
  • mcr.microsoft.com/dotnet/aspnet:9.0-noble-chiseled-extra-amd64: 63.93 MB

@lbussell
Copy link
Contributor

lbussell commented Dec 9, 2024

[Triage] Looks like canonical/chisel-releases#405 is in-progress via canonical/chisel-releases#412. Since the installed size should be negligible, we will plan on adding this slice to all of our noble-chiseled images in a future .NET update - hopefully with the January servicing release.

@lbussell lbussell removed the untriaged label Dec 9, 2024
@lbussell lbussell self-assigned this Dec 9, 2024
@lbussell lbussell moved this from Backlog to Sprint in .NET Docker Dec 9, 2024
@lbussell lbussell moved this from Sprint to In Progress in .NET Docker Dec 11, 2024
@lbussell lbussell moved this from In Progress to Rollout in .NET Docker Dec 16, 2024
@lbussell
Copy link
Contributor

lbussell commented Dec 18, 2024

I validated that the newest images made a negligible difference in image size:

Image Compressed Size Before After
mcr.microsoft.com/dotnet/nightly/runtime-deps:9.0.0-noble-chiseled-extra-amd64 20.21 MB 20.35 MB
mcr.microsoft.com/dotnet/nightly/runtime:9.0.0-noble-chiseled-extra-amd64 53.15 MB 53.30 MB
mcr.microsoft.com/dotnet/nightly/aspnet:9.0.0-noble-chiseled-extra-amd64 63.93 MB 64.08

@TrayanZapryanov, are you able to validate that the latest nightly images, mcr.microsoft.com/dotnet/nightly/runtime:9.0.0-noble-chiseled-extra, fix your time zone issue with "FLE Standard Time"?

@TrayanZapryanov
Copy link
Author

I will experiment tomorrow and will post results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Rollout
Development

No branches or pull requests

4 participants