From ce3044d912391d987a9ef8315c701f3e5671fe45 Mon Sep 17 00:00:00 2001 From: Christoph Blecker Date: Thu, 21 Dec 2017 17:38:23 -0800 Subject: Update references to help wanted label --- README.md | 21 ++++++++++----------- contributors/guide/README.md | 29 ++++++++++++++--------------- sig-cli/outreachy.md | 6 +++--- sig-multicluster/CONTRIBUTING.md | 4 ++-- 4 files changed, 29 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 35213ec8..ed809ece 100644 --- a/README.md +++ b/README.md @@ -14,15 +14,15 @@ For more specific topics, try a SIG. ## SIGs Kubernetes is a set of projects, each shepherded by a special interest group (SIG). - + A first step to contributing is to pick from the [list of kubernetes SIGs](sig-list.md). -A SIG can have its own policy for contribution, +A SIG can have its own policy for contribution, described in a `README` or `CONTRIBUTING` file in the SIG folder in this repo (e.g. [sig-cli/CONTRIBUTING](sig-cli/CONTRIBUTING.md)), and its own mailing list, slack channel, etc. -If you want to edit details about a SIG (e.g. its weekly meeting time or its leads), +If you want to edit details about a SIG (e.g. its weekly meeting time or its leads), please follow [these instructions](./generator) that detail how our docs are auto-generated. ## How Can I Help? @@ -31,7 +31,7 @@ Documentation (like the text you are reading now) can always use improvement! There's a [semi-curated list of issues][help wanted] -that should not need deep knowledge of the system. +that should not need deep knowledge of the system. To dig deeper, read a design doc, e.g. [architecture]. @@ -55,14 +55,14 @@ lead to many relevant topics, including ## Your First Contribution We recommend that you work on an existing issue before attempting -to [develop a new feature]. +to [develop a new feature]. -Start by finding an existing issue with the [help wanted] label; +Start by finding an existing issue with the [help wanted] label; these issues we've deemed are well suited for new contributors. -Alternatively, if there is a specific area you are interested in, +Alternatively, if there is a specific area you are interested in, ask a [SIG lead](sig-list.md) for suggestions), and respond on the -issue thread expressing interest in working on it. - +issue thread expressing interest in working on it. + This helps other people know that the issue is active, and hopefully prevents duplicated efforts. @@ -85,8 +85,7 @@ If you want to work on a new idea of relatively small scope: [Developer's Guide]: contributors/devel/development.md [develop a new feature]: https://github.com/kubernetes/features [expectations]: contributors/devel/community-expectations.md -[help wanted]: https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3A%22help%20wanted%22 +[help wanted]: https://go.k8s.io/help-wanted [pull request]: contributors/devel/pull-requests.md [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/CONTRIBUTING.md?pixel)]() - diff --git a/contributors/guide/README.md b/contributors/guide/README.md index fe33b536..514a94c2 100644 --- a/contributors/guide/README.md +++ b/contributors/guide/README.md @@ -5,7 +5,7 @@ sig-contributor-experience ## Disclaimer Hello! This is the starting point for our brand new contributor guide, currently underway as per [issue#6102](https://github.com/kubernetes/website/issues/6102) and in need of help. Please be patient, or fix a section below that needs improvement, and submit a pull request! -Many of the links below should lead to relevant documents scattered across the community repository. Often, the linked instructions need to be updated or cleaned up. +Many of the links below should lead to relevant documents scattered across the community repository. Often, the linked instructions need to be updated or cleaned up. * If you do so, please move the relevant file from its previous location to the community/contributors/guide folder, and delete its previous location. * Our goal is that all contributor guide specific files live in this folder. @@ -17,9 +17,9 @@ For example: _Improvements needed_ * kubernetes/kubernetes/contributing.md -> point to this guide -* kubernetes/community/CONTRIBUTING.md -> Needs a rewrite +* kubernetes/community/CONTRIBUTING.md -> Needs a rewrite -* kubernetes/community/README.md -> Needs a rewrite +* kubernetes/community/README.md -> Needs a rewrite * Individual SIG contributing documents -> add a link to this guide @@ -69,7 +69,7 @@ _Improvements needed_ * RyanJ from Red Hat is working on this -## Community Expectations +## Community Expectations Kubernetes is a community project. Consequently, it is wholly dependent on its community to provide a productive, friendly and collaborative environment. @@ -99,7 +99,7 @@ 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://issues.k8s.io/?q=is%3Aopen+is%3Aissue+label%3A%22help%20wanted%22) 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 issues](https://go.k8s.io/help-wanted) that should not need deep knowledge of the system. 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 @@ -111,7 +111,7 @@ SIGs also have their own CONTRIBUTING.md files, which may contain extra informat Like everything else in Kubernetes, a SIG is an open, community, effort. Anybody is welcome to jump into a SIG and begin fixing issues, critiquing design proposals and reviewing code. SIGs have regular [video meetings](https://kubernetes.io/community/) which everyone is welcome to. Each SIG has a kubernetes slack channel that you can join as well. -There is an entire SIG ([sig-contributor-experience](../../sig-contributor-experience/README.md)) devoted to improving your experience as a contributor. +There is an entire SIG ([sig-contributor-experience](../../sig-contributor-experience/README.md)) devoted to improving your experience as a contributor. Contributing to Kubernetes should be easy. If you find a rough edge, let us know! Better yet, help us fix it by joining the SIG; just show up to one of the [bi-weekly meetings](https://docs.google.com/document/d/1qf-02B7EOrItQgwXFxgqZ5qjW0mtfu5qkYIF1Hl4ZLI/edit). @@ -119,23 +119,23 @@ show up to one of the [bi-weekly meetings](https://docs.google.com/document/d/1q Finding the appropriate SIG for your contribution will help you ask questions in the correct place and give your contribution higher visibility and a faster community response. -For Pull Requests, the automatically assigned reviewer will add a SIG label if you haven't done so. See [Open A Pull Request](#open-a-pull-request) below. +For Pull Requests, the automatically assigned reviewer will add a SIG label if you haven't done so. See [Open A Pull Request](#open-a-pull-request) below. -For Issues we are still working on a more automated workflow. Since SIGs do not directly map onto Kubernetes subrepositories, it may be difficult to find which SIG your contribution belongs in. Here is the [list of SIGs](/sig-list.md). Determine which is most likely related to your contribution. +For Issues we are still working on a more automated workflow. Since SIGs do not directly map onto Kubernetes subrepositories, it may be difficult to find which SIG your contribution belongs in. Here is the [list of SIGs](/sig-list.md). Determine which is most likely related to your contribution. -*Example:* if you are filing a cni issue, you should choose SIG-networking. +*Example:* if you are filing a cni issue, you should choose SIG-networking. Follow the link in the SIG name column to reach each SIGs README. Most SIGs will have a set of GitHub Teams with tags that can be mentioned in a comment on issues and pull requests for higher visibility. If you are not sure about the correct SIG for an issue, you can try SIG-contributor-experience [here](/sig-contributor-experience#github-teams), or [ask in Slack](http://slack.k8s.io/). -_Improvements needed_ +_Improvements needed_ -* Open pull requests with all applicable SIGs to not have duplicate information in their CONTRIBUTING.md and instead link here. Keep it light, keep it clean, have only one source of truth. +* Open pull requests with all applicable SIGs to not have duplicate information in their CONTRIBUTING.md and instead link here. Keep it light, keep it clean, have only one source of truth. ### File an Issue -Not ready to contribute code, but see something that needs work? While the community encourages everyone to contribute code, it is also appreciated when someone reports an issue (aka problem). Issues should be filed under the appropriate Kubernetes subrepository. +Not ready to contribute code, but see something that needs work? While the community encourages everyone to contribute code, it is also appreciated when someone reports an issue (aka problem). Issues should be filed under the appropriate Kubernetes subrepository. -*Example:* a documentation issue should be opened to [kubernetes/website](https://github.com/kubernetes/website/issues). +*Example:* a documentation issue should be opened to [kubernetes/website](https://github.com/kubernetes/website/issues). Make sure to adhere to the prompted submission guidelines while opening an issue. @@ -159,7 +159,7 @@ For questions and troubleshooting, please feel free to use any of the methods of To check out code to work on, please refer to [this guide](/contributors/devel/development.md#workflow). -_Improvements needed_ +_Improvements needed_ * move github workflow into its own file in this folder. @@ -251,4 +251,3 @@ _Improvements needed_ _Improvements needed_ * Link and mini description for Kubernetes Pilots should go here. - diff --git a/sig-cli/outreachy.md b/sig-cli/outreachy.md index 0b3b8e1b..981e20f7 100644 --- a/sig-cli/outreachy.md +++ b/sig-cli/outreachy.md @@ -1,6 +1,6 @@ # Outreachy -Kubernetes, specifically the SIG-CLI, is happy to announce our participation in the Outreachy program, running from December 2017 to March 2018. +Kubernetes, specifically the SIG-CLI, is happy to announce our participation in the Outreachy program, running from December 2017 to March 2018. Please see the [main program page](https://www.outreachy.org/) for the general information about the program, such as its purpose, timeline, eligibility requirements, and how to apply. @@ -37,9 +37,9 @@ Similar to contacting the coordinators, the mentors can be contacted at any time As part of the application process, the Outreachy program recommends that candidates make small contributions to the project they intend to apply for. To start working on the project, make sure to fill out the CLA and check if you have the right environment with this guide. The README in the [community repo](https://github.com/kubernetes/community) details these things and more. -Check out these specific resources for how to contribute to CLI: +Check out these specific resources for how to contribute to CLI: * SIG-CLI - [How to Contribute](https://github.com/kubernetes/community/blob/master/sig-cli/CONTRIBUTING.md) -* Filter issue search for: `is:open is:issue label:sig/cli label:help-wanted` (or `label:for-new-contributors`) +* Filter issue search for: `is:open is:issue label:sig/cli label:"help wanted"` * Hand picked issues for outreachy applications: https://github.com/kubernetes/kubectl/projects/3 ## Available tasks diff --git a/sig-multicluster/CONTRIBUTING.md b/sig-multicluster/CONTRIBUTING.md index a89780ff..8b1e8b1a 100644 --- a/sig-multicluster/CONTRIBUTING.md +++ b/sig-multicluster/CONTRIBUTING.md @@ -56,7 +56,7 @@ New contributors can try the following to work on an existing bug or approved de 1. An [issue] is filed that - includes steps to reproduce the issue including client / server version, - mentions `@kubernetes/sig-multicluster-bugs`. - + #### Sending a fix 2. A [PR] fixing the issue is implemented that @@ -280,7 +280,7 @@ See the sig-multicluster [community page] for points of contact and meeting time [feature]: https://github.com/kubernetes/features [group]: https://groups.google.com/forum/#!forum/kubernetes-sig-multicluster [issue]: https://github.com/kubernetes/kubernetes/issues -[multicluster_help_wanted_issues]: https://github.com/kubernetes/kubernetes/issues?utf8=%E2%9C%93&q=is%3Aopen%20is%3Aissue%20label%3Ahelp-wanted%20label%3Asig%2Fmulticluster +[multicluster_help_wanted_issues]: https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3A"help+wanted"+label%3Asig%2Fmulticluster [kubectl concept docs]: https://github.com/kubernetes/kubernetes.github.io/tree/master/docs/concepts/tools/kubectl [kubectl docs]: https://kubernetes.io/docs/user-guide/kubectl-overview [kubernetes/cmd/kubectl]: https://github.com/kubernetes/kubernetes/tree/master/cmd/kubectl -- cgit v1.2.3 From 95a4a105cd5e626edca2f8f00eb3dff32f1f1c5c Mon Sep 17 00:00:00 2001 From: Christoph Blecker Date: Thu, 21 Dec 2017 17:53:39 -0800 Subject: Use git.k8s.io for links --- .generated_files | 2 +- .github/PULL_REQUEST_TEMPLATE | 2 +- CLA.md | 4 +- CONTRIBUTING.md | 2 +- README.md | 4 +- communication.md | 6 +- community-membership.md | 2 +- .../05-leadership-summit/announcement.md | 2 +- .../session-notes/0300-0345_CODEORGANIZATION.md | 2 +- .../ContribSummitInformation.md | 4 +- .../12-contributor-summit/dashboard-ux-breakout.md | 2 +- .../12-contributor-summit/feature-roadmap-2018.md | 2 +- .../kubernetes-client-libraries-open-space.md | 2 +- community/elections/README.md | 2 +- ...trategy-to-clear-fields-not-present-in-patch.md | 2 +- .../api-machinery/admission-control-webhooks.md | 8 +-- .../apiserver-build-in-admission-plugins.md | 64 ++++++++++----------- .../api-machinery/apiserver-watch.md | 2 +- .../design-proposals/api-machinery/auditing.md | 2 +- .../csi-new-client-library-procedure.md | 14 ++--- .../api-machinery/event_compression.md | 4 +- .../design-proposals/architecture/architecture.md | 4 +- .../design-proposals/cli/multi-fields-merge-key.md | 4 +- .../cloudprovider-storage-metrics.md | 4 +- .../cluster-lifecycle/bootstrap-discovery.md | 2 +- .../draft-20171020-bootstrap-checkpointing.md | 2 +- .../dramatically-simplify-cluster-creation.md | 2 +- .../cluster-lifecycle/self-hosted-kubernetes.md | 2 +- .../instrumentation/core-metrics-pipeline.md | 18 +++--- .../instrumentation/metrics-server.md | 12 ++-- .../performance-related-monitoring.md | 2 +- contributors/design-proposals/multi-platform.md | 4 +- .../multicluster/cluster-registry/api-design.md | 10 ++-- .../multicluster/federated-placement-policy.md | 4 +- .../multicluster/federation-clusterselector.md | 2 +- contributors/design-proposals/network/coredns.md | 4 +- .../design-proposals/network/pod-resolv-conf.md | 2 +- .../node/accelerator-monitoring.md | 2 +- contributors/design-proposals/node/cpu-manager.md | 4 +- .../design-proposals/node/kubelet-authorizer.md | 2 +- .../design-proposals/node/kubelet-eviction.md | 2 +- .../design-proposals/node/kubelet-systemd.md | 2 +- .../design-proposals/node/runtime-pod-cache.md | 2 +- contributors/design-proposals/node/sysctl.md | 4 +- .../node/troubleshoot-running-pods.md | 2 +- .../design-proposals/scheduling/pod-preemption.md | 4 +- .../scheduling/pod-priority-api.md | 2 +- .../design-proposals/scheduling/podaffinity.md | 2 +- .../scheduling/scheduler_extender.md | 2 +- .../storage/container-storage-interface.md | 14 ++--- .../storage/flexvolume-deployment.md | 2 +- .../design-proposals/storage/volume-metrics.md | 4 +- contributors/devel/README.md | 2 +- contributors/devel/api_changes.md | 4 +- contributors/devel/architectural-roadmap.md | 10 ++-- contributors/devel/automation.md | 6 +- contributors/devel/bazel.md | 4 +- contributors/devel/cherry-picks.md | 2 +- contributors/devel/container-runtime-interface.md | 8 +-- contributors/devel/contributor-cheatsheet.md | 6 +- contributors/devel/controllers.md | 4 +- contributors/devel/cri-container-stats.md | 8 +-- contributors/devel/development.md | 12 ++-- contributors/devel/e2e-node-tests.md | 6 +- contributors/devel/e2e-tests.md | 12 ++-- contributors/devel/flexvolume.md | 14 ++--- contributors/devel/generating-clientset.md | 4 +- contributors/devel/gubernator.md | 2 +- contributors/devel/issues.md | 4 +- contributors/devel/kubectl-conventions.md | 2 +- contributors/devel/node-performance-testing.md | 4 +- contributors/devel/on-call-federation-build-cop.md | 18 +++--- contributors/devel/owners.md | 20 +++---- contributors/devel/pull-requests.md | 12 ++-- contributors/devel/scalability-good-practices.md | 2 +- contributors/devel/strategic-merge-patch.md | 4 +- contributors/devel/testing.md | 4 +- contributors/devel/vagrant.md | 2 +- contributors/devel/writing-good-e2e-tests.md | 10 ++-- governance.md | 10 ++-- incubator.md | 4 +- keps/0000-kep-template.md | 2 +- keps/1-kubernetes-enhancement-proposal-process.md | 4 +- sig-apps/agenda.md | 4 +- sig-apps/minutes/2016-06-08.md | 2 +- sig-apps/minutes/2016-08-03.md | 2 +- sig-architecture/charter.md | 4 +- sig-aws/CONTRIBUTING.md | 16 +++--- sig-cli/CONTRIBUTING.md | 20 +++---- sig-cli/migrated-from-wiki/roadmap-kubectl.md | 18 +++--- sig-cli/outreachy.md | 4 +- .../roadmap-cluster-deployment.md | 6 +- .../migrated-from-wiki/README.md | 2 +- sig-docs/migrated-from-wiki/roadmap-docs.md | 4 +- sig-governance.md | 4 +- sig-multicluster/CONTRIBUTING.md | 20 +++---- sig-multicluster/ONCALL.md | 4 +- sig-scalability/README.md | 2 +- sig-scalability/provider-configs.md | 2 +- .../2016-03-28_Storage-SIG-F2F_Notes.pdf | Bin 419572 -> 749063 bytes sig-storage/1.3-retrospective/README.md | 10 ++-- sig-storage/contributing.md | 4 +- sigs.yaml | 2 +- 103 files changed, 299 insertions(+), 299 deletions(-) diff --git a/.generated_files b/.generated_files index a4349240..454f7dd5 100644 --- a/.generated_files +++ b/.generated_files @@ -1,7 +1,7 @@ # Files that should be ignored by tools which do not want to consider generated # code. # -# https://github.com/kubernetes/contrib/blob/master/mungegithub/mungers/size.go +# https://git.k8s.io/contrib/mungegithub/mungers/size.go # # This file is a series of lines, each of the form: # diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE index 2e5919db..ee56fb31 100644 --- a/.github/PULL_REQUEST_TEMPLATE +++ b/.github/PULL_REQUEST_TEMPLATE @@ -1,6 +1,6 @@ @@ -409,5 +409,5 @@ masse. This makes reviews easier. [kubectl user guide]: https://kubernetes.io/docs/user-guide/kubectl [kubernetes.io]: https://kubernetes.io [mercurial]: http://mercurial.selenic.com/wiki/Download -[test-image]: https://github.com/kubernetes/test-infra/tree/master/jenkins/test-image +[test-image]: https://git.k8s.io/test-infra/jenkins/test-image [Build with Bazel]: bazel.md diff --git a/contributors/devel/e2e-node-tests.md b/contributors/devel/e2e-node-tests.md index 0dda84a3..4f3327cb 100644 --- a/contributors/devel/e2e-node-tests.md +++ b/contributors/devel/e2e-node-tests.md @@ -137,7 +137,7 @@ make test-e2e-node REMOTE=true IMAGE_PROJECT="" IMA ``` Setting up your own host image may require additional steps such as installing etcd or docker. See -[setup_host.sh](https://github.com/kubernetes/kubernetes/tree/master/test/e2e_node/environment/setup_host.sh) for common steps to setup hosts to run node tests. +[setup_host.sh](https://git.k8s.io/kubernetes/test/e2e_node/environment/setup_host.sh) for common steps to setup hosts to run node tests. ## Create instances using a different instance name prefix @@ -223,7 +223,7 @@ the bottom of the comments section. To re-run just the node e2e tests from the `@k8s-bot node e2e test this issue: #` and **include a link to the test failure logs if caused by a flake.** -The PR builder runs tests against the images listed in [jenkins-pull.properties](https://github.com/kubernetes/kubernetes/tree/master/test/e2e_node/jenkins/jenkins-pull.properties) +The PR builder runs tests against the images listed in [jenkins-pull.properties](https://git.k8s.io/kubernetes/test/e2e_node/jenkins/jenkins-pull.properties) -The post submit tests run against the images listed in [jenkins-ci.properties](https://github.com/kubernetes/kubernetes/tree/master/test/e2e_node/jenkins/jenkins-ci.properties) +The post submit tests run against the images listed in [jenkins-ci.properties](https://git.k8s.io/kubernetes/test/e2e_node/jenkins/jenkins-ci.properties) diff --git a/contributors/devel/e2e-tests.md b/contributors/devel/e2e-tests.md index 1ee22022..cf4127d0 100644 --- a/contributors/devel/e2e-tests.md +++ b/contributors/devel/e2e-tests.md @@ -146,7 +146,7 @@ go run hack/e2e.go -- -v --down The logic in `e2e.go` moved out of the main kubernetes repo to test-infra. The remaining code in `hack/e2e.go` installs `kubetest` and sends it flags. -It now lives in [kubernetes/test-infra/kubetest](https://github.com/kubernetes/test-infra/tree/master/kubetest). +It now lives in [kubernetes/test-infra/kubetest](https://git.k8s.io/test-infra/kubetest). By default `hack/e2e.go` updates and installs `kubetest` once per day. Control the updater behavior with the `--get` and `--old` flags: The `--` flag separates updater and kubetest flags (kubetest flags on the right). @@ -446,7 +446,7 @@ similarly enough to older versions. The general strategy is to cover the follow same version (e.g. a cluster upgraded to v1.3 passes the same v1.3 tests as a newly-created v1.3 cluster). -[hack/e2e-runner.sh](https://github.com/kubernetes/test-infra/blob/master/jenkins/e2e-image/e2e-runner.sh) is +[hack/e2e-runner.sh](https://git.k8s.io/test-infra/jenkins/e2e-image/e2e-runner.sh) is the authoritative source on how to run version-skewed tests, but below is a quick-and-dirty tutorial. @@ -569,7 +569,7 @@ breaking changes, it does *not* block the merge-queue, and thus should run in some separate test suites owned by the feature owner(s) (see [Continuous Integration](#continuous-integration) below). -Every test should be owned by a [SIG](https://github.com/kubernetes/community/blob/master/sig-list.md), +Every test should be owned by a [SIG](/sig-list.md), and have a corresponding `[sig-]` label. ### Viper configuration and hierarchichal test parameters. @@ -582,7 +582,7 @@ To use viper, rather than flags, to configure your tests: - Just add "e2e.json" to the current directory you are in, and define parameters in it... i.e. `"kubeconfig":"/tmp/x"`. -Note that advanced testing parameters, and hierarchichally defined parameters, are only defined in viper, to see what they are, you can dive into [TestContextType](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/framework/test_context.go). +Note that advanced testing parameters, and hierarchichally defined parameters, are only defined in viper, to see what they are, you can dive into [TestContextType](https://git.k8s.io/kubernetes/test/e2e/framework/test_context.go). In time, it is our intent to add or autogenerate a sample viper configuration that includes all e2e parameters, to ship with kubernetes. @@ -656,7 +656,7 @@ A quick overview of how we run e2e CI on Kubernetes. We run a battery of `e2e` tests against `HEAD` of the master branch on a continuous basis, and block merges via the [submit queue](http://submit-queue.k8s.io/) on a subset of those tests if they fail (the -subset is defined in the [munger config](https://github.com/kubernetes/test-infra/tree/master/mungegithub/mungers/submit-queue.go) +subset is defined in the [munger config](https://git.k8s.io/test-infra/mungegithub/mungers/submit-queue.go) via the `jenkins-jobs` flag; note we also block on `kubernetes-build` and `kubernetes-test-go` jobs for build and unit and integration tests). @@ -732,7 +732,7 @@ label, and will be incorporated into our core suites. If tests are not expected to pass by default, (e.g. they require a special environment such as added quota,) they should remain with the `[Feature:.+]` label, and the suites that run them should be incorporated into the -[munger config](https://github.com/kubernetes/test-infra/tree/master/mungegithub/mungers/submit-queue.go) +[munger config](https://git.k8s.io/test-infra/mungegithub/mungers/submit-queue.go) via the `jenkins-jobs` flag. Occasionally, we'll want to add tests to better exercise features that are diff --git a/contributors/devel/flexvolume.md b/contributors/devel/flexvolume.md index 5fc518a4..52d42ccf 100644 --- a/contributors/devel/flexvolume.md +++ b/contributors/devel/flexvolume.md @@ -14,10 +14,10 @@ The vendor and driver names must match flexVolume.driver in the volume spec, wit ## Dynamic Plugin Discovery Beginning in v1.8, Flexvolume supports the ability to detect drivers on the fly. Instead of requiring drivers to exist at system initialization time or having to restart kubelet or controller manager, drivers can be installed, upgraded/downgraded, and uninstalled while the system is running. -For more information, please refer to the [design document](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/flexvolume-deployment.md). +For more information, please refer to the [design document](/contributors/design-proposals/storage/flexvolume-deployment.md). ## Automated Plugin Installation/Upgrade -One possible way to install and upgrade your Flexvolume drivers is by using a DaemonSet. See [Recommended Driver Deployment Method](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/flexvolume-deployment.md#recommended-driver-deployment-method) for details. +One possible way to install and upgrade your Flexvolume drivers is by using a DaemonSet. See [Recommended Driver Deployment Method](/contributors/design-proposals/storage/flexvolume-deployment.md#recommended-driver-deployment-method) for details. ## Plugin details The plugin expects the following call-outs are implemented for the backend drivers. Some call-outs are optional. Call-outs are invoked from the Kubelet & the Controller manager nodes. @@ -50,7 +50,7 @@ Detach the volume from the Kubelet node. Nodename param is only valid/relevant i ``` #### Wait for attach: -Wait for the volume to be attached on the remote node. On success, the path to the device is returned. Called from both Kubelet & Controller manager. The timeout should be 10m (based on https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/volumemanager/volume_manager.go#L88 ) +Wait for the volume to be attached on the remote node. On success, the path to the device is returned. Called from both Kubelet & Controller manager. The timeout should be 10m (based on https://git.k8s.io/kubernetes/pkg/kubelet/volumemanager/volume_manager.go#L88 ) ``` waitforattach @@ -132,7 +132,7 @@ Note: Secrets are passed only to "mount/unmount" call-outs. See [nginx.yaml] & [nginx-nfs.yaml] for a quick example on how to use Flexvolume in a pod. -[lvm]: https://github.com/kubernetes/kubernetes/blob/master/examples/volumes/flexvolume/lvm -[nfs]: https://github.com/kubernetes/kubernetes/blob/master/examples/volumes/flexvolume/nfs -[nginx.yaml]: https://github.com/kubernetes/kubernetes/blob/master/examples/volumes/flexvolume/nginx.yaml -[nginx-nfs.yaml]: https://github.com/kubernetes/kubernetes/blob/master/examples/volumes/flexvolume/nginx-nfs.yaml +[lvm]: https://git.k8s.io/kubernetes/examples/volumes/flexvolume/lvm +[nfs]: https://git.k8s.io/kubernetes/examples/volumes/flexvolume/nfs +[nginx.yaml]: https://git.k8s.io/kubernetes/examples/volumes/flexvolume/nginx.yaml +[nginx-nfs.yaml]: https://git.k8s.io/kubernetes/examples/volumes/flexvolume/nginx-nfs.yaml diff --git a/contributors/devel/generating-clientset.md b/contributors/devel/generating-clientset.md index 2ef0ddd5..7a47aeb8 100644 --- a/contributors/devel/generating-clientset.md +++ b/contributors/devel/generating-clientset.md @@ -33,7 +33,7 @@ In addition, the following optional tags influence the client generation: $ client-gen --input="api/v1,extensions/v1beta1" --clientset-name="my_release" ``` -**3.** ***Adding expansion methods***: client-gen only generates the common methods, such as CRUD. You can manually add additional methods through the expansion interface. For example, this [file](https://github.com/kubernetes/kubernetes/blob/master/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/pod_expansion.go) adds additional methods to Pod's client. As a convention, we put the expansion interface and its methods in file ${TYPE}_expansion.go. In most cases, you don't want to remove existing expansion files. So to make life easier, instead of creating a new clientset from scratch, ***you can copy and rename an existing clientset (so that all the expansion files are copied)***, and then run client-gen. +**3.** ***Adding expansion methods***: client-gen only generates the common methods, such as CRUD. You can manually add additional methods through the expansion interface. For example, this [file](https://git.k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/pod_expansion.go) adds additional methods to Pod's client. As a convention, we put the expansion interface and its methods in file ${TYPE}_expansion.go. In most cases, you don't want to remove existing expansion files. So to make life easier, instead of creating a new clientset from scratch, ***you can copy and rename an existing clientset (so that all the expansion files are copied)***, and then run client-gen. ## Output of client-gen @@ -43,7 +43,7 @@ $ client-gen --input="api/v1,extensions/v1beta1" --clientset-name="my_release" ## Released clientsets -If you are contributing code to k8s.io/kubernetes, try to use the generated clientset [here](https://github.com/kubernetes/kubernetes/tree/master/pkg/client/clientset_generated/internalclientset). +If you are contributing code to k8s.io/kubernetes, try to use the generated clientset [here](https://git.k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset). If you need a stable Go client to build your own project, please refer to the [client-go repository](https://github.com/kubernetes/client-go). diff --git a/contributors/devel/gubernator.md b/contributors/devel/gubernator.md index 9e3855ff..2a25ddd7 100644 --- a/contributors/devel/gubernator.md +++ b/contributors/devel/gubernator.md @@ -113,7 +113,7 @@ k8s-gubernator.appspot.com/build/yourusername-g8r-logs/logs/e2e-node/timestamp Gubernator provides a framework for debugging failures and introduces useful features. There is still a lot of room for more features and growth to make the debugging process more efficient. -How to contribute (see https://github.com/kubernetes/test-infra/blob/master/gubernator/README.md) +How to contribute (see https://git.k8s.io/test-infra/gubernator/README.md) * Extend GUBERNATOR flag to all local tests diff --git a/contributors/devel/issues.md b/contributors/devel/issues.md index 387bd987..575eddff 100644 --- a/contributors/devel/issues.md +++ b/contributors/devel/issues.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://github.com/kubernetes/test-infra/blob/master/commands.md) +[commands and permissions](https://git.k8s.io/test-infra/commands.md) and this document will cover the basic ones. ## Determine if it’s a support request @@ -93,7 +93,7 @@ The Kubernetes Team ``` ## Find the right SIG(s) -Components are divided among [Special Interest Groups (SIGs)](https://github.com/kubernetes/community/blob/master/sig-list.md). Find a proper SIG for the ownership of the issue using the bot: +Components are divided among [Special Interest Groups (SIGs)](/sig-list.md). Find a proper SIG for the ownership of the issue using the bot: * Typing `/sig network` in a comment should add the sig/network label, for example. diff --git a/contributors/devel/kubectl-conventions.md b/contributors/devel/kubectl-conventions.md index 127546c9..5b009657 100644 --- a/contributors/devel/kubectl-conventions.md +++ b/contributors/devel/kubectl-conventions.md @@ -372,7 +372,7 @@ and as noted in [command conventions](#command-conventions), ideally that logic should exist server-side so any client could take advantage of it. Notice that this is not a mandatory structure and not every command is implemented this way, but this is a nice convention so try to be compliant with it. As an example, -have a look at how [kubectl logs](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/logs.go) is implemented. +have a look at how [kubectl logs](https://git.k8s.io/kubernetes/pkg/kubectl/cmd/logs.go) is implemented. ## Exit code conventions diff --git a/contributors/devel/node-performance-testing.md b/contributors/devel/node-performance-testing.md index 4afa8d25..d43737a8 100644 --- a/contributors/devel/node-performance-testing.md +++ b/contributors/devel/node-performance-testing.md @@ -26,7 +26,7 @@ Heapster will hide the performance cost of serving those stats in the Kubelet. Disabling addons is simple. Just ssh into the Kubernetes master and move the addon from `/etc/kubernetes/addons/` to a backup location. More details -[here](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/). +[here](https://git.k8s.io/kubernetes/cluster/addons/). ### Which / how many pods? @@ -57,7 +57,7 @@ sampling. ## E2E Performance Test There is an end-to-end test for collecting overall resource usage of node -components: [kubelet_perf.go](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/node/kubelet_perf.go). To +components: [kubelet_perf.go](https://git.k8s.io/kubernetes/test/e2e/node/kubelet_perf.go). To run the test, simply make sure you have an e2e cluster running (`go run hack/e2e.go -- -up`) and [set up](#cluster-set-up) correctly. diff --git a/contributors/devel/on-call-federation-build-cop.md b/contributors/devel/on-call-federation-build-cop.md index 69c2d973..708c854a 100644 --- a/contributors/devel/on-call-federation-build-cop.md +++ b/contributors/devel/on-call-federation-build-cop.md @@ -24,10 +24,10 @@ Federation CI e2e job names are as below: Search for the above job names in various configuration files as below: -* Prow config: https://github.com/kubernetes/test-infra/blob/master/prow/config.yaml -* Test job/bootstrap config: https://github.com/kubernetes/test-infra/blob/master/jobs/config.json -* Test grid config: https://github.com/kubernetes/test-infra/blob/master/testgrid/config/config.yaml -* Job specific config: https://github.com/kubernetes/test-infra/tree/master/jobs/env +* Prow config: https://git.k8s.io/test-infra/prow/config.yaml +* Test job/bootstrap config: https://git.k8s.io/test-infra/jobs/config.json +* Test grid config: https://git.k8s.io/test-infra/testgrid/config/config.yaml +* Job specific config: https://git.k8s.io/test-infra/jobs/env ### Results @@ -73,10 +73,10 @@ Federation pre-submit jobs have following names. Search for the above job names in various configuration files as below: -* Prow config: https://github.com/kubernetes/test-infra/blob/master/prow/config.yaml -* Test job/bootstrap config: https://github.com/kubernetes/test-infra/blob/master/jobs/config.json -* Test grid config: https://github.com/kubernetes/test-infra/blob/master/testgrid/config/config.yaml -* Job specific config: https://github.com/kubernetes/test-infra/tree/master/jobs/env +* Prow config: https://git.k8s.io/test-infra/prow/config.yaml +* Test job/bootstrap config: https://git.k8s.io/test-infra/jobs/config.json +* Test grid config: https://git.k8s.io/test-infra/testgrid/config/config.yaml +* Job specific config: https://git.k8s.io/test-infra/jobs/env ### Results @@ -91,7 +91,7 @@ We track the flakiness metrics of all the pre-submit jobs and individual tests that run against PRs in [kubernetes/federation](https://github.com/kubernetes/federation). -* The metrics that we track are documented in https://github.com/kubernetes/test-infra/blob/master/metrics/README.md#metrics. +* The metrics that we track are documented in https://git.k8s.io/test-infra/metrics/README.md#metrics. * Job-level metrics are available in http://storage.googleapis.com/k8s-metrics/job-flakes-latest.json. ### Playbook diff --git a/contributors/devel/owners.md b/contributors/devel/owners.md index aea8579e..489cf309 100644 --- a/contributors/devel/owners.md +++ b/contributors/devel/owners.md @@ -16,7 +16,7 @@ of OWNERS files ## OWNERS spec The [mungegithub gitrepos -feature](https://github.com/kubernetes/test-infra/blob/master/mungegithub/features/repo-updates.go) +feature](https://git.k8s.io/test-infra/mungegithub/features/repo-updates.go) is the main consumer of OWNERS files. If this page is out of date, look there. Each directory that contains a unit of independent code or content may also contain an OWNERS file. @@ -72,7 +72,7 @@ GitHub usernames and aliases listed in OWNERS files are case-insensitive. ## Code Review Process This is a simplified description of our [full PR testing and merge -workflow](https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#the-testing-and-merge-workflow) +workflow](/contributors/devel/pull-requests.md#the-testing-and-merge-workflow) that conveniently forgets about the existence of tests, to focus solely on the roles driven by OWNERS files. @@ -158,13 +158,13 @@ is the state of today. ## Implementation -### [`mungegithub`](https://github.com/kubernetes/test-infra/tree/master/mungegithub) +### [`mungegithub`](https://git.k8s.io/test-infra/mungegithub) Mungegithub polls GitHub, and "munges" things it finds, including issues and pull requests. It is stateful, in that restarting it means it loses track of which things it has munged at what time. - [feature: - gitrepos](https://github.com/kubernetes/test-infra/blob/master/mungegithub/features/repo-updates.go) + gitrepos](https://git.k8s.io/test-infra/mungegithub/features/repo-updates.go) - responsible for parsing OWNERS and OWNERS_ALIAS files - if its `use-reviewers` flag is set to false, **approvers** will also be **reviewers** - if its `enable-md-yaml` flag is set, `.md` files will also be parsed to see if they have @@ -172,14 +172,14 @@ stateful, in that restarting it means it loses track of which things it has mung [kubernetes.github.io](https://github.com/kubernetes/kubernetes.github.io/)) - used by other mungers to get the set of **reviewers** or **approvers** for a given path - [munger: - blunderbuss](https://github.com/kubernetes/test-infra/blob/master/mungegithub/mungers/blunderbuss.go) + blunderbuss](https://git.k8s.io/test-infra/mungegithub/mungers/blunderbuss.go) - responsible for determining **reviewers** and assigning to them - chooses from people in the deepest/closest OWNERS files to the code being changed - weights its choice based on the magnitude of lines changed for each file - randomly chooses to ensure the same people aren't chosen every time - if its `blunderbuss-number-assignees` flag is unset, it will default to 2 assignees - [munger: - approval-handler](https://github.com/kubernetes/test-infra/blob/master/mungegithub/mungers/approval-handler.go) + approval-handler](https://git.k8s.io/test-infra/mungegithub/mungers/approval-handler.go) - responsible for adding the `approved` label once an **approver** for each of the required OWNERS files has `/approve`'d - responsible for commenting as required OWNERS files are satisfied @@ -187,19 +187,19 @@ stateful, in that restarting it means it loses track of which things it has mung - [full description of the algorithm](https://github.com/kubernetes/test-infra/blob/6f5df70c29528db89d07106a8156411068518cbc/mungegithub/mungers/approval-handler.go#L99-L111) - [munger: - submit-queue](https://github.com/kubernetes/test-infra/blob/master/mungegithub/mungers/submit-queue.go) + submit-queue](https://git.k8s.io/test-infra/mungegithub/mungers/submit-queue.go) - responsible for merging PR's - responsible for updating a GitHub status check explaining why a PR can't be merged (eg: a missing `lgtm` or `approved` label) -### [`prow`](https://github.com/kubernetes/test-infra/tree/master/prow) +### [`prow`](https://git.k8s.io/test-infra/prow) Prow receives events from GitHub, and reacts to them. It is effectively stateless. -- [plugin: lgtm](https://github.com/kubernetes/test-infra/tree/master/prow/plugins/lgtm) +- [plugin: lgtm](https://git.k8s.io/test-infra/prow/plugins/lgtm) - responsible for adding the `lgtm` label when a **reviewer** comments `/lgtm` on a PR - the **PR author** may not `/lgtm` their own PR -- [plugin: assign](https://github.com/kubernetes/test-infra/tree/master/prow/plugins/assign) +- [plugin: assign](https://git.k8s.io/test-infra/prow/plugins/assign) - responsible for assigning GitHub users in response to `/assign` comments on a PR - responsible for unassigning GitHub users in response to `/unassign` comments on a PR diff --git a/contributors/devel/pull-requests.md b/contributors/devel/pull-requests.md index 40ec31c0..50e457a2 100644 --- a/contributors/devel/pull-requests.md +++ b/contributors/devel/pull-requests.md @@ -44,7 +44,7 @@ pass or fail of continuous integration. ## Sign the CLA -You must sign the CLA before your first contribution. [Read more about the CLA.](https://github.com/kubernetes/community/blob/master/CLA.md) +You must sign the CLA before your first contribution. [Read more about the CLA.](/CLA.md) If you haven't signed the Contributor License Agreement (CLA) before making a PR, the `@k8s-ci-robot` will leave a comment with instructions on how to sign the CLA. @@ -92,7 +92,7 @@ For PRs that don't need to be mentioned at release time, just write "NONE" (case The `/release-note-none` comment command can still be used as an alternative to writing "NONE" in the release-note block if it is left empty. -To see how to format your release notes, view the [PR template](https://github.com/kubernetes/kubernetes/blob/master/.github/PULL_REQUEST_TEMPLATE.md) for a brief example. PR titles and body comments can be modified at any time prior to the release to make them friendly for release notes. +To see how to format your release notes, view the [PR template](https://git.k8s.io/kubernetes/.github/PULL_REQUEST_TEMPLATE.md) for a brief example. PR titles and body comments can be modified at any time prior to the release to make them friendly for release notes. Release notes apply to PRs on the master branch. For cherry-pick PRs, see the [cherry-pick instructions](cherry-picks.md). The only exception to these rules is when a PR is not a cherry-pick and is targeted directly to the non-master branch. In this case, a `release-note-*` label is required for that non-master PR. @@ -127,7 +127,7 @@ If you are a member, or a member comments `/ok-to-test`, the PR will be consider Once the tests pass, all failures are commented as flakes, or the reviewer adds the labels `lgtm` and `approved`, the PR enters the final merge queue. The merge queue is needed to make sure no incompatible changes have been introduced by other PRs since the tests were last run on your PR. -Either the [on call contributor](on-call-rotations.md) will manage the merge queue manually, or the [GitHub "munger"](https://github.com/kubernetes/test-infra/tree/master/mungegithub) submit-queue plugin will manage the merge queue automatically. +Either the [on call contributor](on-call-rotations.md) will manage the merge queue manually, or the [GitHub "munger"](https://git.k8s.io/test-infra/mungegithub) submit-queue plugin will manage the merge queue automatically. 1. The PR enters the merge queue ([http://submit-queue.k8s.io](http://submit-queue.k8s.io)) 1. The merge queue triggers a test re-run with the comment `/test all [submit-queue is verifying that this PR is safe to merge]` @@ -151,7 +151,7 @@ The GitHub robots will add and remove the `do-not-merge/hold` label as you use t ## Comment Commands Reference -[The commands doc](https://github.com/kubernetes/test-infra/blob/master/commands.md) contains a reference for all comment commands. +[The commands doc](https://git.k8s.io/test-infra/commands.md) contains a reference for all comment commands. ## Automation @@ -220,8 +220,8 @@ Are you sure Feature-X is something the Kubernetes team wants or will accept? Is It's better to get confirmation beforehand. There are two ways to do this: -- Make a proposal doc (in docs/proposals; for example [the QoS proposal](http://prs.k8s.io/11713)), or reach out to the affected special interest group (SIG). Here's a [list of SIGs](https://github.com/kubernetes/community/blob/master/sig-list.md) -- Coordinate your effort with [SIG Docs](https://github.com/kubernetes/community/tree/master/sig-docs) ahead of time +- Make a proposal doc (in docs/proposals; for example [the QoS proposal](http://prs.k8s.io/11713)), or reach out to the affected special interest group (SIG). Here's a [list of SIGs](/sig-list.md) +- Coordinate your effort with [SIG Docs](/sig-docs) ahead of time - Make a sketch PR (e.g., just the API or Go interface). Write or code up just enough to express the idea and the design and why you made those choices Or, do all of the above. diff --git a/contributors/devel/scalability-good-practices.md b/contributors/devel/scalability-good-practices.md index 5769d248..2b941a75 100644 --- a/contributors/devel/scalability-good-practices.md +++ b/contributors/devel/scalability-good-practices.md @@ -108,7 +108,7 @@ This looks fine-ish if you don't know that LIST are very expensive calls. Object `Informer` is our library that provides a read interface of the store - it's a read-only cache that provides you a local copy of the store that will contain only object that you're interested in (matching given selector). From it you can GET, LIST, or do whatever read operations you want. `Informer` also allows you to register functions that will be called when an object is created, modified or deleted, which is what most people want. -The magic behind `Informers` is that they are populated by the WATCH, so they don't stress API server too much. Code for Informer is [here](https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/tools/cache/shared_informer.go). +The magic behind `Informers` is that they are populated by the WATCH, so they don't stress API server too much. Code for Informer is [here](https://git.k8s.io/kubernetes/staging/src/k8s.io/client-go/tools/cache/shared_informer.go). In general: use `Informers` - if we were able to rewrite most vanilla controllers to them, you'll be able to do it as well. If you don't you may dramatically increase CPU requirements of the API server which will starve it and make it too slow to meet our SLOs. diff --git a/contributors/devel/strategic-merge-patch.md b/contributors/devel/strategic-merge-patch.md index 82a2fd48..c1d69c1a 100644 --- a/contributors/devel/strategic-merge-patch.md +++ b/contributors/devel/strategic-merge-patch.md @@ -216,7 +216,7 @@ item that has duplicates will delete all matching items. `setElementOrder` directive provides a way to specify the order of a list. The relative order specified in this directive will be retained. -Please refer to [proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/cli/preserve-order-in-strategic-merge-patch.md) for more information. +Please refer to [proposal](/contributors/design-proposals/cli/preserve-order-in-strategic-merge-patch.md) for more information. ### Syntax @@ -295,7 +295,7 @@ containers: `retainKeys` directive provides a mechanism for union types to clear mutual exclusive fields. When this directive is present in the patch, all the fields not in this directive will be cleared. -Please refer to [proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md) for more information. +Please refer to [proposal](/contributors/design-proposals/api-machinery/add-new-patchStrategy-to-clear-fields-not-present-in-patch.md) for more information. ### Syntax diff --git a/contributors/devel/testing.md b/contributors/devel/testing.md index d3adf0ed..6a7c7be6 100644 --- a/contributors/devel/testing.md +++ b/contributors/devel/testing.md @@ -159,7 +159,7 @@ See `go help test` and `go help testflag` for additional info. is [table driven testing](https://github.com/golang/go/wiki/TableDrivenTests) - Example: [TestNamespaceAuthorization](https://git.k8s.io/kubernetes/test/integration/auth/auth_test.go) * Each test should create its own master, httpserver and config. - - Example: [TestPodUpdateActiveDeadlineSeconds](https://github.com/kubernetes/kubernetes/blob/master/test/integration/pods/pods_test.go) + - Example: [TestPodUpdateActiveDeadlineSeconds](https://git.k8s.io/kubernetes/test/integration/pods/pods_test.go) * See [coding conventions](coding-conventions.md). ### Install etcd dependency @@ -201,7 +201,7 @@ make test-integration # Run all integration tests. ``` This script runs the golang tests in package -[`test/integration`](https://github.com/kubernetes/kubernetes/tree/master/test/integration). +[`test/integration`](https://git.k8s.io/kubernetes/test/integration). ### Run a specific integration test diff --git a/contributors/devel/vagrant.md b/contributors/devel/vagrant.md index 1ecd8157..98d150ac 100644 --- a/contributors/devel/vagrant.md +++ b/contributors/devel/vagrant.md @@ -227,7 +227,7 @@ my-nginx 3 3 3 3 1m We did not start any Services, hence there are none listed. But we see three replicas displayed properly. Check the -[guestbook](https://github.com/kubernetes/examples/tree/master/guestbook) +[guestbook](https://git.k8s.io/examples/guestbook) application to learn how to create a Service. You can already play with scaling the replicas with: diff --git a/contributors/devel/writing-good-e2e-tests.md b/contributors/devel/writing-good-e2e-tests.md index dd782d50..0658aad2 100644 --- a/contributors/devel/writing-good-e2e-tests.md +++ b/contributors/devel/writing-good-e2e-tests.md @@ -146,7 +146,7 @@ right thing. Here are a few pointers: -+ [E2e Framework](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/framework/framework.go): ++ [E2e Framework](https://git.k8s.io/kubernetes/test/e2e/framework/framework.go): Familiarise yourself with this test framework and how to use it. Amongst others, it automatically creates uniquely named namespaces within which your tests can run to avoid name clashes, and reliably @@ -160,7 +160,7 @@ Here are a few pointers: should always use this framework. Trying other home-grown approaches to avoiding name clashes and resource leaks has proven to be a very bad idea. -+ [E2e utils library](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/framework/util.go): ++ [E2e utils library](https://git.k8s.io/kubernetes/test/e2e/framework/util.go): This handy library provides tons of reusable code for a host of commonly needed test functionality, including waiting for resources to enter specified states, safely and consistently retrying failed @@ -178,9 +178,9 @@ Here are a few pointers: + **Follow the examples of stable, well-written tests:** Some of our existing end-to-end tests are better written and more reliable than others. A few examples of well-written tests include: - [Replication Controllers](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/apps/rc.go), - [Services](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/network/service.go), - [Reboot](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/lifecycle/reboot.go). + [Replication Controllers](https://git.k8s.io/kubernetes/test/e2e/apps/rc.go), + [Services](https://git.k8s.io/kubernetes/test/e2e/network/service.go), + [Reboot](https://git.k8s.io/kubernetes/test/e2e/lifecycle/reboot.go). + [Ginkgo Test Framework](https://github.com/onsi/ginkgo): This is the test library and runner upon which our e2e tests are built. Before you write or refactor a test, read the docs and make sure that you diff --git a/governance.md b/governance.md index 36ea7002..083211fd 100644 --- a/governance.md +++ b/governance.md @@ -14,9 +14,9 @@ The Kubernetes community abides by the CNCF [code of conduct](https://github.com _As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities._ -As a member of the Kubernetes project, you represent the project and your fellow contributors. +As a member of the Kubernetes project, you represent the project and your fellow contributors. We value our community tremendously and we'd like to keep cultivating a friendly and collaborative -environment for our contributors and users. We want everyone in the community to have +environment for our contributors and users. We want everyone in the community to have [positive experiences](https://www.cncf.io/blog/2016/12/14/diversity-scholarship-series-one-software-engineers-unexpected-cloudnativecon-kubecon-experience). # Community membership @@ -44,7 +44,7 @@ and code ownership, as well as providing focused forums for getting work done, making decisions, and onboarding new contributors. Every identifiable subpart of the project (e.g., github org, repository, subdirectory, API, test, issue, PR) is intended to be owned by some -SIG. +SIG. Areas covered by SIGs may be vertically focused on particular components or functions, cross-cutting/horizontal, spanning many/all @@ -73,7 +73,7 @@ relatively free to customize or change how they operate, within some broad guidelines and constraints imposed by cross-SIG processes (e.g., the release process) and assets (e.g., the kubernetes repo). -A primary reason that SIGs exist is as forums for collaboration. +A primary reason that SIGs exist is as forums for collaboration. Much work in a SIG should stay local within that SIG. However, SIGs must communicate in the open, ensure other SIGs and community members can find notes of meetings, discussions, designs, and decisions, and @@ -137,7 +137,7 @@ community meeting. All repositories under Kubernetes github orgs, such as kubernetes and kubernetes-incubator, should follow the procedures outlined in the [incubator document](incubator.md). All code projects use the [Apache Licence version 2.0](LICENSE). Documentation repositories should use the -[Creative Commons License version 4.0](https://github.com/kubernetes/kubernetes.github.io/blob/master/LICENSE). +[Creative Commons License version 4.0](https://git.k8s.io/website/LICENSE). # Incubator process diff --git a/incubator.md b/incubator.md index 4cff3cee..506d11cd 100644 --- a/incubator.md +++ b/incubator.md @@ -30,13 +30,13 @@ To create a new project for incubation you must follow these steps: write a prop Your proposal should include two items. First, a README which outlines the problem to be solved, an example use case as-if the project existed, and a rough roadmap with timelines. Second, an OWNERS file that outlines the makeup of the initial team developing the project. Initially this can be one person but ideally has 3 or more initial developers representing a few different companies or groups. You can use whatever tool you want to host and revise the proposal until the project is accepted to the Incubator: copy/paste from your text editor, Google Docs, GitHub gist, etc. -Once the proposal is written you should identify a champion; this person must be listed as either a reviewer or approver in an [OWNERS file](https://github.com/kubernetes/kubernetes/blob/master/OWNERS) in the Kubernetes project. Next, reach out to your potential champion via email to ask if they are interested in helping you through the Incubation process. Ideally some significant follow-up discussion happens via email, calls, or chat to improve the proposal before announcing it to the wider community. +Once the proposal is written you should identify a champion; this person must be listed as either a reviewer or approver in an [OWNERS file](https://git.k8s.io/kubernetes/OWNERS) in the Kubernetes project. Next, reach out to your potential champion via email to ask if they are interested in helping you through the Incubation process. Ideally some significant follow-up discussion happens via email, calls, or chat to improve the proposal before announcing it to the wider community. The next discussion should be on a relevant Special Interest Group mailing list. You should post the proposal to the SIG mailing list and wait for discussion for a few days. Iterate on the proposal as needed and if there is rough consensus that the project belongs in the chosen SIG then list that SIG in the proposal README. If consensus isn't reached then identify another SIG and try again; repeat until a SIG is identified. The final process is to email kubernetes-dev@googlegroups.com to announce your intention to form a new Incubator project. Include your entire proposal in the body of the email and prefix the Subject with [Incubator]. Include links to your discussion on the accepted SIG mailing list to guide the discussion. -Acceptance of the project into the Kubernetes Incubator happens once a Sponsor approves. Anyone listed as an approver in the top-level pkg [OWNERS file](https://github.com/kubernetes/kubernetes/blob/master/pkg/OWNERS) can sponsor a project by replying to the kubernetes-dev discussion with LGTM. +Acceptance of the project into the Kubernetes Incubator happens once a Sponsor approves. Anyone listed as an approver in the top-level pkg [OWNERS file](https://git.k8s.io/kubernetes/pkg/OWNERS) can sponsor a project by replying to the kubernetes-dev discussion with LGTM. ## Creation of the Incubator Project diff --git a/keps/0000-kep-template.md b/keps/0000-kep-template.md index 5cffe189..6af52e2d 100644 --- a/keps/0000-kep-template.md +++ b/keps/0000-kep-template.md @@ -47,7 +47,7 @@ To get started with this template: If you disagree with what is already in a document, open a new PR with suggested changes. * As a KEP is approved, rename the file yet again with the final KEP number. -The canonical place for the latest set of instructions (and the likely source of this file) is [here](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/0000-kep-template.md). +The canonical place for the latest set of instructions (and the likely source of this file) is [here](/contributors/design-proposals/architecture/0000-kep-template.md). The `Metadata` section above is intended to support the creation of tooling around the KEP process. This will be a YAML section that is fenced as a code block. diff --git a/keps/1-kubernetes-enhancement-proposal-process.md b/keps/1-kubernetes-enhancement-proposal-process.md index 5477a9b3..6f808402 100644 --- a/keps/1-kubernetes-enhancement-proposal-process.md +++ b/keps/1-kubernetes-enhancement-proposal-process.md @@ -120,7 +120,7 @@ for SIGs to deliberate. [tell a story]: https://blog.rust-lang.org/2017/08/31/Rust-1.20.html [road to Go 2]: https://blog.golang.org/toward-go2 [survey data]: http://opensourcesurvey.org/2017/ -[design proposals]: https://github.com/kubernetes/community/tree/master/contributors/design-proposals +[design proposals]: /contributors/design-proposals ## Reference-level explanation @@ -397,7 +397,7 @@ required in the [features issue template][] may be a heavy burden for non native English speakers and here the role of the KEP editor combined with kindness and empathy will be crucial to making the process successful. -[features issue template]: https://github.com/kubernetes/features/blob/master/ISSUE_TEMPLATE.md +[features issue template]: https://git.k8s.io/features/ISSUE_TEMPLATE.md ## Alternatives diff --git a/sig-apps/agenda.md b/sig-apps/agenda.md index f132183c..aaca6480 100644 --- a/sig-apps/agenda.md +++ b/sig-apps/agenda.md @@ -73,11 +73,11 @@ _Note, the [minutes and agenda have moved to Google Docs](https://docs.google.co ## May 31, 2016 * Canceled in honor of a short week -## May 25, 2016 [[notes & video](https://github.com/kubernetes/community/blob/master/sig-apps/minutes/2016-05-25.md)] +## May 25, 2016 [[notes & video](/sig-apps/minutes/2016-05-25.md)] * Intro * Mike Metral of Rackspace will demo how to recursively process configuration files with the -R flag -## May 18, 2016 [[notes](https://github.com/kubernetes/community/blob/master/sig-apps/minutes/2016-05-18.md)] +## May 18, 2016 [[notes](/sig-apps/minutes/2016-05-18.md)] * Intro * Discussion on the future of SIG-Apps * Pranshanth B. of Google will demo PetSet diff --git a/sig-apps/minutes/2016-06-08.md b/sig-apps/minutes/2016-06-08.md index 3c6674cf..a597b9f4 100644 --- a/sig-apps/minutes/2016-06-08.md +++ b/sig-apps/minutes/2016-06-08.md @@ -11,7 +11,7 @@ - Michelle Noorali gave an update on where you can find information and examples on PetSets. - Here are some links provided by Pranshanth from Google. - [github issue](https://github.com/kubernetes/kubernetes/issues/260#issuecomment-220395798) - - [example pets](https://github.com/kubernetes/contrib/tree/master/pets) + - [example pets](https://git.k8s.io/contrib/pets) - Feel free to get your hands dirty. We will be discussing the provided examples in the upcoming weeks. Watch the [recording](https://youtu.be/wXZAXemhGb0). diff --git a/sig-apps/minutes/2016-08-03.md b/sig-apps/minutes/2016-08-03.md index 26379cfa..9e76cd3e 100644 --- a/sig-apps/minutes/2016-08-03.md +++ b/sig-apps/minutes/2016-08-03.md @@ -10,7 +10,7 @@ A: _(Clayton)_ Yes. Handling deployment failures at a high level, a generic idea for a trigger controller which watches another system for changes and makes updates to a Deployment, and hooks. * Ryan showed off OC which is a command line tool which is a wrapper for kubectl * Comment: One of the challenges Kubernetes faces today is that there is not a great way to extensibly pull in new chunks of APIs. - * This is something that is actively being worked on today. This work is being discussed and worked on in [SIG-API-Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery) + * This is something that is actively being worked on today. This work is being discussed and worked on in [SIG-API-Machinery](/sig-api-machinery) * Free O'Reilly EBooks can be found [here](http://gist-reveal.it/4ca683dff6cdb9601c495e27d4bb5289#/oreilly-ebooks) courtesy of Red Hat. diff --git a/sig-architecture/charter.md b/sig-architecture/charter.md index 0188d3a8..55214bab 100644 --- a/sig-architecture/charter.md +++ b/sig-architecture/charter.md @@ -21,7 +21,7 @@ Specific areas of focus include: * Establishing and documenting design principles * [Design principles](../contributors/design-proposals/architecture/principles.md) * Establishing and documenting conventions for system and user-facing APIs - * [API conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md) + * [API conventions](/contributors/devel/api-conventions.md) * Developing necessary technical review processes, such as the proposal and API review processes * Driving improvement of overall code organization, including github orgs and repositories * Educating approvers/owners of other SIGs (e.g., by holding office hours) @@ -29,7 +29,7 @@ Specific areas of focus include: Out of scope: * Issues specific to a particular component or functional area, which would be the purview of some other SIG, except where they deviate from project-wide principles and conventions. -* [Release support policy](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/release/versioning.md) +* [Release support policy](/contributors/design-proposals/release/versioning.md) is owned by SIG Release TODO: diff --git a/sig-aws/CONTRIBUTING.md b/sig-aws/CONTRIBUTING.md index 8154e83a..124c0c4e 100644 --- a/sig-aws/CONTRIBUTING.md +++ b/sig-aws/CONTRIBUTING.md @@ -31,7 +31,7 @@ This is important. - Play around with Kubernetes [Kubernetes Basics Tutorial]. - Get to know possibilities to set up Kubernetes on AWS https://kubernetes.io/docs/getting-started-guides/aws/ -- Understand how Kubernetes on aws differs from other installations of Kubernetes [https://github.com/kubernetes/community/blob/master/contributors/design-proposals/aws/aws_under_the_hood.md] +- Understand how Kubernetes on aws differs from other installations of Kubernetes [/contributors/design-proposals/aws/aws_under_the_hood.md] ## Adopt an issue @@ -71,15 +71,15 @@ and group [meeting] times. [Kubernetes Basics Tutorial]: https://kubernetes.io/docs/tutorials/kubernetes-basics [PR]: https://help.github.com/articles/creating-a-pull-request [agenda]: https://docs.google.com/document/d/1-i0xQidlXnFEP9fXHWkBxqySkXwJnrGJP9OGyP2_P14/edit -[communication]: https://github.com/kubernetes/community/tree/master/sig-aws#contact -[community page]: https://github.com/kubernetes/community/tree/master/sig-aws -[design repo]: https://github.com/kubernetes/community/tree/master/contributors/design-proposals/aws -[development guide]: https://github.com/kubernetes/community/blob/master/contributors/devel/development.md +[communication]: /sig-aws#contact +[community page]: /sig-aws +[design repo]: /contributors/design-proposals/aws +[development guide]: /contributors/devel/development.md [group]: https://groups.google.com/forum/#!forum/kubernetes-sig-aws -[kops]: https://github.com/kubernetes/kops/tree/master/ -[leads]: https://github.com/kubernetes/community/tree/master/sig-aws#leads +[kops]: https://git.k8s.io/kops/ +[leads]: /sig-aws#leads [management overview]: https://kubernetes.io/docs/concepts/tools/kubectl/object-management-overview -[meeting]: https://github.com/kubernetes/community/tree/master/sig-aws#meetings +[meeting]: /sig-aws#meetings [slack-messages]: https://kubernetes.slack.com/messages/sig-aws [slack-signup]: http://slack.k8s.io/ [kube-aws-tools]: kubernetes-on-aws.md diff --git a/sig-cli/CONTRIBUTING.md b/sig-cli/CONTRIBUTING.md index 6fc1b52a..d650665f 100644 --- a/sig-cli/CONTRIBUTING.md +++ b/sig-cli/CONTRIBUTING.md @@ -413,12 +413,12 @@ See the sig-cli [community page] for points of contact and meeting times: [`PTAL`]: https://en.wiktionary.org/wiki/PTAL [agenda]: https://docs.google.com/document/d/1r0YElcXt6G5mOWxwZiXgGu_X6he3F--wKwg-9UBc29I/edit [bug]: #bug-lifecycle -[communication]: https://github.com/kubernetes/community/tree/master/sig-cli#contact -[community page]: https://github.com/kubernetes/community/tree/master/sig-cli +[communication]: /sig-cli#contact +[community page]: /sig-cli [design proposal]: #design-proposals -[design repo]: https://github.com/kubernetes/community/tree/master/contributors/design-proposals/cli -[design template]: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/Design_Proposal_TEMPLATE.md -[development guide]: https://github.com/kubernetes/community/blob/master/contributors/devel/development.md +[design repo]: /contributors/design-proposals/cli +[design template]: /contributors/design-proposals/Design_Proposal_TEMPLATE.md +[development guide]: /contributors/devel/development.md [existing issue]: #adopt-an-issue [feature repo]: https://github.com/kubernetes/features [feature request]: #feature-requests @@ -426,14 +426,14 @@ See the sig-cli [community page] for points of contact and meeting times: [group]: https://groups.google.com/forum/#!forum/kubernetes-sig-cli [issue]: https://github.com/kubernetes/kubectl/projects/3 [kubectl docs]: https://kubernetes.io/docs/tutorials/object-management-kubectl/object-management/ -[kubernetes/cmd/kubectl]: https://github.com/kubernetes/kubernetes/tree/master/cmd/kubectl -[kubernetes/pkg/kubectl]: https://github.com/kubernetes/kubernetes/tree/master/pkg/kubectl -[leads]: https://github.com/kubernetes/community/tree/master/sig-cli#leads +[kubernetes/cmd/kubectl]: https://git.k8s.io/kubernetes/cmd/kubectl +[kubernetes/pkg/kubectl]: https://git.k8s.io/kubernetes/pkg/kubectl +[leads]: /sig-cli#leads [management overview]: https://kubernetes.io/docs/concepts/tools/kubectl/object-management-overview -[meeting]: https://github.com/kubernetes/community/tree/master/sig-cli#meetings +[meeting]: /sig-cli#meetings [release]: #release [slack-messages]: https://kubernetes.slack.com/messages/sig-cli [slack-signup]: http://slack.k8s.io/ -[tests]: https://github.com/kubernetes/community/blob/master/contributors/devel/testing.md +[tests]: /contributors/devel/testing.md [cli mentors]: https://groups.google.com/a/google.com/forum/#!forum/kubernetes-sig-cli-mentors [about me form]: https://docs.google.com/forms/d/1ID6DX1abiDr9Z9_sXXC0DsMwuyHb_NeFdB3xeRa4Vf0 diff --git a/sig-cli/migrated-from-wiki/roadmap-kubectl.md b/sig-cli/migrated-from-wiki/roadmap-kubectl.md index ccc55b46..4fbf7a84 100644 --- a/sig-cli/migrated-from-wiki/roadmap-kubectl.md +++ b/sig-cli/migrated-from-wiki/roadmap-kubectl.md @@ -2,7 +2,7 @@ `kubectl` is the Kubernetes CLI. -If you'd like to contribute, please read the [conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/kubectl-conventions.md) and familiarize yourself with [existing commands](http://kubernetes.io/docs/user-guide/kubectl-overview/). +If you'd like to contribute, please read the [conventions](/contributors/devel/kubectl-conventions.md) and familiarize yourself with [existing commands](http://kubernetes.io/docs/user-guide/kubectl-overview/). **Owner:** @kubernetes/kubectl @@ -30,28 +30,28 @@ If you'd like to contribute, please read the [conventions](https://github.com/ku * [Make `kubectl run --restart=Never` creates Pods (instead of Jobs)](https://github.com/kubernetes/kubernetes/issues/24533) * Create commands/flags for common get + template patterns (e.g. getting service IP address) * [Implement `kubectl cp`](https://github.com/kubernetes/kubernetes/issues/13776) to copy files between containers and local for debugging -* `kubectl rollout` +* `kubectl rollout` * [Add `kubectl rollout start` to show how to start a rollout](https://github.com/kubernetes/kubernetes/issues/25142) * [Add `kubectl rollout status`](https://github.com/kubernetes/kubernetes/issues/25235) * Scripting support * [wait](https://github.com/kubernetes/kubernetes/issues/1899) * [watch / IFTTT](https://github.com/kubernetes/kubernetes/issues/5164) -* [Add `kubectl top`](https://github.com/kubernetes/kubernetes/issues/11382) which lists resource metrics. +* [Add `kubectl top`](https://github.com/kubernetes/kubernetes/issues/11382) which lists resource metrics. ### Alternative interfaces * Create a terminal based console, ref [docker console](https://github.com/dustinlacewell/console) ([video](https://www.youtube.com/watch?v=wSzZxbDYgtY)) * [Add `kubectl sh`, an interactive shell](https://github.com/kubernetes/kubernetes/issues/25385), or make a kubectlshell in contrib and make bash completion part of it (ref [pythonshell](https://gist.github.com/bprashanth/9a3c8dfbba443698ddd960b8087107bf)) -* Think about how/whether to invoke generation commands such as `kubectl run` or `kubectl create configmap` in bulk, declaratively, such as part of the `apply` flow. +* Think about how/whether to invoke generation commands such as `kubectl run` or `kubectl create configmap` in bulk, declaratively, such as part of the `apply` flow. * [ChatOps](https://www.pagerduty.com/blog/what-is-chatops/) bot -- such as [kubebot](https://github.com/harbur/kubebot) (add to tools documentation) -### Improve help / error messages / output +### Improve help / error messages / output * Make kubectl functionality more discoverable * [Overhaul kubectl help](https://github.com/kubernetes/kubernetes/issues/16089) * ~~[Print "Usage" at the bottom](https://github.com/kubernetes/kubernetes/issues/7496)~~ - * Add keywords (critical words) to help - * List valid resources for each command - * Make short description of each command more concrete; use the same language for each command + * Add keywords (critical words) to help + * List valid resources for each command + * Make short description of each command more concrete; use the same language for each command * Link to docs ([kubernetes.io/docs](http://kubernetes.io/docs)) * [Update `kubectl help` descriptions and examples from docs](https://github.com/kubernetes/kubernetes/issues/25290) * Embed formatting and post-process for different media (terminal, man, github, etc.) @@ -96,7 +96,7 @@ If you'd like to contribute, please read the [conventions](https://github.com/ku ### Installation / Release * `gcloud` should enable kubectl bash completion when installing `kubectl` * [Pipe-to-sh to install kubectl](https://github.com/kubernetes/kubernetes/issues/25386) -* [Static build of kubectl for containers](https://github.com/kubernetes/kubernetes/issues/23708) ([we have it](https://github.com/kubernetes/kubernetes/tree/master/examples/kubectl-container), but it's not part of the release) +* [Static build of kubectl for containers](https://github.com/kubernetes/kubernetes/issues/23708) ([we have it](https://git.k8s.io/kubernetes/examples/kubectl-container), but it's not part of the release) ### Others * [Move functionality to server](https://github.com/kubernetes/kubernetes/issues/12143) diff --git a/sig-cli/outreachy.md b/sig-cli/outreachy.md index 981e20f7..89f8cc40 100644 --- a/sig-cli/outreachy.md +++ b/sig-cli/outreachy.md @@ -18,7 +18,7 @@ It groups containers that make up an application into logical units for easy man [kubernetes.io](https://kubernetes.io/) ## What are SIGs / What is SIG-CLI? -Kubernetes is a set of projects, each shepherded by a special interest group (SIG). To get a grasp of the projects that we work on, check out the complete [list of SIGs](https://github.com/kubernetes/community/blob/master/sig-list.md). +Kubernetes is a set of projects, each shepherded by a special interest group (SIG). To get a grasp of the projects that we work on, check out the complete [list of SIGs](/sig-list.md). SIG-CLI Covers kubectl and related tools. We focus on the development and standardization of the CLI framework and its dependencies, the establishment of conventions for writing CLI commands, POSIX compliance, and improving the command line tools from a developer and devops user experience and usability perspective. @@ -38,7 +38,7 @@ As part of the application process, the Outreachy program recommends that candid To start working on the project, make sure to fill out the CLA and check if you have the right environment with this guide. The README in the [community repo](https://github.com/kubernetes/community) details these things and more. Check out these specific resources for how to contribute to CLI: -* SIG-CLI - [How to Contribute](https://github.com/kubernetes/community/blob/master/sig-cli/CONTRIBUTING.md) +* SIG-CLI - [How to Contribute](/sig-cli/CONTRIBUTING.md) * Filter issue search for: `is:open is:issue label:sig/cli label:"help wanted"` * Hand picked issues for outreachy applications: https://github.com/kubernetes/kubectl/projects/3 diff --git a/sig-cluster-lifecycle/migrated-from-wiki/roadmap-cluster-deployment.md b/sig-cluster-lifecycle/migrated-from-wiki/roadmap-cluster-deployment.md index aa664e4c..d80875e3 100644 --- a/sig-cluster-lifecycle/migrated-from-wiki/roadmap-cluster-deployment.md +++ b/sig-cluster-lifecycle/migrated-from-wiki/roadmap-cluster-deployment.md @@ -56,9 +56,9 @@ For simplicity, users shouldn't need to install/launch more than one component o Once we have this, we should delete out-of-date, untested "getting-started guides" ([example broken cluster debugging thread](https://github.com/kubernetes/dashboard/issues/971)). See also: -* [Summary proposal](https://github.com/kubernetes/kubernetes-anywhere/blob/master/PROPOSAL.md) +* [Summary proposal](https://git.k8s.io/kubernetes-anywhere/PROPOSAL.md) * [kubernetes-anywhere umbrella issue](https://github.com/kubernetes/kubernetes-anywhere/issues/127) -* https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/cluster-deployment.md +* https://git.k8s.io/kubernetes/docs/proposals/cluster-deployment.md * [Bootstrap API](https://github.com/kubernetes/kubernetes/issues/5754) * [jbeda's simple setup sketch](https://gist.github.com/jbeda/7e66965a23c40a91521cf6bbc3ebf007) @@ -154,7 +154,7 @@ Examples: * [Kube-AWS](https://github.com/coreos/coreos-kubernetes/tree/master/multi-node/aws) * [kops](https://github.com/kubernetes/kops) * [Kargo](https://github.com/kubespray/kargo) - * (is https://github.com/kubernetes/contrib/tree/master/ansible still needed?) + * (is https://git.k8s.io/contrib/ansible still needed?) * [kompose8](https://github.com/digitalrebar/kompos8) * [Tectonic](https://tectonic.com/) * [Kraken](https://github.com/samsung-cnct/kraken) diff --git a/sig-contributor-experience/migrated-from-wiki/README.md b/sig-contributor-experience/migrated-from-wiki/README.md index 62982c85..c5b3806e 100644 --- a/sig-contributor-experience/migrated-from-wiki/README.md +++ b/sig-contributor-experience/migrated-from-wiki/README.md @@ -4,7 +4,7 @@ This is an autogenerated file! Please do not edit this file directly, but instead make changes to the sigs.yaml file in the project root. -To understand how this file is generated, see https://git.k8s.io/community/generator/README.md +To understand how this file is generated, see /generator/README.md --> # CLI SIG diff --git a/sig-docs/migrated-from-wiki/roadmap-docs.md b/sig-docs/migrated-from-wiki/roadmap-docs.md index 8b6f81cf..63f453e4 100644 --- a/sig-docs/migrated-from-wiki/roadmap-docs.md +++ b/sig-docs/migrated-from-wiki/roadmap-docs.md @@ -1,8 +1,8 @@ # Docs and examples roadmap -If you'd like to help with documentation, please read the [kubernetes.io site instructions](https://github.com/kubernetes/kubernetes.github.io/blob/master/README.md). +If you'd like to help with documentation, please read the [kubernetes.io site instructions](https://git.k8s.io/kubernetes.github.io/README.md). -If you'd like to contribute an example, please read the [guidelines](https://github.com/kubernetes/kubernetes/blob/master/examples/guidelines.md). +If you'd like to contribute an example, please read the [guidelines](https://git.k8s.io/kubernetes/examples/guidelines.md). Owners: @kubernetes/docs, @kubernetes/examples diff --git a/sig-governance.md b/sig-governance.md index e9d50039..4d3660d4 100644 --- a/sig-governance.md +++ b/sig-governance.md @@ -11,7 +11,7 @@ In order to standardize Special Interest Group efforts, create maximum transpare * Participate in release planning meetings and retrospectives, and burndown meetings, as needed * Ensure related work happens in a project-owned github org and repository, with code and tests explicitly owned and supported by the SIG, including issue triage, PR reviews, test-failure response, bug fixes, etc. * Use the above forums as the primary means of working, communicating, and collaborating, as opposed to private emails and meetings -* Represent the SIG for the PM group - see [PM SIG representatives](https://github.com/kubernetes/community/blob/master/sig-product-management/SIG%20PM%20representatives.md). +* Represent the SIG for the PM group - see [PM SIG representatives](/sig-product-management/SIG%20PM%20representatives.md). ## SIG roles - **SIG Participant**: active in one or more areas of the project; wide @@ -28,7 +28,7 @@ In order to standardize Special Interest Group efforts, create maximum transpare * Slack activity is archived at [kubernetes.slackarchive.io](http://kubernetes.slackarchive.io). To start archiving a new channel invite the slackarchive bot to the channel via `/invite @slackarchive` * Organize video meetings as needed. No need to wait for the [Weekly Community Video Conference](community/README.md) to discuss. Please report summary of SIG activities there. * Request a Zoom account by emailing Paris Pittman(`parispittman@google.com`) and Jorge Castro(`jorge@heptio.com`). You must set up a google group (see below) for the SIG leads so that all the SIG leads have the ability to reset the password if necessary. - * Read [how to use YouTube](https://github.com/kubernetes/community/blob/master/community/K8sYoutubeCollaboration.md) for publishing your videos to the Kubernetes channel. + * Read [how to use YouTube](/community/K8sYoutubeCollaboration.md) for publishing your videos to the Kubernetes channel. * Calendars 1. Create a calendar on your own account. Make it public. 2. Share it with all SIG leads with full ownership of the calendar - they can edit, rename, or even delete it. diff --git a/sig-multicluster/CONTRIBUTING.md b/sig-multicluster/CONTRIBUTING.md index 8b1e8b1a..d0600a77 100644 --- a/sig-multicluster/CONTRIBUTING.md +++ b/sig-multicluster/CONTRIBUTING.md @@ -269,11 +269,11 @@ See the sig-multicluster [community page] for points of contact and meeting time [`PTAL`]: https://en.wiktionary.org/wiki/PTAL [agenda]: https://docs.google.com/document/d/18mk62nOXE_MCSSnb4yJD_8UadtzJrYyJxFwbrgabHe8/edit [bug]: #bug-lifecycle -[community page]: https://github.com/kubernetes/community/tree/master/sig-multicluster +[community page]: /sig-multicluster [design proposal]: #design-proposals -[design repo]: https://github.com/kubernetes/community/tree/master/contributors/design-proposals/sig-multicluster -[design template]: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/sig-multicluster/template.md -[development guide]: https://github.com/kubernetes/community/blob/master/contributors/devel/development.md +[design repo]: /contributors/design-proposals/sig-multicluster +[design template]: /contributors/design-proposals/sig-multicluster/template.md +[development guide]: /contributors/devel/development.md [existing issue]: #adopt-an-issue [feature repo]: https://github.com/kubernetes/features [feature request]: #feature-requests @@ -281,14 +281,14 @@ See the sig-multicluster [community page] for points of contact and meeting time [group]: https://groups.google.com/forum/#!forum/kubernetes-sig-multicluster [issue]: https://github.com/kubernetes/kubernetes/issues [multicluster_help_wanted_issues]: https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3A"help+wanted"+label%3Asig%2Fmulticluster -[kubectl concept docs]: https://github.com/kubernetes/kubernetes.github.io/tree/master/docs/concepts/tools/kubectl +[kubectl concept docs]: https://git.k8s.io/kubernetes.github.io/docs/concepts/tools/kubectl [kubectl docs]: https://kubernetes.io/docs/user-guide/kubectl-overview -[kubernetes/cmd/kubectl]: https://github.com/kubernetes/kubernetes/tree/master/cmd/kubectl -[kubernetes/pkg/kubectl]: https://github.com/kubernetes/kubernetes/tree/master/pkg/kubectl -[leads]: https://github.com/kubernetes/community/tree/master/sig-multicluster#leads +[kubernetes/cmd/kubectl]: https://git.k8s.io/kubernetes/cmd/kubectl +[kubernetes/pkg/kubectl]: https://git.k8s.io/kubernetes/pkg/kubectl +[leads]: /sig-multicluster#leads [management overview]: https://kubernetes.io/docs/concepts/tools/kubectl/object-management-overview -[meeting]: https://github.com/kubernetes/community/tree/master/sig-multicluster#meetings +[meeting]: /sig-multicluster#meetings [release]: #release [slack-messages]: https://kubernetes.slack.com/messages/sig-multicluster [slack-signup]: http://slack.k8s.io/ -[tests]: https://github.com/kubernetes/community/blob/master/contributors/devel/testing.md +[tests]: /contributors/devel/testing.md diff --git a/sig-multicluster/ONCALL.md b/sig-multicluster/ONCALL.md index 72aca202..903845e7 100644 --- a/sig-multicluster/ONCALL.md +++ b/sig-multicluster/ONCALL.md @@ -10,8 +10,8 @@ follows: most common failure scenarios and suggest improvements. Its up to the sig or individuals to prioritize and take up those tasks. -Oncall playbook: -https://github.com/kubernetes/community/blob/master/contributors/devel/on-call-federation-build-cop.md +The on-call playbook is available +[here](/contributors/devel/on-call-federation-build-cop.md) # Joining the rotation diff --git a/sig-scalability/README.md b/sig-scalability/README.md index b22b82fd..24b37f9c 100644 --- a/sig-scalability/README.md +++ b/sig-scalability/README.md @@ -10,7 +10,7 @@ To understand how this file is generated, see https://git.k8s.io/community/gener Responsible for answering scalability related questions such as: What size clusters do we think that we should support with Kubernetes in the short to medium term? How performant do we think that the control system should be at scale? What resource overhead should the Kubernetes control system reasonably consume? -For more details about our objectives please review our [Scaling And Performance Goals](https://github.com/kubernetes/community/blob/master/sig-scalability/goals.md) +For more details about our objectives please review our [Scaling And Performance Goals](https://git.k8s.io/community/sig-scalability/goals.md) ## Meetings * [Thursdays at 16:00 UTC](https://zoom.us/j/989573207) (bi-weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=16:00&tz=UTC). diff --git a/sig-scalability/provider-configs.md b/sig-scalability/provider-configs.md index c960ad22..afe183b0 100644 --- a/sig-scalability/provider-configs.md +++ b/sig-scalability/provider-configs.md @@ -120,7 +120,7 @@ proposed * Leader election results are non-deterministic on on a typical cluster, and a config would be best served to be configured as worst-case. Not presently known whether there are performance impacts resulting from leader election resulting in either co-location or distribution of those components. -* Improving the cluster performance loading to match production deployment scenarios is critical on-going work, especially clusterloader: [https://github.com/kubernetes/perf-tests/tree/master/clusterloader](https://github.com/kubernetes/perf-tests/tree/master/clusterloader) +* Improving the cluster performance loading to match production deployment scenarios is critical on-going work, especially clusterloader: [https://git.k8s.io/perf-tests/clusterloader](https://git.k8s.io/perf-tests/clusterloader) * Multi-zone / multi-az deployments are often used to manage large clusters, but for testing/scalability efforts the target is intentionally a single Availability Zone. This keeps greater consistency between environments that do and don’t support AZ-based deployments. Failures during scalability testing are outside the SIG charter. Protecting against network partitioning and improving total cluster availability (one of the key benefits to a multi-AZ strategy) are currently out scope for the Scalability SIG efforts. diff --git a/sig-storage/1.3-retrospective/2016-03-28_Storage-SIG-F2F_Notes.pdf b/sig-storage/1.3-retrospective/2016-03-28_Storage-SIG-F2F_Notes.pdf index 95522475..7c972d69 100644 Binary files a/sig-storage/1.3-retrospective/2016-03-28_Storage-SIG-F2F_Notes.pdf and b/sig-storage/1.3-retrospective/2016-03-28_Storage-SIG-F2F_Notes.pdf differ diff --git a/sig-storage/1.3-retrospective/README.md b/sig-storage/1.3-retrospective/README.md index 52e28490..08668cc6 100644 --- a/sig-storage/1.3-retrospective/README.md +++ b/sig-storage/1.3-retrospective/README.md @@ -6,10 +6,10 @@ **Collaborators:** Saad Ali ([@saad-ali](https://github.com/saad-ali)), Paul Morie ([@pmorie](https://github.com/pmorie)), Tim Hockins ([@thockin](https://github.com/thockin)), Steve Watt ([@wattsteve](https://github.com/wattsteve)) **Links:** -* [1.3 Schedule Dates](https://github.com/kubernetes/features/blob/master/release-1.3/release-1.3.md) +* [1.3 Schedule Dates](https://git.k8s.io/features/release-1.3/release-1.3.md) ## Purpose -This document is intended to chronicle the decisions made by the [Storage SIG](https://github.com/kubernetes/community/blob/master/sig-storage/README.md) near the end of the Kubernetes 1.3 release with the storage stack that were not well understood by the wider community. This document should explain those decisions, why the SIG made the exception, detail the impact, and offer lessons learned for the future. +This document is intended to chronicle the decisions made by the [Storage SIG](/sig-storage/README.md) near the end of the Kubernetes 1.3 release with the storage stack that were not well understood by the wider community. This document should explain those decisions, why the SIG made the exception, detail the impact, and offer lessons learned for the future. ## What Problem Were We Trying to Solve? Kubernetes 1.2 had numerous problems and issues with the storage framework that arose from organic growth of the architecture as it tackled numerous new features it was not initially designed for. There were race conditions, maintenance and stability issues, and architectural problems with all major components of the storage stack including the Persistent Volume (PV) & Persistent Volume Claim (PVC) controller and the attach/detach and mount/unmount logic. @@ -41,7 +41,7 @@ Below are the Github Issues that were filed for this area: ## How Did We Solve the Problem? Addressing these issues was the main deliverable for storage in 1.3. This required an in depth rewrite of several components. -Early in the 1.3 development cycle (March 28 to April 1, 2016) several community members in the Storage SIG met at a week long face-to-face summit at Google's office in Mountain View to address these issues. A plan was established to approach the attach/detach/mount/unmount issues as a deliberate effort with contributors already handling the design. Since that work was already in flight and a plan established, the majority of the summit was devoted to resolving the PV/PVC controller issues. Meeting notes were captured [in this document](https://github.com/kubernetes/community/blob/master/sig-storage/1.3-retrospective/2016-03-28_Storage-SIG-F2F_Notes.pdf). +Early in the 1.3 development cycle (March 28 to April 1, 2016) several community members in the Storage SIG met at a week long face-to-face summit at Google's office in Mountain View to address these issues. A plan was established to approach the attach/detach/mount/unmount issues as a deliberate effort with contributors already handling the design. Since that work was already in flight and a plan established, the majority of the summit was devoted to resolving the PV/PVC controller issues. Meeting notes were captured [in this document](/sig-storage/1.3-retrospective/2016-03-28_Storage-SIG-F2F_Notes.pdf). Three projects were planned to fix the issues outlined above: * PV/PVC Controller Redesign (a.k.a. Provisioner/Binder/Recycler controller) @@ -63,7 +63,7 @@ The Kubelet Volume Redesign involved changing fundamental assumptions of data fl ## Impact: 1. **Release delay** - * The large amount of churn so late in the release with little stabilization time resulted in the delay of the release by one week: The Kubernetes 1.3 release [was targeted](https://github.com/kubernetes/features/blob/master/release-1.3/release-1.3.md) for June 20 to June 24, 2016. It ended up [going out on July 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.0). This was mostly due to the time to resolve a data corruption issue on ungracefully terminated pods caused by detaching of mounted volumes ([#27691](https://github.com/kubernetes/kubernetes/issues/27691)). A large number of the bugs introduced in the release were fixed in the 1.3.4 release which [was cut on August 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.4). + * The large amount of churn so late in the release with little stabilization time resulted in the delay of the release by one week: The Kubernetes 1.3 release [was targeted](https://git.k8s.io/features/release-1.3/release-1.3.md) for June 20 to June 24, 2016. It ended up [going out on July 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.0). This was mostly due to the time to resolve a data corruption issue on ungracefully terminated pods caused by detaching of mounted volumes ([#27691](https://github.com/kubernetes/kubernetes/issues/27691)). A large number of the bugs introduced in the release were fixed in the 1.3.4 release which [was cut on August 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.4). 2. **Instability in 1.3's Storage stack** * The Kubelet volume redesign shipped in 1.3.0 with several bugs. These were mostly due to unexpected interactions between the new functionality and other Kubernetes components. For example, secrets were handled serially not in parallel, namespace dependencies were not well understood, etc. Most of these issues were quickly identified and addressed but waited for 1.3 patch releases. * Issues related to this include: @@ -91,6 +91,6 @@ The value of the feature freeze date is to ensure the release has time to stabil * Status: [Planned for 1.5](https://docs.google.com/document/d/1-u1UA8mBiPZiyYUi7U7Up_e-afVegKmuhmc7fpVQ9hc/edit?ts=57bcd3d4&pli=1) * Discussed at [Storage-SIG F2F meeting held August 10, 2016](https://docs.google.com/document/d/1qVL7UE7TtZ_D3P4F7BeRK4mDOvYskUjlULXmRJ4z-oE/edit). See [notes](https://docs.google.com/document/d/1vA5ul3Wy4GD98x3GZfRYEElfV4OE8dBblSK4rnmrE_M/edit#heading=h.amd7ks7tpscg). 2. Establish a formal exception process for merging large changes after feature complete dates. - * Status: [Drafted as of 1.4](https://github.com/kubernetes/features/blob/master/EXCEPTIONS.md) + * Status: [Drafted as of 1.4](https://git.k8s.io/features/EXCEPTIONS.md) Kubernetes is an incredibly fast moving project, with hundreds of active contributors creating a solution that thousands of organization rely on. Stability, trust, and openness are paramount in both the product and the community around Kubernetes. We undertook this retrospective effort to learn from the 1.3 release's shipping delay. These action items and other work in the upcoming releases are part of our commitment to continually improve our project, our community, and our ability to deliver production-grade infrastructure platform software. diff --git a/sig-storage/contributing.md b/sig-storage/contributing.md index a6b5ea09..cbea6325 100644 --- a/sig-storage/contributing.md +++ b/sig-storage/contributing.md @@ -36,9 +36,9 @@ A great way to get involved is to pick an issue and help address it. We would lo ### Adding support for a new storage platform in Kubernetes For folks looking to add support for a new storage platform in Kubernetes, you have several options: - Write an in-tree volume plugin or provisioner: You can contribute a new in-tree volume plugin or provisioner, that gets built and ships with Kubernetes, for use within the Persistent Volume Framework. -[See the Ceph RBD volume plugin example](https://github.com/kubernetes/kubernetes/tree/master/pkg/volume/rbd) or [the AWS Provisioner example](https://github.com/kubernetes/kubernetes/pull/29006) +[See the Ceph RBD volume plugin example](https://git.k8s.io/kubernetes/pkg/volume/rbd) or [the AWS Provisioner example](https://github.com/kubernetes/kubernetes/pull/29006) - Write a FlexVolume plugin: This is an out-of-tree volume plugin which you develop and build separately outside of Kubernetes. -You then install the plugin on every Kubernetes host within your cluster and then [configure the plugin in Kubernetes as a FlexVolume](https://github.com/kubernetes/kubernetes/tree/master/examples/volumes/flexvolume) +You then install the plugin on every Kubernetes host within your cluster and then [configure the plugin in Kubernetes as a FlexVolume](https://git.k8s.io/kubernetes/examples/volumes/flexvolume) - Write a Provisioner Controller: You can write a separate controller that watches for pending claims with a specific selector label on them. Once an appropriate claim is discovered, the controller then provisions the appropriate storage intended for the claim and creates a corresponding persistent volume for the claim that includes the same label used in the original claim selector. This will ensure that the PV for the new diff --git a/sigs.yaml b/sigs.yaml index 31a9528f..8d3d255e 100644 --- a/sigs.yaml +++ b/sigs.yaml @@ -862,7 +862,7 @@ sigs: control system reasonably consume? For more details about our objectives please review our - [Scaling And Performance Goals](https://github.com/kubernetes/community/blob/master/sig-scalability/goals.md) + [Scaling And Performance Goals](https://git.k8s.io/community/sig-scalability/goals.md) label: scalability leads: - name: Wojciech Tyczynski -- cgit v1.2.3 From 947004128312740e0a0a0a6e089f71a59b762967 Mon Sep 17 00:00:00 2001 From: Christoph Blecker Date: Thu, 21 Dec 2017 18:27:24 -0800 Subject: Fix migrated from wiki page --- .../migrated-from-wiki/README.md | 48 +--------------------- 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/sig-contributor-experience/migrated-from-wiki/README.md b/sig-contributor-experience/migrated-from-wiki/README.md index c5b3806e..c34a79fe 100644 --- a/sig-contributor-experience/migrated-from-wiki/README.md +++ b/sig-contributor-experience/migrated-from-wiki/README.md @@ -1,47 +1 @@ - -# CLI SIG - -Covers kubectl and related tools. We focus on the development and standardization of the CLI framework and its dependencies, the establishment of conventions for writing CLI commands, POSIX compliance, and improving the command line tools from a developer and devops user experience and usability perspective. - -## Meetings -* [Wednesdays at 09:00 PT (Pacific Time)](https://zoom.us/my/sigcli) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=09:00&tz=PT%20%28Pacific%20Time%29). - -Meeting notes and Agenda can be found [here](https://docs.google.com/document/d/1r0YElcXt6G5mOWxwZiXgGu_X6he3F--wKwg-9UBc29I/edit?usp=sharing). -Meeting recordings can be found [here](https://www.youtube.com/playlist?list=PL69nYSiGNLP28HaTzSlFe6RJVxpFmbUvF). - -## Leads -* Fabiano Franz (**[@fabianofranz](https://github.com/fabianofranz)**), Red Hat -* Phillip Wittrock (**[@pwittrock](https://github.com/pwittrock)**), Google -* Tony Ado (**[@AdoHe](https://github.com/AdoHe)**), Alibaba - -## Contact -* [Slack](https://kubernetes.slack.com/messages/sig-cli) -* [Mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-cli) -* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/sig%2Fcli) - -## GitHub Teams - -The below teams can be mentioned on issues and PRs in order to get attention from the right people. -Note that the links to display team membership will only work if you are a member of the org. - -| Team Name | Details | Description | -| --------- |:-------:| ----------- | -| @kubernetes/sig-cli-api-reviews | [link](https://github.com/orgs/kubernetes/teams/sig-cli-api-reviews) | API Changes and Reviews | -| @kubernetes/sig-cli-bugs | [link](https://github.com/orgs/kubernetes/teams/sig-cli-bugs) | Bug Triage and Troubleshooting | -| @kubernetes/sig-cli-feature-requests | [link](https://github.com/orgs/kubernetes/teams/sig-cli-feature-requests) | Feature Requests | -| @kubernetes/sig-cli-maintainers | [link](https://github.com/orgs/kubernetes/teams/sig-cli-maintainers) | CLI Maintainers | -| @kubernetes/sig-cli-misc | [link](https://github.com/orgs/kubernetes/teams/sig-cli-misc) | General Discussion | -| @kubernetes/sig-cli-pr-reviews | [link](https://github.com/orgs/kubernetes/teams/sig-cli-pr-reviews) | PR Reviews | -| @kubernetes/sig-cli-proposals | [link](https://github.com/orgs/kubernetes/teams/sig-cli-proposals) | Design Proposals | -| @kubernetes/sig-cli-test-failures | [link](https://github.com/orgs/kubernetes/teams/sig-cli-test-failures) | Test Failures and Triage | - - - - +The content in here has been migrated from https://github.com/kubernetes/community/wiki and is likely severely out of date. Please contact this SIG if you have questions or ideas about where this content should go. -- cgit v1.2.3 From f2816c8bab6330512461c83400e5d69ea9f5d19b Mon Sep 17 00:00:00 2001 From: Christoph Blecker Date: Fri, 22 Dec 2017 14:03:56 -0800 Subject: Fix some more links --- contributors/guide/README.md | 2 +- sig-storage/1.3-retrospective/README.md | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/contributors/guide/README.md b/contributors/guide/README.md index 514a94c2..0eda6d9c 100644 --- a/contributors/guide/README.md +++ b/contributors/guide/README.md @@ -111,7 +111,7 @@ SIGs also have their own CONTRIBUTING.md files, which may contain extra informat Like everything else in Kubernetes, a SIG is an open, community, effort. Anybody is welcome to jump into a SIG and begin fixing issues, critiquing design proposals and reviewing code. SIGs have regular [video meetings](https://kubernetes.io/community/) which everyone is welcome to. Each SIG has a kubernetes slack channel that you can join as well. -There is an entire SIG ([sig-contributor-experience](../../sig-contributor-experience/README.md)) devoted to improving your experience as a contributor. +There is an entire SIG ([sig-contributor-experience](/sig-contributor-experience/README.md)) devoted to improving your experience as a contributor. Contributing to Kubernetes should be easy. If you find a rough edge, let us know! Better yet, help us fix it by joining the SIG; just show up to one of the [bi-weekly meetings](https://docs.google.com/document/d/1qf-02B7EOrItQgwXFxgqZ5qjW0mtfu5qkYIF1Hl4ZLI/edit). diff --git a/sig-storage/1.3-retrospective/README.md b/sig-storage/1.3-retrospective/README.md index 08668cc6..b9bd35cd 100644 --- a/sig-storage/1.3-retrospective/README.md +++ b/sig-storage/1.3-retrospective/README.md @@ -6,7 +6,7 @@ **Collaborators:** Saad Ali ([@saad-ali](https://github.com/saad-ali)), Paul Morie ([@pmorie](https://github.com/pmorie)), Tim Hockins ([@thockin](https://github.com/thockin)), Steve Watt ([@wattsteve](https://github.com/wattsteve)) **Links:** -* [1.3 Schedule Dates](https://git.k8s.io/features/release-1.3/release-1.3.md) +* [1.3 Schedule Dates](https://git.k8s.io/sig-release/releases/release-1.3/release-1.3.md) ## Purpose This document is intended to chronicle the decisions made by the [Storage SIG](/sig-storage/README.md) near the end of the Kubernetes 1.3 release with the storage stack that were not well understood by the wider community. This document should explain those decisions, why the SIG made the exception, detail the impact, and offer lessons learned for the future. @@ -18,11 +18,11 @@ The PV/PVC controller handles the connection of provisioned storage volumes to a A characteristic list of issues (as not all of them were well captured in GitHub issues) include: -1. Approximately a 5% rate of incidents under controlled conditions where operations related to Claims binding to Persistent Volumes would fail. +1. Approximately a 5% rate of incidents under controlled conditions where operations related to Claims binding to Persistent Volumes would fail. 2. Rapid creation and deletion of pods referencing the same volume could result in attach/detach events being triggered out of order resulting in detaching of volumes in use (resulting in data loss/corruption). The current 1.2 work around was to fail the operation. This led to surprises and failures in launching pods that referenced the same volume. 3. Item #2 created instability in use of multiple pods referencing the same Volume (a supported feature) even when only one pod uses it at a time ([#19953](https://github.com/kubernetes/kubernetes/issues/19953)) 4. Hiccups in the operation flow of binding the Claims to Volumes resulted in timeouts of tens of minutes. -5. External object bleeding. Much of the logic was centered on a state machine that lived in the kubelet. Other kube components had to be aware of the state machine and other aspects of the binding framework to use Volumes. +5. External object bleeding. Much of the logic was centered on a state machine that lived in the kubelet. Other kube components had to be aware of the state machine and other aspects of the binding framework to use Volumes. 6. Maintenance was difficult as this work was implemented in three different controllers that spread the logic for provisioning, binding, and recycling Volumes. 7. Kubelet failures on the Node could “strand” storage. Requiring users to manually unmount storage. 8. A pod's long running detach routine could impact other pods as the operations run synchronously in the kubelet sync loop. @@ -52,7 +52,7 @@ At the end of the design summit, the attendees of the summit agreed to pseudo co Resources were established for the PV/PVC controller rework at the conclusion of the design summit and the existing resources on the attach/detach/mount/unmount work deemed acceptable to complete the other two projects. -At this point, a group of engineers were assigned to work on the three efforts that compromised the overhaul. The plan was to not only include development work but comprehensive testing with time to have the functionality “soak” weeks before 1.3 shipped. These engineers were composed of a hybrid team of Red Hat and Google. The allocation of work made making all three sub deliverables in 1.3 aggressive but reasonable. +At this point, a group of engineers were assigned to work on the three efforts that compromised the overhaul. The plan was to not only include development work but comprehensive testing with time to have the functionality “soak” weeks before 1.3 shipped. These engineers were composed of a hybrid team of Red Hat and Google. The allocation of work made making all three sub deliverables in 1.3 aggressive but reasonable. Near the end of 1.3 development, on May 13, 2016, approximately one week prior to code freeze, a key engineer for this effort left the project. This disrupted the Kubelet Volume Redesign effort. The PV/PVC controller was complete (PR [#24331](https://github.com/kubernetes/kubernetes/pull/24331)) and committed at this point. However the Attach/Detach Controller was dependent on the Kubelet Volume Redesign and was impacted. @@ -60,10 +60,10 @@ The leads involved with the projects met and the Kubelet Volume Redesign work wa The Kubelet Volume Redesign involved changing fundamental assumptions of data flow and volume operations in kubelet. The high level change introduced a new volume manager in kubelet that handled mount/unmount logic and enabled attach/detach logic to be offloaded to the master (by default, while retaining the ability for kubelet to do attach/detach on its own). The remaining work to complete the effort was the kubelet volume redesign PR ([#26801](https://github.com/kubernetes/kubernetes/pull/26801)). This combined with the attach/detach controller (PR [#25457](https://github.com/kubernetes/kubernetes/pull/25457)) were substantial changes to the stack. -## Impact: +## Impact: 1. **Release delay** - * The large amount of churn so late in the release with little stabilization time resulted in the delay of the release by one week: The Kubernetes 1.3 release [was targeted](https://git.k8s.io/features/release-1.3/release-1.3.md) for June 20 to June 24, 2016. It ended up [going out on July 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.0). This was mostly due to the time to resolve a data corruption issue on ungracefully terminated pods caused by detaching of mounted volumes ([#27691](https://github.com/kubernetes/kubernetes/issues/27691)). A large number of the bugs introduced in the release were fixed in the 1.3.4 release which [was cut on August 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.4). + * The large amount of churn so late in the release with little stabilization time resulted in the delay of the release by one week: The Kubernetes 1.3 release [was targeted](https://git.k8s.io/sig-release/releases/release-1.3/release-1.3.md) for June 20 to June 24, 2016. It ended up [going out on July 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.0). This was mostly due to the time to resolve a data corruption issue on ungracefully terminated pods caused by detaching of mounted volumes ([#27691](https://github.com/kubernetes/kubernetes/issues/27691)). A large number of the bugs introduced in the release were fixed in the 1.3.4 release which [was cut on August 1, 2016](https://github.com/kubernetes/kubernetes/releases/tag/v1.3.4). 2. **Instability in 1.3's Storage stack** * The Kubelet volume redesign shipped in 1.3.0 with several bugs. These were mostly due to unexpected interactions between the new functionality and other Kubernetes components. For example, secrets were handled serially not in parallel, namespace dependencies were not well understood, etc. Most of these issues were quickly identified and addressed but waited for 1.3 patch releases. * Issues related to this include: -- cgit v1.2.3