Skip to content
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

Option to remove a "not ready" taint at startup #707

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

vflaux
Copy link

@vflaux vflaux commented Jan 21, 2025

Allow spegel to remove a taint at startup.
This allow to create nodes with a taint that prevent pods to be schedule. Spegel then remove the taint when ready.

fix #587

  • New code has tests where applicable
  • The change has been added to the changelog.
  • Documentation has been generated if applicable.
  • The unit tests pass.
  • Linter does not report any errors.
  • All end to end tests pass.

@vflaux vflaux force-pushed the gh_587_startup_taint branch from 142ab28 to c78f9a3 Compare January 21, 2025 16:12
@vflaux
Copy link
Author

vflaux commented Jan 21, 2025

I'm not yet satisfied with the fact that the removal is done immediately after starting the server & shutdown routines without a real validation. The server could have stopped immediately (listening the socket may have failed) and the taint would still be removed.

Edit:
I moved net.Listen() calls to the "main" goroutine in order to fail before deleting the taint.
We could also add a delay before removing the taint to wait for other startup errors, but I'm not a big fan of arbitrary delays.

@vflaux vflaux force-pushed the gh_587_startup_taint branch from c78f9a3 to 54b09ec Compare January 21, 2025 17:11
@vflaux vflaux force-pushed the gh_587_startup_taint branch from c046ce9 to 1d034b4 Compare January 22, 2025 15:29
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.

Remove predefined node taint after spegel pod finished initializing on the node
1 participant