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

Add and enable sidecar e2e test to enable volume mode conversion #832

Merged
merged 2 commits into from
Feb 2, 2023

Conversation

RaunakShah
Copy link
Contributor

@RaunakShah RaunakShah commented Dec 9, 2022

What type of PR is this?
/kind feature

What this PR does / why we need it:

This PR does the following:

e59effa - updates the .prow.sh file in external-provisioner to enable prevent-volume-mode-conversion in the snapshot-controller created by prow jobs. This is part of a wider effort to run e2e tests in individual sidecar repos instead of within the kubernetes repo.
Depends on kubernetes-csi/external-snapshotter#790 and kubernetes-csi/csi-driver-host-path#379.
Also removes code from .prow.sh since the prow jobs have moved on from k8s 1.19.

5af270d - Introduces an e2e test in external provisioner to test volume mode conversion feature. This includes changes to go.mod file to import kubernetes/test packages as well as introducing a test folder that runs the tests. The framework for this test has been taken from https://github.com/kubernetes/kubernetes/tree/master/test/e2e/framework

Testing

On prow job:

Will run �[1m1�[0m of �[1m1�[0m specs
�[38;5;243m------------------------------�[0m
�[1m[SynchronizedBeforeSuite] �[0m
�[38;5;243m/home/prow/go/src/github.com/kubernetes-csi/external-provisioner/test/e2e/e2e.go:17�[0m
�[38;5;243m------------------------------�[0m
�[38;5;10m[SynchronizedBeforeSuite] PASSED [0.000 seconds]�[0m
[SynchronizedBeforeSuite] 
�[38;5;243m/home/prow/go/src/github.com/kubernetes-csi/external-provisioner/test/e2e/e2e.go:17�[0m
�[38;5;243m------------------------------�[0m
�[0mprovision volumes with different volume modes from volume snapshot dataSource�[0m
  �[1mwhen the source volume mode is altered without permissions�[0m
  �[38;5;243m/home/prow/go/src/github.com/kubernetes-csi/external-provisioner/test/e2e/storage/provision.go:66�[0m
...
�[38;5;10m�[1mRan 1 of 1 Specs in 63.528 seconds�[0m
�[38;5;10m�[1mSUCCESS!�[0m -- �[38;5;10m�[1m1 Passed�[0m | �[38;5;9m�[1m0 Failed�[0m | �[38;5;11m�[1m0 Pending�[0m | �[38;5;14m�[1m0 Skipped�[0m
PASS

Running the test locally gives the following results:

 % pwd
/Users/raunakshah/go/src/github.com/kubernetes-csi/external-provisioner
% CSI_PROW_KUBERNETES_VERSION="1.25.0" CSI_PROW_TESTS="" CSI_PROW_SIDECAR_E2E_IMPORT_PATH="github.com/kubernetes-csi/external-provisioner/test/e2e" CSI_PROW_DRIVER_VERSION="add-flag-2" CSI_PROW_DRIVER_REPO="https://github.com/RaunakShah/csi-driver-host-path" CSI_PROW_BUILD_JOB=false VOLUME_MODE_CONVERSION_TESTS=true ./.prow.sh

Note the flags applied above:

The tests run successfully:

• [SLOW TEST] [63.411 seconds]
provision volumes with different volume modes from volume snapshot dataSource
/Users/raunakshah/go/src/github.com/kubernetes-csi/external-provisioner/test/e2e/storage/provision.go:24
  when the source volume mode is altered without permissions
  /Users/raunakshah/go/src/github.com/kubernetes-csi/external-provisioner/test/e2e/storage/provision.go:66

  Begin Captured GinkgoWriter Output >>
    STEP: Creating a kubernetes client 12/21/22 14:35:06.211
    Dec 21 14:35:06.211: INFO: >>> kubeConfig: /Users/raunakshah/.kube/config
    STEP: Building a namespace api object, basename pvcs-from-volume-snapshots 12/21/22 14:35:06.216
    STEP: Waiting for a default service account to be provisioned in namespace 12/21/22 14:35:06.241
    STEP: Waiting for kube-root-ca.crt to be provisioned in namespace 12/21/22 14:35:06.244
    Dec 21 14:35:06.248: INFO: Running '/opt/homebrew/bin/kubectl --server=https://127.0.0.1:49940 --kubeconfig=/Users/raunakshah/.kube/config --namespace=kube-system describe deployment snapshot-controller'
    Dec 21 14:35:06.317: INFO: stderr: ""
    Dec 21 14:35:06.318: INFO: stdout: "Name:                   snapshot-controller\nNamespace:              kube-system\nCreationTimestamp:      Wed, 21 Dec 2022 14:28:01 +0530\nLabels:                 <none>\nAnnotations:            deployment.kubernetes.io/revision: 1\nSelector:               app=snapshot-controller\nReplicas:               2 desired | 2 updated | 2 total | 2 available | 0 unavailable\nStrategyType:           RollingUpdate\nMinReadySeconds:        15\nRollingUpdateStrategy:  1 max unavailable, 0 max surge\nPod Template:\n  Labels:           app=snapshot-controller\n  Service Account:  snapshot-controller\n  Containers:\n   snapshot-controller:\n    Image:      registry.k8s.io/sig-storage/snapshot-controller:v6.1.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      --v=5\n      --leader-election=true\n      --prevent-volume-mode-conversion=true\n    Environment:  <none>\n    Mounts:       <none>\n  Volumes:        <none>\nConditions:\n  Type           Status  Reason\n  ----           ------  ------\n  Available      True    MinimumReplicasAvailable\n  Progressing    True    NewReplicaSetAvailable\nOldReplicaSets:  <none>\nNewReplicaSet:   snapshot-controller-8665877b89 (2/2 replicas created)\nEvents:\n  Type    Reason             Age   From                   Message\n  ----    ------             ----  ----                   -------\n  Normal  ScalingReplicaSet  7m5s  deployment-controller  Scaled up replica set snapshot-controller-8665877b89 to 2\n"
    Dec 21 14:35:06.318: INFO: Running '/opt/homebrew/bin/kubectl --server=https://127.0.0.1:49940 --kubeconfig=/Users/raunakshah/.kube/config --namespace=default describe sts csi-hostpathplugin'
    Dec 21 14:35:06.381: INFO: stderr: ""
    Dec 21 14:35:06.381: INFO: stdout: "Name:               csi-hostpathplugin\nNamespace:          default\nCreationTimestamp:  Wed, 21 Dec 2022 14:28:35 +0530\nSelector:           app.kubernetes.io/component=plugin,app.kubernetes.io/instance=hostpath.csi.k8s.io,app.kubernetes.io/name=csi-hostpathplugin,app.kubernetes.io/part-of=csi-driver-host-path\nLabels:             app.kubernetes.io/component=plugin\n                    app.kubernetes.io/instance=hostpath.csi.k8s.io\n                    app.kubernetes.io/name=csi-hostpathplugin\n                    app.kubernetes.io/part-of=csi-driver-host-path\nAnnotations:        <none>\nReplicas:           1 desired | 1 total\nUpdate Strategy:    RollingUpdate\n  Partition:        0\nPods Status:        1 Running / 0 Waiting / 0 Succeeded / 0 Failed\nPod Template:\n  Labels:           app.kubernetes.io/component=plugin\n                    app.kubernetes.io/instance=hostpath.csi.k8s.io\n                    app.kubernetes.io/name=csi-hostpathplugin\n                    app.kubernetes.io/part-of=csi-driver-host-path\n  Service Account:  csi-hostpathplugin-sa\n  Containers:\n   hostpath:\n    Image:      registry.k8s.io/sig-storage/hostpathplugin:v1.9.0\n    Port:       9898/TCP\n    Host Port:  0/TCP\n    Args:\n      --drivername=hostpath.csi.k8s.io\n      --v=5\n      --endpoint=$(CSI_ENDPOINT)\n      --nodeid=$(KUBE_NODE_NAME)\n    Liveness:  http-get http://:healthz/healthz delay=10s timeout=3s period=2s #success=1 #failure=5\n    Environment:\n      CSI_ENDPOINT:    unix:///csi/csi.sock\n      KUBE_NODE_NAME:   (v1:spec.nodeName)\n    Mounts:\n      /csi from socket-dir (rw)\n      /csi-data-dir from csi-data-dir (rw)\n      /dev from dev-dir (rw)\n      /var/lib/kubelet/plugins from plugins-dir (rw)\n      /var/lib/kubelet/pods from mountpoint-dir (rw)\n   csi-external-health-monitor-controller:\n    Image:      registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.7.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      --v=5\n      --csi-address=$(ADDRESS)\n      --leader-election\n    Environment:\n      ADDRESS:  /csi/csi.sock\n    Mounts:\n      /csi from socket-dir (rw)\n   node-driver-registrar:\n    Image:      registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.6.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      --v=5\n      --csi-address=/csi/csi.sock\n      --kubelet-registration-path=/var/lib/kubelet/plugins/csi-hostpath/csi.sock\n    Environment:\n      KUBE_NODE_NAME:   (v1:spec.nodeName)\n    Mounts:\n      /csi from socket-dir (rw)\n      /csi-data-dir from csi-data-dir (rw)\n      /registration from registration-dir (rw)\n   liveness-probe:\n    Image:      registry.k8s.io/sig-storage/livenessprobe:v2.8.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      --csi-address=/csi/csi.sock\n      --health-port=9898\n    Environment:  <none>\n    Mounts:\n      /csi from socket-dir (rw)\n   csi-attacher:\n    Image:      registry.k8s.io/sig-storage/csi-attacher:v4.0.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      --v=5\n      --csi-address=/csi/csi.sock\n    Environment:  <none>\n    Mounts:\n      /csi from socket-dir (rw)\n   csi-provisioner:\n    Image:      registry.k8s.io/sig-storage/csi-provisioner:v3.3.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      -v=5\n      --csi-address=/csi/csi.sock\n      --feature-gates=Topology=true\n      --prevent-volume-mode-conversion=true\n    Environment:  <none>\n    Mounts:\n      /csi from socket-dir (rw)\n   csi-resizer:\n    Image:      registry.k8s.io/sig-storage/csi-resizer:v1.6.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      -v=5\n      -csi-address=/csi/csi.sock\n    Environment:  <none>\n    Mounts:\n      /csi from socket-dir (rw)\n   csi-snapshotter:\n    Image:      registry.k8s.io/sig-storage/csi-snapshotter:v6.1.0\n    Port:       <none>\n    Host Port:  <none>\n    Args:\n      -v=5\n      --csi-address=/csi/csi.sock\n    Environment:  <none>\n    Mounts:\n      /csi from socket-dir (rw)\n  Volumes:\n   socket-dir:\n    Type:          HostPath (bare host directory volume)\n    Path:          /var/lib/kubelet/plugins/csi-hostpath\n    HostPathType:  DirectoryOrCreate\n   mountpoint-dir:\n    Type:          HostPath (bare host directory volume)\n    Path:          /var/lib/kubelet/pods\n    HostPathType:  DirectoryOrCreate\n   registration-dir:\n    Type:          HostPath (bare host directory volume)\n    Path:          /var/lib/kubelet/plugins_registry\n    HostPathType:  Directory\n   plugins-dir:\n    Type:          HostPath (bare host directory volume)\n    Path:          /var/lib/kubelet/plugins\n    HostPathType:  Directory\n   csi-data-dir:\n    Type:          HostPath (bare host directory volume)\n    Path:          /var/lib/csi-hostpath-data/\n    HostPathType:  DirectoryOrCreate\n   dev-dir:\n    Type:          HostPath (bare host directory volume)\n    Path:          /dev\n    HostPathType:  Directory\nVolume Claims:     <none>\nEvents:\n  Type    Reason            Age    From                    Message\n  ----    ------            ----   ----                    -------\n  Normal  SuccessfulCreate  6m31s  statefulset-controller  create Pod csi-hostpathplugin-0 in StatefulSet csi-hostpathplugin successful\n"
    STEP: Creating CSI Hostpath driver Storage Class 12/21/22 14:35:06.382
    STEP: Creating VolumeSnapshotClass 12/21/22 14:35:06.387
    Dec 21 14:35:06.395: INFO: Waiting up to timeout=1m0s for PersistentVolumeClaims [pvc-5qr59] to have phase Bound
    Dec 21 14:35:06.401: INFO: PersistentVolumeClaim pvc-5qr59 found but phase is Pending instead of Bound.
    Dec 21 14:35:08.407: INFO: PersistentVolumeClaim pvc-5qr59 found and phase=Bound (2.011354292s)
    Dec 21 14:35:08.441: INFO: Waiting up to 1m0s for VolumeSnapshot volumesnapshot-59dl9 to become ready
    Dec 21 14:35:08.445: INFO: VolumeSnapshot volumesnapshot-59dl9 found but is not ready.
    Dec 21 14:35:09.450: INFO: VolumeSnapshot volumesnapshot-59dl9 found and is ready
    Dec 21 14:35:09.450: INFO: WaitUntil finished successfully after 1.009306291s
    Dec 21 14:35:09.454: INFO: Waiting up to timeout=1m0s for PersistentVolumeClaims [pvc-5wzsg] to have phase Bound
    Dec 21 14:35:09.458: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:11.462: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:13.468: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:15.472: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:17.476: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:19.480: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:21.485: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:23.492: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:25.496: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:27.500: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:29.504: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:31.508: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:33.513: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:35.518: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:37.524: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:39.530: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:41.534: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:43.538: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:45.542: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:47.548: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:49.552: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:51.556: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:53.561: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:55.567: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:57.571: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:35:59.576: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:36:01.580: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:36:03.584: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:36:05.589: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    Dec 21 14:36:07.594: INFO: PersistentVolumeClaim pvc-5wzsg found but phase is Pending instead of Bound.
    STEP: Deleting VolumeSnapshotClass 12/21/22 14:36:09.605
    STEP: Deleting CSI Hostpath driver Storage Class 12/21/22 14:36:09.611
    STEP: Destroying namespace "pvcs-from-volume-snapshots-8081" for this suite. 12/21/22 14:36:09.617
  << End Captured GinkgoWriter Output
------------------------------
[ReportAfterSuite] Kubernetes e2e JUnit report
/Users/raunakshah/go/src/github.com/kubernetes-csi/external-provisioner/vendor/k8s.io/kubernetes/test/e2e/framework/test_context.go:529
------------------------------
[ReportAfterSuite] PASSED [0.003 seconds]
[ReportAfterSuite] Kubernetes e2e JUnit report
/Users/raunakshah/go/src/github.com/kubernetes-csi/external-provisioner/vendor/k8s.io/kubernetes/test/e2e/framework/test_context.go:529
------------------------------

Ran 1 of 1 Specs in 63.413 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
PASS

The volume mode conversion flag is successfully enabled in snapshot-controller and external-provisioner:

% kubectl describe pod -A | grep prevent                                 
      --prevent-volume-mode-conversion=true
      --prevent-volume-mode-conversion=true
      --prevent-volume-mode-conversion=true

The custom install_snapshot_controller() function is called:

Tue Dec 13 15:09:41 IST 2022 go1.19.3 $ curl https://raw.githubusercontent.com/RaunakShah/external-snapshotter/add-flag/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml --output /Users/raunakshah/go/pkg/csiprow.0PJQuIDfTS/snapshot-controller.yaml --silent --location
Enabling prevent-volume-mode-conversion in snapshot-controller
kubectl apply -f /Users/raunakshah/go/pkg/csiprow.0PJQuIDfTS/snapshot-controller.yaml
deployment.apps/snapshot-controller created

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Majority of the changes in this PR are in the vendor directory. The following files need to be reviewed:

  • .prow.sh
  • go.mod
  • go.sum
  • test/

Does this PR introduce a user-facing change?:

Add and enable sidecar e2e test to enable volume mode conversion

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Dec 9, 2022
@RaunakShah RaunakShah changed the title Update .prow.sh to enable volume mode conversion [WIP] Update .prow.sh to enable volume mode conversion Dec 9, 2022
@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Dec 9, 2022
@RaunakShah RaunakShah changed the title [WIP] Update .prow.sh to enable volume mode conversion [WIP] [Do not review] Update .prow.sh to enable volume mode conversion Dec 9, 2022
@RaunakShah RaunakShah changed the title [WIP] [Do not review] Update .prow.sh to enable volume mode conversion Update .prow.sh to enable volume mode conversion Dec 13, 2022
@RaunakShah
Copy link
Contributor Author

/assign @pohly

@pohly
Copy link
Contributor

pohly commented Dec 14, 2022

There's no need to review and merge this change now. Let's do that together with the E2E test that uses it.

You can keep it in separate commits to keep each change small.

@k8s-ci-robot k8s-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Dec 21, 2022
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 21, 2022
@RaunakShah RaunakShah changed the title Update .prow.sh to enable volume mode conversion Add and enable sidecar e2e test to enable volume mode conversion Dec 21, 2022
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 21, 2022
@RaunakShah
Copy link
Contributor Author

@pohly added the e2e test and related changes to a new commit. There are a lot of vendor changes that you can ignore.
However I'm not sure how to run these tests as part of the CI job. Do you know how to give it a test run here?

@pohly
Copy link
Contributor

pohly commented Dec 21, 2022

However I'm not sure how to run these tests as part of the CI job.

All of the pull-kubernetes-* jobs invoke .prow.sh. All you need to do is ensure that the script by default runs the new tests.

@RaunakShah
Copy link
Contributor Author

@pohly thanks, I managed to run it. However the test is currently being skipped

Dec 22 10:23:37.253: INFO: --prevent-volume-mode-conversion feature flag is not enabled in snapshot-controller. Skipping volume mode conversion tests.

I guess https://github.com/kubernetes-csi/csi-driver-host-path/pull/379/files and kubernetes-csi/external-snapshotter#790 need to be merged (and a new release cut?) before they can actually be tested?

@pohly
Copy link
Contributor

pohly commented Dec 22, 2022

You could define a pull-kubernetes-csi-external-provisioner-canary-on-kubernetes-master job (and similar for other repos) which overrides the image versions with the canary images. Then this change here could be tested with /test pull-kubernetes-csi-external-provisioner-canary-on-kubernetes-master before tagging releases - and then finding out afterwards that something doesn't work...

Such a job must not run by default and must not be release blocking because due to its nature (involving unstable images) there's no guarantee that it passes.

@RaunakShah
Copy link
Contributor Author

@pohly thank you for the guidance, the whole system is a LOT to process!

Something like this? kubernetes/test-infra#28307
I suppose that we'll still need the above PRs to be merged, right?

@RaunakShah
Copy link
Contributor Author

/test pull-kubernetes-csi-external-provisioner-canary

@xing-yang
Copy link
Contributor

Looks good to me now.

@pohly Are you good with this PR?

@RaunakShah
Copy link
Contributor Author

/test pull-kubernetes-csi-external-provisioner-canary

Copy link
Contributor

@pohly pohly left a comment

Choose a reason for hiding this comment

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

.prow.sh and e2e.go look good to me, with one minor nit.

The commits should get cleaned up before merging. A separate commit for the dependency update would be good and some useful commit messages.

test/e2e/e2e_test.go Outdated Show resolved Hide resolved
@RaunakShah
Copy link
Contributor Author

@pohly I couldn't separate the dependency updates from the e2e tests as they're dependent on each other. Both are included in the second commit in this PR. I've squashed the rest of the commits that address the PR reviews.

.prow.sh Outdated Show resolved Hide resolved
@xing-yang
Copy link
Contributor

@RaunakShah Can you rebase?

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 1, 2023
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 1, 2023
@RaunakShah
Copy link
Contributor Author

/test pull-kubernetes-csi-external-provisioner-canary

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 2, 2023
in e2e tests running in provisioner repo
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 2, 2023
@RaunakShah
Copy link
Contributor Author

/test pull-kubernetes-csi-external-provisioner-canary

…eature

- Upgrade go.mod dependencies and vendor files to import kubernetes e2e test framework
@xing-yang
Copy link
Contributor

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 2, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: RaunakShah, xing-yang

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

The pull request process is described 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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 2, 2023
@k8s-ci-robot k8s-ci-robot merged commit ed35686 into kubernetes-csi:master Feb 2, 2023
@xing-yang
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants