El objeto CSM asociado con una implementación de controlador permanece en un estado fallido incluso cuando la implementación se realiza correctamente
Resumen: En CSM Operator v1.4.1, el objeto CSM asociado con una implementación de controlador permanece en un estado fallido, incluso cuando la implementación se realiza correctamente.
Síntomas
[root@master-1-Zaglt7mQUY8Wg e2e]# k describe csm -n test-vxflexos test-vxflexos Name: test-vxflexos Namespace: test-vxflexos … Status: Controller Status: Available: 0 Desired: 1 Failed: 1 Node Status: Available: 2 Desired: 2 Failed: 0 State: Failed Events: Type Reason Age From Message Normal Updated 3m12s csm Object finalizer is added Normal Completed 3m11s (x2 over 3m11s) csm install/update storage component: test-vxflexos completed OK Normal Completed 3m11s csm Driver deployment running OK Warning Updated 3m11s csm at 1707491918292836118 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m11s csm at 1707491918387122708 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m11s (x3 over 3m11s) csm Failed install: Operation cannot be fulfilled on containerstoragemodules.storage.dell.com "test-vxflexos": the object has been modified; please apply your changes to the latest version and try again Warning Updated 3m11s csm at 1707491918502243242 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m11s csm at 1707491918603289132 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m11s csm at 1707491918633307657 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m11s csm at 1707491918702738940 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m10s csm at 1707491919356615788 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m10s csm at 1707491919773768318 Pod error details error message for default-source-cluster PodInitializing= Warning Updated 3m9s (x3 over 3m9s) csm (combined from similar events): at 1707491920766553739 Pod error details error message for default-source-cluster PodInitializing= Normal Completed 3m8s csm at 1707491921372865165 Driver pods running OK Normal Completed 3m8s csm Driver daemonset running OK [root@master-1-Zaglt7mQUY8Wg e2e]# k get pods -n test-vxflexos NAMESPACE NAME READY STATUS RESTARTS AGE test-vxflexos test-vxflexos-controller-797f95f7c7-xfs7r 5/5 Running 0 3m24s test-vxflexos test-vxflexos-node-js29j 2/2 Running 0 3m24s test-vxflexos test-vxflexos-node-pg75s 2/2 Running 0 3m24s [root@master-1-Zaglt7mQUY8Wg e2e]# kubectl get csm -A NAMESPACE NAME CREATIONTIME CSIDRIVERTYPE CONFIGVERSION STATE test-vxflexos test-vxflexos 4m19s powerflex v2.9.1 Failed
Causa
Hay controladores de actualización para daemonset (pods de nodos) y objetos de implementación (pods de controladoras). Estos controladores intentan actualizar el estado simultáneamente. Por ejemplo, si el pod de la controladora entró en estado Ready mientras que un pod de nodo pasó de Init a ContainerCreating. Si el controlador de implementación obtuvo primero la exclusión mutua de actualización de estado, escribiría su estado actualizado. Pero cuando el daemonset El controlador obtuvo la exclusión mutua después, sobrescribiría el estado de la controladora como fallido.
Resolución
Resolución:
El equipo de ingeniería resolvió este problema en el parche 1.4.2 de CSM Operator. La corrección inmediata tiene la rutina de actualización para comprobar el estado de la controladora antes de la actualización.