Commit Graph

167 Commits (999e2e0ce847fb8d2db316240770fcaf933d8cd4)

Author SHA1 Message Date
Kubernetes Prow Robot 732cb10019
Merge pull request #73402 from pohly/e2e-vendor-parameter
e2e: reject unknown providers
2019-02-04 12:59:06 -08:00
Matt Matejczyk 35543f8989 Allow dumping full systemd journal in log-dump.sh.
The feature is gated behind a newly introduced 'dump-systemd-journal' flag.
We want to dump the full systemd journal in our scalability performance tests.
2019-02-03 21:28:37 +01:00
Patrick Ohly 7b5e65977c e2e: "skeleton" as fallback, empty string as default
Not accepting --provider= (i.e. setting an empty provider name) broke
some test jobs. As suggested in
https://github.com/kubernetes/kubernetes/pull/73402#issuecomment-459368230,
now --provider= and not passing --provider at all both trigger a
message and then continue as if --provider=skeleton had been used.
2019-01-31 15:54:48 +01:00
Patrick Ohly dde3445a45 e2e: change default for --provider
The empty string was the default and then triggered a special
warning. There's no good reason for that behavior, so now the special
handling for "unset provider" is gone and "skeleton" is the non-empty
default for the value.
2019-01-29 19:50:40 +01:00
Patrick Ohly f3d79e152e e2e: reject unknown providers
This finishes the work started for 1.13: instead of merely warning
about an unknown value given to --profile, the test/e2e/e2e.test
binary will now print an error and refuse to run.

Fixes: #70200
2019-01-28 19:55:45 +01:00
Jordan Liggitt 40e6f52299 plumb bearer token and token file for e2e 2018-12-07 17:01:47 -05:00
k8s-ci-robot 16c0f3ce4a
Merge pull request #71493 from smarterclayton/limit_max
e2e: Allow max-node-to-gather to be changed when running against larger clusters
2018-11-30 01:20:17 -08:00
Maciej Borsz 9e493e169d Implement NodeKiller -- a util to simulate node failures. 2018-11-29 12:56:50 +01:00
Clayton Coleman 653ed22fc9
e2e: Allow max-node-to-gather to be changed when running against larger clusters
While debugging issues I found myself having to change the constant in the code
for a cluster > 20 nodes, and then on a very small cluster I found myself passing
0 to avoid the mostly useless output (it's useful in specific scenarios but generates
a *lot* of output that doesn't help debugging the rest of the time).
2018-11-27 23:26:54 -05:00
Davanum Srinivas 954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
k8s-ci-robot 5581f52c0f
Merge pull request #69111 from rajansandeep/clustername
Adapt e2e tests for cluster-domain other than cluster.local
2018-11-01 23:45:22 -07:00
Sandeep Rajan 4c8a65ac01 configure cluster domain via flags 2018-11-01 12:27:54 -04:00
walter 735ad9ed63 Fixed lint errors for pkg/cloudprovider/providers/gce.
Fixed minor issues.
Cleaned up from merge errors.
2018-10-29 11:52:24 -07:00
Patrick Ohly bf08f5c63c e2e: allow unknown providers with a warning
The E2E refactoring tightened the sanity checking of the --provider
parameter such that it only allowed known providers. That seemed to
make sense because it catches typos, but it turned out that various
callers depended on the "accept arbitrary provider value" behavior,
therefore it gets restored.
2018-10-24 21:57:02 +02:00
Patrick Ohly 8b17db7e0c e2e: modular framework
Not all users of the E2E framework want to run cloud-provider specific
tests. By splitting out the code it becomes possible to decide in
a E2E test suite which providers are supported.

This is achieved in two ways:
- the framework calls certain functions through a provider
  interface instead of calling specific cloud provider functions
  directly
- tests that are cloud-provider specific directly import the
  new provider packages

The ingress test utilities are only needed by a few tests. Splitting
them out into a separate package makes the framework simpler for test
suites not using those tests.

Fixes: #66649
2018-10-11 11:16:11 +02:00
k8s-ci-robot 9c94363ef9
Merge pull request #69105 from pohly/e2e-settings
E2E settings
2018-10-10 12:01:07 -07:00
Patrick Ohly 7305a3e395 e2e/lifecycle: decentralized settings
Tests settings should be defined in the test source code itself
because conceptually the framework is a separate entity that not all
test authors can modify.

For the sake of backwards compatibility the name of the command line
flags are not changed.
2018-10-05 14:24:35 +02:00
Patrick Ohly 752203d3fa e2e/instrumentation: decentralized settings
Tests settings should be defined in the test source code itself
because conceptually the framework is a separate entity that not all
test authors can modify.

Using the new framework/config code also has several advantages:
- defaults can be set with less code
- no confusion around what's a duration
- the options can also be set via command line flags

While at it, a minor bug gets fixed:
- readConfig() returns only defaults when called while
  registering Ginkgo tests because Viperize() gets called later,
  so the scale in the logging soak test couldn't really be configured;
  now the value is read when the test runs and thus can be changed

The options get moved into the "instrumentation.logging"
resp. "instrumentation.monitoring" group to make it more obvious where
they are used. This is a breaking change, but that was already
necessary to improve the duration setting from plain integer to a
proper time duration.
2018-10-05 14:24:35 +02:00
Patrick Ohly 8cde9c08f0 e2e/storage: decentralized settings
Tests shouldn't have to use the central context for their settings,
because conceptually tests and framework get developed independently.

This does not yet use the new framework/config utility code because
that code still needs to be reviewed.

Besides moving the flags, they also get renamed from the top-level
"--csiImage{Version|Registry}" to
"--storage.csi.image.{version|registry}". These flags were introduced
fairly recently and shouldn't be in use much, so now is a good time to
introduce a hierarchical naming for storage flags, in particular
because more flags will be added soon.
2018-10-05 14:24:35 +02:00
Patrick Ohly cf0dcc6ab2 e2e: clarify and enhance configuration support
Storing settings in the framework's TestContext is not something that
out-of-tree test authors can do because for them the framework is a
read-only upstream component. Conceptually the same is true for
in-tree tests, so the recommended approach is to define configuration
settings in the code that uses them.

How to do that is a bit uncertain. Viper has several
drawbacks (maintenance status uncertain, cannot list supported
options, cannot validate the configuration file). How to handle
configuration files is currently getting discussed for kubeadm, with
similar concerns about
Viper (https://github.com/kubernetes/kubeadm/issues/1040).

Instead of making a choice now for E2E, the recommendation is that
test authors continue to define command line flags as before, except
that they should do it in their own code and with better flag names.

But the ability to read options also from a file is useful, so
several enhancements get added:
- all settings defined via flags can also be read from a
  configuration file, without extra work for test authors
- framework/config makes it possible to populate a struct directly
  and define flags with a single function call
- a path and file suffix can be given to --viper-config (as in
  "--viper-config /tmp/e2e.json") instead of expecting the file in
  the current directory; as before, just plain "--viper-config e2e"
  still works
- if "--viper-config" is set, the file must exist; otherwise the
  "e2e" config is optional (as before)
- errors from Viper are no longer silently ignored, so syntax errors
  are detected early
- Viper support is optional: test suite authors who don't want
  it are not forced to use it by the e2e/framework
2018-10-05 14:22:18 +02:00
Walter Fender f3f46d5f5a Moving the cloudprovider interface to staging.
Individual implementations are not yet being moved.
Fixed all dependencies which call the interface.
Fixed golint exceptions to reflect the move.
Added project info as per @dims and
https://github.com/kubernetes/kubernetes-template-project.
Added dims to the security contacts.
Fixed minor issues.
Added missing template files.
Copied ControllerClientBuilder interface to cp.
This allows us to break the only dependency on K8s/K8s.
Added TODO to ControllerClientBuilder.
Fixed GoDeps.
Factored in feedback from JustinSB.
2018-10-04 14:41:20 -07:00
Kenichi Omichi b259e91420 Update options of master/node-os-distro
Some e2e tests are skipped by depending on Linux distribution of
master and node, and the options can be one of "debian", "ubuntu",
"gci" or "custom". This updates the help message of the options.
2018-10-03 17:44:28 +00:00
Davanum Srinivas 57f1f6e5b7
Use token file for in cluster config during e2e tests
Change-Id: I08e792d7c4db2d81861eec6f91028ebf26dea8db
2018-10-01 05:55:37 -04:00
Lubomir I. Ivanov a39cedd263 e2e/framework: update kubernetes-anywhere path 2018-09-18 00:04:54 +03:00
Lucas Käldström 7a840cb4c8
automated: Rename all package references 2018-08-29 19:07:52 +03:00
Maciej Borsz 0e04b4f31b In e2e framework, wait for kube-system daemonsets to be ready. 2018-08-16 15:20:23 +02:00
Kubernetes Submit Queue a9d2b5eeae
Merge pull request #63780 from pohly/csi-e2e-parameters
Automatic merge from submit-queue (batch tested with PRs 60699, 63780). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

e2e/storage: parameterize container images

**What this PR does / why we need it**:

The CSI integration test for hostpath was hard-coded to use the latest
stable release of the sidecar and hostpath container images. This
makes sense for regression testing of changes made in Kubernetes
itself, but the same test is also useful for testing the "canary"
images on quay.io before tagging them as a new release or for testing
locally produced images. Both is now possible via command line
parameters.

**Which issue(s) this PR fixes**:
Related-to: kubernetes-csi/docs#23

**Special notes for your reviewer**:

The commit message has usage instructions.

```release-note
NONE
```

/sig storage
2018-06-08 11:26:09 -07:00
Kubernetes Submit Queue f3d54f3f95
Merge pull request #64311 from liggitt/min-startup-pods
Automatic merge from submit-queue (batch tested with PRs 64318, 64269, 64438, 64516, 64311). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Revert "Change default min-startup-pods value"

This reverts commit de0bf05f46.

The number of pods to require is a cluster-dependent setting, and should be set by the invoker, not defaulted here

https://github.com/kubernetes/test-infra/pull/8135 must be merged first

```release-note
NONE
```
2018-05-30 11:25:29 -07:00
Patrick Ohly cc2a5954ac e2e/storage: central argument handling
Putting the command line argument handling into the central test
context seems like the better solution, in particular considering that
argument handling might get changed in the future to use Viper.
2018-05-28 11:46:50 +02:00
Maciej Szulik 383872615d
Remove kubectl reapers 2018-05-25 22:18:05 +02:00
Jordan Liggitt 2a9d491fb8
Revert "Change default min-startup-pods value"
This reverts commit de0bf05f46.
2018-05-25 09:05:38 -04:00
Kubernetes Submit Queue 5686fcfcf8
Merge pull request #62328 from serathius/monitoring-default-none
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Deprecate InfluxDB cluster monitoring

InfluxDB cluster monitoring addon will no longer be supported and will be removed in k8s 1.12.
Default monitoring solution will be changed to `standalone`.
Heapster will still be deployed for backward compatibility of `kubectl top`

```release-note
Stop using InfluxDB as default cluster monitoring
InfluxDB cluster monitoring is deprecated and will be removed in v1.12
```
cc @piosz
2018-05-16 07:07:05 -07:00
Kubernetes Submit Queue c2b4fc99df
Merge pull request #63911 from shyamjvs/change-default-minStartupPods-value
Automatic merge from submit-queue (batch tested with PRs 63850, 63911). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Change default min-startup-pods value

As ~all our e2e jobs on CI (not just scalability ones) seem to be setting this flag to 8. See - https://github.com/kubernetes/test-infra/blob/master/jobs/config.json

/cc @wojtek-t 

```release-note
NONE
```
2018-05-16 04:04:19 -07:00
Kubernetes Submit Queue 8c240523ca
Merge pull request #63870 from shyamjvs/autocalculate-allowed-not-ready-nodes
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Auto-calculate allowed-not-ready-nodes in test framework

Actually we (sig-scalability) are pretty much the only users of this flag.
This reduces the overhead of having to provide its value based on num-nodes each time we run our tests.

/cc @wojtek-t 

```release-note
NONE
```
2018-05-16 02:36:59 -07:00
Shyam Jeedigunta de0bf05f46
Change default min-startup-pods value 2018-05-16 10:50:00 +02:00
Shyam Jeedigunta 6514dd656c Auto-calculate allowed-not-ready-nodes in test framework 2018-05-16 09:50:13 +02:00
Shyam Jeedigunta 00abb651a9 Decrease default node schedulable timeout in e2e framework 2018-05-15 16:50:04 +02:00
Justin Santa Barbara 0081512ddc e2e: add a tooling argument to differentiate tooling
We expect lots of tools to be able to install on provider=gce - the
cluster API, kops, kube-up etc.

We introduce a new optional flag to e2e ('tooling') to enable switching
on the tooling, not just the cloud.

This will prove useful for upgrade tests, for example, where the
mechanism will likely vary by tooling, but is currently tightly bound to
the provider (i.e. cloud)
2018-05-09 09:42:36 -04:00
Marek Siarkowicz c21aeacc36 Remove InfluxDB from default cluster monitoring 2018-04-19 16:17:55 +02:00
Kubernetes Submit Queue bb8f58b6e6
Merge pull request #62195 from serathius/prometheus
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add prometheus cluster monitoring addon.

This PR adds new cluster monitoring addon based on prometheus.
It adds prometheus deployment with e2e tests.
Additional components will be added iterativly in future.
Manifests based on current Helm chart.
At current state it's not intended for production use.

cc @piosz @kawych @miekg
```release-note
Add prometheus cluster monitoring addon to kube-up
```
/sig instrumentation
/kind feature
/priority important-soon
2018-04-18 02:17:48 -07:00
Marek Siarkowicz 9544222e91 Test e2e prometheus addon 2018-04-13 11:12:10 +02:00
Yu-Ju Hong 59741bdfbd Remove rkt references in the codebase 2018-04-06 12:02:11 -07:00
wojtekt 550cf0f9e3 Introduce multimaster clusters support to e2e framework for GKE 2018-04-03 15:21:20 +02:00
Kubernetes Submit Queue 829ada8e30
Merge pull request #57965 from xiangpengzhao/cleanup-feature-gates
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update test framework featuregates type

**What this PR does / why we need it**:
A cleanup following #53025 and #57962.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: #53025
and #57962.

**Special notes for your reviewer**:
but yeah, not sure if it's worthy to do this :)

**Release note**:

```release-note
NONE
```
2018-02-24 07:34:19 -08:00
Rohit Ramkumar de4fb135ab Introduce some plumbing which makes it possible to specify which ingress
image to upgrade to for the upgrade test
2018-02-21 16:18:49 -08:00
Di Xu 48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00
Shyam Jeedigunta f8cee91372 Introduce apiserver profile-gathering library in testing framework 2018-02-02 13:27:29 +01:00
xiangpengzhao abdfa7f35f Update test framework featuregates type. 2018-02-01 17:15:12 +08:00
Robert Bailey 8d44e0b38a Remove the deprecated vagrant kube-up implementation. 2018-01-10 23:06:12 -08:00
Lantao Liu f64c508e2e Add getCRIClient and set default values for CRI related flags 2018-01-09 22:59:17 +00:00