googleforgames / agones

Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes
https://agones.dev
Apache License 2.0
5.97k stars 788 forks source link

Rest Client Labels not being set on Gameserver #1942

Closed matclayton closed 3 years ago

matclayton commented 3 years ago

What happened: Setting a label via the Rest API doesn't appear to set the label on the Pod

What you expected to happen: Set label to appear on the gameserver.

How to reproduce it (as minimally and precisely as possible): Use the example in the docs

$ curl -d '{"key": "foo", "value": "bar"}' -H "Content-Type: application/json" -X PUT http://localhost:${AGONES_SDK_HTTP_PORT}/metadata/label

Anything else we need to know?: Set Annotations are working just fine

Environment:

markmandel commented 3 years ago

Setting a label via the Rest API doesn't appear to set the label on the Pod

Just checking, is that meant to be GameServer?

markmandel commented 3 years ago

Kubernetes version (use kubectl version): 1.18.5

Given that this is not a supported version of Kubernetes for Agones, could you check this on the supported version of Agones for this version (docs).

It may be a Kubernetes compatibility issue.

Also, can you provide the sidecar logs (ideally in debug mode) to see if we can identify any issues there.

See troubleshooting guide for details.

matclayton commented 3 years ago

I did mean gameserver :) sorry my confusion! I’ll see what I can do with regards to testing on other kubernetes versions. For what it’s worth we’ve been running on 1.18 without issues to date.

I’ll try and grab the logs tomorrow when I get a chance.

Thanks!

markmandel commented 3 years ago

Just wanted to touch base, and see if you had a chance to test this on the supported K8s platform, and/or grab the logs?

matclayton commented 3 years ago

We haven't as sadly we don't readily have a cluster < 1.18 available to us.

Mat

On Tue, 12 Jan 2021 at 18:23, Mark Mandel notifications@github.com wrote:

Just wanted to touch base, and see if you had a chance to test this on the supported K8s platform, and/or grab the logs?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/googleforgames/agones/issues/1942#issuecomment-758848415, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA62CSHFKWYIPPKX4YDHHLSZSHRLANCNFSM4VWKV2SA .

-- -- Matthew Clayton | Co-Founder Mixcloud Limited

mixcloud http://www.mixcloud.com/mat twitter http://www.twitter.com/matclayton

email mat@mixcloud.com mobile +44 7872007851

markmandel commented 3 years ago

Can you at least provide the debug logs? Maybe that will show something?

highlyunavailable commented 3 years ago

I'm not able to repro this locally and I'm running an even newer version of Kubernetes.

One thing to make sure of: the SDK prefixes its labels. Are you sure that they're not being set? I see the following if I run your command above:

Name:         sd-gameserver-46xxl-28bdt
Namespace:    default
Labels:       agones.dev/fleet=sd-gameserver
              agones.dev/gameserverset=sd-gameserver-46xxl
              agones.dev/sdk-foo=bar
Annotations:  agones.dev/ready-container-id: docker://74e2828067b38dea42405e8f7c1fbcc3a217f1efef056b802e6801d13f1aaa3d
              agones.dev/sdk-version: 1.13.0-bf6e6c3
API Version:  agones.dev/v1
Kind:         GameServer

Note that it made "foo" into agones.dev/sdk-foo=bar by prefixing it - this confused me too when I tried to use this method of setting labels.

markmandel commented 3 years ago

Thanks for testing this @highlyunavailable !

It sounds like we should close this issue for now, and re-open again if someone can reproduce it?

Let me know if you have objections, and if not, I'll close it at some point in the near future.

markmandel commented 3 years ago

No objections. In which case, closing!