From 873de8ee3d03fc6310633611e4bbbb606422018a Mon Sep 17 00:00:00 2001 From: Maciej Szulik Date: Thu, 24 May 2018 15:13:56 +0200 Subject: [PATCH 01/23] Fix typos --- keps/sig-cli/0008-kustomize.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/keps/sig-cli/0008-kustomize.md b/keps/sig-cli/0008-kustomize.md index 4817403a6..0980466ee 100644 --- a/keps/sig-cli/0008-kustomize.md +++ b/keps/sig-cli/0008-kustomize.md @@ -10,10 +10,10 @@ participating-sigs: reviewers: - "@droot" approvers: - - "@maciej" + - "@soltysh" editor: "@droot" -creation-date: 2018-05-5 -last-updated: 2018-05-5 +creation-date: 2018-05-05 +last-updated: 2018-05-23 status: implemented see-also: - n/a @@ -48,9 +48,9 @@ superseded-by: Declarative specification of Kubernetes objects is the recommended way to manage Kubernetes production workloads, however gaps in the kubectl tooling force users to write their own scripting and tooling to augment the declarative tools with preprocessing transformations. -While most of theser transformations already exist as imperative kubectl commands, they are not natively accessible +While most of these transformations already exist as imperative kubectl commands, they are not natively accessible from a declarative workflow. - + This KEP describes how `kustomize` addresses this problem by providing a declarative format for users to access the imperative kubectl commands they are already familiar natively from declarative workflows. @@ -59,7 +59,7 @@ the imperative kubectl commands they are already familiar natively from declarat The kubectl command provides a cli for: - accessing the Kubernetes apis through json or yaml configuration -- porcelain commands for generating and transforming configuration off of commandline flags. +- porcelain commands for generating and transforming configuration off of command line flags. Examples: @@ -70,7 +70,7 @@ Examples: - Create or update fields that cut across other fields and objects - `kubectl label`, `kubectl annotate` - Users can add and update labels for all objects composing an application - + - Transform an existing declarative configuration without forking it - `kubectl patch` - Users may generate multiple variations of the same workload From 28dd7b935c59f603c434e1146a90a7630668bcb2 Mon Sep 17 00:00:00 2001 From: "Jose A. Rivera" Date: Fri, 25 May 2018 19:06:41 -0500 Subject: [PATCH 02/23] Update e2e testing against local clusters Signed-off-by: Jose A. Rivera --- contributors/devel/e2e-tests.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/contributors/devel/e2e-tests.md b/contributors/devel/e2e-tests.md index bd20ee4e5..67453ba52 100644 --- a/contributors/devel/e2e-tests.md +++ b/contributors/devel/e2e-tests.md @@ -414,8 +414,14 @@ end of aforementioned script. #### Testing against local clusters -In order to run an E2E test against a locally running cluster, point the tests -at a custom host directly: +In order to run an E2E test against a locally running cluster, first make sure +to have a local build of the tests: + +```sh +go run hack/e2e.go -- --build +``` + +Then point the tests at a custom host directly: ```sh export KUBECONFIG=/path/to/kubeconfig @@ -430,6 +436,14 @@ To control the tests that are run: go run hack/e2e.go -- --provider=local --test --test_args="--ginkgo.focus=Secrets" ``` +You will also likely need to specify `minStartupPods` to match the number of +nodes in your cluster. If you're testing against a cluster set up by +`local-up-cluster.sh`, you will need to do the following: + +```sh +go run hack/e2e.go -- --provider=local --test --test_args="--minStartupPods=1 --ginkgo.focus=Secrets" +``` + ### Version-skewed and upgrade testing We run version-skewed tests to check that newer versions of Kubernetes work From 479a6d633d2391c1f24d424f7b12d51858ef8ae2 Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Tue, 29 May 2018 21:41:34 -0700 Subject: [PATCH 03/23] Add repo removal criteria and process. --- kubernetes-repositories.md | 43 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/kubernetes-repositories.md b/kubernetes-repositories.md index 6409bb706..0651e3fb2 100644 --- a/kubernetes-repositories.md +++ b/kubernetes-repositories.md @@ -1,11 +1,11 @@ ## Kubernetes Repositories -This document attempts to outline a structure for creating and associating github repositories with the Kubernetes project. +This document attempts to outline a structure for creating and associating github repositories with the Kubernetes project. It also describes how and when +repositories are removed. The document presents a tiered system of repositories with increasingly strict requirements in an attempt to provide the right level of oversight and flexibility for a variety of different projects. - ### Associated Repositories Associated repositories conform to the Kubernetes community standards for a repository, but otherwise have no restrictions. Associated repositories exist solely for the purpose of making it easier for the Kubernetes community to work together. There is no implication of support or endorsement of any kind by the Kubernetes project, the goals are purely logistical. @@ -73,6 +73,45 @@ Create a broader base of repositories than the existing gh/kubernetes/kubernetes * All OWNERS must be members of standing as defined by ability to vote in Kubernetes steering committee elections. in the Kubernetes community * Repository must be approved by SIG-Architecture +### Removing Repositories + +As important as it is to add new repositories, it is equally important to +prune old repositories that are no longer relevant or useful. + +It is in the best interests of everyone involved in the Kubernetes community +that our various projects and repositories are active and healthy. This +ensures that repositories are kept up to date with the latest Kubernetes +wide processes, it ensures a rapid response to potential required fixes +(e.g. critical security problems) and (most importantly) it ensures that +contributors and users receive quick feedback on their issues and +contributions. + +#### Grounds for removal +SIG repositories and core repositories may be removed from the project if they +are deemed _inactive_. Inactive repositories are those that meet any of the +following criteria: + + * There are no longer any active maintainers for the project and no +replacements can be found. + * All PRs or Issues have gone un-addressed for longer than six months. + * There have been no new commits or other changes in more than a year. + +Associated repositories are much more loosely associated with the Kubernetes +project and are generally not subject to removal, except under exceptional +circumstances (e.g. a code of conduct violation). + + +#### Procedure for removal +When a repository is set for removal, it is moved into the +[kubernetes-retired](https://github.com/kubernetes-retired) organization. +This maintains the +complete record of issues, PRs and other contributions, but makes it clear +that the repository should be considered archival, not active. We will also +use the [github archive feature](https://help.github.com/articles/archiving-a-github-repository/) to mark the repository as archival and read-only. + +The decision to archive a repository will be made by SIG architecture and +announced on the Kubernetes dev mailing list and community meeting. + ### FAQ *My project is currently in kubernetes-incubator, what is going to happen to it?* From 55fe0804b46ff36f194ff558bae75814f86dcfdb Mon Sep 17 00:00:00 2001 From: Pengfei Ni Date: Fri, 25 May 2018 15:29:52 +0800 Subject: [PATCH 04/23] Update docs for CRI validation test suites --- contributors/devel/cri-validation.md | 35 ++++++++++++++++------------ 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/contributors/devel/cri-validation.md b/contributors/devel/cri-validation.md index 2ca5a0e04..efb98022a 100644 --- a/contributors/devel/cri-validation.md +++ b/contributors/devel/cri-validation.md @@ -2,19 +2,26 @@ CRI validation testing provides a test framework and a suite of tests to validate that the Container Runtime Interface (CRI) server implementation meets all the requirements. This allows the CRI runtime developers to verify that their runtime conforms to CRI, without needing to set up Kubernetes components or run Kubernetes end-to-end tests. -CRI validation testing is currently Alpha and is hosted at the [cri-tools](https://github.com/kubernetes-incubator/cri-tools) repository. Performance benchmarking will be added in the future. We encourage the CRI developers to report bugs or help extend the test coverage by adding more tests. +CRI validation testing is GA since v1.11.0 and is hosted at the [cri-tools](https://github.com/kubernetes-incubator/cri-tools) repository. We encourage the CRI developers to report bugs or help extend the test coverage by adding more tests. ## Install -The test suites can be installed easily via `go get` command: +The test suites can be downloaded from cri-tools [release page](https://github.com/kubernetes-incubator/cri-tools/releases): ```sh -go get github.com/kubernetes-incubator/cri-tools/cmd/critest +VERSION="v1.11.0" +wget https://github.com/kubernetes-incubator/cri-tools/releases/download/$VERSION/critest-$VERSION-linux-amd64.tar.gz +sudo tar zxvf critest-$VERSION-linux-amd64.tar.gz -C /usr/local/bin +rm -f critest-$VERSION-linux-amd64.tar.gz ``` -Then `critest` binary can be found in `$GOPATH/bin`. +critest requires [ginkgo](https://github.com/onsi/ginkgo) to run parallel tests. It could be installed by -*Note: ensure GO is installed and GOPATH is set before installing critest.* +```sh +go get -u github.com/onsi/ginkgo/ginkgo +``` + +*Note: ensure GO is installed and GOPATH is set before installing ginkgo.* ## Running tests @@ -25,7 +32,7 @@ Before running the test, you need to _ensure that the CRI server under test is r ### Run ```sh -critest validation +critest ``` This will @@ -34,15 +41,13 @@ This will - Run the tests using `ginkgo` - Output the test results to STDOUT -critest connects to `/var/run/dockershim.sock` by default. For other runtimes, the endpoint can be set in two ways: - -- By setting flags `--runtime-endpoint` and `--image-endpoint` -- By setting environment variables `CRI_RUNTIME_ENDPOINT` and `CRI_IMAGE_ENDPOINT` +critest connects to `unix:///var/run/dockershim.sock` by default. For other runtimes, the endpoint can be set by flags `-runtime-endpoint` and `-image-endpoint`. ## Additional options -- `--focus`, `-f`: Only run the tests that match the regular expression. -- -`-ginkgo-flags`, `-g`: Space-separated list of arguments to pass to Ginkgo test runner. -- `--image-endpoint`, `-i`: Set the endpoint of image service. Same with runtime-endpoint if not specified. -- `--runtime-endpoint`, `-r`: Set the endpoint of runtime service. Default to `/var/run/dockershim.sock`. -- `--skip`, `-s`: Skip the tests that match the regular expression. +- `-ginkgo.focus`: Only run the tests that match the regular expression. +- `-image-endpoint`: Set the endpoint of image service. Same with runtime-endpoint if not specified. +- `-runtime-endpoint`: Set the endpoint of runtime service. Default to `unix:///var/run/dockershim.sock`. +- `-ginkgo.skip`: Skip the tests that match the regular expression. +- `-parallel`: The number of parallel test nodes to run (default 1). ginkgo must be installed to run parallel tests. +- `-h`: Show help and all supported options. From 5f6eb26d5a2389f4fa83d34e8eea2613f0f20fe5 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 5 Jun 2018 11:48:53 +0530 Subject: [PATCH 05/23] Update vertical-pod-autoscaler.md Minor spelling mistake --- .../design-proposals/autoscaling/vertical-pod-autoscaler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors/design-proposals/autoscaling/vertical-pod-autoscaler.md b/contributors/design-proposals/autoscaling/vertical-pod-autoscaler.md index 13d235f83..d990d7dbe 100644 --- a/contributors/design-proposals/autoscaling/vertical-pod-autoscaler.md +++ b/contributors/design-proposals/autoscaling/vertical-pod-autoscaler.md @@ -558,7 +558,7 @@ VPA controls the request (memory and CPU) of containers. In MVP it always sets the limit to infinity. It is not yet clear whether there is a use-case for VPA setting the limit. -The request is calculated based on analysis of the current and revious runs of +The request is calculated based on analysis of the current and previous runs of the container and other containers with similar properties (name, image, command, args). The recommendation model (MVP) assumes that the memory and CPU consumption are From 84da537814f565cffbcf2d04d70f8e7f033fd76e Mon Sep 17 00:00:00 2001 From: Jonathan MacMillan Date: Wed, 6 Jun 2018 14:15:41 -0700 Subject: [PATCH 06/23] Document sig-multicluster decision about reserved namespaces. --- .../multicluster-reserved-namespaces.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md diff --git a/contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md b/contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md new file mode 100644 index 000000000..821ac43c8 --- /dev/null +++ b/contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md @@ -0,0 +1,49 @@ +# Multicluster reserved namespaces + +@perotinus + +06/06/2018 + +## Background + +sig-multicluster has identified the need for a canonical set of namespaces that +can be used for supporting multicluster applications and use cases. Initially, +an [issue](https://github.com/kubernetes/cluster-registry/issues/221) was filed +in the cluster-registry repository describing the need for a namespace that +would be used for public, global cluster records. This topic was further +discussed at the +[SIG meeting on June 5, 2018](https://www.youtube.com/watch?v=j6tHK8_mWz8&t=3012) +and in a +[thread](https://groups.google.com/forum/#!topic/kubernetes-sig-multicluster/8u-li_ZJpDI) +on the SIG mailing list. + +## Reserved namespaces + +We determined that there is currently a strong case for two reserved namespaces +for multicluster use: + +- `kube-multicluster-public`: a global, public namespace for storing cluster + registry Cluster objects. If there are other custom resources that + correspond with the global, public Cluster objects, they can also be stored + here. For example, a custom resource that contains cloud-provider-specific + metadata about a cluster. Tools built against the cluster registry can + expect to find the canonical set of Cluster objects in this namespace[1]. + +- `kube-multicluster-system`: an administrator-accessible namespace that + contains components, such as multicluster controllers and their + dependencies, that are not meant to be seen by most users directly. + +The definition of these namespaces is not intended to be exhaustive: in the +future, there may be reason to define more multicluster namespaces, and +potentially conventions for namespaces that are replicated between clusters (for +example, to support a global cluster list that is replicated to all clusters +that are contained in the list). + +## Conventions for reserved namesp[aces + +By convention, resources in these namespaces are local to the clusters in which +they exist and will not be replicated to other clusters. + +[1] Tools are by no means compelled to look in this namespace for clusters, and +can choose to reference Cluster objects from other namespaces as is suitable to +their design and environment. From 43ecbcf791e910ecbda78a5f8c34c6d2c3489fac Mon Sep 17 00:00:00 2001 From: Tim Pepper Date: Wed, 6 Jun 2018 17:48:13 -0700 Subject: [PATCH 07/23] archive sig-rktnetes Looking at stale zoom.us links, we noticed sig-rktnetes and its README hanging around. It's due for archiving. Signed-off-by: Tim Pepper --- {sig-rktnetes => archive/sig-rktnetes}/OWNERS | 0 {sig-rktnetes => archive/sig-rktnetes}/README.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {sig-rktnetes => archive/sig-rktnetes}/OWNERS (100%) rename {sig-rktnetes => archive/sig-rktnetes}/README.md (100%) diff --git a/sig-rktnetes/OWNERS b/archive/sig-rktnetes/OWNERS similarity index 100% rename from sig-rktnetes/OWNERS rename to archive/sig-rktnetes/OWNERS diff --git a/sig-rktnetes/README.md b/archive/sig-rktnetes/README.md similarity index 100% rename from sig-rktnetes/README.md rename to archive/sig-rktnetes/README.md From 15581da51ac9d080fa522c38d060a5b70864f520 Mon Sep 17 00:00:00 2001 From: Shyam Jeedigunta Date: Thu, 7 Jun 2018 15:10:14 +0200 Subject: [PATCH 08/23] Add #services/ns limit to scalability thresholds doc --- sig-scalability/configs-and-limits/thresholds.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sig-scalability/configs-and-limits/thresholds.md b/sig-scalability/configs-and-limits/thresholds.md index a17a0fa11..ef947b84e 100644 --- a/sig-scalability/configs-and-limits/thresholds.md +++ b/sig-scalability/configs-and-limits/thresholds.md @@ -47,6 +47,7 @@ Important notes about the numbers: | Number of namespaces (ns) | 10000 | | 100000 | | Number of pods per ns | 15000 | | 50000 | | Number of services | 10000 | | 100000 | +| Number of services per ns | 5000 | | 5000 | | Number of all services backends | TBD | | 500000 | | Number of backends per service | 5000 | | 5000 | | Number of deployments per ns | 20000 | | 10000 | From ef81741b4dae1e9e4250f0b6bcc184863297ed14 Mon Sep 17 00:00:00 2001 From: Phillip Wittrock Date: Thu, 7 Jun 2018 11:46:57 -0700 Subject: [PATCH 09/23] Add kubebuilder and controller-runtime as subprojects of server-sdk. --- sig-api-machinery/README.md | 2 ++ sigs.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sig-api-machinery/README.md b/sig-api-machinery/README.md index 16d8ee9c5..863c6d424 100644 --- a/sig-api-machinery/README.md +++ b/sig-api-machinery/README.md @@ -67,6 +67,8 @@ The following subprojects are owned by sig-api-machinery: - https://raw.githubusercontent.com/kubernetes/sample-controller/master/OWNERS - https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/sample-controller/OWNERS - https://raw.githubusercontent.com/kubernetes-incubator/apiserver-builder/master/OWNERS + - https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/master/OWNERS + - https://raw.githubusercontent.com/kubernetes-sigs/kubebuilder/master/OWNERS - **idl-schema-client-pipeline** - Owners: - https://raw.githubusercontent.com/kubernetes/gengo/master/OWNERS diff --git a/sigs.yaml b/sigs.yaml index 928d750c3..29ca02244 100644 --- a/sigs.yaml +++ b/sigs.yaml @@ -79,6 +79,8 @@ sigs: - https://raw.githubusercontent.com/kubernetes/sample-controller/master/OWNERS - https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/sample-controller/OWNERS - https://raw.githubusercontent.com/kubernetes-incubator/apiserver-builder/master/OWNERS + - https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/master/OWNERS + - https://raw.githubusercontent.com/kubernetes-sigs/kubebuilder/master/OWNERS - name: idl-schema-client-pipeline owners: - https://raw.githubusercontent.com/kubernetes/gengo/master/OWNERS # possibly should be totally separate From 58de5ce6dd49f04fc160262ad365aab962ab82fa Mon Sep 17 00:00:00 2001 From: Jonathan MacMillan Date: Thu, 7 Jun 2018 13:21:44 -0700 Subject: [PATCH 10/23] Follow up to #2220, addressing @csbell's comments. --- .../multicluster/multicluster-reserved-namespaces.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md b/contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md index 821ac43c8..0f664cb2a 100644 --- a/contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md +++ b/contributors/design-proposals/multicluster/multicluster-reserved-namespaces.md @@ -39,10 +39,12 @@ potentially conventions for namespaces that are replicated between clusters (for example, to support a global cluster list that is replicated to all clusters that are contained in the list). -## Conventions for reserved namesp[aces +## Conventions for reserved namespaces By convention, resources in these namespaces are local to the clusters in which -they exist and will not be replicated to other clusters. +they exist and will not be replicated to other clusters. In other words, these +namespaces are private to the clusters they are in, and multicluster operations +must not replicate them or their resources into other clusters. [1] Tools are by no means compelled to look in this namespace for clusters, and can choose to reference Cluster objects from other namespaces as is suitable to From d9989e981786035dcfe4ab31d351c2d46f0df2a4 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 7 Jun 2018 21:27:59 +0200 Subject: [PATCH 11/23] Fix link to Prow commands https://github.com/kubernetes/test-infra/blob/master/commands.md redirects now to https://prow.k8s.io/command-help . Update the documentation so that we link directly to https://go.k8s.io/bot-commands as better automatic redirect. --- contributors/guide/issue-triage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors/guide/issue-triage.md b/contributors/guide/issue-triage.md index 2ab43cc62..6230c7f0b 100644 --- a/contributors/guide/issue-triage.md +++ b/contributors/guide/issue-triage.md @@ -33,7 +33,7 @@ for other github repositories related to Kubernetes is TBD. Most people can leave comments and open issues. They don't have the ability to set labels, change milestones and close other peoples issues. For that we use a bot to manage labelling and triaging. The bot has a set of -[commands and permissions](https://git.k8s.io/test-infra/commands.md) +[commands and permissions](https://go.k8s.io/bot-commands) and this document will cover the basic ones. ## Determine if it's a support request From 62cf44ff985ab708a92c48d9ceea0c8d62678454 Mon Sep 17 00:00:00 2001 From: ruicao Date: Fri, 8 Jun 2018 18:04:07 +0800 Subject: [PATCH 12/23] Typo fix: availibility -> availability --- mentoring/mentor-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mentoring/mentor-guide.md b/mentoring/mentor-guide.md index 8c4d9a2e3..f5ab17792 100644 --- a/mentoring/mentor-guide.md +++ b/mentoring/mentor-guide.md @@ -52,7 +52,7 @@ Mentees will be asked to take responsibility for their growth and improvement as * Discuss their path so far and ask for input/feedback. * Code base tour of a certain area * Or a mix - itโ€™s up to the mentee with how theyโ€™d like to spend the time and your skills/experience. -* You'll fill out a form once a month to list your availibility. +* You'll fill out a form once a month to list your availability. *[Outreachy](https://www.outreachy.org)* * Being a mentor can take anywhere from 2-5 hours a week depending on the scope of the project that the intern(s) work on. From e886303310e362d8e062ccddd6adb89a0e745c1a Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Fri, 8 Jun 2018 13:46:32 -0700 Subject: [PATCH 13/23] Proto is our default storage serialization; we can't break it --- contributors/devel/api-conventions.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contributors/devel/api-conventions.md b/contributors/devel/api-conventions.md index 0243dbd8f..7a614fff0 100644 --- a/contributors/devel/api-conventions.md +++ b/contributors/devel/api-conventions.md @@ -742,7 +742,9 @@ APIs may return alternative representations of any resource in response to an Accept header or under alternative endpoints, but the default serialization for input and output of API responses MUST be JSON. -Protobuf serialization of API objects are currently **EXPERIMENTAL** and will change without notice. +A protobuf encoding is also accepted for built-in resources. As proto is not +self-describing, there is an envelope wrapper which describes the type of +the contents. All dates should be serialized as RFC3339 strings. From 866b7c8fcc1bc71e3a08b82dcc38f63ade509e44 Mon Sep 17 00:00:00 2001 From: youyongsong Date: Sat, 9 Jun 2018 23:48:10 +0800 Subject: [PATCH 14/23] system:bootstrappers should be the right group. --- .../sig-cluster-lifecycle/draft-20180130-kubeadm-join-master.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keps/sig-cluster-lifecycle/draft-20180130-kubeadm-join-master.md b/keps/sig-cluster-lifecycle/draft-20180130-kubeadm-join-master.md index 105540649..15fd846ae 100644 --- a/keps/sig-cluster-lifecycle/draft-20180130-kubeadm-join-master.md +++ b/keps/sig-cluster-lifecycle/draft-20180130-kubeadm-join-master.md @@ -280,7 +280,7 @@ existing `kubeadm join` flow: in `kube-system` namespace. > This requires to grant access to the above configMap for - `system:node-bootstrapper` group (or to provide the same information + `system:bootstrappers` group (or to provide the same information provided in a file like in 1.). 2. Check if the cluster is ready for joining a new master node: From b8dc13853051fe32eff781bae263b9e8873ec48c Mon Sep 17 00:00:00 2001 From: Antoine Pelisse Date: Sat, 9 Jun 2018 12:06:01 -0700 Subject: [PATCH 15/23] Update ServerSide apply Kep to fix links Fixes #2236 --- keps/0006-apply.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keps/0006-apply.md b/keps/0006-apply.md index effb6eef9..980f89e89 100644 --- a/keps/0006-apply.md +++ b/keps/0006-apply.md @@ -108,14 +108,14 @@ via CURL.) Some highlights of things we intend to change: -* Apply will be moved to the control plane: [overall design](goo.gl/UbCRuf). +* Apply will be moved to the control plane: [overall design](https://goo.gl/UbCRuf). * It will be invoked by sending a certain Content-Type with the verb PATCH. * The last-applied annotation will be promoted to a first-class citizen under metadata. Multiple appliers will be allowed. * Apply will have user-targeted and controller-targeted variants. -* The Go IDL will be fixed: [design](goo.gl/EBGu2V). OpenAPI data models will be fixed. Result: 2-way and +* The Go IDL will be fixed: [design](https://goo.gl/EBGu2V). OpenAPI data models will be fixed. Result: 2-way and 3-way merges can be implemented correctly. -* 2-way and 3-way merges will be implemented correctly: [design](goo.gl/nRZVWL). +* 2-way and 3-way merges will be implemented correctly: [design](https://goo.gl/nRZVWL). * Dry-run will be implemented on control plane verbs (POST and PUT). * Admission webhooks will have their API appended accordingly. * The defaulting and conversion stack will be solidified to allow converting From 742a0445d62e8bd359b8d5d5025d94e8a6db4559 Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Sat, 9 Jun 2018 17:19:54 -0500 Subject: [PATCH 16/23] Define good first issue and clarify help wanted labels --- contributors/devel/help-wanted.md | 141 ++++++++++++++++++++++++++++-- contributors/guide/README.md | 4 +- 2 files changed, 137 insertions(+), 8 deletions(-) diff --git a/contributors/devel/help-wanted.md b/contributors/devel/help-wanted.md index eb1038a4c..a9151c1f9 100644 --- a/contributors/devel/help-wanted.md +++ b/contributors/devel/help-wanted.md @@ -1,13 +1,140 @@ -# Help Wanted +# Overview + +We use two labels [help wanted](#help-wanted) and [good first +issue](#good-first-issue) to identify issues that have been specially groomed +for new contributors. The `good first issue` label is a subset of `help wanted` +label, indicating that members have committed to providing extra assistance for +new contributors. All `good first issue` items also have the `help wanted` +label. + +We also have some [suggestions](#suggestions) for using these labels to help +grow and improve our community. + +## Help Wanted Items marked with the `help wanted` label need to ensure that they are: -- Sufficiently actionable: clear description of what should be done -- Tractable for new/casual contributors: there is documentation how that type of change should be made -- Goldilocks priority: Not too high that a core contributor should do it, but not too low that it isn't useful enough for a core contributor to spend time to review it, answer questions, help get it into a release, etc. -- Up to date: Often these issues become obsolete and have already been done, are no longer desirable, no longer make sense, change in priority, change in difficulty, etc. +- **Low Barrier to Entry** + + It should be tractable for new contributors. Documentation on how that type of + change should be made should already exist. + +- **Clear Task** + + The task is agreed upon and does not require further discussions in the + community. Call out if that area of code is untested and requires new + fixtures. + + API / CLI behavior is decided and included in the OP issue, for example: _"The + new command syntax is `svcat unbind NAME [--orphan] [--timeout 5m]`"_, with + expected validations called out. + +- **Goldilocks priority** + + Not too high that a core contributor should do it, but not too low that it + isn't useful enough for a core contributor to spend time to review it, answer + questions, help get it into a release, etc. + +- **Up-To-Date** + + Often these issues become obsolete and have already been done, are no longer + desired, no longer make sense, have changed priority or difficulty , etc. Related commands: -- `/help` : adds the `help wanted` label to an issue -- `/remove-help` : removes the `help wanted` label from an issue \ No newline at end of file +- `/help` : Adds the `help wanted` label to an issue. +- `/remove-help` : Removes the `help wanted` label from an issue. If the + `good first issue` label is present, it is removed as well. + +## Good First Issue + +Items marked with the `good first issue` label are intended for _first-time +contributors_. It indicates that members will keep an eye out for these pull +requests and shepherd it through our processes. + +**New contributors should not be left to find an approver, ping for reviews, +*decipher prow commands, or identify that their build failed due to a flake.** +This makes new contributors feel welcome, valued, and assures them that they +will have an extra level of help with their first contribution. + +After a contributor has successfully completed 1-2 `good first issue`'s, they +should be ready to move on to `help wanted` items, saving remaining `good first +issue`'s for other new contributors. + +These items need to ensure that they follow the guidelines for `help wanted` +labels (above) in addition to meeting the following criteria: + +- **No Barrier to Entry** + + The task is something that a new contributor can tackle without advanced + setup, or domain knowledge. + +- **Solution Explained** + + The recommended solution is clearly described in the issue. + +- **Provides Context** + + If background knowledge is required, this should be explicitly mentioned and a + list of suggested readings included. + +- **Gives Examples** + + Link to examples of similar implementations so new contributors have a + reference guide for their changes. + +- **Identifies Relevant Code** + + The relevant code and tests to be changed should be linked in the issue. + +- **Ready to Test** + + There should be existing tests that can be modified, or existing test cases + fit to be copied. If the area of code doesn't have tests, before labeling the + issue, add a test fixture. This prep often makes a great `help wanted` task! + +Related commands: + +- `/good-first-issue` : Adds the `good first issue` label to an issue. Also adds + the `help wanted` label, if not already present. +- `/remove-good-first-issue` : Removes the `good first issue` label from an + issue. + +# Suggestions + +We encourage our more experienced members to help new contributors, so that the +Kubernetes community can continue to grow and maintain the kind, inclusive +community that we all enjoy today. + +The following suggestions go a long way toward preventing "drive-by" PRs, and +ensure that our investment in new contributors is rewarded by them coming back +and becoming regulars. + +Provide extra assistance during reviews on `good first issue` pull requests: +- Answer questions and identify useful docs. +- Offer advice such as _"One way to reproduce this in a cluster is to do X and + then you can use kubectl to poke around"_, or _"Did you know that you can + use fake clients to setup and test this easier?"_. +- Help new contributors learn enough about the project, setting up their + environment, running tests, and navigating this area of the code so that they + can tackle a related `help wanted` issue next time. + +If you make someone feel like a part of our community, that it's safe to ask +questions, that people will let them know the rules/norms, that their +contributions are helpful and appreciated... they will stick around! ๐ŸŒˆ +- Encourage new contributors to seek help on the appropriate slack channels, + introduce them, and include them in your conversations. +- Invite them to the SIG meetings. +- Give credit to new contributors so that others get to know them, _"Hey, would + someone help give a second LGTM on @newperson's first PR on chocolate + bunnies?"_. Mention them in the SIG channel/meeting, thank them on twitter or + #shoutouts. - Use all the emoji in your approve or lgtm comment. ๐Ÿ’– ๐Ÿš€ +- Let them know that their `good first issue` is getting extra attention to make + the first one easier and help them find a follow-up issue. +- Suggest a related `help wanted` so that can build up experience in an area. +- People are more likely to continue contributing when they know what to expect, + what's the acceptable way to ask for people to review a PR, nudge things along + when a PR is stalled. Show them how we operate by helping move their first PR + along. +- If you have time, let the contributor know that they can DM you with questions + that they aren't yet comfortable asking the wider group. diff --git a/contributors/guide/README.md b/contributors/guide/README.md index ad5cf2e1e..d25401172 100644 --- a/contributors/guide/README.md +++ b/contributors/guide/README.md @@ -72,7 +72,9 @@ You get the idea - if you ever see something you think should be fixed, you shou ### Find a good first topic There are multiple repositories within the Kubernetes community and a full list of repositories can be found [here](https://github.com/kubernetes/). -Each repository in the Kubernetes organization has beginner-friendly issues that provide a good first issue. For example, [kubernetes/kubernetes](https://git.k8s.io/kubernetes) has [help wanted issues](https://go.k8s.io/help-wanted) that should not need deep knowledge of the system. +Each repository in the Kubernetes organization has beginner-friendly issues that provide a good first issue. For example, [kubernetes/kubernetes](https://git.k8s.io/kubernetes) has [help wanted](https://go.k8s.io/help-wanted) and [good first issue](https://github.com/kubernetes/kubernetes/labels/good%20first%20issue) labels for issues that should not need deep knowledge of the system. +The `good first issue` label indicates that members have committed to providing extra assistance for new contributors. + Another good strategy is to find a documentation improvement, such as a missing/broken link, which will give you exposure to the code submission/review process without the added complication of technical depth. Please see [Contributing](#contributing) below for the workflow. ### Learn about SIGs From 5251adc2cbc6c61fd510e01024a8dceb8fcac7ff Mon Sep 17 00:00:00 2001 From: Yinan Li Date: Sun, 10 Jun 2018 12:29:17 -0700 Subject: [PATCH 17/23] Updated sig-big-data co-chairs following a recent nomination Added Yinan Li who was recently nominated as a new co-chair of sig-big-data. See https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kubernetes-sig-big-data/53N64OHHXGM/m-5me9sLAgAJ for details of the nomination. --- OWNERS_ALIASES | 1 + sig-big-data/README.md | 3 ++- sig-list.md | 2 +- sigs.yaml | 5 ++++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index 4e19c3936..be5411616 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -28,6 +28,7 @@ aliases: sig-big-data-leads: - foxish - erikerlandson + - liyinan926 sig-cli-leads: - soltysh - pwittrock diff --git a/sig-big-data/README.md b/sig-big-data/README.md index 5a850ca80..c8f7de65e 100644 --- a/sig-big-data/README.md +++ b/sig-big-data/README.md @@ -20,8 +20,9 @@ Covers deploying and operating big data applications (Spark, Kafka, Hadoop, Flin ### Chairs The Chairs of the SIG run operations and processes governing the SIG. -* Anirudh Ramanathan (**[@foxish](https://github.com/foxish)**), Google +* Anirudh Ramanathan (**[@foxish](https://github.com/foxish)**), Rockset * Erik Erlandson (**[@erikerlandson](https://github.com/erikerlandson)**), Red Hat +* Yinan Li (**[@liyinan926](https://github.com/liyinan926)**), Google ## Contact * [Slack](https://kubernetes.slack.com/messages/sig-big-data) diff --git a/sig-list.md b/sig-list.md index c9f430519..90014489b 100644 --- a/sig-list.md +++ b/sig-list.md @@ -29,7 +29,7 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md) |[Autoscaling](sig-autoscaling/README.md)|autoscaling|* [Marcin Wielgus](https://github.com/mwielgus), Google
* [Solly Ross](https://github.com/directxman12), Red Hat
|* [Slack](https://kubernetes.slack.com/messages/sig-autoscaling)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-autoscaling)|* Regular SIG Meeting: [Mondays at 14:00 UTC (biweekly/triweekly)](https://zoom.us/my/k8s.sig.autoscaling)
|[AWS](sig-aws/README.md)|aws|* [Justin Santa Barbara](https://github.com/justinsb)
* [Kris Nova](https://github.com/kris-nova), Heptio
* [Bob Wise](https://github.com/countspongebob), AWS
|* [Slack](https://kubernetes.slack.com/messages/sig-aws)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-aws)|* Regular SIG Meeting: [Fridays at 9:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/k8ssigaws)
|[Azure](sig-azure/README.md)|azure|* [Stephen Augustus](https://github.com/justaugustus), Red Hat
* [Shubheksha Jalan](https://github.com/shubheksha), Microsoft
|* [Slack](https://kubernetes.slack.com/messages/sig-azure)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-azure)|* Regular SIG Meeting: [Wednesdays at 16:00 UTC (biweekly)](https://zoom.us/j/2015551212)
-|[Big Data](sig-big-data/README.md)|big-data|* [Anirudh Ramanathan](https://github.com/foxish), Google
* [Erik Erlandson](https://github.com/erikerlandson), Red Hat
|* [Slack](https://kubernetes.slack.com/messages/sig-big-data)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-big-data)|* Regular SIG Meeting: [Wednesdays at 17:00 UTC (weekly)](https://zoom.us/my/sig.big.data)
+|[Big Data](sig-big-data/README.md)|big-data|* [Anirudh Ramanathan](https://github.com/foxish), Rockset
* [Erik Erlandson](https://github.com/erikerlandson), Red Hat
* [Yinan Li](https://github.com/liyinan926), Google
|* [Slack](https://kubernetes.slack.com/messages/sig-big-data)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-big-data)|* Regular SIG Meeting: [Wednesdays at 17:00 UTC (weekly)](https://zoom.us/my/sig.big.data)
|[CLI](sig-cli/README.md)|cli|* [Maciej Szulik](https://github.com/soltysh), Red Hat
* [Phillip Wittrock](https://github.com/pwittrock), Google
* [Tony Ado](https://github.com/AdoHe), Alibaba
|* [Slack](https://kubernetes.slack.com/messages/sig-cli)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cli)|* Regular SIG Meeting: [Wednesdays at 09:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/sigcli)
|[Cloud Provider](sig-cloud-provider/README.md)|cloud-provider|* [Andrew Sy Kim](https://github.com/andrewsykim), DigitalOcean
* [Chris Hoge](https://github.com/hogepodge), OpenStack Foundation
* [Jago Macleod](https://github.com/jagosan), Google
|* [Slack](https://kubernetes.slack.com/messages/sig-cloud-provider)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider)|* Regular SIG Meeting: [Wednesdays at 10:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/sigcloudprovider)
|[Cluster Lifecycle](sig-cluster-lifecycle/README.md)|cluster-lifecycle|* [Luke Marsden](https://github.com/lukemarsden), Weave
* [Robert Bailey](https://github.com/roberthbailey), Google
* [Lucas Kรคldstrรถm](https://github.com/luxas), Luxas Labs (occasionally contracting for Weaveworks)
* [Timothy St. Clair](https://github.com/timothysc), Heptio
|* [Slack](https://kubernetes.slack.com/messages/sig-cluster-lifecycle)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle)|* Regular SIG Meeting: [Tuesdays at 09:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)
* kubeadm Office Hours: [Wednesdays at 09:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)
* Cluster API working group: [Wednesdays at 10:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)
* kops Office Hours: [Fridays at 09:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/k8ssigaws)
diff --git a/sigs.yaml b/sigs.yaml index 29ca02244..ba28778fd 100644 --- a/sigs.yaml +++ b/sigs.yaml @@ -470,10 +470,13 @@ sigs: chairs: - name: Anirudh Ramanathan github: foxish - company: Google + company: Rockset - name: Erik Erlandson github: erikerlandson company: Red Hat + - name: Yinan Li + github: liyinan926 + company: Google meetings: - description: Regular SIG Meeting day: Wednesday From 91074c06942632f6350a959d99a9c2ca8959ec75 Mon Sep 17 00:00:00 2001 From: Carolyn Van Slyck Date: Sun, 10 Jun 2018 15:49:32 -0500 Subject: [PATCH 18/23] Fix markdown formatting in help wanted When I switched to hard-wrapping at 80 characters, I introduced some odd formatting. --- contributors/devel/help-wanted.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contributors/devel/help-wanted.md b/contributors/devel/help-wanted.md index a9151c1f9..1d4594ecc 100644 --- a/contributors/devel/help-wanted.md +++ b/contributors/devel/help-wanted.md @@ -53,7 +53,7 @@ contributors_. It indicates that members will keep an eye out for these pull requests and shepherd it through our processes. **New contributors should not be left to find an approver, ping for reviews, -*decipher prow commands, or identify that their build failed due to a flake.** +decipher prow commands, or identify that their build failed due to a flake.** This makes new contributors feel welcome, valued, and assures them that they will have an extra level of help with their first contribution. @@ -128,7 +128,8 @@ contributions are helpful and appreciated... they will stick around! ๐ŸŒˆ - Give credit to new contributors so that others get to know them, _"Hey, would someone help give a second LGTM on @newperson's first PR on chocolate bunnies?"_. Mention them in the SIG channel/meeting, thank them on twitter or - #shoutouts. - Use all the emoji in your approve or lgtm comment. ๐Ÿ’– ๐Ÿš€ + #shoutouts. +- Use all the emoji in your approve or lgtm comment. ๐Ÿ’– ๐Ÿš€ - Let them know that their `good first issue` is getting extra attention to make the first one easier and help them find a follow-up issue. - Suggest a related `help wanted` so that can build up experience in an area. From 812964a53f9316ee3213d11de9efcdfa478c0148 Mon Sep 17 00:00:00 2001 From: Wong Heung Sang Date: Mon, 11 Jun 2018 12:10:46 +0800 Subject: [PATCH 19/23] Convert into string --- keps/sig-cluster-lifecycle/0004-bootstrap-checkpointing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keps/sig-cluster-lifecycle/0004-bootstrap-checkpointing.md b/keps/sig-cluster-lifecycle/0004-bootstrap-checkpointing.md index 5cef1015f..1a39243bc 100644 --- a/keps/sig-cluster-lifecycle/0004-bootstrap-checkpointing.md +++ b/keps/sig-cluster-lifecycle/0004-bootstrap-checkpointing.md @@ -15,7 +15,7 @@ approvers: - "@yujuhong" - "@roberthbailey" editor: - name: @timothysc + name: "@timothysc" creation-date: 2017-10-20 last-updated: 2018-01-23 --- From a803f895b06f330967769637c5276b8664b16d23 Mon Sep 17 00:00:00 2001 From: ruicao Date: Mon, 11 Jun 2018 22:51:49 +0800 Subject: [PATCH 20/23] Typo fix: subcribe -> subscribe --- sig-governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sig-governance.md b/sig-governance.md index 254dab691..96194359e 100644 --- a/sig-governance.md +++ b/sig-governance.md @@ -37,7 +37,7 @@ In order to standardize Special Interest Group efforts, create maximum transpare 5. Share individual events with `cgnt364vd8s86hr2phapfjc6uk@group.calendar.google.com` to publish on the universal calendar. * Use existing proposal and PR process (to be documented) * Announce new SIG on kubernetes-dev@googlegroups.com -* Leads should [subcribe to the kubernetes-sig-leads mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-leads) +* Leads should [subscribe to the kubernetes-sig-leads mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-leads) * Submit a PR to add a row for the SIG to the table in the kubernetes/community README.md file, to create a kubernetes/community directory, and to add any SIG-related docs, schedules, roadmaps, etc. to your new kubernetes/community/SIG-foo directory. ### **Creating service accounts for the SIG** From f764d633d346bbec9d80beb393f350969b03b243 Mon Sep 17 00:00:00 2001 From: Tim Allclair Date: Mon, 11 Jun 2018 18:27:34 -0700 Subject: [PATCH 21/23] Add sig-node KEP directory --- keps/sig-node/OWNERS | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 keps/sig-node/OWNERS diff --git a/keps/sig-node/OWNERS b/keps/sig-node/OWNERS new file mode 100644 index 000000000..ab6d8dd50 --- /dev/null +++ b/keps/sig-node/OWNERS @@ -0,0 +1,6 @@ +reviewers: + - sig-node-leads +approvers: + - sig-node-leads +labels: + - sig/node From 45a190f5452a73db7a86c3fd00701e87c86dc7a5 Mon Sep 17 00:00:00 2001 From: Tim Allclair Date: Mon, 11 Jun 2018 19:42:38 -0700 Subject: [PATCH 22/23] Move existing sig-node KEPs into sig-node subdirectory --- .../0008-20180430-promote-sysctl-annotations-to-fields.md | 0 keps/{ => sig-node}/0009-node-heartbeat.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename keps/{ => sig-node}/0008-20180430-promote-sysctl-annotations-to-fields.md (100%) rename keps/{ => sig-node}/0009-node-heartbeat.md (100%) diff --git a/keps/0008-20180430-promote-sysctl-annotations-to-fields.md b/keps/sig-node/0008-20180430-promote-sysctl-annotations-to-fields.md similarity index 100% rename from keps/0008-20180430-promote-sysctl-annotations-to-fields.md rename to keps/sig-node/0008-20180430-promote-sysctl-annotations-to-fields.md diff --git a/keps/0009-node-heartbeat.md b/keps/sig-node/0009-node-heartbeat.md similarity index 100% rename from keps/0009-node-heartbeat.md rename to keps/sig-node/0009-node-heartbeat.md From 36b5c5706cca972bb3db3c4f0967acfc19606f4a Mon Sep 17 00:00:00 2001 From: wojtekt Date: Fri, 8 Jun 2018 10:58:53 +0200 Subject: [PATCH 23/23] Fix some scalability thresholds --- sig-scalability/configs-and-limits/thresholds.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sig-scalability/configs-and-limits/thresholds.md b/sig-scalability/configs-and-limits/thresholds.md index ef947b84e..e1ab959c0 100644 --- a/sig-scalability/configs-and-limits/thresholds.md +++ b/sig-scalability/configs-and-limits/thresholds.md @@ -45,12 +45,12 @@ Important notes about the numbers: | Number of pods per node1 | 110 | | 500 | | Number of pods per core1 | 10 | | 10 | | Number of namespaces (ns) | 10000 | | 100000 | -| Number of pods per ns | 15000 | | 50000 | +| Number of pods per ns | 3000 | | 50000 | | Number of services | 10000 | | 100000 | | Number of services per ns | 5000 | | 5000 | | Number of all services backends | TBD | | 500000 | | Number of backends per service | 5000 | | 5000 | -| Number of deployments per ns | 20000 | | 10000 | +| Number of deployments per ns | 2000 | | 10000 | | Number of pods per deployment | TBD | | 10000 | | Number of jobs per ns | TBD | | 1000 | | Number of daemon sets per ns | TBD | | 100 |