[BUG] Fluid conflict with Kubernetes when updata status value while empty value
What is your environment(Kubernetes version, Fluid version, etc.) Kubernetes 1.19.4 Kubectl 1.19.4 Fluid 0.9.1 Describe the bug Fluid conflict with Kubernetes when updata status value while empty value. 1、i Create Dataset base on S3 success, 2、i Create Alluxio Runtime with this Dataset , the master create success 3、 the Runtime Work not Create after a long waiting 4、 analysis Alluxio Runtime Controller log , find :
2023-08-11T14:42:06.737+0800 ERROR alluxioctl.AlluxioRuntime base/setup.go:47 Update runtime status {"alluxioruntime": "kube-system/s3demo2", "error": "AlluxioRuntime.data.fluid.io \"s3demo2\" is invalid: [status.workerPhase: Invalid value: \"null\": status.workerPhase in body must be of type string: \"null\", status.fusePhase: Invalid value: \"null\": status.fusePhase in body must be of type string: \"null\"]"}
5、 when we update status first time , status.workerPhase / status.fusePhase use default value : empty String .
6、 for this reason, worker cannot create.
What you expect to happen: i want compatible for this situation。 How to reproduce it
Additional Information
i modify Fluid code according to xuzhihao:
1、 fluid\pkg\ddc\alluxio\master.go
2、 fluid\pkg\ddc\alluxio\worker.go
then , the problem solved!
@wushiming540 Thanks for the reported issue and the given solution. I think we can make the issue open in cases others look for solutions to similar problem.