openshift/origin

Conformance test suite for OpenShift

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 27 minutes ago
Added to GitGenius on April 7th, 2021
Created on July 30th, 2014
Open Issues & Pull Requests: 299 (+0)
Number of forks: 4,800
Total Stargazers: 8,680 (+0)
Total Subscribers: 447 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.6 hours
Mean response time: 309.1 days
90th percentile: 1898.4 days
Tracked items: 45

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 7% of issues opened in the past year have been closed. Three people close 59% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,362 days
Stale 30+ days: 5
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • lifecycle/rotten (39)
  • lifecycle/frozen (8)
  • priority/P2 (6)
  • kind/bug (5)
  • lifecycle/stale (5)
  • priority/P1 (4)
  • priority/P3 (4)
  • component/cli (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The openshift/origin repository serves as the conformance test suite for OpenShift, written in Go. Historically, this repository was the core Kubernetes tracking repository for OKD and maintained OpenShift's hyperkube and openshift-test binaries. However, as of July 2020, the repository's purpose and maintenance strategy diverged based on branch versions, reflecting a significant architectural shift in how OpenShift manages its Kubernetes integration.

For main and release branches covering version 4.6 and above, the repository no longer includes code for producing hyperkube binaries. Instead, it focuses exclusively on maintaining the openshift-tests binary. The responsibility for hyperkube maintenance transitioned to the openshift/kubernetes repository. This separation of concerns means that backports and carries against upstream Kubernetes should be proposed to openshift/kubernetes, with vendoring updates then applied to origin to keep dependencies synchronized. The two repositories maintain correlated branch naming conventions to ensure consistency across the ecosystem.

The repository implements test exclusion through environmental selector-based filtering rather than test annotations. This approach allows tests to be filtered or skipped based on cluster environment and configuration, enabling selective exclusion of Kubernetes e2e tests known to be incompatible with specific OpenShift configurations. Test exclusion rules are split between openshift/kubernetes and origin repositories, with kubernetes e2e test rules maintained in the kubernetes repository and OpenShift-specific e2e test rules maintained in origin under pkg/test/extensions.

End-to-end and extended tests within the repository verify long flows as users would experience them in production. These tests are compiled into the openshift-tests binary and are designed to avoid excessive overlap, with the guideline that two e2e tests should not overlap more than ten percent of function. The repository includes comprehensive testing infrastructure documented in test/extended/README.

For releases prior to version 4.6, specifically release-4.5, release-4.4, and release-4.3, the origin repository continues to maintain hyperkube directly within release-x.x branches. Persistent carries and backports for these older branches are submitted directly to origin rather than through openshift/kubernetes. The repository provides helper scripts like hack/update-kube-vendor.sh to simplify the vendoring process and hack/update-external-example.sh to manage external example files, supporting developers in maintaining the test suite and documentation.