feat: support enableTaskIDBasedBlobDigest for preheat job in Manager#4603
feat: support enableTaskIDBasedBlobDigest for preheat job in Manager#4603dask-58 wants to merge 2 commits intodragonflyoss:mainfrom
Conversation
Signed-off-by: dask-58 <140686560+dask-58@users.noreply.github.com>
f38550e to
abb5cca
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4603 +/- ##
=======================================
Coverage 28.70% 28.71%
=======================================
Files 231 231
Lines 23026 23036 +10
=======================================
+ Hits 6609 6614 +5
- Misses 15955 15960 +5
Partials 462 462
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Signed-off-by: dask-58 <140686560+dask-58@users.noreply.github.com>
|
The issue originally requested the default value of Specifically, the test: The cause of test failure: // test/e2e/manager/preheat.go:237-244
taskMetadatas := []util.TaskMetadata{
{
ID: "a5040eb77de7f771cb3ce3ecb2ebb61af124d3341e0b5c6854b7e220eb0dc680", // OLD task ID
Sha256: "a711f05d33845e2e9deffcfcc5adf082d7c6e97e3e3a881d193d9aae38f092a8",
},
// ...
}I confirmed this to be the correct cause by setting the default value to Currently, the default is set to What I think could be some potential solutions to enable true as default:
@gaius-qi Would appreciate any feedback |
Description
Add
enable_task_id_based_blob_digestfield to Manager REST API for preheat jobs.When enabled for OCI blob URLs (e.g.,
/v2/<name>/blobs/sha256:<digest>), the task ID is derived from the blob digest rather than the full URL. This enables deduplication across registries - the same blob from different registries shares one task ID, eliminating redundant downloads and storage.Related Issue
Fixes #4590
Motivation and Context
The
client.download_taskgRPC API now supportsenableTaskIDBasedBlobDigest. This PR adds the field to Manager REST API so the frontend Console can set it when creating preheat jobs. The default value isfalse(TEMPORARILY) to ensure backward compatibility making it an opt-in feature.Screenshots (if appropriate)
N/A
Types of changes
Checklist