Skip to content

Split horizon pilot tests#13131

Closed
vadimeisenbergibm wants to merge 63 commits intoistio:masterfrom
vadimeisenbergibm:split_horizon_pilot_tests
Closed

Split horizon pilot tests#13131
vadimeisenbergibm wants to merge 63 commits intoistio:masterfrom
vadimeisenbergibm:split_horizon_pilot_tests

Conversation

@vadimeisenbergibm
Copy link
Copy Markdown
Contributor

Continuation of #12709, must not be merged before that PR.

Running the regular pilot tests on two clusters, with Split Horizon EDS. The apps are deployed in the both clusters identically.

@istio-testing istio-testing added the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Apr 8, 2019
@googlebot
Copy link
Copy Markdown
Collaborator

So there's good news and bad news.

👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the cla label to yes (if enabled on your project), and then merge this pull request when appropriate.

ℹ️ Googlers: Go here for more info.

@googlebot googlebot added the cla: no Set by the Google CLA bot to indicate the author of a PR has not signed the Google CLA. label Apr 8, 2019
@istio-testing istio-testing added the needs-rebase Indicates a PR needs to be rebased before being merged label Apr 9, 2019
Copy link
Copy Markdown
Contributor

@john-a-joyce john-a-joyce left a comment

Choose a reason for hiding this comment

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

Some comments

CLUSTERREG_DIR="${CLUSTERREG_DIR:-$(mktemp -d /tmp/clusterregXXX)}"
export CLUSTERREG_DIR

./prow/e2e-suite.sh --timeout 50 --cluster_registry_dir="$CLUSTERREG_DIR" --single_test e2e_multicluster_split_horizon "$@"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Does your test take anywhere close to 50 minutes to run? If not might use a lower value to fail quicker?

Copy link
Copy Markdown
Contributor Author

@vadimeisenbergibm vadimeisenbergibm Apr 15, 2019

Choose a reason for hiding this comment

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

No, the longest run was 9 minutes and something, reduced timeout to 15 in cbe0c44


#echo 'Running pilot multi-cluster e2e tests (v1alpha1, noauth)'
./prow/e2e-suite.sh --timeout 50 --cluster_registry_dir="$CLUSTERREG_DIR" --single_test e2e_pilotv2_v1alpha3 "$@"
#echo 'Running pilot multi-cluster e2e tests with split horizon (v1alpha1, auth)'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think you meant to remove the changes to this file before submitting

export CLUSTERREG_DIR

#echo 'Running pilot multi-cluster e2e tests with split horizon (v1alpha1, auth)'
./prow/e2e-suite.sh --timeout 50 --cluster_registry_dir="$CLUSTERREG_DIR" --split_horizon --single_test e2e_pilotv2_v1alpha3_auth "$@"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

So it looks like your plan is to create 2 additional prow jobs. One for running the new split Horizon test, while the other runs a pilot multicluster test with a split Horizon deployment?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

right, I removed the changes in prow/istio-pilot-multicluster-e2e.sh

if !*authEnable {
return errors.New("the split horizon test can only work with auth enabled")
}
istioYaml = mcSplitHorizonInstallFile
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You will need changes in the teardown function around line 523 to get the proper yaml file if clusterwide is enabled. Which is think it typically is enabled. you can look at my 13246 to see a model.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 6f92706


if *splitHorizon {
registryName := filepath.Base(k.RemoteKubeConfig)
content = replacePattern(content, "N2_REGISTRY_TOKEN", registryName)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

might consider declaring N2_REGISTRY_TOKEN a constant

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 02c20c2

@istio-testing istio-testing added the needs-rebase Indicates a PR needs to be rebased before being merged label Apr 14, 2019
@istio-testing istio-testing removed the needs-rebase Indicates a PR needs to be rebased before being merged label Apr 15, 2019
@vadimeisenbergibm vadimeisenbergibm changed the title [WIP] Split horizon pilot tests Split horizon pilot tests Apr 15, 2019
@istio-testing istio-testing removed the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Apr 15, 2019
@istio-testing
Copy link
Copy Markdown
Collaborator

@vadimeisenbergibm: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
prow/istio-integ-k8s-tests.sh 6f92706 link /test istio-integ-k8s-tests
Details

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.

// for the deployments because they won't be able to connect to Pilot
// until their service is added by watching the remote k8s api. Adding
// the remote k8s api watcher is done later on in the test.
aRemote = NewAppManager(tmpDir, *namespace, remoteI, remoteKubeConfig, false)
Copy link
Copy Markdown
Contributor

@john-a-joyce john-a-joyce Apr 15, 2019

Choose a reason for hiding this comment

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

I understand why you initially can't check the remote deployment, but it might be good to check the remote deployment add some point. If it doesn't come up the test will fail either way so it isn't critical but it would both provide better failure insight and also likely fail sooner.

Copy link
Copy Markdown
Contributor

@john-a-joyce john-a-joyce left a comment

Choose a reason for hiding this comment

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

My final comment can be addressed in another PR if you prefer

@john-a-joyce
Copy link
Copy Markdown
Contributor

/lgtm

@istio-testing
Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: john-a-joyce, vadimeisenbergibm
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun

If they are not already assigned, you can assign the PR to them by writing /assign @linsun in a comment when ready.

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@istio-testing
Copy link
Copy Markdown
Collaborator

@vadimeisenbergibm: PR needs rebase.

Details

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.

@istio-testing istio-testing added the needs-rebase Indicates a PR needs to be rebased before being merged label Apr 22, 2019
@vadimeisenbergibm
Copy link
Copy Markdown
Contributor Author

Closed to be refactored into the new integration test framework.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: no Set by the Google CLA bot to indicate the author of a PR has not signed the Google CLA. needs-rebase Indicates a PR needs to be rebased before being merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants