in the isEphemeral case, the pvcBlock doesn't have a filled in name, which means the DevicePath is "/mnt".
When using the OCI runtime runc, this is valid because runc sanitizes the path, mounting it in `/mnt` in the container.
However, the OCI runtime crun does not do this.
One can argue the validity of passing a path structured like a directory as a block device, but ultimately from what I can see
this wasn't intentional.
As such, fix it by setting the mount to be based on the first Volume name, which both cases should have filled out.
Signed-off-by: Peter Hunt <pehunt@redhat.com>
kubeadm does not rely on `crictl` any more, so we can now drop the
warning in 1.32 as outlined in:
https://github.com/kubernetes/kubeadm/issues/3064
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
When the client does not have permission to watch a resource, the
RetryWatcher continuously retried. In this case, it's better to send an
error and stop retrying to let the caller handle this case since this is
not a transient error that can be recovered without user intervention.
This is particularly helpful in applications that leverage a user
provided service account and the application needs to notify the user to
set the correct permissions for the service account.
This also accounts for invalid credentials from the watch client.
Signed-off-by: mprahl <mprahl@users.noreply.github.com>
hostNetwork pods mount the /etc/hosts from the root namespaces, hence
does not depend on PodIPs to be populated to mount the /etc/hosts file
and add the argumentes specified in the Pod.Spec like hostAliases.
mockery is set up to generate headers in all the mocks it produces, so
the separate header generation in update-mocks.sh is no longer useful
(and leads to duplicate headers in three cases). This removes the
relevant parts of the shell script.
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Ensure kube-proxy waits for the services/endpointslices informer
caches to be synced *and* all pre-sync events delivered before
setting isInitialized=true. Otherwise, in clusters with many services,
some services may be missing from svcPortMap when kube-proxy starts
(e.g. during daemonset rollout). This can cause kube-proxy to temporarily
remove service DNAT rules and then skip cleanup of UDP conntrack entries
to a service VIP.
Resolves: https://github.com/kubernetes/kubernetes/issues/126468
Test by enabling consistent list from cache in storage version migrator stress test that uses
conversion webhook that bottlenects events comming to watch cache.
Set concurrency to 10, based on maximum/average transform latency when
running stress test. In my testing max was about 60-100ms, while average
was 6-10ms.