kubernetes 不稳定的测试:VolumeAttributesClass e2e

qv7cva1a  于 5个月前  发布在  Kubernetes
关注(0)|答案(7)|浏览(50)

哪个任务出现了问题?

  • ci-kubernetes-e2e-storage-kind-alpha-features
  • pull-kubernetes-e2e-storage-kind-alpha-features

哪些测试出现了问题?
Kubernetes e2e套件:[It] [sig-storage] CSI Volumes [Driver: csi-hostpath] [Testpattern: 动态PV(默认fs)] volume-modify [Feature:VolumeAttributesClass] [FeatureGate:VolumeAttributesClass] [Alpha] 应该修改已经具有VAC的卷
Kubernetes e2e套件:[It] [sig-storage] CSI Volumes [Driver: csi-hostpath] [Testpattern: 动态PV(块volmode)] volume-modify [Feature:VolumeAttributesClass] [FeatureGate:VolumeAttributesClass] [Alpha] 应该修改已经具有VAC的卷

STEP: Modifying PVC via VAC - k8s.io/kubernetes/test/e2e/storage/testsuites/volume_modify.go:225 @ 07/17/24 09:33:22.482
STEP: Waiting for modification to finish - k8s.io/kubernetes/test/e2e/storage/testsuites/volume_modify.go:230 @ 07/17/24 09:33:22.492
[FAILED] PVC should not have conditions
Expected
    <[]v1.PersistentVolumeClaimCondition | len:1, cap:1>: 
        - lastProbeTime: null
          lastTransitionTime: "2024-07-17T09:33:10Z"
          message: 'ModifyVolume failed with error: rpc error: code = NotFound desc = rpc
            error: code = NotFound desc = volume id 93c5657d-441f-11ef-a7c7-4a554742b86b does
            not exist in the volumes list. Waiting for retry.'
          status: "True"
          type: ModifyVolumeError
to be empty
In [It] at: k8s.io/kubernetes/test/e2e/storage/testsuites/volume_modify.go:234 @ 07/17/24 09:33:24.532

从何时开始出现问题?
6/2/2024

Testgrid链接
https://testgrid.k8s.io/sig-storage-kubernetes#kind-alpha-features

失败原因(如果可能)

  • 无响应*

我们需要了解的其他信息吗?
#124151 被合并后,新的e2e测试发现了这个问题。
cc @msau42@ConnorJC3@mattcary

相关SIG(s)
/sig storage

1rhkuytd

1rhkuytd1#

我认为这很有可能是因为#124151(评论)中的第2个问题-我将在接下来的几天内尝试查看,但如果情况确实如此,我们需要在调整大小器中发布一个修复程序。

wz3gfoph

wz3gfoph2#

@ConnorJC3 #121902 可能会解决这个问题。我通过 /test pull-kubernetes-e2e-storage-kind-alpha-beta-features 多次运行 e2e 测试,结果都是成功的。
顺便说一下,https://github.com/carlory/kubernetes/blob/3a6a4830df003d8efcad7bd8e4f0cce609aee2ca/test/e2e/storage/testsuites/volume_modify.go#L233 没有获取到最新的 pvc 对象,Assert可能会失败。
一旦 #121902 被合并,我会更新 e2e 测试。我不会在这个 PR 中添加更多更改,因为代码冻结即将到来。
第 #124151 个问题(评论)中的 issue 1 已由 #121902 解决。

mftmpeh8

mftmpeh83#

我将为问题1进行端到端更改,而不是csi-resizer部分(需要志愿者)。

slwdgvem

slwdgvem4#

我相信@ConnorJC3这周在研究csi-resizer的部件。

b5lpy0ml

b5lpy0ml5#

好的,在测试中我发现问题2实际上并不存在 - 处理设置VAC名称并清除外部调整器中的条件的代码运行得很好:https://github.com/kubernetes-csi/external-resizer/blob/d6100254e3d2c35ba18d4e5474b4f223ac58e0e6/pkg/modifycontroller/modify_status.go#L106-L121
这里实际上是两个事情的结合:

  1. 如前所述,测试使用了过时的PVC对象 - 在PR De-flake VAC tests by returning new PVC from WaitForVolumeModification #126274中有修复
  2. 即使使用最新的对象,来自Add Happy Path VolumeAttributesClass CSI E2E Tests #124151(评论)的问题3在并行运行时仍然可能会影响测试,因为来自单独的测试运行(和不同的驱动程序名称)的external-resizer会介入并尝试修改卷,失败是因为它不存在。在PR Skip modifying volumes owned by other CSI drivers kubernetes-csi/external-resizer#419中有修复 - 但需要在k/k测试之前发布一个external-resizer版本
pbossiut

pbossiut7#

Log
在创建卷时,卷ID为:b9bb49dd-4a6d-11ef-ac59-c2b9e999f416
在控制器修改卷时,卷ID为:b97f7121-4a6d-11ef-86dc-ee999dc601b9

I0725 10:07:39.971945       1 server.go:104] GRPC call: /csi.v1.Controller/CreateVolume
I0725 10:07:39.973452       1 server.go:162] gRPCCall: {"Method":"/csi.v1.Controller/CreateVolume","Request":{"name":"pvc-08e146c2-efb7-497a-a243-a0e6b396f0b7","capacity_range":{"required_bytes":1073741824},"volume_capabilities":[{"AccessType":{"Mount":{}},"access_mode":{"mode":7}}],"accessibility_requirements":{"requisite":[{"segments":
{"topology.hostpath.csi/node":"kind-worker2"}},{"segments":{"topology.hostpath.csi/node":"kind-worker"}}],"preferred":[{"segments":{"topology.hostpath.csi/node":"kind-worker2"}},{"segments":{"topology.hostpath.csi/node":"kind-worker"}}]},"mutable_parameters":{"e2eVacTest":"test-value"}},"Response":{"volume":{"capacity_bytes":1073741824,"volume_id":"b9bb49dd-4a6d-11ef-ac59-c2b9e999f416","accessible_topology":[{"segments":{"topology.hostpath.csi/node":"kind-worker2"}}]}},"Error":"","FullError":null}
(base) ➜  /tmp cat csi-hostpathplugin-0-hostpath.log  | grep Mod
I0725 10:07:46.649292       1 server.go:104] GRPC call: /csi.v1.Controller/ControllerModifyVolume
I0725 10:07:46.650086       1 server.go:162] gRPCCall: {"Method":"/csi.v1.Controller/ControllerModifyVolume","Request":{"volume_id":"b97f7121-4a6d-11ef-86dc-ee999dc601b9","mutable_parameters":{"e2eVacTest":"test-value"}},"Response":null,"Error":"rpc error: code = NotFound desc = rpc error: code = NotFound desc = volume id b97f7121-4a6d-11ef-86dc-ee999dc601b9 does not exist in the volumes list","FullError":{}}

kubernetes-csi/external-resizer#419 可能解决这个问题

相关问题