-
Notifications
You must be signed in to change notification settings - Fork 825
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
CI: Adding E2E cluster name as a parameter for CloudBuild #1611
CI: Adding E2E cluster name as a parameter for CloudBuild #1611
Conversation
Build Succeeded 👏 Build Id: 317eff69-332d-41de-b19a-4b0151c88f93 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
Build Succeeded 👏 Build Id: 536a4a9a-7599-497c-8bca-52ee0089cc36 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
51c2342
to
6738d48
Compare
This one Pull Request would break parallel E2E test builds in other PR. But after merging this to master and to all PRs this issue would be gone. |
Build Succeeded 👏 Build Id: 151886e2-22b4-43a0-8b20-93cc16d7e445 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
Build Succeeded 👏 Build Id: 43f0d06f-d2cd-45df-bcba-c33262d69fc8 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
build/e2e-image/entrypoint.sh
Outdated
--zone=us-west1-c --project=agones-images | ||
kubectl port-forward statefulset/consul 8500:8500 & | ||
echo "Waiting consul port-forward to launch on 8500..." | ||
timeout 60 bash -c 'until printf "" 2>>/dev/null >>/dev/tcp/$0/$1; do sleep 1; done' 127.0.0.1 8500 | ||
echo "consul port-forward launched. Starting e2e tests..." | ||
echo "consul lock -child-exit-code=true -timeout 30m -try 30m -verbose LockE2E '/root/e2e.sh "$FEATURES"" | ||
consul lock -child-exit-code=true -timeout 30m -try 30m -verbose LockE2E '/root/e2e.sh "'$FEATURES'"' | ||
echo "consul lock -child-exit-code=true -timeout 30m -try 30m -verbose "$TEST_CLUSTER_NAME" '/root/e2e.sh "$FEATURES"" |
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.
Since we're going to either run e2e tests in serial in the same cluster, or in parallel on different clusters, do we need to change the name? (not that is likely matters), just curious?
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 can add Lock-
prefix to the cluster name. This approach would work for both options - serial and parallel. If someone acquire the lock by his cluster name, others would wait. What name do you expect here?
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.
oh wait! I think I understand - we only have one consul in one cluster, yes? So we use that for both locks?
I think I was assuming there was a consul in each cluster, and it would lock against each one.
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 option with a separate name would work for both cases.
But yes we have a consul per Cluster, so no need to change this prefix parameter.
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.
agones/build/includes/google-cloud.mk
Line 53 in e80cb60
helm install --wait --set Replicas=1,uiService.type=ClusterIP --name consul stable/consul |
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'm thinking that a consul per cluster will be easier, otherwise if you are running a seperate build on a different cluster, you need to know about 2 clusters, not just one
-- and proxy to another while sending commands to the 2nd. Could get complicated.
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.
Yes, it is a consul per cluster in this design. I have overseen this before, return back.
The next step would be to remove dependencies of cloud builds step, because we are using TestCluster name as prefix.
6738d48
to
dbf3830
Compare
Add cluster name for make targets.
dbf3830
to
34e408b
Compare
--zone=us-west1-c --project=agones-images | ||
kubectl port-forward statefulset/consul 8500:8500 & | ||
echo "Waiting consul port-forward to launch on 8500..." | ||
timeout 60 bash -c 'until printf "" 2>>/dev/null >>/dev/tcp/$0/$1; do sleep 1; done' 127.0.0.1 8500 | ||
echo "consul port-forward launched. Starting e2e tests..." | ||
echo "consul lock -child-exit-code=true -timeout 30m -try 30m -verbose LockE2E '/root/e2e.sh "$FEATURES"" | ||
echo "consul lock -child-exit-code=true -timeout 30m -try 30m -verbose LockE2E '/root/e2e.sh "$FEATURES"'" |
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.
Is this apostrophe correct? Should there be a partner somewhere?
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.
It should result in '/root/e2e.sh $FEATURES'
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.
Note that this is echo
command. From Cloud build:
Step #22 - "e2e-stable": Handling connection for 8500
Step #22 - "e2e-stable": consul port-forward launched. Starting e2e tests...
Step #22 - "e2e-stable": consul lock -child-exit-code=true -timeout 30m -try 30m -verbose LockE2E '/root/e2e.sh '
Step #21 - "e2e-feature-gates": Handling connection for 8500
Step #21 - "e2e-feature-gates": consul port-forward launched. Starting e2e tests...
Step #21 - "e2e-feature-gates": consul lock -child-exit-code=true -timeout 30m -try 30m -verbose LockE2E '/root/e2e.sh PlayerTracking=true&ContainerPortAllocation=true'
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!
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aLekSer, markmandel 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 |
New changes are detected. LGTM label has been removed. |
Build Failed 😱 Build Id: 295b34bf-5b89-4841-841c-752be53a0813 To get permission to view the Cloud Build view, join the agones-discuss Google Group. |
Build Succeeded 👏 Build Id: a43b3ece-61e8-4b81-b32b-9dc2fd7a6c37 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
…ames#1611) * Adding name of a cluster as a parameter The next step would be to remove dependencies of cloud builds step, because we are using TestCluster name as prefix. * Remove dependency of E2E stable run from features * Fix Consul lock variable name. Add cluster name for make targets. Co-authored-by: Mark Mandel <markmandel@google.com>
This is needed to make E2E tests in parallel on a stable version and with FeatureGates.
Remove dependencies of E2E cloud builds steps,
because we are using TestCluster name as prefix.
What type of PR is this?
/kind cleanup
What this PR does / Why we need it:
Which issue(s) this PR fixes:
For #1411
Special notes for your reviewer:
Requested here: #1546