Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run e2e tests against custom Docker image #1135

Merged
merged 11 commits into from
Jul 10, 2019

Conversation

artemnikitin
Copy link
Member

close #1044
This PR adds new target in makefile for running e2e tests against custom operator image and also adds a new Jenkins job for running e2e by providing custom image

Copy link
Contributor

@sebgl sebgl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A general question: why aren't we using the same e2e job we already use, except it would now have an optional extra use_operator_image parameter?
If an image is provided, use it. Otherwise, as "default" behaviour, build an image from the current code.
Would it simplify things (less jobs, less targets)? Maybe it would make things more complex, just asking :)

build/ci/Makefile Show resolved Hide resolved
@artemnikitin
Copy link
Member Author

why aren't we using the same e2e job we already use, except it would now have an optional extra use_operator_image parameter?

We are running docker-build and docker-push in many targets implicitly. For example, bootstrap-gke or deploy. Essentially it was either:

  • Adding more complexity to existed targets in form of if .. else
  • Creation of new targets which are quite similar to existed

I prefered second option.

@artemnikitin artemnikitin requested review from sebgl, thbkrkr and pebrc June 27, 2019 06:59
build/ci/Makefile Show resolved Hide resolved
build/ci/e2e/custom_operator.jenkinsfile Outdated Show resolved Hide resolved
operators/Makefile Outdated Show resolved Hide resolved
operators/Makefile Outdated Show resolved Hide resolved
@artemnikitin
Copy link
Member Author

@sebgl @thbkrkr I fixed comments regarding code duplication. Please look again

@artemnikitin artemnikitin requested a review from sebgl July 3, 2019 10:01
.ci/jobs/e2e-custom.yml Outdated Show resolved Hide resolved
@artemnikitin artemnikitin requested a review from thbkrkr July 4, 2019 08:56
.ci/jobs/e2e-custom.yml Outdated Show resolved Hide resolved
@artemnikitin artemnikitin requested a review from thbkrkr July 4, 2019 12:01
operators/Makefile Outdated Show resolved Hide resolved
@anyasabo
Copy link
Contributor

anyasabo commented Jul 8, 2019

I wonder if it would be helpful to add a section to the dev readme on all the places that reference the Kubernetes version since we will likely be updating it again in the future. I thought I had found all the places with minikube and GKE versions in the makefile but as mentioned above there were still some stragglers

@artemnikitin
Copy link
Member Author

artemnikitin commented Jul 9, 2019

@jonsabo except makefile's it's only in Jenkins pipeline descriptions. It can be found by looking for GKE_CLUSTER_VERSION

Copy link
Contributor

@thbkrkr thbkrkr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
I'm ok to merge this and see later how to reuse .ci/jobs/e2e-tests.yaml.

@artemnikitin artemnikitin merged commit c582131 into elastic:master Jul 10, 2019
@artemnikitin artemnikitin deleted the 1044-run-e2e-against-rc branch July 10, 2019 13:41
sebgl added a commit that referenced this pull request Jul 12, 2019
* Support for APM server configuration (#1181)

* Add a config section to the APM server configuration

* APM: Add support for keystore

* Factorize ElasticsearchAuthSettings

* Update dev setup doc + fix GKE bootstrap script (#1203)

* Update dev setup doc + fix GKE bootstrap script

* Update wording of container registry authentication

* Ensure disks removal after removing cluster in GKE (#1163)

* Update gke-cluster.sh

* Implement cleanup for unused disks in GCP

* Update Makefile

* Update CI jobs to do proper cleanup

* Normalize the raw config when creating canonical configs (#1208)

This aims at counteracting the difference between JSON centric serialization and the use of YAML as the serialization format in canonical config. If not normalizing numeric values
like 1 will differ when comparing configs as JSON deserializes integer numbers to float64 and YAML to uint64.

* Homogenize logs (#1168)

* Don't run tests if only docs are changed (#1216)

* Update Jenkinsfile

* Simplify notOnlyDocs()

* Update Jenkinsfile

* Push snapshot ECK release on successful PR build (#1184)

* Update makefile's to support snapshots

* Add snapshot releases to Jenkins pipelines

* Cleanup

* Rename RELEASE to USE_ELASTIC_DOCKER_REGISTRY

* Update Jenkinsfile

* Add a note on EKS inbound traffic & validating webhook (#1211)

EKS users must explicitly enable communication from the k8s control
plane and nodes port 443 in order for the control plane to reach the
validating webhook.

Should help with #896.

* Update PodSpec with Hostname from PVC when re-using (#1204)

* Bind the Debug HTTP server to localhost by default (#1220)

* Run e2e tests against custom Docker image (#1135)

* Add implementation

* Update makefile's

* Update Makefile

* Rename Jenkisnfile

* Fix review comments

* Update e2e-custom.yml

* Update e2e-custom.yml

* Return deploy-all-in-one to normal

* Delete GKE cluster only if changes not in docs (#1223)

* Add operator version to resources (#1224)

* Warn if unsupported distribution (#1228)

The operator only works with the official ES distributions to enable the security
available with the basic (free), gold and platinum licenses in order to ensure that
all clusters launched are secured by default.

A check is done in the prepare-fs script by looking at the existence of the
Elastic License. If not present, the script exit with a custom exit code.

Then the ES reconcilation loop sends an event of type warning if it detects that
a prepare-fs init container terminated with this exit code.

* Document Elasticsearch update strategy change budget & groups (#1210)

Add documentation for the `updateStrategy` section of the Elasticsearch
spec.

It documents how (and why) `changeBudget` and `groups` are used by ECK,
and how both settings can be specified by the user.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Run e2e tests against pre-built operator
4 participants