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

iso: enable Network Block Device support #10217

Merged
merged 4 commits into from
Apr 2, 2021

Conversation

pkalever
Copy link
Contributor

Having NBD module support would enable some of the CSI projects to utilize
the NBD based persistent volume requests validation in their automated
testing suites.

Example, we need it at the ceph-csi project.

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jan 22, 2021
@k8s-ci-robot
Copy link
Contributor

Welcome @pkalever!

It looks like this is your first PR to kubernetes/minikube 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/minikube has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jan 22, 2021
@k8s-ci-robot
Copy link
Contributor

Hi @pkalever. 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 Jan 22, 2021
@minikube-bot
Copy link
Collaborator

Can one of the admins verify this patch?

pkalever pushed a commit to pkalever/ceph-csi that referenced this pull request Jan 25, 2021
For rbd-nbd testing purpose, this is needed.
At least until we have minikube release with
kubernetes/minikube#10217

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
pkalever pushed a commit to pkalever/ceph-csi that referenced this pull request Jan 25, 2021
For rbd-nbd testing purpose, this is needed.
At least until we have minikube release with
kubernetes/minikube#10217

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
@nixpanic
Copy link
Contributor

This change looks good to me 👍 I do not know why GitHub CI failed to build the test-iso, a local build worked and includes the nbd.ko kernel module.

/assign @sharifelgamal

pkalever pushed a commit to pkalever/ceph-csi that referenced this pull request Jan 27, 2021
For rbd-nbd testing purpose, this is needed.
At least until we have minikube release with
kubernetes/minikube#10217

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
@spowelljr
Copy link
Member

@pkalever @nixpanic
The machine being used for running the GitHub CI is pointing to a linux repository that has an out of date package and is failing on apt-get update. I'm currently in the middle of deleting the existing servers and creating new ones. Once I'm done I'll re-run the job.

@pkalever
Copy link
Contributor Author

@spowelljr can we rerun now?

@spowelljr
Copy link
Member

@pkalever Running the build now

@spowelljr
Copy link
Member

@pkalever The build failed, it uploaded some logs you can take a look at. There was a PR that recently ran where the build was successful (https://github.com/kubernetes/minikube/runs/1864676047?check_suite_focus=true) so I'm not sure at this point if this is a server issue or caused by the PR.

@nixpanic
Copy link
Contributor

nixpanic commented Feb 23, 2021

Hi @spowelljr!

A local build worked fine for me. Could you restart the failed test maybe?
It would be much appreciated if this can be included in the 1.18.0 release.

Thanks!

@spowelljr
Copy link
Member

@nixpanic I re-ran the build, the build succeeded this time, the tests failed, but that's a known thing I'm going to work on fixing tomorrow.

pkalever pushed a commit to pkalever/ceph-csi that referenced this pull request Feb 25, 2021
For rbd-nbd testing purpose, this is needed.
At least until we have minikube release with kubernetes/minikube#10217

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
@pkalever
Copy link
Contributor Author

pkalever commented Mar 5, 2021

@spowelljr any updates please?

@sharifelgamal
Copy link
Collaborator

We're in the process of overhauling our ISO testing framework, so we will retest this once that's ready.

@sharifelgamal
Copy link
Collaborator

ok-to-build-iso

@minikube-bot
Copy link
Collaborator

Hi @pkalever, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 6, 2021
pkalever pushed a commit to pkalever/ceph-csi that referenced this pull request Mar 8, 2021
For rbd-nbd testing purpose, this is needed.
At least until we have minikube release with kubernetes/minikube#10217

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
@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. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 17, 2021
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 18, 2021
@pkalever
Copy link
Contributor Author

@sharifelgamal rebased now. Please help set the labels again.

@sharifelgamal
Copy link
Collaborator

ok-to-build-iso

@minikube-bot
Copy link
Collaborator

Hi @pkalever, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further.

@minikube-pr-bot
Copy link

kvm2 Driver
Times for minikube: 66.2s 64.8s 65.5s
Average time for minikube: 65.5s

Times for Minikube (PR 10217): 70.3s 64.0s 62.7s
Average time for Minikube (PR 10217): 65.6s

Averages Time Per Log

+--------------------------------------------+----------+---------------------+
|                    LOG                     | MINIKUBE | MINIKUBE (PR 10217) |
+--------------------------------------------+----------+---------------------+
| * minikube v1.18.1 on Debian               | 0.0s     | 0.0s                |
| 9.11 (kvm/amd64)                           |          |                     |
| * Using the kvm2 driver based              | 0.0s     | 0.0s                |
| on user configuration                      |          |                     |
| * Starting control plane node              | 0.0s     | 0.0s                |
| minikube in cluster minikube               |          |                     |
| * Creating kvm2 VM (CPUs=2,                | 39.8s    | 40.0s               |
| Memory=3700MB, Disk=20000MB)               |          |                     |
| ...                                        |          |                     |
| * Preparing Kubernetes v1.20.2             | 9.2s     |                     |
| on Docker 20.10.4 ...                      |          |                     |
|   - Generating certificates                | 3.1s     | 4.3s                |
| and keys ...                               |          |                     |
|   - Booting up control plane               | 10.3s    | 15.0s               |
| ...                                        |          |                     |
|   - Configuring RBAC rules ...             | 1.0s     | 1.5s                |
| * Verifying Kubernetes                     | 0.1s     | 0.1s                |
| components...                              |          |                     |
|   - Using image                            | 1.3s     | 1.2s                |
| gcr.io/k8s-minikube/storage-provisioner:v4 |          |                     |
| * Enabled addons:                          | 0.8s     | 0.8s                |
| storage-provisioner,                       |          |                     |
| default-storageclass                       |          |                     |
| * Done! kubectl is now                     | 0.0s     | 0.0s                |
| configured to use "minikube"               |          |                     |
| cluster and "default"                      |          |                     |
| namespace by default                       |          |                     |
+--------------------------------------------+----------+---------------------+

docker Driver
Times for minikube: 28.4s 35.9s 27.7s
Average time for minikube: 30.7s

Times for Minikube (PR 10217): 30.6s 26.4s 32.4s
Average time for Minikube (PR 10217): 29.8s

Averages Time Per Log

+--------------------------------------------+----------+---------------------+
|                    LOG                     | MINIKUBE | MINIKUBE (PR 10217) |
+--------------------------------------------+----------+---------------------+
| * minikube v1.18.1 on Debian               | 0.2s     | 0.2s                |
| 9.11 (kvm/amd64)                           |          |                     |
| * Using the docker driver                  | 1.4s     | 0.1s                |
| based on user configuration                |          |                     |
| * Starting control plane node              | 0.7s     | 0.1s                |
| minikube in cluster minikube               |          |                     |
| * Creating docker container                | 11.5s    | 12.4s               |
| (CPUs=2, Memory=3700MB) ...                |          |                     |
| * Preparing Kubernetes v1.20.2             | 15.6s    | 15.9s               |
| on Docker 20.10.3 ...                      |          |                     |
| * Verifying Kubernetes                     | 0.1s     | 0.1s                |
| components...                              |          |                     |
|   - Using image                            | 1.2s     | 1.0s                |
| gcr.io/k8s-minikube/storage-provisioner:v4 |          |                     |
| * Enabled addons:                          | 0.1s     | 0.1s                |
| storage-provisioner,                       |          |                     |
| default-storageclass                       |          |                     |
| * Done! kubectl is now                     | 0.0s     | 0.0s                |
| configured to use "minikube"               |          |                     |
| cluster and "default"                      |          |                     |
| namespace by default                       |          |                     |
+--------------------------------------------+----------+---------------------+

Having NBD module support would enable some of the CSI projects to utilize
the NBD based persistent volume requests validation in their automated
testing suites.

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
@pkalever
Copy link
Contributor Author

@sharifelgamal rebased again. Please help set the labels.

A couple of months passed already, can someone please take this PR to Merged, at Ceph-csi we are eagerly waiting on these changes, please help.

@medyagh
Copy link
Member

medyagh commented Mar 25, 2021

ok-to-build-iso

@minikube-bot
Copy link
Collaborator

Hi @pkalever, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further.

@minikube-pr-bot
Copy link

kvm2 Driver
Times for minikube: 67.9s 67.5s 65.7s
Average time for minikube: 67.1s

Times for Minikube (PR 10217): 64.5s 67.2s 65.7s
Average time for Minikube (PR 10217): 65.8s

Averages Time Per Log

+--------------------------------------------+----------+---------------------+
|                    LOG                     | MINIKUBE | MINIKUBE (PR 10217) |
+--------------------------------------------+----------+---------------------+
| * minikube v1.18.1 on Debian               | 0.1s     | 0.1s                |
| 9.11 (kvm/amd64)                           |          |                     |
| * Using the kvm2 driver based              | 0.0s     | 0.0s                |
| on user configuration                      |          |                     |
| * Starting control plane node              | 0.0s     | 0.0s                |
| minikube in cluster minikube               |          |                     |
| * Creating kvm2 VM (CPUs=2,                | 41.0s    | 40.3s               |
| Memory=3700MB, Disk=20000MB)               |          |                     |
| ...                                        |          |                     |
| * Preparing Kubernetes v1.20.2             | 9.1s     | 1.9s                |
| on Docker 20.10.4 ...                      |          |                     |
|   - Generating certificates                | 2.9s     | 4.8s                |
| and keys ...                               |          |                     |
|   - Booting up control plane               | 10.3s    | 15.5s               |
| ...                                        |          |                     |
|   - Configuring RBAC rules ...             | 1.1s     | 1.3s                |
| * Verifying Kubernetes                     | 0.1s     | 0.1s                |
| components...                              |          |                     |
|   - Using image                            | 1.4s     | 1.3s                |
| gcr.io/k8s-minikube/storage-provisioner:v4 |          |                     |
| * Enabled addons:                          | 1.0s     | 0.3s                |
| storage-provisioner,                       |          |                     |
| default-storageclass                       |          |                     |
| * Done! kubectl is now                     | 0.0s     | 0.0s                |
| configured to use "minikube"               |          |                     |
| cluster and "default"                      |          |                     |
| namespace by default                       |          |                     |
+--------------------------------------------+----------+---------------------+

docker Driver
Times for minikube: 26.9s 26.8s 27.5s
Average time for minikube: 27.1s

Times for Minikube (PR 10217): 27.5s 27.0s 27.0s
Average time for Minikube (PR 10217): 27.2s

Averages Time Per Log

+--------------------------------------------+----------+---------------------+
|                    LOG                     | MINIKUBE | MINIKUBE (PR 10217) |
+--------------------------------------------+----------+---------------------+
| * minikube v1.18.1 on Debian               | 0.2s     | 0.2s                |
| 9.11 (kvm/amd64)                           |          |                     |
| * Using the docker driver                  | 0.1s     | 0.1s                |
| based on user configuration                |          |                     |
| * Starting control plane node              | 0.1s     | 0.1s                |
| minikube in cluster minikube               |          |                     |
| * Creating docker container                | 9.8s     | 9.7s                |
| (CPUs=2, Memory=3700MB) ...                |          |                     |
| * Preparing Kubernetes v1.20.2             | 15.5s    | 15.8s               |
| on Docker 20.10.3 ...                      |          |                     |
| * Verifying Kubernetes                     | 0.1s     | 0.1s                |
| components...                              |          |                     |
|   - Using image                            | 1.2s     | 1.1s                |
| gcr.io/k8s-minikube/storage-provisioner:v4 |          |                     |
| * Enabled addons:                          | 0.1s     | 0.1s                |
| storage-provisioner,                       |          |                     |
| default-storageclass                       |          |                     |
| * Done! kubectl is now                     | 0.0s     | 0.0s                |
| configured to use "minikube"               |          |                     |
| cluster and "default"                      |          |                     |
| namespace by default                       |          |                     |
+--------------------------------------------+----------+---------------------+

@pkalever
Copy link
Contributor Author

pkalever commented Apr 1, 2021

@sharifelgamal @medyagh can you please tell me what are we waiting on ?

@sharifelgamal
Copy link
Collaborator

My apologies @pkalever, our ISO testing infrastructure is still new and silently failed while testing your ISO. It's still important to us that we test this PR, since ISO changes have bitten us in the past when they were merged untested. I'm going to rebuild this test ISO, then wait for the KVM tests to come back. If they look good, we'll merge this PR ASAP. Sorry again for the delay.

@sharifelgamal
Copy link
Collaborator

ok-to-build-iso

@minikube-bot
Copy link
Collaborator

Hi @pkalever, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further.

@minikube-pr-bot
Copy link

kvm2 Driver
error collecting results for kvm2 driver: timing run 0 with Minikube (PR 10217): timing cmd: [/home/performance-monitor/.minikube/minikube-binaries/10217/minikube start --driver=kvm2]: waiting for minikube: exit status 80
docker Driver
Times for minikube: 18.0s 31.4s 28.0s
Average time for minikube: 25.8s

Times for Minikube (PR 10217): 36.2s 17.5s 29.0s
Average time for Minikube (PR 10217): 27.6s

Averages Time Per Log

+--------------------------------------------+----------+---------------------+
|                    LOG                     | MINIKUBE | MINIKUBE (PR 10217) |
+--------------------------------------------+----------+---------------------+
| * minikube v1.18.1 on Debian               | 0.1s     | 0.1s                |
| 9.11 (kvm/amd64)                           |          |                     |
| * Using the docker driver                  | 0.1s     | 0.1s                |
| based on user configuration                |          |                     |
| * Starting control plane node              | 0.1s     | 0.1s                |
| minikube in cluster minikube               |          |                     |
| * Creating docker container                | 9.1s     | 13.1s               |
| (CPUs=2, Memory=4000MB) ...                |          |                     |
| * Preparing Kubernetes v1.20.2             | 15.6s    | 13.4s               |
| on Docker 20.10.3 ...                      |          |                     |
| * Verifying Kubernetes                     | 0.1s     | 0.1s                |
| components...                              |          |                     |
|   - Using image                            | 0.7s     |                     |
| gcr.io/k8s-minikube/storage-provisioner:v5 |          |                     |
| * Enabled addons:                          | 0.1s     | 0.1s                |
| storage-provisioner,                       |          |                     |
| default-storageclass                       |          |                     |
| * Done! kubectl is now                     | 0.0s     | 0.0s                |
| configured to use "minikube"               |          |                     |
| cluster and "default"                      |          |                     |
| namespace by default                       |          |                     |
+--------------------------------------------+----------+---------------------+

@sharifelgamal
Copy link
Collaborator

Quick update here, there's an issue with our ISO build that's not related to this PR. We need to fix that first, then we will retest this.

@sharifelgamal
Copy link
Collaborator

ok-to-build-iso

@minikube-bot
Copy link
Collaborator

Hi @pkalever, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further.

@minikube-pr-bot
Copy link

kvm2 Driver
error collecting results for kvm2 driver: timing run 0 with Minikube (PR 10217): timing cmd: [/home/performance-monitor/.minikube/minikube-binaries/10217/minikube start --driver=kvm2]: waiting for minikube: exit status 80
docker Driver
Times for minikube: 17.6s 29.1s 29.7s
Average time for minikube: 25.5s

Times for Minikube (PR 10217): 28.7s 17.6s 21.2s
Average time for Minikube (PR 10217): 22.5s

Averages Time Per Log

+--------------------------------------------+----------+---------------------+
|                    LOG                     | MINIKUBE | MINIKUBE (PR 10217) |
+--------------------------------------------+----------+---------------------+
| * minikube v1.18.1 on Debian               | 0.1s     | 0.1s                |
| 9.11 (kvm/amd64)                           |          |                     |
| * Using the docker driver                  | 0.1s     | 0.1s                |
| based on user configuration                |          |                     |
| * Starting control plane node              | 0.0s     | 0.0s                |
| minikube in cluster minikube               |          |                     |
| * Creating docker container                | 11.0s    | 8.9s                |
| (CPUs=2, Memory=4000MB) ...                |          |                     |
| * Preparing Kubernetes v1.20.2             | 13.5s    | 12.6s               |
| on Docker 20.10.3 ...                      |          |                     |
| * Verifying Kubernetes                     | 0.1s     | 0.1s                |
| components...                              |          |                     |
|   - Using image                            | 0.6s     |                     |
| gcr.io/k8s-minikube/storage-provisioner:v5 |          |                     |
| * Enabled addons:                          | 0.1s     | 0.1s                |
| storage-provisioner,                       |          |                     |
| default-storageclass                       |          |                     |
| * Done! kubectl is now                     | 0.0s     | 0.0s                |
| configured to use "minikube"               |          |                     |
| cluster and "default"                      |          |                     |
| namespace by default                       |          |                     |
+--------------------------------------------+----------+---------------------+

@sharifelgamal
Copy link
Collaborator

Alright, the tests look good. Thanks again for your patience here. Sorry it took so long.

@sharifelgamal sharifelgamal merged commit 6786da8 into kubernetes:master Apr 2, 2021
pkalever pushed a commit to pkalever/ceph-csi that referenced this pull request Apr 5, 2021
For rbd-nbd testing purpose, this is needed.
At least until we have minikube release with kubernetes/minikube#10217

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
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.

8 participants