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

Update "Developing, Testing and Building Agones" tutorial with how to push updates to your test cluster #308

Closed
victor-prodan opened this issue Jul 27, 2018 · 7 comments
Labels
area/build-tools Development tooling. I.e. pretty much everything in the `build` directory. kind/documentation Documentation for Agones
Milestone

Comments

@victor-prodan
Copy link
Contributor

I followed the Developing, Testing and Building Agones instructions and they worked pretty well to push and test the first build to GKE.

The problem occurred when I had made some changes locally (to the agones controller) and I wanted to push my changes to the cluster.

After multiple trial and error I discovered that it is possible by:

  • push the new images to gcr.io (make push)
  • delete the current agones install by using the generated install yaml file (make shell + kubectl delete ./install/yaml/install.yaml
  • re-install agones: exit the shell and make install

I suggest adding this explanation to the tutorial and maybe also add a "make install-update" or "make reinstall" build target.

@markmandel
Copy link
Member

You are correct - we should be clear about making changes.

That being said - it should be a repeat of the original process:

(for GKE, add the minikube prefix for minikube)
make build-images
make push
make install

Or you could do this in one go:
make build-images push install

(You may need to gcloud-auth-docker somewhere, but the general gist stays the same)

@victor-prodan
Copy link
Contributor Author

The thing is that make install does not make K8s to pull the new image and update the controller. I think this might be because the new image has the same label and the default pull policy is 'if it does not exist'

@markmandel
Copy link
Member

markmandel commented Jul 30, 2018

So make install on GKE should set the imagePullPolicy to Always.
https://github.com/GoogleCloudPlatform/agones/blob/master/build/Makefile#L124

Where you using make install ? (basically, where you using the development tooling?)

I'm wondering if there may be a bug!

@victor-prodan
Copy link
Contributor Author

victor-prodan commented Jul 30, 2018 via email

@markmandel
Copy link
Member

🤦‍♂️ of course. You would actually have to delete the pod, for the new one to be pulled down.

Yeah, this should be documented as well. Good catch.

@markmandel markmandel added this to the 0.4.0 milestone Jul 30, 2018
@markmandel
Copy link
Member

@Kuqd looking at #309 as well - should we add --recreate-pods to our Makefile install commands for development purposes. Would solve part of this this issue as well. WDYT?

@markmandel markmandel modified the milestones: 0.4.0, 0.5.0 Aug 28, 2018
markmandel added a commit to markmandel/agones that referenced this issue Sep 6, 2018
The developer guide didn't cover what to do "next" after compiling
Agones -- i.e. how to make changes and test them.

This PR is an effort to fix this. Since googleforgames#309 is completed, you
don't have to manually delete the agones-controller pod, so
this also becomes much simpler.

Closes googleforgames#308
@victor-prodan
Copy link
Contributor Author

I think this is fixed now.
make install always recreates the pods and #349 added more doc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build-tools Development tooling. I.e. pretty much everything in the `build` directory. kind/documentation Documentation for Agones
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants