Skip to content

Refactor and rewrite Python scripts in releng/ in Go #29390

@xmudrii

Description

@xmudrii

What should be cleaned up or changed:

We have a bunch of Python scripts in releng/ directory. These scripts are used to handle creating release branch jobs. These scripts also:

  • fetch values such as latest Kubernetes and Go version
  • handle updating auto-generated files
  • handle removing jobs for EOL release branches
  • wrap config-rotator and config-forker written in Go

These Python scripts have several problems:

  • We need to run them in a Docker container to ensure correct Python version and environment. There are some issues and challenges doing that on Mac M1 and M2
  • Kubernetes is a Go project and many of us are more experienced in Go. Having these scripts in Go would make it easier to run and test those scripts, but also refactor and debug when needed

That said, I think we should consider rewriting these scripts in Go. Additionally, we should consider wrapping everything (config-rotator, config-forker, and existing Python scripts) in a single binary.

Provide any links for context:

See #29387 for more details

/priority important-longterm
/sig release
cc @kubernetes/release-engineering

Metadata

Metadata

Labels

kind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.sig/releaseCategorizes an issue or PR as relevant to SIG Release.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions