From da81414714ba562e1d40335815a26d6ae30783de Mon Sep 17 00:00:00 2001 From: Mark Mandel Date: Mon, 29 Jul 2019 15:01:01 +0900 Subject: [PATCH] Remove GameServer UpdateStatus() since its not being used. Also included documentation on why we don't provide a status subresource. --- pkg/apis/agones/v1/gameserver.go | 7 ++++++- .../typed/agones/v1/fake/fake_gameserver.go | 12 ------------ .../versioned/typed/agones/v1/gameserver.go | 17 ----------------- .../Reference/agones_crd_api_reference.html | 6 +++++- 4 files changed, 11 insertions(+), 31 deletions(-) diff --git a/pkg/apis/agones/v1/gameserver.go b/pkg/apis/agones/v1/gameserver.go index e38f035841..8e69cd7e25 100644 --- a/pkg/apis/agones/v1/gameserver.go +++ b/pkg/apis/agones/v1/gameserver.go @@ -92,9 +92,14 @@ var ( ) // +genclient +// +genclient:noStatus // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// GameServer is the data structure for a GameServer resource +// GameServer is the data structure for a GameServer resource. +// It is worth noting that while there is a `GameServerStatus` Status entry for the `GameServer`, it is not +// defined as a subresource - unlike `Fleet` and other Agones resources. +// This is so that we can retain the ability to change multiple aspects of a `GameServer` in a single atomic operation, +// which is particularly useful for operations such as allocation. type GameServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/pkg/client/clientset/versioned/typed/agones/v1/fake/fake_gameserver.go b/pkg/client/clientset/versioned/typed/agones/v1/fake/fake_gameserver.go index 532a303197..c6b16a498e 100644 --- a/pkg/client/clientset/versioned/typed/agones/v1/fake/fake_gameserver.go +++ b/pkg/client/clientset/versioned/typed/agones/v1/fake/fake_gameserver.go @@ -100,18 +100,6 @@ func (c *FakeGameServers) Update(gameServer *agonesv1.GameServer) (result *agone return obj.(*agonesv1.GameServer), err } -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeGameServers) UpdateStatus(gameServer *agonesv1.GameServer) (*agonesv1.GameServer, error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(gameserversResource, "status", c.ns, gameServer), &agonesv1.GameServer{}) - - if obj == nil { - return nil, err - } - return obj.(*agonesv1.GameServer), err -} - // Delete takes name of the gameServer and deletes it. Returns an error if one occurs. func (c *FakeGameServers) Delete(name string, options *v1.DeleteOptions) error { _, err := c.Fake. diff --git a/pkg/client/clientset/versioned/typed/agones/v1/gameserver.go b/pkg/client/clientset/versioned/typed/agones/v1/gameserver.go index db23cde42a..c6eeb6d1a3 100644 --- a/pkg/client/clientset/versioned/typed/agones/v1/gameserver.go +++ b/pkg/client/clientset/versioned/typed/agones/v1/gameserver.go @@ -37,7 +37,6 @@ type GameServersGetter interface { type GameServerInterface interface { Create(*v1.GameServer) (*v1.GameServer, error) Update(*v1.GameServer) (*v1.GameServer, error) - UpdateStatus(*v1.GameServer) (*v1.GameServer, error) Delete(name string, options *metav1.DeleteOptions) error DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error Get(name string, options metav1.GetOptions) (*v1.GameServer, error) @@ -121,22 +120,6 @@ func (c *gameServers) Update(gameServer *v1.GameServer) (result *v1.GameServer, return } -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). - -func (c *gameServers) UpdateStatus(gameServer *v1.GameServer) (result *v1.GameServer, err error) { - result = &v1.GameServer{} - err = c.client.Put(). - Namespace(c.ns). - Resource("gameservers"). - Name(gameServer.Name). - SubResource("status"). - Body(gameServer). - Do(). - Into(result) - return -} - // Delete takes name of the gameServer and deletes it. Returns an error if one occurs. func (c *gameServers) Delete(name string, options *metav1.DeleteOptions) error { return c.client.Delete(). diff --git a/site/content/en/docs/Reference/agones_crd_api_reference.html b/site/content/en/docs/Reference/agones_crd_api_reference.html index 00246095b2..7eaf7a517a 100644 --- a/site/content/en/docs/Reference/agones_crd_api_reference.html +++ b/site/content/en/docs/Reference/agones_crd_api_reference.html @@ -2497,7 +2497,11 @@

Fleet

GameServer

-

GameServer is the data structure for a GameServer resource

+

GameServer is the data structure for a GameServer resource. +It is worth noting that while there is a GameServerStatus Status entry for the GameServer, it is not +defined as a subresource - unlike Fleet and other Agones resources. +This is so that we can retain the ability to change multiple aspects of a GameServer in a single atomic operation, +which is particularly useful for operations such as allocation.