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

Proposal: Move kubedns addon code to its own repository under Kubernetes #172

Closed
bowei opened this issue Dec 13, 2016 · 9 comments
Closed

Comments

@bowei
Copy link
Member

bowei commented Dec 13, 2016

Overview

The kube-dns pod currently consists of the kube-dns daemon, dnsmasq and their healthcheck sidecars (exec-healthz and dnsmasq-metrics). The code is spread over both main kubernetes/ and contrib/ repositories. Images for each of the containers are currently versioned separately. For example, the kube-dns that ships with Kubernetes v1.5 is v1.9, dnsmasq-metrics v1.0 etc.

Note: exec-healthz is being removed from the pod shortly.

It would be more coherent to move all of the related code into the same respository. kube-dns consumes only public APIs and the release of all Kubernetes maintained code can be unified.

Plan of action

  • Create a new repository in kubernetes called dns
  • Copy code (keeping history) of kubernetes/pkg/dns to dns/pkg/dns
  • Copy code (keeping history) of kubernetes/cmd/kube-dns to dns/cmd/kube-dns
  • Copy code (keeping history) of contrib/dnsmasq-metrics to dns/cmd/kube-dns-sidecar, adjusting pkg and cmd appropriately
  • Copy code (keeping history) contrib/dnsmasq to dns/dnsmasq
  • Use the standard build template for the verification and build infrastructure
  • e2e testing of DNS will remain in the Kubernetes repo. I would defer any potential movement of e2e tests until the separation of e2e from the main repo has been concretized.
  • kubernetes/cluster/addons will remain for now.
  • Add hook to run e2e against current kube-dns build. Note: this is not done today in the kubernetes repo itself.

Impacts

  • Kubernetes cluster/addon will refer to externally built image. This is already the case, as the CI system does not pick up changes to the kube-dns code. The referenced image on gcr.io is used instead.
  • kube-dns is a leaf project, output of git grep 'k8s.io/kubernetes/\(cmd\|pkg\)/dns/' | grep -v '^\(pkg/dns\|cmd/kube-dns\)' shows only one e2e test as an external dependency which will be removed.
@bowei bowei changed the title Move kubedns addon code to its own repository under Kubernetes Proposal: Move kubedns addon code to its own repository under Kubernetes Dec 13, 2016
@bowei
Copy link
Member Author

bowei commented Dec 13, 2016

@kubernetes/sig-network

@thockin
Copy link
Member

thockin commented Dec 13, 2016

Why the "kube-dns-sidecar" name? isn't it more like a dnsmaq-sidecar?

Should you also move the dnsmasq repo (which is basically a dockerfile), too?

@thockin
Copy link
Member

thockin commented Dec 13, 2016

I am in favor of this move, FWIW - it gives permissions to the people doing the real work on the right granularity.

@bprashanth
Copy link

It would be great if we had feedback from a failing e2e to prevent merges in the new repo. I assume we'll run godep restore+build+unit/integration tests via build template invoked through travis? We might want to pull some of the mungers for docs etc, for the sake of consistency.

@bowei
Copy link
Member Author

bowei commented Dec 13, 2016

updated regarding dnsmasq -- didn't realize this had its own build
updated regarding e2e -- currently it is not the case that changes to dns are captured by e2e unless the dns image is changed by hand

@bgrant0607
Copy link
Member

ref kubernetes/kubernetes#24343

@thockin
Copy link
Member

thockin commented Dec 14, 2016 via email

@bowei
Copy link
Member Author

bowei commented Dec 15, 2016

repo: kubernetes/dns

Add @MrHohn as a admin (and yourself)

@thockin
Copy link
Member

thockin commented Dec 15, 2016

Repo created.

@thockin thockin closed this as completed Dec 15, 2016
rmohr pushed a commit to rmohr/community that referenced this issue May 4, 2022
…uirements (kubernetes#172)

Signed-off-by: Alvaro Romero <alromero@redhat.com>
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

No branches or pull requests

4 participants