Open veophi opened 1 week ago
I've tested it and it doesn't seem to reproduce the problem.
reproduce
@XiShanYongYe-Chang
Sorry, Deployment generation has another bug.
But, this bug is easily reproduced with CloneSet
when the generation
in member is inconsistent with in karmada.
➜ ~ use_karmada
➜ ~ k get clone -oyaml | grep -i generation
generation: 2
observedGeneration: 4
generation: 5
observedGeneration: 4
➜ ~
Sorry, Deployment generation is another bug.
If there is another bug, we can track it with a new issue.
But, this bug is easily reproduced with CloneSet when the generation in member is inconsistent with in karmada.
I got it. This is because we did not implement a state collection resource interpreter for the cloneset resource.
Sorry, Deployment generation is another bug.
If there is another bug, we can track it with a new issue.
But, this bug is easily reproduced with CloneSet when the generation in member is inconsistent with in karmada.
I got it. This is because we did not implement a state collection resource interpreter for the cloneset resource.
@XiShanYongYe-Chang here's bug https://github.com/karmada-io/karmada/blob/6e5a6029922091e22bdae470323c2483334273ff/pkg/resourceinterpreter/default/thirdparty/resourcecustomizations/apps.kruise.io/v1alpha1/CloneSet/customizations.yaml#L72
Oh... Here it is, sorry I forgot.
Let me invite the owner of the feature to take a look at this issue. Hi @yike21, can you help take a look? /cc @yike21
By the way, do you know how to fix it?
Oh... Here it is, sorry I forgot.
Let me invite the owner of the feature to take a look at this issue. Hi @yike21, can you help take a look? /cc @yike21
By the way, do you know how to fix it?
@XiShanYongYe-Chang yes, I know.
BTW, Deployment generation bug and its fix is here: https://github.com/karmada-io/karmada/pull/4867
BTW, Deployment generation bug and its fix is here: #4867
Thanks a lot~
Let me invite the owner of the feature to take a look at this issue. Hi @yike21, can you help take a look? /cc @yike21
By the way, do you know how to fix it?
I will do it asap. Thanks a lot! @veophi
/assign @veophi In favor of #4867
//TODO: CloneSet generation logic will be fixed later. @XiShanYongYe-Chang @yike21
Hi @veophi I've had a look at PR #4867, but I don't understand what the problem was with the previous Deployment status observedGeneration. I understand that the previous logic was to set observedGeneration directly to deployment generation when the status was aggregated, as described in the comments. The current behavior may be more rigorous. The waits for the Deployment state in the member cluster to be ready before proceeding with the collection.
Hi @veophi I've had a look at PR #4867, but I don't understand what the problem was with the previous Deployment status observedGeneration. I understand that the previous logic was to set observedGeneration directly to deployment generation when the status was aggregated, as described in the comments. The current behavior may be more rigorous. The waits for the Deployment state in the member cluster to be ready before proceeding with the collection.
Do you have wechat?
@XiShanYongYe-Chang observedGeneration == generation
means the Deployment controller has observed the spec(generation) changes and updated the status based on the changes.
If you always set observedGeneration = deploy.Generation
and ignore whether the status
corresponds to the generation
, the status you aggregated may be untrustworthy.
Thanks, I get it.
This is a common problem with workload resources. Can you help list all the resources that need to be handled and then we can complete them one by one. How about creating an umbrella issue?
This is a common problem with workload resources. Can you help list all the resources that need to be handled and then we can complete them one by one. How about creating an umbrella issue?
There are a number of third-party resources that need to be modified to aggregate .status.observedGeneration
. They can be modified in the same way as CloneSet.
Thanks~ @yike21
Can you help create an umbrella issue to track the task? Each resource to be processed can be processed as a subtask.
Can you help create an umbrella issue to track the task? Each resource to be processed can be processed as a subtask.
OK, I will do it soon.
As an evolution of the previous resource template status.observedGeneration solution, I think that we can continue to promote the current issue as a feature.
We can use #4870 to trace subsequent tasks. Thanks again @veophi @yike21
/kind feature
What happened:
status.bservedGeneration
of federated resource (CloneSet) does not align with itsmetadata.generation
.What's the meaning of
status.bservedGeneration
?However, Karmada uses
status.bservedGeneration
of member resource as itsstatus.bservedGeneration
in federated resource, it's incorrect.What you expected to happen:
status.bservedGeneration
of federated resource (CloneSet) aligns with itsmetadata.generation
if its all member resources havestatus.observedGeneration >= metadata.generation
.How to reproduce it (as minimally and precisely as possible): Update any federated Deployment spec and watch its generation&observedGeneration.
Anything else we need to know?:
Environment:
kubectl-karmada version
orkarmadactl version
):