{"id":13446285,"url":"https://github.com/openshift/origin","last_synced_at":"2025-05-12T03:39:57.754Z","repository":{"id":19208907,"uuid":"22442668","full_name":"openshift/origin","owner":"openshift","description":"Conformance test suite for OpenShift","archived":false,"fork":false,"pushed_at":"2025-05-08T14:26:00.000Z","size":1299699,"stargazers_count":8541,"open_issues_count":245,"forks_count":4721,"subscribers_count":467,"default_branch":"main","last_synced_at":"2025-05-08T15:31:05.216Z","etag":null,"topics":["caas","ci-cd","containers","continuous-delivery","continuous-deployment","continuous-integration","devops","go","kubernetes","openshift","openshift-origin","paas"],"latest_commit_sha":null,"homepage":"http://www.openshift.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openshift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-07-30T20:04:05.000Z","updated_at":"2025-05-08T07:59:05.000Z","dependencies_parsed_at":"2023-10-14T19:33:10.099Z","dependency_job_id":"3e7bd6c1-a199-45a9-b2b6-ab5ce6762df5","html_url":"https://github.com/openshift/origin","commit_stats":{"total_commits":23390,"total_committers":671,"mean_commits":34.85842026825633,"dds":0.868875587858059,"last_synced_commit":"9c2f988b5e64eb62152a9dc3c7e99d4ebeb3a8cb"},"previous_names":[],"tags_count":72,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Forigin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Forigin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Forigin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Forigin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshift","download_url":"https://codeload.github.com/openshift/origin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253669462,"owners_count":21945099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caas","ci-cd","containers","continuous-delivery","continuous-deployment","continuous-integration","devops","go","kubernetes","openshift","openshift-origin","paas"],"created_at":"2024-07-31T05:00:50.525Z","updated_at":"2025-05-12T03:39:52.736Z","avatar_url":"https://github.com/openshift.png","language":"Go","funding_links":[],"categories":["Go","开源类库","Dashboards \u0026 Portals","Open source library","HarmonyOS","Back-End Development","GitHub projects","kubernetes","PaaS"],"sub_categories":["集群管理","Cluster Management","Windows Manager"],"readme":"Origin Kubernetes\n=================\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/openshift/origin)](https://goreportcard.com/report/github.com/openshift/origin)\n[![GoDoc](https://godoc.org/github.com/openshift/origin?status.png)](https://godoc.org/github.com/openshift/origin)\n[![Licensed under Apache License version 2.0](https://img.shields.io/github/license/openshift/origin.svg?maxAge=2592000)](https://www.apache.org/licenses/LICENSE-2.0)\n\nThis repo was previously the core Kubernetes tracking repo for\n[OKD](https://github.com/openshift/okd), and where OpenShift's\n`hyperkube` and `openshift-test` binaries were maintained. As of July\n2020, the purpose and maintenance strategy of the repo varies by\nbranch.\n\n## Maintenance of `master` and `release-x.x` branches for 4.6 and above\n\nThese branches no longer include the code required to produce\n`hyperkube` binaries, and are limited to maintaining the `openshift-tests`\nbinary.  Responsibility for maintaining hyperkube has transitioned to\nthe [openshift/kubernetes](https://github.com/openshift/kubernetes)\nrepo.\n\nBackports and carries against upstream should be proposed to\n`openshift/kubernetes`. If changes merged to `openshift/kubernetes`\nneed to land in `origin`, it will be necessary to follow up with a PR\nto `origin` that bumps the vendoring.\n\nBranch names are correlated across the 2 repositories such that\nchanges merged to a given branch in `openshift/kubernetes` should be\nvendored into the same branch in `origin` (e.g. `master` in\n`openshift/kubernetes` is vendored into `master` in `origin`).\n\n**NOTE:** Vendoring of the `master` and `release-x.x` branches of\n`openshift/kubernetes` into the equivalent branches in `origin` is\nintended to be temporary. At some point in the near future, `origin`\nwill switch to vendoring origin-specific branches (e.g\n`origin-4.6-kubernetes-1.19.2`) to minimize the scope of backports and\ncarries that need to be considered in the context of\n`openshift/kubernetes` rebases.\n\n### Test annotation rules\n\nTest annotation rules are used to label e2e tests so that they can be\nfiltered or skipped. For example, rules can be defined that match kube\ne2e tests that are known to be incompatible with openshift and label\nthose tests to be skipped.\n\nMaintenance of test annotation rules is split between the\n`openshift/kubernetes` and `origin` repos to ensure that PRs proposed\nto `openshift/kubernetes` can be validated against the set of kube e2e\ntests known to be compatible with openshift.\n\nTest annotation rules for kubernetes e2e tests are maintained in:\n\nhttps://github.com/openshift/kubernetes/blob/master/openshift-hack/e2e/annotate/rules.go\n\nTest annotation rules for openshift e2e tests are maintained in:\n\nhttps://github.com/openshift/origin/blob/master/test/extended/util/annotate/rules.go\n\nOrigin vendors the kube rules and applies both the kube and openshift\nrules to the set of tests included in the `openshift-tests` binary.\n\nIn order to update test annotation rules for kube e2e tests, it will\nbe necessary to:\n\n - Update `rules.go` in `openshift/kubernetes`\n - Bump the version of `openshift/kubernetes` vendored in origin\n\n### Vendoring from `openshift/kubernetes`\n\nThese origin branches vendor `k8s.io/kubernetes` and some of its\nstaging repos (e.g. `k8s.io/api`) from our\n[openshift/kubernetes](https://github.com/openshift/kubernetes) fork.\nUpstream staging repos are used where possible, but some tests depends\non functionality that is only present in the fork.\n\nWhen a change has merged to an `openshift/kubernetes` branch that\nneeds to be vendored into the same branch in `origin`, the\n`hack/update-kube-vendor.sh` helper script simplifies updating the go\nmodule configuration for all dependencies sourced from\n`openshift/kubernetes` for that branch. The script requires either the\nname of a branch or a SHA from `openshift/kubernetes`:\n\n```bash\n$ hack/update-kube-vendor.sh \u003copenshift/kubernetes branch name or SHA\u003e\n```\n\nThe script also supports performing a fake bump to validate an as-yet\nunmerged change to `openshift/kubernetes`. This can be accomplished by\nsupplying the name of a fork repo as the second argument to the\nscript:\n\n```bash\n$ hack/update-kube-vendor.sh \u003cbranch name or SHA\u003e github.com/myname/kubernetes\n```\n\nOnce the script has executed, the vendoring changes will need to be\ncommitted and proposed to the repo.\n\n#### Working around '410 Gone' error\n\nIf the script returns '410 Gone' as per the error that follows, it may\nbe that the golang checksum server does not yet know about the target\nSHA.\n\n```\ngo: k8s.io/kubernetes@v1.21.1 (replaced by github.com/openshift/kubernetes@v1.21.2-0.20210603185452-2dfc46b23003): verifying go.mod: g\nithub.com/openshift/kubernetes@v1.21.2-0.20210603185452-2dfc46b23003/go.mod: reading https://sum.golang.org/lookup/github.com/openshif\nt/kubernetes@v1.21.2-0.20210603185452-2dfc46b23003: 410 Gone\n        server response: not found:\n```\n\nThe workaround is to set `GOSUMDB=off` to disable the checksum\ndatabase for the vendoring update:\n\n```bash\n$ GOSUMDB=off hack/update-kube-vendor.sh \u003cbranch name or SHA\u003e\n```\n\n## Maintenance of release-4.5, release-4.4 and release-4.3\n\nReleases prior to 4.6 continue to maintain hyperkube in the `origin`\nrepo in the `release-4.x` branches. Persistent carries and backports\nfor those branches should continue to be submitted directly to\norigin. `openshift/kubernetes` is not involved except for rebases.\n\n## End-to-End (e2e) and Extended Tests\n\nEnd to end tests (e2e) should verify a long set of flows in the\nproduct as a user would see them.  Two e2e tests should not overlap\nmore than 10% of function and are not intended to test error\nconditions in detail. The project examples should be driven by e2e\ntests. e2e tests can also test external components working together.\n\nAll e2e tests are compiled into the `openshift-tests` binary.\nTo build the test binary, run `make`.\n\nTo run a specific test, or an entire suite of tests, read\n[test/extended/README](https://github.com/openshift/origin/blob/master/test/extended/README.md)\nfor more information.\n\n## Updating external examples\n\n`hack/update-external-example.sh` will pull down example files from external\nrepositories and deposit them under the `examples` directory.\nRun this script if you need to refresh an example file, or add a new one.  See\nthe script and `examples/quickstarts/README.md` for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Forigin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshift%2Forigin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Forigin/lists"}