Skip to content

Commit

Permalink
Enable upstream tests
Browse files Browse the repository at this point in the history
  • Loading branch information
smarterclayton committed Mar 4, 2018
1 parent 63e0cde commit e8aaec8
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 29 deletions.
19 changes: 19 additions & 0 deletions test/extended/extended_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,25 @@ import (

_ "k8s.io/kubernetes/test/e2e"

// test sources
_ "k8s.io/kubernetes/test/e2e/apimachinery"
_ "k8s.io/kubernetes/test/e2e/apps"
_ "k8s.io/kubernetes/test/e2e/auth"
_ "k8s.io/kubernetes/test/e2e/autoscaling"
_ "k8s.io/kubernetes/test/e2e/common"
_ "k8s.io/kubernetes/test/e2e/instrumentation"
_ "k8s.io/kubernetes/test/e2e/kubectl"
// _ "k8s.io/kubernetes/test/e2e/lifecycle"
// _ "k8s.io/kubernetes/test/e2e/lifecycle/bootstrap"
// _ "k8s.io/kubernetes/test/e2e/multicluster"
_ "k8s.io/kubernetes/test/e2e/network"
_ "k8s.io/kubernetes/test/e2e/node"
_ "k8s.io/kubernetes/test/e2e/scalability"
_ "k8s.io/kubernetes/test/e2e/scheduling"
_ "k8s.io/kubernetes/test/e2e/servicecatalog"
_ "k8s.io/kubernetes/test/e2e/storage"
// _ "k8s.io/kubernetes/test/e2e/ui"

_ "github.com/openshift/origin/test/extended/builds"
_ "github.com/openshift/origin/test/extended/cli"
_ "github.com/openshift/origin/test/extended/cluster"
Expand Down
59 changes: 30 additions & 29 deletions test/extended/util/test.go
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,9 @@ func createTestingNS(baseName string, c kclientset.Interface, labels map[string]
return ns, err
}
addRoleToE2EServiceAccounts(authorizationClient, []kapiv1.Namespace{*ns}, bootstrappolicy.ViewRoleName)

// in practice too many kube tests ignore scheduling constraints
allowAllNodeScheduling(c, ns.Name)
}

// some tests assume they can schedule to all nodes
Expand All @@ -264,10 +267,18 @@ var (
`\[Feature:ImagePrune\]`,
// Quota isn't turned on by default, we should do that and then reenable these tests
`\[Feature:ImageQuota\]`,
// Currently disabled by default
`\[Feature:Initializers\]`,
// Needs special configuration
`\[Feature:Audit\]`,
// has cleanup issues
`\[Feature:Example\]`,

// May be too expensive
// `\[Feature:ManualPerformance\]`,
// Don't run kube-dns
`kube-dns-autoscaler`,

// vSphere tests can be skipped generally
`vsphere`,

// Depends on external components, may not need yet
`Monitoring`, // Not installed, should be
Expand All @@ -277,18 +288,13 @@ var (
`kube-ui`, // Not installed by default
`^Kubernetes Dashboard`, // Not installed by default (also probably slow image pull)

`\[Feature:Federation\]`, // Not enabled yet
`\[Feature:Federation12\]`, // Not enabled yet
`Ingress`, // Not enabled yet
`Cinder`, // requires an OpenStack cluster
`should support r/w`, // hostPath: This test expects that host's tmp dir is WRITABLE by a container. That isn't something we need to guarantee for openshift.
`should check that the kubernetes-dashboard instance is alive`, // we don't create this
// `\[Feature:ManualPerformance\]`, // requires /resetMetrics which we don't expose
`Ingress`, // Not enabled yet
`Cinder`, // requires an OpenStack cluster

// See the CanSupport implementation in upstream to determine wether these work.
`Ceph RBD`, // Works if ceph-common Binary installed (but we can't guarantee this on all clusters).
`GlusterFS`, // May work if /sbin/mount.glusterfs to be installed for plugin to work (also possibly blocked by serial pulling)
`should support r/w`, // hostPath: This test expects that host's tmp dir is WRITABLE by a container. That isn't something we need to guarantee for openshift.
`Ceph RBD`, // Works if ceph-common Binary installed (but we can't guarantee this on all clusters).
`GlusterFS`, // May work if /sbin/mount.glusterfs to be installed for plugin to work (also possibly blocked by serial pulling)
// `should support r/w`, // hostPath: This test expects that host's tmp dir is WRITABLE by a container. That isn't something we need to guarantee for openshift.

// Failing because of https://github.com/openshift/origin/issues/12365 against a real cluster
//`should allow starting 95 pods per node`,
Expand All @@ -300,16 +306,13 @@ var (
`ServiceAccounts should ensure a single API token exists`, // We create lots of secrets
`should test kube-proxy`, // needs 2 nodes
`authentication: OpenLDAP`, // needs separate setup and bucketing for openldap bootstrapping
`NFS`, // no permissions https://github.com/openshift/origin/pull/6884
`\[Feature:Example\]`, // has cleanup issues
// `NFS`, // no permissions https://github.com/openshift/origin/pull/6884
`NodeProblemDetector`, // requires a non-master node to run on
//`unchanging, static URL paths for kubernetes api services`, // the test needs to exclude URLs that are not part of conformance (/logs)

// Needs triage to determine why it is failing
`Addon update`, // TRIAGE
`SSH`, // TRIAGE
`\[Feature:Upgrade\]`, // TRIAGE
`SELinux relabeling`, // https://github.com/openshift/origin/issues/7287
`SSH`, // TRIAGE
// `SELinux relabeling`, // https://github.com/openshift/origin/issues/7287
`openshift mongodb replication creating from a template`, // flaking on deployment
//`Update Demo should do a rolling update of a replication controller`, // this is flaky and needs triaging

Expand All @@ -322,36 +325,33 @@ var (
// Requires too many pods per node for the per core defaults
//`should ensure that critical pod is scheduled in case there is no resources available`,

// Need multiple nodes
`validates that InterPodAntiAffinity is respected if matching 2`,

// Inordinately slow tests
`should create and stop a working application`,
//`should always delete fast`, // will be uncommented in etcd3

// tested by networking.sh and requires the environment that script sets up
`\[networking\] OVS`,

// We don't install KubeDNS
`should check if Kubernetes master services is included in cluster-info`,

// this tests dns federation configuration via configmap, which we don't support yet
`DNS configMap`,

// this tests the _kube_ downgrade. we don't support that.
`\[Feature:Downgrade\]`,

// upstream flakes
`validates resource limits of pods that are allowed to run`, // can't schedule to master due to node label limits, also fiddly
// `validates resource limits of pods that are allowed to run`, // can't schedule to master due to node label limits, also fiddly

// TODO undisable:
`should provide basic identity`, // needs a persistent volume provisioner in single node, host path not working
// `should provide basic identity`, // needs a persistent volume provisioner in single node, host path not working
`should idle the service and DeploymentConfig properly`, // idling with a single service and DeploymentConfig [Conformance]

// TODO: would be good to use
`Metadata Concealment`,

// slow as sin and twice as ugly (11m each)
"Pod should avoid to schedule to node that have avoidPod annotation",
"Pod should be schedule to node that satisify the PodAffinity",
"Pod should be prefer scheduled to node that satisify the NodeAffinity",

// Upstream-install specific
`Firewall rule should have correct firewall rules for e2e cluster`,
}
excludedTestsFilter = regexp.MustCompile(strings.Join(excludedTests, `|`))

Expand All @@ -366,6 +366,7 @@ var (
serialTests = []string{
`\[Serial\]`,
`\[Disruptive\]`,
`\[Feature:Performance\]`, // requires isolation
`\[Feature:ManualPerformance\]`, // requires isolation
`\[Feature:HighDensityPerformance\]`, // requires no other namespaces
`Service endpoints latency`, // requires low latency
Expand Down

0 comments on commit e8aaec8

Please sign in to comment.