Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

Fix duplicate headless services #473

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions kube/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,6 @@ func NewServiceList(role *model.InstanceGroup, clustering bool, settings ExportS
}

for _, job := range role.JobReferences {
if clustering {
// Create headless, private service
svc, err := newService(role, job, newServiceTypeHeadless, settings)
if err != nil {
return nil, err
}
if svc != nil {
items = append(items, svc)
}
}

// Create private service
svc, err := newService(role, job, newServiceTypePrivate, settings)
if err != nil {
Expand Down
36 changes: 0 additions & 36 deletions kube/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -776,42 +776,6 @@ func TestActivePassiveService(t *testing.T) {
testhelpers.IsYAMLEqualString(assert.New(t), expected, actual)
}
}
if assert.NotNil(t, headlessService, "headless service not found") {
actual, err := roundTrip(headlessService)
if assert.NoError(t, err) {
expected := expectedYAML(exportSettings, `---
apiVersion: v1
kind: Service
metadata:
name: myrole-tor-set
labels:
app.kubernetes.io/component: myrole-tor-set
app.kubernetes.io/instance: MyRelease
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/name: MyChart
app.kubernetes.io/version: 1.22.333.4444
helm.sh/chart: MyChart-42.1_foo
skiff-role-name: "myrole-tor-set"
spec:
clusterIP: None
ports:
-
name: http
port: 80
protocol: TCP
targetPort: 0
-
name: https
port: 443
protocol: TCP
targetPort: 0
selector:
app.kubernetes.io/component: myrole
skiff-role-active: "true"
`)
testhelpers.IsYAMLEqualString(assert.New(t), expected, actual)
}
}
} else {
assert.Nil(t, headlessService, "Headless service should not be created when not clustering")
}
Expand Down
59 changes: 2 additions & 57 deletions kube/stateful_set_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func TestStatefulSetPorts(t *testing.T) {

var endpointService, headlessService, privateService helm.Node
items := deps.Get("items").Values()
if assert.Len(t, items, 4, "Should have four services per stateful role") {
if assert.Len(t, items, 3, "Should have three services per stateful role") {
for _, item := range items {
clusterIP := item.Get("spec", "clusterIP")
if clusterIP != nil && clusterIP.String() == "None" {
Expand All @@ -69,7 +69,7 @@ func TestStatefulSetPorts(t *testing.T) {
assert.Equal(t, role.Name+"-tor-public", endpointService.Get("metadata", "name").String(), "unexpected endpoint service name")
}
if assert.NotNil(t, headlessService, "headless service not found") {
assert.Equal(t, role.Name+"-tor-set", headlessService.Get("metadata", "name").String(), "unexpected headless service name")
assert.Equal(t, role.Name+"-set", headlessService.Get("metadata", "name").String(), "unexpected headless service name")
}
if assert.NotNil(t, privateService, "private service not found") {
assert.Equal(t, role.Name+"-tor", privateService.Get("metadata", "name").String(), "unexpected private service name")
Expand Down Expand Up @@ -102,25 +102,6 @@ func TestStatefulSetPorts(t *testing.T) {
selector:
app.kubernetes.io/component: myrole
clusterIP: None
-
# This is the per-pod naming port
metadata:
name: myrole-tor-set
spec:
ports:
-
name: http
port: 80
# targetPort must be undefined for headless services
targetPort: 0
-
name: https
port: 443
# targetPort must be undefined for headless services
targetPort: 0
selector:
app.kubernetes.io/component: myrole
clusterIP: None
-
# This is the private service port
metadata:
Expand Down Expand Up @@ -217,42 +198,6 @@ func TestStatefulSetServices(t *testing.T) {
}
for _, style := range []string{"kube", "helm"} {
t.Run(style, func(t *testing.T) {
if assert.NotNil(t, headlessService, "Headless service not found") {
var actual interface{}
var err error
switch style {
case "helm":
actual, err = RoundtripNode(headlessService, nil)
case "kube":
actual, err = RoundtripKube(headlessService)
default:
panic("Unexpected style " + style)
}
require.NoError(t, err)
testhelpers.IsYAMLEqualString(assert.New(t), `---
apiVersion: v1
kind: Service
metadata:
name: myrole-tor-set
labels:
app.kubernetes.io/component: myrole-tor-set
spec:
clusterIP: None
ports:
-
name: http
port: 80
protocol: TCP
targetPort: 0
-
name: https
port: 443
protocol: TCP
targetPort: 0
selector:
app.kubernetes.io/component: myrole
`, actual)
}
if assert.NotNil(t, genericService, "Generic instance group service not found") {
var actual interface{}
var err error
Expand Down