add e2e functional test steps to hack/README.md (#332)

* add e2e functional test steps

* addressing comments
This commit is contained in:
Scott Creeley 2018-08-14 12:16:22 -04:00 committed by Jeff Vance
parent ce4f2058e3
commit 8f48078673

View File

@ -4,6 +4,7 @@
* [Lint, Test, Build](#lint-test-build) * [Lint, Test, Build](#lint-test-build)
* [Make Targets](#make-targets) * [Make Targets](#make-targets)
* [Make Variables](#make-variables) * [Make Variables](#make-variables)
* [Execute Functional Tests](#execute-functional-tests)
* [Submit PRs](#submit-prs) * [Submit PRs](#submit-prs)
* [Releases](#releases) * [Releases](#releases)
* [Vendoring Dependencies](#vendoring-dependencies) * [Vendoring Dependencies](#vendoring-dependencies)
@ -56,7 +57,7 @@ The standard workflow is performed inside a helper container to normalize the bu
- 'cluster-up': Start a default Kubernetes or Open Shift cluster. set KUBEVIRT_PROVIDER environment variable to either 'k8s-1.10.4' or 'os-3.10.0' to select the type of cluster. set KUBEVIRT_NUM_NODES to something higher than 1 to have more than one node. - 'cluster-up': Start a default Kubernetes or Open Shift cluster. set KUBEVIRT_PROVIDER environment variable to either 'k8s-1.10.4' or 'os-3.10.0' to select the type of cluster. set KUBEVIRT_NUM_NODES to something higher than 1 to have more than one node.
- 'cluster-down': Stop the cluster, doing a make cluster-down && make cluster-up will basically restart the cluster into an empty fresh state. - 'cluster-down': Stop the cluster, doing a make cluster-down && make cluster-up will basically restart the cluster into an empty fresh state.
- 'cluster-sync': Builds the controller/importer/cloner, and pushes it into a running cluster. The cluster must be up before running a cluster sync. Also generates a manifest and applies it to the running cluster after pushing the images to it. - 'cluster-sync': Builds the controller/importer/cloner, and pushes it into a running cluster. The cluster must be up before running a cluster sync. Also generates a manifest and applies it to the running cluster after pushing the images to it.
- 'functest': Run functional end to end tests against a running cluster. - 'functest': Run functional end to end tests against a running cluster. See [execute functional tests](#execute-functional-tests)
#### Make Variables #### Make Variables
Several variables are provided to alter the targets of the above `Makefile` recipes. Several variables are provided to alter the targets of the above `Makefile` recipes.
@ -69,6 +70,28 @@ These may be passed to a target as `$ make VARIABLE=value target`
- `VERBOSITY`: (default: 1) Set global log level verbosity - `VERBOSITY`: (default: 1) Set global log level verbosity
- `PULL_POLICY`: (default: IfNotPresent) Set global CDI pull policy - `PULL_POLICY`: (default: IfNotPresent) Set global CDI pull policy
#### Execute Functional Tests
Environment Variables and Supported Values
| Env Variable | Default | Additional Values |
|--------------------|---------------|--------------------|
|KUBEVIRT_PROVIDER | k8s-1.10.4 | os-3.10.0 |
|NUM_NODES | 1 | 2-5 |
To Run Tests
```
make cluster-up
make cluster-sync
make functest
```
Clean Up
```
make cluster-down
```
**End to End Functional Tests currently only run on bare-metal - they will not run in a VM/Cloud environment (i.e. GCE, AWS, etc...)**
### Submit PRs ### Submit PRs
All PRs should originate from forks of kubevirt.io/containerized-data-importer. Work should not be done directly in the upstream repository. Open new working branches from master/HEAD of your forked repository and push them to your remote repo. Then submit PRs of the working branch against the upstream master branch. All PRs should originate from forks of kubevirt.io/containerized-data-importer. Work should not be done directly in the upstream repository. Open new working branches from master/HEAD of your forked repository and push them to your remote repo. Then submit PRs of the working branch against the upstream master branch.