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

Fix bug: Disabled health checking not implemented #317

Merged
merged 1 commit into from
Aug 14, 2018

Conversation

markmandel
Copy link
Member

This commit fixes actually two bugs:

  1. While we documented that you could disabled health checking we never
    actually implemented it! This fixes that. Thankfully, the work that has been
    done to retrieve GameServer details through the SDK makes this relatively
    easy.

  2. SDK Server sidecar never had the necessary RBAC permissions to send events
    to the GameServer CRD. This is now fixed as well.

@markmandel markmandel added kind/bug These are bugs. area/user-experience Pertaining to developers trying to use Agones, e.g. SDK, installation, etc labels Aug 13, 2018
@markmandel markmandel added this to the 0.4.0 milestone Aug 13, 2018
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 47566091-5c15-40fc-bbfc-f3138c72abf2

The following development artifacts have been built, and will exist for the next 30 days:

(experimental) To install this version:

@@ -157,7 +171,7 @@ func TestSidecarHealthLastUpdated(t *testing.T) {

sc, err := defaultSidecar(m)
assert.Nil(t, err)
sc.healthDisabled = false
sc.health = v1alpha1.Health{Disabled: true}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Doesn't it change the intent of the test?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ooh! Good catch 👍 Lemme check that one out!

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed! Incoming shortly.

@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 07db5664-78d0-4617-abdd-8881ea6f37b2

Build Logs
starting build "07db5664-78d0-4617-abdd-8881ea6f37b2"

FETCHSOURCE
Initialized empty Git repository in /workspace/.git/
From https://source.developers.google.com/p/agones-images/r/agones
 * branch            c0b5c729c510b0fa9589249f0a9fde885139a3e3 -> FETCH_HEAD
HEAD is now at c0b5c72 Fix bug: Disabled health checking not implemented
BUILD
Starting Step #0
Step #0: Already have image (with digest): ubuntu
Finished Step #0
Starting Step #1
Step #1: Already have image (with digest): gcr.io/cloud-builders/docker
Step #1: Sending build context to Docker daemon  110.4MB

Step #1: Step 1/3 : FROM gcr.io/cloud-builders/docker
Step #1:  ---> 77bb0a205920
Step #1: Step 2/3 : RUN apt-get install make
Step #1:  ---> Running in b3965398f233
Step #1: Reading package lists...
Step #1: Building dependency tree...
Step #1: Reading state information...
Step #1: make is already the newest version (4.1-6).
Step #1: 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Step #1: Removing intermediate container b3965398f233
Step #1:  ---> cdeb473708ec
Step #1: Step 3/3 : ENTRYPOINT ["/usr/bin/make"]
Step #1:  ---> Running in ab90528951d0
Step #1: Removing intermediate container ab90528951d0
Step #1:  ---> 261556efee7e
Step #1: Successfully built 261556efee7e
Step #1: Successfully tagged make-docker:latest
Finished Step #1
Starting Step #2
Step #2: Already have image: make-docker
Step #2: docker pull gcr.io/agones-images/agones-build:7baad3fcaa && docker tag gcr.io/agones-images/agones-build:7baad3fcaa agones-build:7baad3fcaa
Step #2: 7baad3fcaa: Pulling from agones-images/agones-build
Step #2: cc1a78bfd46b: Pulling fs layer
Step #2: 65ec5fb8fee4: Pulling fs layer
Step #2: f792a8d67267: Pulling fs layer
Step #2: c61ddf10ea29: Pulling fs layer
Step #2: f11e4b9dca6d: Pulling fs layer
Step #2: f5de62cd774a: Pulling fs layer
Step #2: 84fd27122697: Pulling fs layer
Step #2: 0c424a61cc39: Pulling fs layer
Step #2: b5bfc6f2e8cf: Pulling fs layer
Step #2: 3b2702a6ad68: Pulling fs layer
Step #2: 5ab6afc7d65b: Pulling fs layer
Step #2: 24f531f817dd: Pulling fs layer
Step #2: 438f29967585: Pulling fs layer
Step #2: 84919d2a889b: Pulling fs layer
Step #2: 8e059271ff11: Pulling fs layer
Step #2: 6f621b6c2140: Pulling fs layer
Step #2: 2cc115bfdcc4: Pulling fs layer
Step #2: c83e29de64eb: Pulling fs layer
Step #2: 67b0b15947b1: Pulling fs layer
Step #2: 88d3d110e8a5: Pulling fs layer
Step #2: c61ddf10ea29: Waiting
Step #2: f11e4b9dca6d: Waiting
Step #2: f5de62cd774a: Waiting
Step #2: 84919d2a889b: Waiting
Step #2: c83e29de64eb: Waiting
Step #2: 3b2702a6ad68: Waiting
Step #2: 84fd27122697: Waiting
Step #2: 8e059271ff11: Waiting
Step #2: 67b0b15947b1: Waiting
Step #2: 2cc115bfdcc4: Waiting
Step #2: 0c424a61cc39: Waiting
Step #2: 5ab6afc7d65b: Waiting
Step #2: 6f621b6c2140: Waiting
Step #2: b5bfc6f2e8cf: Waiting
Step #2: 438f29967585: Waiting
Step #2: 88d3d110e8a5: Waiting
Step #2: cc1a78bfd46b: Verifying Checksum
Step #2: cc1a78bfd46b: Download complete
Step #2: c61ddf10ea29: Verifying Checksum
Step #2: c61ddf10ea29: Download complete
Step #2: 65ec5fb8fee4: Verifying Checksum
Step #2: 65ec5fb8fee4: Download complete
Step #2: f5de62cd774a: Verifying Checksum
Step #2: f5de62cd774a: Download complete
Step #2: f11e4b9dca6d: Verifying Checksum
Step #2: f11e4b9dca6d: Download complete
Step #2: 0c424a61cc39: Verifying Checksum
Step #2: 0c424a61cc39: Download complete
Step #2: b5bfc6f2e8cf: Verifying Checksum
Step #2: b5bfc6f2e8cf: Download complete
Step #2: 3b2702a6ad68: Verifying Checksum
Step #2: 3b2702a6ad68: Download complete
Step #2: 5ab6afc7d65b: Verifying Checksum
Step #2: 5ab6afc7d65b: Download complete
Step #2: cc1a78bfd46b: Pull complete
Step #2: 84fd27122697: Verifying Checksum
Step #2: 84fd27122697: Download complete
Step #2: 438f29967585: Verifying Checksum
Step #2: 438f29967585: Download complete
Step #2: 24f531f817dd: Verifying Checksum
Step #2: 24f531f817dd: Download complete
Step #2: 8e059271ff11: Verifying Checksum
Step #2: 8e059271ff11: Download complete
Step #2: 6f621b6c2140: Verifying Checksum
Step #2: 6f621b6c2140: Download complete
Step #2: 2cc115bfdcc4: Download complete
Step #2: c83e29de64eb: Verifying Checksum
Step #2: c83e29de64eb: Download complete
Step #2: 67b0b15947b1: Verifying Checksum
Step #2: 67b0b15947b1: Download complete
Step #2: 88d3d110e8a5: Download complete
Step #2: 84919d2a889b: Verifying Checksum
Step #2: 84919d2a889b: Download complete
Step #2: f792a8d67267: Verifying Checksum
Step #2: f792a8d67267: Download complete
Step #2: 65ec5fb8fee4: Pull complete
Step #2: f792a8d67267: Pull complete
Step #2: c61ddf10ea29: Pull complete
Step #2: f11e4b9dca6d: Pull complete
Step #2: f5de62cd774a: Pull complete
Step #2: 84fd27122697: Pull complete
Step #2: 0c424a61cc39: Pull complete
Step #2: b5bfc6f2e8cf: Pull complete
Step #2: 3b2702a6ad68: Pull complete
Step #2: 5ab6afc7d65b: Pull complete
Step #2: 24f531f817dd: Pull complete
Step #2: 438f29967585: Pull complete
Step #2: 84919d2a889b: Pull complete
Step #2: 8e059271ff11: Pull complete
Step #2: 6f621b6c2140: Pull complete
Step #2: 2cc115bfdcc4: Pull complete
Step #2: c83e29de64eb: Pull complete
Step #2: 67b0b15947b1: Pull complete
Step #2: 88d3d110e8a5: Pull complete
Step #2: Digest: sha256:3b0633d147975b433dda6e16d40c801c793181fc0f7d9d3f704479605690080f
Step #2: Status: Downloaded newer image for gcr.io/agones-images/agones-build:7baad3fcaa
Finished Step #2
Starting Step #3 - "lint"
Step #3 - "lint": Already have image: make-docker
Step #3 - "lint": mkdir -p ~/.kube
Step #3 - "lint": mkdir -p /workspace/build//.config/gcloud
Step #3 - "lint": docker run --rm -v /workspace/build//.config/gcloud:/root/.config/gcloud -v ~/.kube:/root/.kube -v /workspace:/go/src/agones.dev/agones -w /go/src/agones.dev/agones  agones-build:7baad3fcaa bash -c \
Step #3 - "lint": 	"/root/gen-lint-exclude.sh && gometalinter --config .exclude.gometalinter.json --deadline=15m -t --skip vendor ./..."
Finished Step #3 - "lint"
Starting Step #4 - "tests"
Starting Step #5 - "build"
Step #4 - "tests": Already have image: make-docker
Step #5 - "build": Already have image: make-docker
Step #4 - "tests": mkdir -p ~/.kube
Step #5 - "build": mkdir -p ~/.kube
Step #5 - "build": mkdir -p /workspace/build//.config/gcloud
Step #4 - "tests": mkdir -p /workspace/build//.config/gcloud
Step #4 - "tests": docker run --rm -v /workspace/build//.config/gcloud:/root/.config/gcloud -v ~/.kube:/root/.kube -v /workspace:/go/src/agones.dev/agones agones-build:7baad3fcaa go test -race agones.dev/agones/...
Step #5 - "build": docker run --rm -e "CGO_ENABLED=0" -v /workspace/build//.config/gcloud:/root/.config/gcloud -v ~/.kube:/root/.kube -v /workspace:/go/src/agones.dev/agones agones-build:7baad3fcaa go build \
Step #5 - "build": 	-o /go/src/agones.dev/agones/cmd/controller/bin/controller -a -ldflags "-X agones.dev/agones/pkg.Version=0.4.0-c0b5c72" -installsuffix cgo agones.dev/agones/cmd/controller
Step #4 - "tests": warning: ignoring symlink /go/src/agones.dev/agones/vendor/github.com/prometheus/procfs/fixtures/self
Step #4 - "tests": ?   	agones.dev/agones	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/cmd/controller	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/cmd/sdk-server	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/examples/simple-udp/client	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/examples/simple-udp/server	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/examples/xonotic	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/apis	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/apis/stable	[no test files]
Step #4 - "tests": ok  	agones.dev/agones/pkg/apis/stable/v1alpha1	1.122s
Step #4 - "tests": ?   	agones.dev/agones/pkg/client	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/clientset/versioned	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/clientset/versioned/fake	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/clientset/versioned/scheme	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/clientset/versioned/typed/stable/v1alpha1	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/clientset/versioned/typed/stable/v1alpha1/fake	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/informers/externalversions	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/informers/externalversions/internalinterfaces	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/informers/externalversions/stable	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/informers/externalversions/stable/v1alpha1	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/client/listers/stable/v1alpha1	[no test files]
Step #5 - "build": docker build /workspace/cmd/controller/ --tag=gcr.io/agones-images/agones-controller:0.4.0-c0b5c72 
Step #5 - "build": Sending build context to Docker daemon  41.79MB

Step #5 - "build": Step 1/6 : FROM alpine:3.7
Step #5 - "build": 3.7: Pulling from library/alpine
Step #5 - "build": 911c6d0c7995: Already exists
Step #5 - "build": Digest: sha256:5ce5f501c457015c4b91f91a15ac69157d9b06f1a75cf9107bf2b62e0843983a
Step #5 - "build": Status: Downloaded newer image for alpine:3.7
Step #5 - "build":  ---> 791c3e2ebfcb
Step #5 - "build": Step 2/6 : RUN apk --update add ca-certificates &&     adduser -D agones
Step #5 - "build":  ---> Running in d3bfbab9204b
Step #5 - "build": fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
Step #5 - "build": fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
Step #5 - "build": (1/1) Installing ca-certificates (20171114-r0)
Step #5 - "build": Executing busybox-1.27.2-r11.trigger
Step #5 - "build": Executing ca-certificates-20171114-r0.trigger
Step #5 - "build": OK: 5 MiB in 14 packages
Step #5 - "build": Removing intermediate container d3bfbab9204b
Step #5 - "build":  ---> 6e22da675ca6
Step #5 - "build": Step 3/6 : COPY ./bin/controller /home/agones/controller
Step #5 - "build":  ---> a5ff27213a42
Step #5 - "build": Step 4/6 : RUN chown -R agones /home/agones &&     chmod o+x /home/agones/controller
Step #5 - "build":  ---> Running in 9153af22e497
Step #5 - "build": Removing intermediate container 9153af22e497
Step #5 - "build":  ---> 0c5441ddfb34
Step #5 - "build": Step 5/6 : USER agones
Step #5 - "build":  ---> Running in 6ad12b5882aa
Step #5 - "build": Removing intermediate container 6ad12b5882aa
Step #5 - "build":  ---> b2016d9dd89e
Step #5 - "build": Step 6/6 : ENTRYPOINT ["/home/agones/controller"]
Step #5 - "build":  ---> Running in 848bce4d15db
Step #5 - "build": Removing intermediate container 848bce4d15db
Step #5 - "build":  ---> e27970dba4f0
Step #5 - "build": Successfully built e27970dba4f0
Step #5 - "build": Successfully tagged gcr.io/agones-images/agones-controller:0.4.0-c0b5c72
Step #5 - "build": docker run --rm -e "CGO_ENABLED=0" -v /workspace/build//.config/gcloud:/root/.config/gcloud -v ~/.kube:/root/.kube -v /workspace:/go/src/agones.dev/agones agones-build:7baad3fcaa go build \
Step #5 - "build": 	-o /go/src/agones.dev/agones/cmd/sdk-server/bin/sdk-server.linux.amd64 -a -ldflags "-X agones.dev/agones/pkg.Version=0.4.0-c0b5c72" -installsuffix cgo agones.dev/agones/cmd/sdk-server
Step #4 - "tests": ok  	agones.dev/agones/pkg/fleetallocation	11.861s
Step #4 - "tests": ok  	agones.dev/agones/pkg/fleets	2.513s
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"info","msg":"Adding first fixture","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"crd":"","level":"info","msg":"custom resource definition established","source":"*gameservers.Controller","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","source":"*gameservers.Controller","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"info","msg":"Running","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"info","msg":"Starting workers...","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:16Z","workers":1}
Step #4 - "tests": {"level":"info","msg":"Starting workers...","queue":"stable.agones.dev.HealthController","source":"*gameservers.HealthController","time":"2018-08-14T18:53:16Z","workers":1}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"default/test","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:16Z"}
Step #4 - "tests": {"level":"info","msg":"Starting workers...","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:16Z","workers":1}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"modify copyFixture","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"default/test","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"default/test","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"...shutting down workers","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"...shutting down workers","queue":"stable.agones.dev.HealthController","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"...shutting down workers","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing Create State","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"creating Pod for GameServer","pod":{"metadata":{"generateName":"test-","namespace":"default","creationTimestamp":null,"labels":{"stable.agones.dev/gameserver":"test","stable.agones.dev/role":"gameserver"},"annotations":{"stable.agones.dev/container":"container"},"ownerReferences":[{"apiVersion":"stable.agones.dev/v1alpha1","kind":"GameServer","name":"test","uid":"","controller":true,"blockOwnerDeletion":true}]},"spec":{"containers":[{"name":"container","image":"container/image","ports":[{"hostPort":9999,"containerPort":7777,"protocol":"UDP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/gshealthz","port":8080},"initialDelaySeconds":5,"periodSeconds":5,"failureThreshold":3}},{"name":"agones-gameserver-sidecar","image":"sidecar:dev","env":[{"name":"GAMESERVER_NAME","value":"test"},{"name":"POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}],"resources":{},"livenessProbe":{"httpGet":{"path":"/healthz","port":8080},"initialDelaySeconds":3,"periodSeconds":3}}],"serviceAccountName":"agones-sdk"},"status":{}},"source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing Create State","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing Create State","source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"creating Pod for GameServer","pod":{"metadata":{"generateName":"test-","namespace":"default","creationTimestamp":null,"labels":{"stable.agones.dev/gameserver":"test","stable.agones.dev/role":"gameserver"},"annotations":{"stable.agones.dev/container":"container"},"ownerReferences":[{"apiVersion":"stable.agones.dev/v1alpha1","kind":"GameServer","name":"test","uid":"","controller":true,"blockOwnerDeletion":true}]},"spec":{"containers":[{"name":"container","image":"container/image","ports":[{"hostPort":9999,"containerPort":7777,"protocol":"UDP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/gshealthz","port":8080},"initialDelaySeconds":5,"periodSeconds":5,"failureThreshold":3}},{"name":"agones-gameserver-sidecar","image":"sidecar:dev","env":[{"name":"GAMESERVER_NAME","value":"test"},{"name":"POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}],"resources":{},"livenessProbe":{"httpGet":{"path":"/healthz","port":8080},"initialDelaySeconds":3,"periodSeconds":3}}],"serviceAccountName":"agones-sdk"},"status":{}},"source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"gameserver":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"error","msg":"Pod created is invalid","pod":null,"source":"*gameservers.Controller","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Starting workers...","queue":"stable.agones.dev.HealthController","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z","workers":1}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"GameServer container has terminated","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.HealthController","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"default/test","queue":"stable.agones.dev.HealthController","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Synchronising","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Ready","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Marking GameServer as Unhealthy","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"...shutting down workers","queue":"stable.agones.dev.HealthController","source":"*gameservers.HealthController","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Ready request has been received!","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Shutdown request has been received!","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received!","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Health stream closed.","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"getting GameServer details","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","maxPort":110,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":0}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":0}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":1}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":0}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":1}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":1}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":2}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":2}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":2}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":3}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":3}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":3}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":4}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":4}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":4}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":5}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":5}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":5}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":6}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":6}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":6}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":7}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":7}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":7}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":8}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":8}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":8}
Step #4 - "tests": {"i":1,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":9}
Step #4 - "tests": {"i":2,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":9}
Step #4 - "tests": {"i":0,"level":"info","msg":"allocating!","time":"2018-08-14T18:53:17Z","x":9}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:17Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Running","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Starting workers...","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z","workers":1}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"node1","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Already added node to port allocations. Skipping","node":"node1","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"node2","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Already added node to port allocations. Skipping","node":"node2","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"adding n3","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"key":"node3","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"node3","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Adding Node to port allocations","node":"node3","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"unscheduling n3","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"key":"SYNC+ALL","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"SYNC+ALL","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"scheduling n3","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"key":"SYNC+ALL","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"SYNC+ALL","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"deleting n3","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"key":"SYNC+ALL","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"SYNC+ALL","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:18Z"}
Step #4 - "tests": {"level":"info","msg":"...shutting down workers","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:19Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:19Z"}
Step #4 - "tests": {"error":"Get http://localhost:8080/healthz: dial tcp 127.0.0.1:8080: connect: connection refused","level":"error","msg":"Error connecting to http://localhost:8080/healthz","time":"2018-08-14T18:53:19Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc42042e4c0), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:19Z"}
Step #4 - "tests": {"health":{"periodSeconds":1,"failureThreshold":1},"level":"info","msg":"setting health configuration","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:19Z"}
Step #4 - "tests": {"level":"info","msg":"Starting GameServer health checking","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:19Z"}
Step #4 - "tests": {"level":"info","msg":"Starting SDKServer http health check...","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:19Z"}
Step #4 - "tests": {"level":"info","msg":"Starting workers...","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:19Z","workers":1}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:20Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc42044c920), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:20Z"}
Step #4 - "tests": {"failureCount":1,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:20Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"being marked as not healthy","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:20Z"}
Step #4 - "tests": {"key":"Unhealthy","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:20Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"Unhealthy","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:20Z"}
Step #4 - "tests": {"level":"info","msg":"Updating state","source":"*gameservers.SDKServer","state":"Unhealthy","time":"2018-08-14T18:53:20Z"}
Step #4 - "tests": E0814 18:53:20.703828    4213 event.go:260] Could not construct reference to: '&v1alpha1.GameServer{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1alpha1.GameServerSpec{Container:"", Ports:[]v1alpha1.GameServerPort(nil), Health:v1alpha1.Health{Disabled:false, PeriodSeconds:1, FailureThreshold:1, InitialDelaySeconds:0}, Template:v1.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Name:"", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.PodSpec{Volumes:[]v1.Volume(nil), InitContainers:[]v1.Container(nil), Containers:[]v1.Container(nil), RestartPolicy:"", TerminationGracePeriodSeconds:(*int64)(nil), ActiveDeadlineSeconds:(*int64)(nil), DNSPolicy:"", NodeSelector:map[string]string(nil), ServiceAccountName:"", DeprecatedServiceAccount:"", AutomountServiceAccountToken:(*bool)(nil), NodeName:"", HostNetwork:false, HostPID:false, HostIPC:false, ShareProcessNamespace:(*bool)(nil), SecurityContext:(*v1.PodSecurityContext)(nil), ImagePullSecrets:[]v1.LocalObjectReference(nil), Hostname:"", Subdomain:"", Affinity:(*v1.Affinity)(nil), SchedulerName:"", Tolerations:[]v1.Toleration(nil), HostAliases:[]v1.HostAlias(nil), PriorityClassName:"", Priority:(*int32)(nil), DNSConfig:(*v1.PodDNSConfig)(nil)}}}, Status:v1alpha1.GameServerStatus{State:"Unhealthy", Ports:[]v1alpha1.GameServerStatusPort(nil), Address:"", NodeName:""}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Warning' 'Unhealthy' 'No longer healthy'
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc42044cd00), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:21Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:21Z"}
Step #4 - "tests": {"failureCount":2,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:21Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"being marked as not healthy","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:21Z"}
Step #4 - "tests": {"key":"Unhealthy","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:21Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"Unhealthy","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:21Z"}
Step #4 - "tests": {"level":"info","msg":"Updating state","source":"*gameservers.SDKServer","state":"Unhealthy","time":"2018-08-14T18:53:21Z"}
Step #4 - "tests": E0814 18:53:21.704262    4213 event.go:260] Could not construct reference to: '&v1alpha1.GameServer{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1alpha1.GameServerSpec{Container:"", Ports:[]v1alpha1.GameServerPort(nil), Health:v1alpha1.Health{Disabled:false, PeriodSeconds:1, FailureThreshold:1, InitialDelaySeconds:0}, Template:v1.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Name:"", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.PodSpec{Volumes:[]v1.Volume(nil), InitContainers:[]v1.Container(nil), Containers:[]v1.Container(nil), RestartPolicy:"", TerminationGracePeriodSeconds:(*int64)(nil), ActiveDeadlineSeconds:(*int64)(nil), DNSPolicy:"", NodeSelector:map[string]string(nil), ServiceAccountName:"", DeprecatedServiceAccount:"", AutomountServiceAccountToken:(*bool)(nil), NodeName:"", HostNetwork:false, HostPID:false, HostIPC:false, ShareProcessNamespace:(*bool)(nil), SecurityContext:(*v1.PodSecurityContext)(nil), ImagePullSecrets:[]v1.LocalObjectReference(nil), Hostname:"", Subdomain:"", Affinity:(*v1.Affinity)(nil), SchedulerName:"", Tolerations:[]v1.Toleration(nil), HostAliases:[]v1.HostAlias(nil), PriorityClassName:"", Priority:(*int32)(nil), DNSConfig:(*v1.PodDNSConfig)(nil)}}}, Status:v1alpha1.GameServerStatus{State:"Unhealthy", Ports:[]v1alpha1.GameServerStatusPort(nil), Address:"", NodeName:""}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Warning' 'Unhealthy' 'No longer healthy'
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc42042ef60), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"...shutting down workers","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"error":"http: Server closed","level":"info","msg":"health check: http server closed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Received WatchGameServer request, adding stream to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Received WatchGameServer request, adding stream to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Test Running","test":"disabled, under timeout","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.GameServerController","source":"*gameservers.Controller","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc4201348e0), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc4202e0040), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Synchronising","source":"*gameservers.Controller","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":11,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing Port Allocation State","source":"*gameservers.Controller","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":11,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing Create State","source":"*gameservers.Controller","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"creating Pod for GameServer","pod":{"metadata":{"generateName":"test-","namespace":"default","creationTimestamp":null,"labels":{"stable.agones.dev/gameserver":"test","stable.agones.dev/role":"gameserver"},"annotations":{"stable.agones.dev/container":"container"},"ownerReferences":[{"apiVersion":"stable.agones.dev/v1alpha1","kind":"GameServer","name":"test","uid":"","controller":true,"blockOwnerDeletion":true}]},"spec":{"containers":[{"name":"container","image":"container/image","ports":[{"hostPort":11,"containerPort":7777,"protocol":"UDP"}],"resources":{},"livenessProbe":{"httpGet":{"path":"/gshealthz","port":8080},"initialDelaySeconds":5,"periodSeconds":5,"failureThreshold":3}},{"name":"agones-gameserver-sidecar","image":"sidecar:dev","env":[{"name":"GAMESERVER_NAME","value":"test"},{"name":"POD_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}}],"resources":{},"livenessProbe":{"httpGet":{"path":"/healthz","port":8080},"initialDelaySeconds":3,"periodSeconds":3}}],"serviceAccountName":"agones-sdk"},"status":{}},"source":"*gameservers.Controller","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Received GetGameServer request","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Updating state","source":"*gameservers.SDKServer","state":"Ready","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"State already unhealthy. Skipping update.","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Received WatchGameServer request, adding stream to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"created GameServer sidecar","namespace":"default","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node3","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc42044c800), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Synchronising","source":"*gameservers.Controller","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"GameServer is no longer available for syncing","source":"*gameservers.Controller","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node3","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","maxPort":50,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"health":{"periodSeconds":1,"failureThreshold":1,"initialDelaySeconds":5},"level":"info","msg":"setting health configuration","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Starting GameServer health checking","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Starting SDKServer http health check...","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Starting workers...","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:22Z","workers":1}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"gs":"no","level":"info","msg":"Did not allocate this GameServer. Ignoring for DeAllocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"connected to watch GameServer...","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"level":"info","msg":"Sending watched GameServer!","time":"2018-08-14T18:53:22Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":19,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":17},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":19},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"0:10"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":18},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":11},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"0:11"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":10},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":14},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"0:12"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":15},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":12},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"0:13"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":13},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":16},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"0:14"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":10},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":11},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"1:10"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":16},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":17},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"1:11"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":19},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":12},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"1:12"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":15},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":18},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"1:13"}
Step #4 - "tests": {"error":null,"level":"info","msg":"Allocated Port","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":13},{"name":"another","portPolicy":"dynamic","containerPort":6666,"hostPort":14},{"name":"static","portPolicy":"static","containerPort":6666,"hostPort":9999}],"time":"2018-08-14T18:53:23Z","uid":"1:14"}
Step #4 - "tests": {"allocated":20,"count":20,"level":"info","msg":"How many allocated","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Health stream closed.","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Received WatchGameServer request, adding stream to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Test Running","test":"disabled, over timeout","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Synchronising","source":"*gameservers.HealthController","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"default/test","level":"info","msg":"Synchronising","source":"*gameservers.HealthController","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc420527000), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Ready","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Marking GameServer as Unhealthy","source":"*gameservers.HealthController","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": E0814 18:53:23.842795    4213 event.go:260] Could not construct reference to: '&v1alpha1.GameServer{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string{"stable.agones.dev"}, ClusterName:""}, Spec:v1alpha1.GameServerSpec{Container:"container", Ports:[]v1alpha1.GameServerPort{v1alpha1.GameServerPort{Name:"", PortPolicy:"static", ContainerPort:7777, HostPort:9999, Protocol:"UDP"}}, Health:v1alpha1.Health{Disabled:false, PeriodSeconds:5, FailureThreshold:3, InitialDelaySeconds:5}, Template:v1.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Name:"", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.PodSpec{Volumes:[]v1.Volume(nil), InitContainers:[]v1.Container(nil), Containers:[]v1.Container{v1.Container{Name:"container", Image:"container/image", Command:[]string(nil), Args:[]string(nil), WorkingDir:"", Ports:[]v1.ContainerPort(nil), EnvFrom:[]v1.EnvFromSource(nil), Env:[]v1.EnvVar(nil), Resources:v1.ResourceRequirements{Limits:v1.ResourceList(nil), Requests:v1.ResourceList(nil)}, VolumeMounts:[]v1.VolumeMount(nil), VolumeDevices:[]v1.VolumeDevice(nil), LivenessProbe:(*v1.Probe)(nil), ReadinessProbe:(*v1.Probe)(nil), Lifecycle:(*v1.Lifecycle)(nil), TerminationMessagePath:"", TerminationMessagePolicy:"", ImagePullPolicy:"", SecurityContext:(*v1.SecurityContext)(nil), Stdin:false, StdinOnce:false, TTY:false}}, RestartPolicy:"", TerminationGracePeriodSeconds:(*int64)(nil), ActiveDeadlineSeconds:(*int64)(nil), DNSPolicy:"", NodeSelector:map[string]string(nil), ServiceAccountName:"", DeprecatedServiceAccount:"", AutomountServiceAccountToken:(*bool)(nil), NodeName:"", HostNetwork:false, HostPID:false, HostIPC:false, ShareProcessNamespace:(*bool)(nil), SecurityContext:(*v1.PodSecurityContext)(nil), ImagePullSecrets:[]v1.LocalObjectReference(nil), Hostname:"", Subdomain:"", Affinity:(*v1.Affinity)(nil), SchedulerName:"", Tolerations:[]v1.Toleration(nil), HostAliases:[]v1.HostAlias(nil), PriorityClassName:"", Priority:(*int32)(nil), DNSConfig:(*v1.PodDNSConfig)(nil)}}}, Status:v1alpha1.GameServerStatus{State:"Ready", Ports:[]v1alpha1.GameServerStatusPort(nil), Address:"", NodeName:""}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Warning' 'Unhealthy' 'GameServer container terminated'
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"warning","msg":"Could not find ExternalIP. Falling back to Internal","node":"node1","source":"*gameservers.Controller","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Shutdown","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing Shutdown State","source":"*gameservers.Controller","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node2","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"key":"node3","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"RequestReady","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing RequestReady State","source":"*gameservers.Controller","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Sending watched GameServer!","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:23Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"creationValidationHandler","review":{"request":{"uid":"","kind":{"group":"stable.agones.dev","version":"v1alpha1","kind":"GameServer"},"resource":{"group":"","version":"","resource":""},"operation":"CREATE","userInfo":{},"object":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"oldObject":null},"response":{"uid":"","allowed":true}},"source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"creationValidationHandler","review":{"request":{"uid":"","kind":{"group":"stable.agones.dev","version":"v1alpha1","kind":"GameServer"},"resource":{"group":"","version":"","resource":""},"operation":"CREATE","userInfo":{},"object":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null},"spec":{"container":"NOPE!","ports":[{"containerPort":7777}],"health":{},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}},{"name":"container2","image":"container/image","resources":{}}]}}},"status":{"state":"","ports":null,"address":"","nodeName":""}},"oldObject":null},"response":{"uid":"","allowed":true}},"source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Invalid GameServer","review":{"request":{"uid":"","kind":{"group":"stable.agones.dev","version":"v1alpha1","kind":"GameServer"},"resource":{"group":"","version":"","resource":""},"operation":"CREATE","userInfo":{},"object":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null},"spec":{"container":"NOPE!","ports":[{"containerPort":7777}],"health":{},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}},{"name":"container2","image":"container/image","resources":{}}]}}},"status":{"state":"","ports":null,"address":"","nodeName":""}},"oldObject":null},"response":{"uid":"","allowed":false,"status":{"metadata":{},"status":"Failure","message":"GameServer configuration is invalid","reason":"Invalid","details":{"group":"stable.agones.dev","kind":"GameServer","causes":[{"reason":"FieldValueInvalid","message":"Could not find a container named NOPE!","field":"container"}]}}}},"source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"creationMutationHandler","review":{"request":{"uid":"","kind":{"group":"stable.agones.dev","version":"v1alpha1","kind":"GameServer"},"resource":{"group":"","version":"","resource":""},"operation":"CREATE","userInfo":{},"object":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null},"spec":{"ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999}],"health":{},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"","ports":null,"address":"","nodeName":""}},"oldObject":null},"response":{"uid":"","allowed":true}},"source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"gs":"test","level":"info","msg":"patch created!","patch":"[{\"op\":\"replace\",\"path\":\"/status/state\",\"value\":\"Creating\"},{\"op\":\"add\",\"path\":\"/metadata/finalizers\",\"value\":[\"stable.agones.dev\"]},{\"op\":\"add\",\"path\":\"/spec/container\",\"value\":\"container\"},{\"op\":\"add\",\"path\":\"/spec/ports/0/protocol\",\"value\":\"UDP\"},{\"op\":\"add\",\"path\":\"/spec/health/periodSeconds\",\"value\":5},{\"op\":\"add\",\"path\":\"/spec/health/failureThreshold\",\"value\":3},{\"op\":\"add\",\"path\":\"/spec/health/initialDelaySeconds\",\"value\":5}]","source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"key":"node1","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.PortAllocator","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"deletionTimestamp":"2018-08-14T18:53:23Z","finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing with Deletion Timestamp","source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"gsName":"test","level":"info","msg":"Found pods, deleting","pods":[{"metadata":{"name":"test-","generateName":"test-","namespace":"default","creationTimestamp":null,"labels":{"stable.agones.dev/gameserver":"test","stable.agones.dev/role":"gameserver"},"annotations":{"stable.agones.dev/container":"container"},"ownerReferences":[{"apiVersion":"stable.agones.dev/v1alpha1","kind":"GameServer","name":"test","uid":"","controller":true,"blockOwnerDeletion":true}]},"spec":{"containers":[{"name":"container","image":"container/image","ports":[{"hostPort":9999,"containerPort":7777,"protocol":"UDP"}],"resources":{}}],"serviceAccountName":"agones-sdk"},"status":{}}],"source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","maxPort":20,"minPort":10,"msg":"Starting","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/mutate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"groupKind":{"Group":"stable.agones.dev","Kind":"GameServer"},"level":"info","msg":"Added webhook handler","op":"CREATE","path":"/validate","source":"*webhooks.WebHook","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Wait for cache sync","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Node: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"nodes\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/vendor/k8s.io/client-go/informers/factory.go:87: Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"\", Version:\"v1\", Resource:\"pods\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"gs3","uid":"3","creationTimestamp":null},"spec":{"ports":[{"portPolicy":"dynamic","containerPort":0,"hostPort":10}],"health":{},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":null}}},"status":{"state":"Ready","ports":[{"port":10}],"address":"","nodeName":"node2"}},"level":"info","msg":"syncing deleted GameServer","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Resetting Port Allocation","source":"*gameservers.PortAllocator","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"dynamic","containerPort":7777,"hostPort":12,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing Port Allocation State","source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"deletionTimestamp":"2018-08-14T18:53:24Z","finalizers":["stable.agones.dev"]},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"Syncing with Deletion Timestamp","source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"gs":{"metadata":{"name":"test","namespace":"default","creationTimestamp":null,"deletionTimestamp":"2018-08-14T18:53:24Z"},"spec":{"container":"container","ports":[{"portPolicy":"static","containerPort":7777,"hostPort":9999,"protocol":"UDP"}],"health":{"periodSeconds":5,"failureThreshold":3,"initialDelaySeconds":5},"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"container","image":"container/image","resources":{}}]}}},"status":{"state":"Creating","ports":null,"address":"","nodeName":""}},"level":"info","msg":"No pods found, removing finalizer stable.agones.dev","source":"*gameservers.Controller","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"failureCount":1,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Test Running","test":"enabled, under timeout","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc420a6aa20), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Sending watched GameServer!","time":"2018-08-14T18:53:24Z"}
Step #4 - "tests": {"level":"info","msg":"Test Running","test":"enabled, over timeout","time":"2018-08-14T18:53:25Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:25Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc420a6ad80), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:25Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:25Z"}
Step #4 - "tests": {"failureCount":1,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"failureCount":1,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"failureCount":1,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"failureCount":2,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"failureCount":3,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"level":"info","msg":"Health Ping Received","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc4200d0ce0), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:26Z"}
Step #4 - "tests": {"level":"info","msg":"Health stream closed.","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:27Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc4201349c0), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:27Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:27Z"}
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc4200d1100), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": {"failureCount":1,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"being marked as not healthy","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": {"key":"Unhealthy","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"Unhealthy","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": {"level":"info","msg":"Updating state","source":"*gameservers.SDKServer","state":"Unhealthy","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": {"chan":"0xc4208e8de0","level":"info","msg":"$$$ Closing Channel!","test":"unhealthy","time":"2018-08-14T18:53:28Z"}
Step #4 - "tests": E0814 18:53:28.946336    4213 event.go:260] Could not construct reference to: '&v1alpha1.GameServer{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"test", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string{"stable.agones.dev"}, ClusterName:""}, Spec:v1alpha1.GameServerSpec{Container:"", Ports:[]v1alpha1.GameServerPort(nil), Health:v1alpha1.Health{Disabled:false, PeriodSeconds:1, FailureThreshold:1, InitialDelaySeconds:5}, Template:v1.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Name:"", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.PodSpec{Volumes:[]v1.Volume(nil), InitContainers:[]v1.Container(nil), Containers:[]v1.Container(nil), RestartPolicy:"", TerminationGracePeriodSeconds:(*int64)(nil), ActiveDeadlineSeconds:(*int64)(nil), DNSPolicy:"", NodeSelector:map[string]string(nil), ServiceAccountName:"", DeprecatedServiceAccount:"", AutomountServiceAccountToken:(*bool)(nil), NodeName:"", HostNetwork:false, HostPID:false, HostIPC:false, ShareProcessNamespace:(*bool)(nil), SecurityContext:(*v1.PodSecurityContext)(nil), ImagePullSecrets:[]v1.LocalObjectReference(nil), Hostname:"", Subdomain:"", Affinity:(*v1.Affinity)(nil), SchedulerName:"", Tolerations:[]v1.Toleration(nil), HostAliases:[]v1.HostAlias(nil), PriorityClassName:"", Priority:(*int32)(nil), DNSConfig:(*v1.PodDNSConfig)(nil)}}}, Status:v1alpha1.GameServerStatus{State:"Unhealthy", Ports:[]v1alpha1.GameServerStatusPort(nil), Address:"", NodeName:""}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Warning' 'Unhealthy' 'No longer healthy'
Step #4 - "tests": {"level":"error","msg":"agones.dev/agones/pkg/client/informers/externalversions/factory.go:74: Failed to watch *v1alpha1.GameServer: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"default\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"stable.agones.dev\", Version:\"v1alpha1\", Resource:\"gameservers\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:(*fields.hasTerm)(0xc420a6b3c0), ResourceVersion:\"\"}}","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": {"level":"info","msg":"Sending GameServer Event to connectedStreams","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": {"failureCount":2,"level":"info","msg":"GameServer Health Check failed","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": {"gameServerName":"test","level":"info","msg":"being marked as not healthy","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": {"key":"Unhealthy","level":"info","msg":"Enqueuing key","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": {"level":"info","msg":"Processing obj","obj":"Unhealthy","queue":"stable.agones.dev.default.test","source":"*gameservers.SDKServer","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": {"level":"info","msg":"Updating state","source":"*gameservers.SDKServer","state":"Unhealthy","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": {"chan":"0xc4208e8de0","level":"info","msg":"$$$ Closing Channel!","test":"unhealthy","time":"2018-08-14T18:53:29Z"}
Step #4 - "tests": E0814 18:53:29.947805    4213 runtime.go:66] Observed a panic: "close of closed channel" (close of closed channel)
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:72
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51
Step #4 - "tests": /usr/local/go/src/runtime/asm_amd64.s:573
Step #4 - "tests": /usr/local/go/src/runtime/panic.go:502
Step #4 - "tests": /usr/local/go/src/runtime/chan.go:333
Step #4 - "tests": /go/src/agones.dev/agones/pkg/gameservers/sdkserver_test.go:97
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/client-go/testing/fixture.go:464
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/client-go/testing/fake.go:143
Step #4 - "tests": /go/src/agones.dev/agones/pkg/client/clientset/versioned/typed/stable/v1alpha1/fake/fake_gameserver.go:95
Step #4 - "tests": /go/src/agones.dev/agones/pkg/gameservers/sdkserver.go:215
Step #4 - "tests": /go/src/agones.dev/agones/pkg/gameservers/sdkserver.go:139
Step #4 - "tests": /go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:107
Step #4 - "tests": /go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:83
Step #4 - "tests": /go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:135
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:134
Step #4 - "tests": /go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88
Step #4 - "tests": /go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:135
Step #4 - "tests": /usr/local/go/src/runtime/asm_amd64.s:2361
Step #4 - "tests": panic: close of closed channel [recovered]
Step #4 - "tests": 	panic: close of closed channel
Step #4 - "tests": 
Step #4 - "tests": goroutine 587 [running]:
Step #4 - "tests": agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
Step #4 - "tests": 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:58 +0x16b
Step #4 - "tests": panic(0x1931d40, 0x1c55140)
Step #4 - "tests": 	/usr/local/go/src/runtime/panic.go:502 +0x24a
Step #4 - "tests": agones.dev/agones/pkg/gameservers.TestSidecarRun.func4.2(0x1c7c460, 0xc42023f0a0, 0x1, 0x1c5ad00, 0xc420491400, 0x0, 0x0)
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/gameservers/sdkserver_test.go:97 +0x3b3
Step #4 - "tests": agones.dev/agones/vendor/k8s.io/client-go/testing.(*SimpleReactor).React(0xc420251b90, 0x1c7c460, 0xc42023f0a0, 0xc42023f001, 0xc4206f7b60, 0x70, 0x16867e9, 0x436b00)
Step #4 - "tests": 	/go/src/agones.dev/agones/vendor/k8s.io/client-go/testing/fixture.go:464 +0x65
Step #4 - "tests": agones.dev/agones/vendor/k8s.io/client-go/testing.(*Fake).Invokes(0xc420600780, 0x1c7c460, 0xc42023f0a0, 0x1c5ad00, 0xc4200af400, 0x0, 0x0, 0x0, 0x0)
Step #4 - "tests": 	/go/src/agones.dev/agones/vendor/k8s.io/client-go/testing/fake.go:143 +0x242
Step #4 - "tests": agones.dev/agones/pkg/client/clientset/versioned/typed/stable/v1alpha1/fake.(*FakeGameServers).Update(0xc420134f80, 0xc420491400, 0x4, 0xc420491400, 0x0)
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/client/clientset/versioned/typed/stable/v1alpha1/fake/fake_gameserver.go:95 +0x291
Step #4 - "tests": agones.dev/agones/pkg/gameservers.(*SDKServer).updateState(0xc420340fc0, 0x1ac3fa9, 0x9, 0xc4204b5e00, 0xe)
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/gameservers/sdkserver.go:215 +0x321
Step #4 - "tests": agones.dev/agones/pkg/gameservers.NewSDKServer.func5(0x1ac3fa9, 0x9, 0x1, 0x1)
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/gameservers/sdkserver.go:139 +0x56
Step #4 - "tests": agones.dev/agones/pkg/util/workerqueue.(*WorkerQueue).processNextWorkItem(0xc4202d4dc0, 0xc42044fd00)
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:107 +0x21c
Step #4 - "tests": agones.dev/agones/pkg/util/workerqueue.(*WorkerQueue).runWorker(0xc4202d4dc0)
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:83 +0x39
Step #4 - "tests": agones.dev/agones/pkg/util/workerqueue.(*WorkerQueue).(agones.dev/agones/pkg/util/workerqueue.runWorker)-fm()
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:135 +0x42
Step #4 - "tests": agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc42081afb0)
Step #4 - "tests": 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x62
Step #4 - "tests": agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc4206f7fb0, 0x3b9aca00, 0x0, 0xc42081af01, 0xc420588cc0)
Step #4 - "tests": 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:134 +0xce
Step #4 - "tests": agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait.Until(0xc42081afb0, 0x3b9aca00, 0xc420588cc0)
Step #4 - "tests": 	/go/src/agones.dev/agones/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x5b
Step #4 - "tests": agones.dev/agones/pkg/util/workerqueue.(*WorkerQueue).run(0xc4202d4dc0, 0xc420588cc0)
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:135 +0xbe
Step #4 - "tests": created by agones.dev/agones/pkg/util/workerqueue.(*WorkerQueue).Run
Step #4 - "tests": 	/go/src/agones.dev/agones/pkg/util/workerqueue/workerqueue.go:124 +0x169
Step #4 - "tests": FAIL	agones.dev/agones/pkg/gameservers	13.716s
Step #4 - "tests": ok  	agones.dev/agones/pkg/gameserversets	2.907s
Step #4 - "tests": ?   	agones.dev/agones/pkg/sdk	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/testing	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/util	[no test files]
Step #4 - "tests": ok  	agones.dev/agones/pkg/util/crd	4.065s
Step #4 - "tests": ?   	agones.dev/agones/pkg/util/runtime	[no test files]
Step #4 - "tests": ?   	agones.dev/agones/pkg/util/signals	[no test files]
Step #4 - "tests": ok  	agones.dev/agones/pkg/util/webhooks	1.274s
Step #4 - "tests": ok  	agones.dev/agones/pkg/util/workerqueue	2.077s
Step #4 - "tests": ok  	agones.dev/agones/sdks/go	1.027s
Step #4 - "tests": Makefile:109: recipe for target 'test-go' failed
Step #4 - "tests": make: *** [test-go] Error 1
Finished Step #4 - "tests"
Finished Step #5 - "build"
ERROR
ERROR: build step 4 "make-docker" failed: exit status 2

This commit fixes actually two bugs:

1) While we documented that you could disabled health checking we never
actually implemented it! This fixes that. Thankfully, the work that has been
done to retrieve `GameServer` details through the SDK makes this relatively
easy.

2) SDK Server sidecar never had the necessary RBAC permissions to send events
to the `GameServer` CRD. This is now fixed as well.
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 85ababe5-a4c5-487a-90dd-f8ac1bf9e9e0

The following development artifacts have been built, and will exist for the next 30 days:

(experimental) To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/317/head:pr_317 && git checkout pr_317
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.4.0-5da96b3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/user-experience Pertaining to developers trying to use Agones, e.g. SDK, installation, etc kind/bug These are bugs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants