Skip to content

Commit 237af92

Browse files
authored
[Bugfix] Change member port discovery (#1207)
1 parent 93d8ba1 commit 237af92

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
- (Bugfix) Do not stop Sync if Synchronization is in progress
4040
- (Bugfix) Wait for Pod to be Ready in post-restart actions
4141
- (Bugfix) Prevent Runtime update restarts
42+
- (Bugfix) Change member port discovery
4243

4344
## [1.2.20](https://github.com/arangodb/kube-arangodb/tree/1.2.20) (2022-10-25)
4445
- (Feature) Add action progress

pkg/deployment/resources/services.go

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import (
3737
"github.com/arangodb/kube-arangodb/pkg/util/globals"
3838
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
3939
inspectorInterface "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector"
40-
v1 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector/pod/v1"
40+
v1 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector/arangomember/v1"
4141
servicev1 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector/service/v1"
4242
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/kerrors"
4343
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/patcher"
@@ -84,7 +84,7 @@ func (r *Resources) EnsureServices(ctx context.Context, cachedStatus inspectorIn
8484

8585
// Fetch existing services
8686
svcs := cachedStatus.ServicesModInterface().V1()
87-
podInspector := cachedStatus.Pod().V1()
87+
amInspector := cachedStatus.ArangoMember().V1()
8888

8989
reconcileRequired := k8sutil.NewReconcile(cachedStatus)
9090

@@ -97,7 +97,7 @@ func (r *Resources) EnsureServices(ctx context.Context, cachedStatus inspectorIn
9797
return errors.Newf("Member %s not found", memberName)
9898
}
9999

100-
ports := CreateServerServicePortsWithSidecars(podInspector, e.Member.Pod.GetName())
100+
ports := CreateServerServicePortsWithSidecars(amInspector, e.Member.ArangoMemberName(deploymentName, e.Group))
101101
selector := k8sutil.LabelsForActiveMember(deploymentName, e.Group.AsRole(), e.Member.ID)
102102
if s, ok := cachedStatus.Service().V1().GetSimple(member.GetName()); !ok {
103103
s := r.createService(member.GetName(), member.GetNamespace(), member.AsOwner(), ports, selector)
@@ -408,27 +408,31 @@ func (r *Resources) ensureExternalAccessManagedServices(ctx context.Context, cac
408408
}
409409

410410
// CreateServerServicePortsWithSidecars returns ports for the service.
411-
func CreateServerServicePortsWithSidecars(podInspector v1.Inspector, podName string) []core.ServicePort {
411+
func CreateServerServicePortsWithSidecars(amInspector v1.Inspector, am string) []core.ServicePort {
412412
// Create service port for the `server` container.
413413
ports := []core.ServicePort{CreateServerServicePort()}
414414

415-
if podInspector == nil {
415+
if amInspector == nil {
416416
return ports
417417
}
418418

419-
if p, ok := podInspector.GetSimple(podName); ok {
420-
for _, c := range p.Spec.Containers {
421-
if c.Name == api.ServerGroupReservedContainerNameServer {
422-
// It is already added.
423-
continue
424-
}
425-
for _, port := range c.Ports {
426-
ports = append(ports, core.ServicePort{
427-
Name: port.Name,
428-
Protocol: core.ProtocolTCP,
429-
Port: port.ContainerPort,
430-
TargetPort: intstr.FromString(port.Name),
431-
})
419+
if am, ok := amInspector.GetSimple(am); ok {
420+
if t := am.Status.Template; t != nil {
421+
if p := t.PodSpec; p != nil {
422+
for _, c := range p.Spec.Containers {
423+
if c.Name == api.ServerGroupReservedContainerNameServer {
424+
// It is already added.
425+
continue
426+
}
427+
for _, port := range c.Ports {
428+
ports = append(ports, core.ServicePort{
429+
Name: port.Name,
430+
Protocol: core.ProtocolTCP,
431+
Port: port.ContainerPort,
432+
TargetPort: intstr.FromString(port.Name),
433+
})
434+
}
435+
}
432436
}
433437
}
434438
}

0 commit comments

Comments
 (0)