-
Notifications
You must be signed in to change notification settings - Fork 580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1alpha2/v1alpha3 skew - Bastion does not have Public IP in AWSCluster status #2059
Comments
What command/API version did you use when you saw this? Could you please share the full AWSCluster yaml? |
cc @sedefsavas |
Initially I did a
I did a Attaching the awscluster yaml of v1alpha2 type. |
Can you share the conversion data instead of redacting it? Feel free to redact anything sensitive. |
What APIVersion did you use in your client when creating Can you gist the CAPA pod logs from when you created that cluster? |
Yes , I used v1alpha2 client for cluster creation. Looks like the pod got restarted and I dont have the logs for cluster creation. |
Thanks. What image tag did you install for the webhooks deployment? |
@DheerajSShetty Can you confirm if my understanding is correct? The old cluster case (which shows public IP): Conversions happening: v1alpha2(first created and stored) --> v1alpha2(read by controller and processed)--> v1alpha3 (read by kubectl) The new cluster case: Conversions happening: v1alpha2(first created ) --> v1alpha3 (stored) --> v1alpha2 (read from controller and processed) --> v1alpha3(stored again and read by kubectl) I checked the conversion in both directions, they are copying the bastion instance exactly same way. |
I am using CAPA 0.6.0 webhook, CAPI 0.3.10 webhook |
That is right. I tried curling to apiserver endpoint by running a kubectl proxy, just to see if changing the value of instancestate works. I tried curling on v1alpha2 type, this did not store the status as running
This one stored the intancestate as running
Is that a good way to test the conversion? |
The root cause is that the We probably need to audit the entire conversion code logic... We also need to update the FuzzTestFunc helper in CAPI to catch this, which it doesn't currently do. |
/assign |
/lifecycle active |
/kind bug
What steps did you take and what happened:
What happened:
The AWSCluster status did not have the Public IP of the bastion. The instance state was pending.
What did you expect to happen:
Expected the Public IP of the bastion in the AWSCluster status.
Expected the instance state to be running
Anything else you would like to add:
CURLed to v1alpha2 endpoint of AWSCluster object, and patched --data '{"status":{"bastion":{"instanceState":"running"}}}', the data was not changed in AWSCluster,
CURLed the same data to v1alpha3 endpoint , and the instance state changed to running
Environment:
kubectl version
):/etc/os-release
):The text was updated successfully, but these errors were encountered: