• Kubernetes Submit Queue's avatar
    Merge pull request #58036 from shlevy/cri-ImageStatus-info · b63fab3a
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 58171, 58036, 60540). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    dockershim: Return Labels as Info in ImageStatus.
    
    c6ddc749 added an Info field to
    ImageStatusResponse when Verbose is true. This makes the image's
    Labels available in that field, rather than unconditionally returning
    an empty map.
    
    **What this PR does / why we need it**:
    
    This PR exposes an image's `Labels` through the CRI. In particular, I want this so I can write an `ImageService` wrapper that delegates all operations to a real `ImageService` but also, when the right `Labels`, ensures any needed [nix store](https://nixos.org/nix/) paths are present on the system when an image is pulled, enabling users to use nix for package distribution while still using containers for isolation and kubernetes for orchestration. In general, though, this should be useful for anything that wants to know about an image's `Labels`
    
    **Special notes for your reviewer**:
    
    I'd prefer to put this change into the `Image` protobuf type instead of putting it into `Info` (gated by `Verbose` or not, available in other requests like `ListImages` or not), but that would be a change to the protocol and it seems `Info` was introduced exactly for this purpose. If it's acceptable to put this into `Image`, I'll rework this.
    
    If this change is acceptable, I will also do the work for `cri-o`, `rktlet`, `frakti`, and `cri-containerd` where applicable.
    
    I have started the process for my employer to sign on to the CLA. I don't have reason to expect it to take long, but because there is more work to do if this change is desired I'd prefer if we can start review before that is completed.
    
    **Release note**:
    
    ```release-note
    dockershim now makes an Image's Labels available in the Info field of ImageStatusResponse
    ```
    b63fab3a
Name
Last commit
Last update
..
apis Loading commit data...
cadvisor Loading commit data...
certificate Loading commit data...
checkpoint Loading commit data...
client Loading commit data...
cm Loading commit data...
config Loading commit data...
configmap Loading commit data...
container Loading commit data...
custommetrics Loading commit data...
dockershim Loading commit data...
envvars Loading commit data...
events Loading commit data...
eviction Loading commit data...
gpu Loading commit data...
images Loading commit data...
kubeletconfig Loading commit data...
kuberuntime Loading commit data...
leaky Loading commit data...
lifecycle Loading commit data...
logs Loading commit data...
metrics Loading commit data...
mountpod Loading commit data...
network Loading commit data...
pleg Loading commit data...
pod Loading commit data...
preemption Loading commit data...
prober Loading commit data...
qos Loading commit data...
remote Loading commit data...
rkt Loading commit data...
secret Loading commit data...
server Loading commit data...
stats Loading commit data...
status Loading commit data...
sysctl Loading commit data...
types Loading commit data...
util Loading commit data...
volumemanager Loading commit data...
winstats Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
active_deadline.go Loading commit data...
active_deadline_test.go Loading commit data...
doc.go Loading commit data...
kubelet.go Loading commit data...
kubelet_getters.go Loading commit data...
kubelet_getters_test.go Loading commit data...
kubelet_network.go Loading commit data...
kubelet_network_test.go Loading commit data...
kubelet_node_status.go Loading commit data...
kubelet_node_status_test.go Loading commit data...
kubelet_pods.go Loading commit data...
kubelet_pods_test.go Loading commit data...
kubelet_pods_windows_test.go Loading commit data...
kubelet_resources.go Loading commit data...
kubelet_resources_test.go Loading commit data...
kubelet_test.go Loading commit data...
kubelet_volumes.go Loading commit data...
kubelet_volumes_test.go Loading commit data...
oom_watcher.go Loading commit data...
oom_watcher_test.go Loading commit data...
pod_container_deletor.go Loading commit data...
pod_container_deletor_test.go Loading commit data...
pod_workers.go Loading commit data...
pod_workers_test.go Loading commit data...
reason_cache.go Loading commit data...
reason_cache_test.go Loading commit data...
runonce.go Loading commit data...
runonce_test.go Loading commit data...
runtime.go Loading commit data...
util.go Loading commit data...
volume_host.go Loading commit data...