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

metallb addon: fix docker.io dependency and move to quay.io #16056

Merged
merged 1 commit into from
Mar 15, 2023

Conversation

boeboe
Copy link
Contributor

@boeboe boeboe commented Mar 15, 2023

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 15, 2023
@k8s-ci-robot
Copy link
Contributor

Hi @boeboe. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Mar 15, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: boeboe
Once this PR has been reviewed and has the lgtm label, please assign spowelljr for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@boeboe
Copy link
Contributor Author

boeboe commented Mar 15, 2023

Referencing #16055

@minikube-bot
Copy link
Collaborator

Can one of the admins verify this patch?

@medyagh
Copy link
Member

medyagh commented Mar 15, 2023

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 15, 2023
Copy link
Member

@medyagh medyagh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you @boeboe for this PR, do you mind building minikube locally and paste the output of

make
./out/minikube delete 
./out/minikube start 
./out/minikube addons enable metallb

and then

kubectl get pods -A

so we could see the changes work?

@boeboe
Copy link
Contributor Author

boeboe commented Mar 15, 2023

At your service.

~/Git/boeboe/minikube (metallb-quay-io) $ make
go build  -tags "" -ldflags="-X k8s.io/minikube/pkg/version.version=v1.29.0 -X k8s.io/minikube/pkg/version.isoVersion=v1.29.0-1678210391-15973 -X k8s.io/minikube/pkg/version.gitCommitID="f0e0e69dc18db6ea0a802435c9a958d9c2c0ce2a" -X k8s.io/minikube/pkg/version.storageProvisionerVersion=v5" -o out/minikube k8s.io/minikube/cmd/minikube

~/Git/boeboe/minikube (metallb-quay-io) $ ./out/minikube start
😄  minikube v1.29.0 on Ubuntu 22.04
✨  Automatically selected the docker driver. Other choices: kvm2, qemu2, virtualbox, ssh
📌  Using Docker driver with root privileges
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
💾  Downloading Kubernetes v1.26.2 preload ...
    > preloaded-images-k8s-v18-v1...:  396.97 MiB / 396.97 MiB  100.00% 16.97 M
    > gcr.io/k8s-minikube/kicbase...:  373.16 MiB / 373.16 MiB  100.00% 6.09 Mi
🔥  Creating docker container (CPUs=2, Memory=7900MB) ...
🐳  Preparing Kubernetes v1.26.2 on Docker 23.0.1 ...
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔗  Configuring bridge CNI (Container Networking Interface) ...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🔎  Verifying Kubernetes components...
🌟  Enabled addons: storage-provisioner, default-storageclass
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

~/Git/boeboe/minikube (metallb-quay-io) $ ./out/minikube addons enable metallb
❗  metallb is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.
❗  metallb does not currently have an associated maintainer.
    ▪ Using image quay.io/metallb/speaker:v0.9.6
    ▪ Using image quay.io/metallb/controller:v0.9.6
🌟  The 'metallb' addon is enabled

~/Git/boeboe/minikube (metallb-quay-io) $ kubectl get pods -n metallb-system controller-56986fbff6-gttfx -o yaml | grep image
    image: quay.io/metallb/controller:v0.9.6@sha256:6932cf255dd7f06f550c7f106b9a206be95f847ab8cb77aafac7acd27def0b00
    imagePullPolicy: IfNotPresent
    image: quay.io/metallb/controller@sha256:6932cf255dd7f06f550c7f106b9a206be95f847ab8cb77aafac7acd27def0b00
    imageID: docker-pullable://quay.io/metallb/controller@sha256:6932cf255dd7f06f550c7f106b9a206be95f847ab8cb77aafac7acd27def0b00

~/Git/boeboe/minikube (metallb-quay-io) $ kubectl get daemonset -n metallb-system speaker -o yaml | grep image
      {"apiVersion":"apps/v1","kind":"DaemonSet","metadata":{"annotations":{},"labels":{"app":"metallb","component":"speaker"},"name":"speaker","namespace":"metallb-system"},"spec":{"selector":{"matchLabels":{"app":"metallb","component":"speaker"}},"template":{"metadata":{"annotations":{"prometheus.io/port":"7472","prometheus.io/scrape":"true"},"labels":{"app":"metallb","component":"speaker"}},"spec":{"containers":[{"args":["--port=7472","--config=config"],"env":[{"name":"METALLB_NODE_NAME","valueFrom":{"fieldRef":{"fieldPath":"spec.nodeName"}}},{"name":"METALLB_HOST","valueFrom":{"fieldRef":{"fieldPath":"status.hostIP"}}}],"image":"quay.io/metallb/speaker:v0.9.6@sha256:7a400205b4986acd3d2ff32c29929682b8ff8d830837aff74f787c757176fa9f","imagePullPolicy":"IfNotPresent","name":"speaker","ports":[{"containerPort":7472,"name":"monitoring"}],"resources":{"limits":{"cpu":"100m","memory":"100Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"add":["NET_ADMIN","NET_RAW","SYS_ADMIN"],"drop":["ALL"]},"readOnlyRootFilesystem":true}}],"hostNetwork":true,"nodeSelector":{"kubernetes.io/os":"linux"},"serviceAccountName":"speaker","terminationGracePeriodSeconds":0,"tolerations":[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master"}]}}}}
        image: quay.io/metallb/speaker:v0.9.6@sha256:7a400205b4986acd3d2ff32c29929682b8ff8d830837aff74f787c757176fa9f
        imagePullPolicy: IfNotPresent

~/Git/boeboe/minikube (metallb-quay-io) $ kubectl get pods -A
NAMESPACE        NAME                               READY   STATUS    RESTARTS      AGE
kube-system      coredns-787d4945fb-2z2mh           1/1     Running   0             68s
kube-system      etcd-minikube                      1/1     Running   0             82s
kube-system      kube-apiserver-minikube            1/1     Running   0             83s
kube-system      kube-controller-manager-minikube   1/1     Running   0             82s
kube-system      kube-proxy-vb9p8                   1/1     Running   0             69s
kube-system      kube-scheduler-minikube            1/1     Running   0             82s
kube-system      storage-provisioner                1/1     Running   1 (38s ago)   81s
metallb-system   controller-56986fbff6-gttfx        1/1     Running   0             59s
metallb-system   speaker-22mxb                      1/1     Running   0             59s

@medyagh medyagh changed the title [issue #16053] fix metallb docker.io dependency and move to quay.io metallb addon: fix docker.io dependency and move to quay.io Mar 15, 2023
@minikube-pr-bot
Copy link

kvm2 driver with docker runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 16056) |
+----------------+----------+---------------------+
| minikube start | 55.1s    | 54.6s               |
| enable ingress | 27.2s    | 26.6s               |
+----------------+----------+---------------------+

Times for minikube ingress: 28.3s 25.7s 28.2s 28.7s 25.1s
Times for minikube (PR 16056) ingress: 25.7s 28.8s 28.7s 25.7s 24.3s

Times for minikube start: 52.9s 53.0s 55.0s 55.5s 58.9s
Times for minikube (PR 16056) start: 54.1s 55.5s 54.7s 53.8s 55.0s

docker driver with docker runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 16056) |
+----------------+----------+---------------------+
| minikube start | 26.8s    | 26.5s               |
| enable ingress | 34.0s    | 33.2s               |
+----------------+----------+---------------------+

Times for minikube start: 27.1s 26.5s 26.7s 27.0s 27.0s
Times for minikube (PR 16056) start: 26.4s 27.7s 26.5s 26.5s 25.6s

Times for minikube ingress: 24.1s 20.1s 21.1s 21.1s 83.6s
Times for minikube (PR 16056) ingress: 82.6s 21.1s 21.1s 21.1s 20.1s

docker driver with containerd runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 16056) |
+----------------+----------+---------------------+
| minikube start | 23.5s    | 23.1s               |
| enable ingress | 32.5s    | 32.0s               |
+----------------+----------+---------------------+

Times for minikube ingress: 20.6s 30.6s 47.6s 31.1s 32.6s
Times for minikube (PR 16056) ingress: 32.6s 31.6s 31.6s 31.6s 32.6s

Times for minikube start: 22.9s 23.5s 24.6s 24.4s 22.2s
Times for minikube (PR 16056) start: 23.4s 23.6s 23.4s 22.7s 22.4s

@medyagh medyagh merged commit 28b3074 into kubernetes:master Mar 15, 2023
@minikube-pr-bot
Copy link

These are the flake rates of all failed tests.

Environment Failed Tests Flake Rate (%)
Docker_Windows TestPause/serial/SecondStartNoReconfiguration (gopogh) n/a
KVM_Linux TestNoKubernetes/serial/ProfileList (gopogh) 0.60 (chart)
Docker_Windows TestPause/serial/SecondStartNoReconfiguration (gopogh) 17.24 (chart)
Docker_Windows TestPause/serial/SecondStartNoReconfiguration (gopogh) 17.24 (chart)
Docker_Linux TestMultiNode/serial/DeployApp2Nodes (gopogh) 100.00 (chart)
Docker_Linux TestMultiNode/serial/PingHostFrom2Pods (gopogh) 100.00 (chart)
KVM_Linux_containerd TestPreload (gopogh) 100.00 (chart)

To see the flake rates of all tests by environment, click here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[addon] metallb image pull failure from docker.io
5 participants