loadBalancerIP being ignored for proxysql when applying cr.yaml change for xtradb operator 1.13.0

Description:

When applying a change to cr.yaml using operator 1.13.0 it appears that the loadBalancerIP is ignored. The field does not get applied to the spec within the PerconaXtraDBCluster object, but it does list it within the “kubectl.kubernetes.io/last-applied-configuration” metadata on the object.

This behaviour started to appear once applying taint tolerances to proxysql. Not exactly sure if adding this config conflicts with loadbalancerip logic. removing the taint tolerances has no impact.

Steps to Reproduce:

  • edit cr.yaml for an existing cluster deplyoment.
  • add a loadBalancerIP value to proxysql
  • apply the cr.yaml to the cluster

Version:

1.13.0

Logs:

Expected Result:

The proxysql service should be assigned the loadBalancerIP specified in the cr.yaml

Actual Result:

The result is the LoadBalancer service picks another IP address from the pool vs the static IP specified.

Additional Information:

  • EKS Anywhere platform, cilium 1.12.11
  • metallb controller 0.13.11

Please ignore… CRD version mismatch.

@jeff.plewes hey, great you resolved it. Could you please elaborate on what went wrong? I’m thinking about how we can enforce some behavior to avoid this situation.

@Sergey_Pronin

What went wrong is that I had upgraded the operator using the helm chart to 1.13.0 but I missed upgrading the CRDs following that. The CRD upgrade is a manual step.

@jeff.plewes thanks! Yeah, it is coming from a helm chart limitation. Glad you solved it.