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

Narrow down the usage of InitConfiguration throughout the code base #1084

Closed
rosti opened this issue Aug 29, 2018 · 6 comments
Closed

Narrow down the usage of InitConfiguration throughout the code base #1084

rosti opened this issue Aug 29, 2018 · 6 comments
Assignees
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/design Categorizes issue or PR as related to design. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. priority/backlog Higher priority than priority/awaiting-more-evidence.
Milestone

Comments

@rosti
Copy link

rosti commented Aug 29, 2018

With the push towards v1beta1 config, a lot of the internal structures got split and narrowed in scope.
However, the InitConfiguration is still the most widely spread type in the entire kubeadm code base. This was fine with the old MasterConfiguration since it was stored as is in a config map, but currently it's inadequate for a number of reasons:

  • InitConfiguration is no longer stored in the cluster as a config map.
  • It's designed as kubeadm init config file structure (in order to pass parameters for the initial init process).
  • It has members which are of no meaning and can be invalid if used outside of the scope of kubeadm init, thus allowing for bugs and even security vulnerabilities to plague the code base (Currently only BootstrapTokens).

The initial intent, when v1alpha3 was began, was that almost all usages of InitConfiguration outside of kubeadm init code, could be easily replaced with ClusterConfiguration. However, later in the development process of v1.12, it became obvious that ClusterConfiguration is not sufficient. This is because the structure does not contain any information about API endpoints and node specific options.

Thus, we need to define a new primarily runtime only structure, that will have the following fields and allow all kubeadm sub command independent code to operate on it:

  • ClusterConfiguration
  • NodeRegistrationOptions
  • API endpoint(s)

/kind design
/kind cleanup

@k8s-ci-robot k8s-ci-robot added kind/design Categorizes issue or PR as related to design. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Aug 29, 2018
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 27, 2018
@rosti
Copy link
Author

rosti commented Nov 27, 2018

/remove-lifecycle stale
/assign

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 27, 2018
@luxas
Copy link
Member

luxas commented Nov 28, 2018

@rosti I'll target this for v1.14 for you

@luxas luxas added this to the v1.14 milestone Nov 28, 2018
@luxas luxas added the priority/backlog Higher priority than priority/awaiting-more-evidence. label Nov 28, 2018
@rosti
Copy link
Author

rosti commented Dec 17, 2018

/lifecycle active

@k8s-ci-robot k8s-ci-robot added the lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. label Dec 17, 2018
@neolit123
Copy link
Member

this seems resolved to me, please /reopen if needed.
/close

@k8s-ci-robot
Copy link
Contributor

@neolit123: Closing this issue.

In response to this:

this seems resolved to me, please /reopen if needed.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/design Categorizes issue or PR as related to design. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

No branches or pull requests

5 participants