-
Notifications
You must be signed in to change notification settings - Fork 8.1k
add e2e test for galley #5047
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
add e2e test for galley #5047
Conversation
install/updateVersion.sh
Outdated
@@ -55,8 +55,11 @@ function gen_file() { | |||
fi | |||
} | |||
|
|||
TARGETS="istio.yaml istio-auth.yaml istio-one-namespace.yaml istio-one-namespace-auth.yaml" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in go, you don't need to split lines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I split the lines for readability. Alternatively, it could be written with line continuations (see below), but this seemed less error prone. Also, this is a bash script :)
TARGETS="istio.yaml istio-auth.yaml istio-one-namespace.yaml istio-one-namespace-auth.yaml \
istio-multicluster.yaml istio-auth-multicluster.yaml istio-remote.yaml \
istio-galley.yaml istio-auth-galley.yaml"
@@ -0,0 +1,9 @@ | |||
apiVersion: "config.istio.io/v1alpha2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This adds burden to update tests files when config apis changes.
is there a way that we can reuse existing yamls to reduce test maintenance cost?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need valid and invalid variants of each group/version/kind. And I don't think we have that exhaustive list in istio/istio. I figured it was better to be consistent and define them in one testdata location.
GVK shouldn't change that frequently either (post config group rename churn) and the total list of mixer kinds should be reduced by an order of magnitude once mixer config is refactored into common instance and handler kinds.
} | ||
tc = &testConfig{CommonConfig: cc} | ||
|
||
// TODO - enforce test constraints |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ozevren, checking flags is less than ideal but does succeed in guarding the test from running in the wrong environment. Ideally this could be written as test.Required("galley", "cluster-wide")
and the test framework would ensure galley is running in a cluster-wide environment.
Codecov Report
@@ Coverage Diff @@
## master #5047 +/- ##
=======================================
- Coverage 74% 73% -<1%
=======================================
Files 323 319 -4
Lines 27134 26553 -581
=======================================
- Hits 19913 19330 -583
- Misses 6440 6443 +3
+ Partials 781 780 -1
Continue to review full report at Codecov.
|
/cc @costinm for circleci changes /cc @sebastienvas for test and prow changes /cc @yusuoh for install updates. Also, this PR overlaps a bit with #4926 in how it handle the YAML file selection. |
} else { | ||
if *authEnable { | ||
istioYaml = authInstallFileNamespace | ||
if *multiClusterDir != "" { | ||
istioYaml = mcAuthInstallFileNamespace | ||
} | ||
} | ||
if *useGalleyConfigValidator { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should also try to merge all these logic into the helper function and call it getInstallFile()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well - we should remove all this logic and the config file ASAP. We have it just because the helm migration is not complete.
The future is to use help template directly, and pass any customization as flags - either by doing the install of istio in a separate target before the e2e test, or by passing helm options to the install (so we test what users will really use, not the deprecated files)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is the best we can do in the current PR. Refactoring the test framework to invoke helm directly is a larger effort and outside the scope of this task.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Agreed. And I believe this is being addressed by the testing SWAT team's efforts. |
2018/04/25 01:45:12 ci2gubernator.go:103: Generating finished.json
2018/04/25 01:45:12 ci2gubernator.go:109: Uploading finished.json to gs://istio-circleci/e2e-galley/80582/finished.json
2018/04/25 01:45:13 ci2gubernator.go:126: Uploading build-log.txt to gs://istio-circleci/e2e-galley/80582/build-log.txt
2018/04/25 01:45:13 ci2gubernator.go:191: Uploading /go/out/tests/junit.xml to gs://istio-circleci/e2e-galley/80582/artifacts/junit.xml
2018/04/25 01:45:14 gcsClient.go:57: Failed to open a reader on file istio-circleci/e2e-galley/latest-build.txt from gcs, storage: object doesn't exist
2018/04/25 01:45:15 main.go:92: Failed to update latest-build.txt to 80582: storage: object doesn't exist @chxchx- FYI, I manually created an empty |
@costinm, any other remaining concerns with the PR? The comments re: general testing methodology, use of helm,etc are being addressed by testing SWAT team. |
/test istio-pilot-e2e |
@ayj: The following test failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
/lgtm |
/lgtm |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: xiaolanz, yusuoh Assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@ayj: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@rshriram, can you re-open this PR? I don't seem to have permissions to do it myself. The PR itself isn't stale. Master has been frozen so I hadn't been rebasing. |
/reopen |
@sebastienvas: you can't re-open an issue/PR unless you authored it or you are assigned to it. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/reopen |
@ozevren: The reopen prow plugin is deprecated, please migrate to the lifecycle plugin before April 2018 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@ozevren: failed to re-open PR: state cannot be changed. The add-galley-e2e-test branch was force-pushed or recreated. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/reopen |
@ayj: The reopen prow plugin is deprecated, please migrate to the lifecycle plugin before April 2018 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@ayj: failed to re-open PR: state cannot be changed. The add-galley-e2e-test branch was force-pushed or recreated. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This currently tests the configuration validation service. Additional test cases will be added overtime to cover other aspects of Galley.