@@ -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