crossplane-contrib/provider-kubernetes

status.unavailableReplicas is not removed when the key removed

nueavv opened this issue · 1 comments

What happened?

composition

       - type: ToCompositeFieldPath
          fromFieldPath: status.atProvider.manifest.status
          toFieldPath: status.nginx
  nginx:
    availableReplicas: 1
    conditions:
      - lastTransitionTime: '2022-12-19T02:11:59Z'
        lastUpdateTime: '2022-12-19T02:11:59Z'
        message: Deployment has minimum availability.
        reason: MinimumReplicasAvailable
        status: 'True'
        type: Available
      - lastTransitionTime: '2022-12-19T02:11:35Z'
        lastUpdateTime: '2022-12-19T02:11:59Z'
        message: ReplicaSet "abcd-7fd8bc7fcd" has successfully progressed.
        reason: NewReplicaSetAvailable
        status: 'True'
        type: Progressing
    replicas: 1
    unavailableReplicas: 1
    updatedReplicas: 1

deployment created by object

      status:
        availableReplicas: 1
        conditions:
        - lastTransitionTime: "2022-12-19T02:11:59Z"
          lastUpdateTime: "2022-12-19T02:11:59Z"
          message: Deployment has minimum availability.
          reason: MinimumReplicasAvailable
          status: "True"
          type: Available
        - lastTransitionTime: "2022-12-19T02:11:35Z"
          lastUpdateTime: "2022-12-19T02:11:59Z"
          message: ReplicaSet "abcd-7fd8bc7fcd" has successfully progressed.
          reason: NewReplicaSetAvailable
          status: "True"
          type: Progressing
        observedGeneration: 1
        readyReplicas: 1
        replicas: 1
        updatedReplicas: 1

status.nginx.unavailableReplicas of the XR is still exitst when status.unavailableReplicas key of the deployment create by object removed.

How can we reproduce it?

What environment did it happen in?

Crossplane version:
provider_kubernetes : provider-kubernetes-f935b3d8b7ec

kubernetes version 1.19

      status:
        availableReplicas: 2
        conditions:
          - lastTransitionTime: "2022-12-19T10:49:09Z"
            lastUpdateTime: "2022-12-19T10:49:09Z"
            message: Deployment has minimum availability.
            reason: MinimumReplicasAvailable
            status: "True"
            type: Available
          - lastTransitionTime: "2022-12-19T10:48:49Z"
            lastUpdateTime: "2022-12-19T10:49:09Z"
            message: ReplicaSet "abcd-6c885fd996" has successfully progressed.
            reason: NewReplicaSetAvailable
            status: "True"
            type: Progressing
        observedGeneration: 1
        readyReplicas: 2
        replicas: 2
        updatedReplicas: 2

Object create by kubernetes_provider updates successfully.
But, XR status is different. it has a removed field.

nginx:
  availableReplicas: 2
  conditions:
    - lastTransitionTime: "2022-12-19T10:49:09Z"
      lastUpdateTime: "2022-12-19T10:49:09Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    - lastTransitionTime: "2022-12-19T10:48:49Z"
      lastUpdateTime: "2022-12-19T10:49:09Z"
      message: ReplicaSet "abcd-6c885fd996" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
  replicas: 2
  unavailableReplicas: 1
  updatedReplicas: 2