Skip to content

Commit caaba8a

Browse files
Cyril TOVENAcyriltovena
authored andcommitted
add fleet name to gameservers labels
1 parent de6ec88 commit caaba8a

8 files changed

Lines changed: 22 additions & 33 deletions

File tree

‎pkg/apis/stable/v1alpha1/fleet.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ import (
2222
)
2323

2424
const (
25-
// FleetGameServerSetLabel is the label that the name of the Fleet
26-
// is set to on the GameServerSet the Fleet controls
27-
FleetGameServerSetLabel = stable.GroupName + "/fleet"
25+
// FleetNameLabel is the label that the name of the Fleet
26+
// is set to on GameServerSet and GameServer the Fleet controls
27+
FleetNameLabel = stable.GroupName + "/fleet"
2828
)
2929

3030
// +genclient
@@ -97,7 +97,7 @@ func (f *Fleet) GameServerSet() *GameServerSet {
9797
gsSet.ObjectMeta.Labels = make(map[string]string, 1)
9898
}
9999

100-
gsSet.ObjectMeta.Labels[FleetGameServerSetLabel] = f.ObjectMeta.Name
100+
gsSet.ObjectMeta.Labels[FleetNameLabel] = f.ObjectMeta.Name
101101

102102
return gsSet
103103
}

‎pkg/apis/stable/v1alpha1/fleet_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func TestFleetGameServerSetGameServer(t *testing.T) {
5050
assert.Equal(t, "", gsSet.ObjectMeta.Name)
5151
assert.Equal(t, f.ObjectMeta.Namespace, gsSet.ObjectMeta.Namespace)
5252
assert.Equal(t, f.ObjectMeta.Name+"-", gsSet.ObjectMeta.GenerateName)
53-
assert.Equal(t, f.ObjectMeta.Name, gsSet.ObjectMeta.Labels[FleetGameServerSetLabel])
53+
assert.Equal(t, f.ObjectMeta.Name, gsSet.ObjectMeta.Labels[FleetNameLabel])
5454
assert.Equal(t, int32(0), gsSet.Spec.Replicas)
5555
assert.Equal(t, f.Spec.Scheduling, gsSet.Spec.Scheduling)
5656
assert.Equal(t, f.Spec.Template, gsSet.Spec.Template)

‎pkg/apis/stable/v1alpha1/gameserverset.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,10 @@ func (gsSet *GameServerSet) GameServer() *GameServer {
109109
gs.ObjectMeta.OwnerReferences = append(gs.ObjectMeta.OwnerReferences, *ref)
110110

111111
if gs.ObjectMeta.Labels == nil {
112-
gs.ObjectMeta.Labels = make(map[string]string, 1)
112+
gs.ObjectMeta.Labels = make(map[string]string, 2)
113113
}
114114

115115
gs.ObjectMeta.Labels[GameServerSetGameServerLabel] = gsSet.ObjectMeta.Name
116-
116+
gs.ObjectMeta.Labels[FleetNameLabel] = gsSet.ObjectMeta.Labels[FleetNameLabel]
117117
return gs
118118
}

‎pkg/apis/stable/v1alpha1/gameserverset_test.go‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ func TestGameServerSetGameServer(t *testing.T) {
2828
Name: "test",
2929
Namespace: "namespace",
3030
UID: "1234",
31+
Labels: map[string]string{
32+
FleetNameLabel: "fleetname",
33+
},
3134
},
3235
Spec: GameServerSetSpec{
3336
Replicas: 10,
@@ -49,6 +52,8 @@ func TestGameServerSetGameServer(t *testing.T) {
4952
assert.Equal(t, gsSet.ObjectMeta.Namespace, gs.ObjectMeta.Namespace)
5053
assert.Equal(t, gsSet.ObjectMeta.Name+"-", gs.ObjectMeta.GenerateName)
5154
assert.Equal(t, gsSet.ObjectMeta.Name, gs.ObjectMeta.Labels[GameServerSetGameServerLabel])
55+
assert.Equal(t, gsSet.ObjectMeta.Labels[FleetNameLabel], gs.ObjectMeta.Labels[FleetNameLabel])
56+
5257
assert.Equal(t, gs.Spec, gsSet.Spec.Template.Spec)
5358
assert.True(t, v1.IsControlledBy(gs, &gsSet))
5459
}

‎pkg/fleetallocation/controller.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ func (c *Controller) allocate(f *v1alpha1.Fleet, fam *v1alpha1.FleetAllocationMe
267267
if !cache.WaitForCacheSync(c.stop, c.gameServerSynced) {
268268
return allocation, errors.New("error syncing GameServer cache")
269269
}
270-
gsList, err := fleets.ListGameServersByFleetOwner(c.gameServerLister, c.gameServerSetLister, f)
270+
gsList, err := fleets.ListGameServersByFleetOwner(c.gameServerLister, f)
271271
if err != nil {
272272
return allocation, err
273273
}

‎pkg/fleets/fleets.go‎

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ package fleets
1919
import (
2020
stablev1alpha1 "agones.dev/agones/pkg/apis/stable/v1alpha1"
2121
listerv1alpha1 "agones.dev/agones/pkg/client/listers/stable/v1alpha1"
22-
"agones.dev/agones/pkg/gameserversets"
2322
"github.com/pkg/errors"
2423
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2524
"k8s.io/apimachinery/pkg/labels"
@@ -28,7 +27,7 @@ import (
2827
// ListGameServerSetsByFleetOwner lists all the GameServerSets for a given
2928
// Fleet
3029
func ListGameServerSetsByFleetOwner(gameServerSetLister listerv1alpha1.GameServerSetLister, f *stablev1alpha1.Fleet) ([]*stablev1alpha1.GameServerSet, error) {
31-
list, err := gameServerSetLister.List(labels.SelectorFromSet(labels.Set{stablev1alpha1.FleetGameServerSetLabel: f.ObjectMeta.Name}))
30+
list, err := gameServerSetLister.List(labels.SelectorFromSet(labels.Set{stablev1alpha1.FleetNameLabel: f.ObjectMeta.Name}))
3231
if err != nil {
3332
return list, errors.Wrapf(err, "error listing gameserversets for fleet %s", f.ObjectMeta.Name)
3433
}
@@ -46,21 +45,11 @@ func ListGameServerSetsByFleetOwner(gameServerSetLister listerv1alpha1.GameServe
4645
// ListGameServersByFleetOwner lists all GameServers that belong to a fleet through the
4746
// GameServer -> GameServerSet -> Fleet owner chain
4847
func ListGameServersByFleetOwner(gameServerLister listerv1alpha1.GameServerLister,
49-
gameServerSetLister listerv1alpha1.GameServerSetLister, fleet *stablev1alpha1.Fleet) ([]*stablev1alpha1.GameServer, error) {
50-
var result []*stablev1alpha1.GameServer
48+
fleet *stablev1alpha1.Fleet) ([]*stablev1alpha1.GameServer, error) {
5149

52-
gsSetList, err := ListGameServerSetsByFleetOwner(gameServerSetLister, fleet)
50+
list, err := gameServerLister.List(labels.SelectorFromSet(labels.Set{stablev1alpha1.FleetNameLabel: fleet.ObjectMeta.Name}))
5351
if err != nil {
54-
return result, err
52+
return list, errors.Wrapf(err, "error listing gameservers for fleets %s", fleet.ObjectMeta.Name)
5553
}
56-
57-
for _, gsSet := range gsSetList {
58-
gsList, err := gameserversets.ListGameServersByGameServerSetOwner(gameServerLister, gsSet)
59-
if err != nil {
60-
return result, err
61-
}
62-
result = append(result, gsList...)
63-
}
64-
65-
return result, nil
54+
return list, nil
6655
}

‎pkg/fleets/fleets_test.go‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,17 @@ func TestListGameServersByFleetOwner(t *testing.T) {
8989
}
9090

9191
m := agtesting.NewMocks()
92-
m.AgonesClient.AddReactor("list", "fleets", func(action k8stesting.Action) (bool, runtime.Object, error) {
93-
return true, &v1alpha1.FleetList{Items: []v1alpha1.Fleet{*f}}, nil
94-
})
95-
m.AgonesClient.AddReactor("list", "gameserversets", func(action k8stesting.Action) (bool, runtime.Object, error) {
96-
return true, &v1alpha1.GameServerSetList{Items: []v1alpha1.GameServerSet{*gsSet}}, nil
97-
})
92+
9893
m.AgonesClient.AddReactor("list", "gameservers", func(action k8stesting.Action) (bool, runtime.Object, error) {
9994
return true, &v1alpha1.GameServerList{Items: gsList}, nil
10095
})
10196

10297
informer := m.AgonesInformerFactory.Stable().V1alpha1()
10398
_, cancel := agtesting.StartInformers(m,
104-
informer.Fleets().Informer().HasSynced, informer.GameServerSets().Informer().HasSynced, informer.GameServers().Informer().HasSynced)
99+
informer.GameServers().Informer().HasSynced)
105100
defer cancel()
106101

107-
list, err := ListGameServersByFleetOwner(informer.GameServers().Lister(), informer.GameServerSets().Lister(), f)
102+
list, err := ListGameServersByFleetOwner(informer.GameServers().Lister(), f)
108103
assert.Nil(t, err)
109104
assert.Len(t, list, len(gsList), "Retrieved list should be same size as original")
110105

‎test/e2e/framework/framework.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func (f *Framework) WaitForFleetCondition(flt *v1alpha1.Fleet, condition func(fl
133133
func (f *Framework) ListGameServersFromFleet(flt *v1alpha1.Fleet) ([]v1alpha1.GameServer, error) {
134134
var results []v1alpha1.GameServer
135135

136-
opts := metav1.ListOptions{LabelSelector: labels.Set{v1alpha1.FleetGameServerSetLabel: flt.ObjectMeta.Name}.String()}
136+
opts := metav1.ListOptions{LabelSelector: labels.Set{v1alpha1.FleetNameLabel: flt.ObjectMeta.Name}.String()}
137137
gsSetList, err := f.AgonesClient.StableV1alpha1().GameServerSets(flt.ObjectMeta.Namespace).List(opts)
138138
if err != nil {
139139
return results, err

0 commit comments

Comments
 (0)