Skip to content

Conversation

@dombisza
Copy link

What this PR does / why we need it

CCE API is only removing/clearing taints and k8s_tags if they get a defined empty list/map:

"k8sTags": {},
"taints": [],

Currently there is no way to clear these from the API once they are defined. You can overwrite them with dummy values, which is kinda OK for kubernetes labels, but not for taints. If any taint is left on the node/nodepool you have to:
a) tolerate that taint in all your deployments(even in ds)
b) go to the console and delete manually

I have tested these changes with the terraform provider and now it does remove taints and k8s_tags if they become undefined. (note: k8s_tags also need computed: false for this behavior)
At this point this is just a proposal, I dont understand the sdk and the provider well enough to know if this would break anything else.

Which issue this PR fixes

Special notes for your reviewer

@dombisza dombisza marked this pull request as draft November 24, 2025 09:50
@pvelop
Copy link

pvelop commented Nov 25, 2025

I would like to add that the same applies to the boolean property scale_enable. As soon as it is set to false, it is not sent to the API and therefore does not change if it was previously set to true. This applied e.g. to the terraform provider when using the opentelekomcloud_cce_node_pool_v3 resource.

@dombisza
Copy link
Author

@artem-lifshits @anton-sidelnikov can we get some feedback on this? Also talked with the CCE PO and he also thinks taints need to be removable.

@anton-sidelnikov
Copy link
Member

Hi @dombisza, I agree with this change. To me, this was a bug, and now the values are being handled correctly

@dombisza dombisza marked this pull request as ready for review November 30, 2025 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants