Skip to content

Commit 8be3599

Browse files
authored
[Feature] Move Container utils functions (#1626)
1 parent 6d3100c commit 8be3599

File tree

8 files changed

+22
-21
lines changed

8 files changed

+22
-21
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
- (Feature) (Scheduler) Introduce Scheduler CRD
99
- (Feature) Discover Namespace in DebugPackage from K8S
1010
- (Feature) Expose Force CRD Install option
11+
- (Maintenance) Move Container utils functions
1112

1213
## [1.2.39](https://github.com/arangodb/kube-arangodb/tree/1.2.39) (2024-03-11)
1314
- (Feature) Extract Scheduler API

pkg/apis/scheduler/v1alpha1/container/definition.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
shared "github.com/arangodb/kube-arangodb/pkg/apis/shared"
2929
"github.com/arangodb/kube-arangodb/pkg/util"
3030
"github.com/arangodb/kube-arangodb/pkg/util/errors"
31-
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/container"
31+
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
3232
)
3333

3434
type Containers map[string]Container
@@ -61,7 +61,7 @@ func (c Containers) Apply(template *core.PodTemplateSpec) error {
6161
}
6262

6363
for k, v := range c {
64-
if id := container.GetContainerIDByName(template.Spec.Containers, k); id >= 0 {
64+
if id := kresources.GetContainerIDByName(template.Spec.Containers, k); id >= 0 {
6565
if err := v.Apply(template, &template.Spec.Containers[id]); err != nil {
6666
return err
6767
}

pkg/deployment/deployment_suite_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ import (
5353
"github.com/arangodb/kube-arangodb/pkg/util"
5454
"github.com/arangodb/kube-arangodb/pkg/util/constants"
5555
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
56-
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/container"
5756
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector/throttle"
5857
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/probes"
58+
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
5959
"github.com/arangodb/kube-arangodb/pkg/util/kclient"
6060
)
6161

@@ -893,15 +893,15 @@ func addLifecycle(name string, uuidRequired bool, license string, group api.Serv
893893
p.Spec.Containers[0].VolumeMounts = append(p.Spec.Containers[0].VolumeMounts, k8sutil.LifecycleVolumeMount())
894894
}
895895

896-
if _, ok := container.GetAnyContainerByName(p.Spec.InitContainers, "init-lifecycle"); !ok {
896+
if _, ok := kresources.GetAnyContainerByName(p.Spec.InitContainers, "init-lifecycle"); !ok {
897897
p.Spec.InitContainers = append(
898898
[]core.Container{createTestLifecycleContainer(emptyResources)},
899899
p.Spec.InitContainers...,
900900
)
901901
}
902902
}
903903

904-
if _, ok := container.GetAnyContainerByName(p.Spec.InitContainers, "uuid"); !ok {
904+
if _, ok := kresources.GetAnyContainerByName(p.Spec.InitContainers, "uuid"); !ok {
905905
binaryPath, _ := os.Executable()
906906
p.Spec.InitContainers = append(
907907
[]core.Container{

pkg/deployment/reconcile/action_runtime_container_image_update.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import (
3131
"github.com/arangodb/kube-arangodb/pkg/deployment/rotation"
3232
"github.com/arangodb/kube-arangodb/pkg/util/errors"
3333
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
34-
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/container"
34+
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
3535
)
3636

3737
func newRuntimeContainerImageUpdateAction(action api.Action, actionCtx ActionContext) Action {
@@ -286,13 +286,13 @@ func (a actionRuntimeContainerImageUpdate) CheckProgress(ctx context.Context) (b
286286
return true, false, nil
287287
}
288288

289-
cspec, ok := container.GetContainerByName(pod, name)
289+
cspec, ok := kresources.GetContainerByName(pod, name)
290290
if !ok {
291291
a.log.Info("Unable to find container spec")
292292
return true, false, nil
293293
}
294294

295-
cstatus, ok := container.GetContainerStatusByName(pod, name)
295+
cstatus, ok := kresources.GetContainerStatusByName(pod, name)
296296
if !ok {
297297
a.log.Info("Unable to find container status")
298298
return true, false, nil

pkg/deployment/resources/pod_inspector.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ import (
3939
"github.com/arangodb/kube-arangodb/pkg/util/errors"
4040
"github.com/arangodb/kube-arangodb/pkg/util/globals"
4141
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
42-
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/container"
4342
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/info"
4443
inspectorInterface "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector"
4544
podv1 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/inspector/pod/v1"
4645
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/kerrors"
46+
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
4747
)
4848

4949
var (
@@ -61,7 +61,7 @@ const (
6161
)
6262

6363
func (r *Resources) handleRestartedPod(pod *core.Pod, memberStatus *api.MemberStatus, wasTerminated, markAsTerminated *bool) {
64-
containerStatus, exist := container.GetContainerStatusByName(pod, api.ServerGroupReservedContainerNameServer)
64+
containerStatus, exist := kresources.GetContainerStatusByName(pod, api.ServerGroupReservedContainerNameServer)
6565
if exist && containerStatus.State.Terminated != nil {
6666
// do not record termination time again in the code below
6767
*wasTerminated = true
@@ -178,11 +178,11 @@ func (r *Resources) InspectPods(ctx context.Context, cachedStatus inspectorInter
178178
}
179179

180180
if markAsTerminated && memberStatus.Conditions.Update(api.ConditionTypeTerminated, true, "Pod Failed", "") {
181-
if containers := container.GetFailedContainerNames(pod.Status.InitContainerStatuses); len(containers) > 0 {
181+
if containers := kresources.GetFailedContainerNames(pod.Status.InitContainerStatuses); len(containers) > 0 {
182182
for id := range containers {
183183
switch containers[id] {
184184
case api.ServerGroupReservedInitContainerNameVersionCheck:
185-
if c, ok := container.GetAnyContainerStatusByName(pod.Status.InitContainerStatuses, containers[id]); ok {
185+
if c, ok := kresources.GetAnyContainerStatusByName(pod.Status.InitContainerStatuses, containers[id]); ok {
186186
if t := c.State.Terminated; t != nil && t.ExitCode == 11 {
187187
memberStatus.Upgrade = true
188188
updateMemberStatusNeeded = true
@@ -192,7 +192,7 @@ func (r *Resources) InspectPods(ctx context.Context, cachedStatus inspectorInter
192192
memberStatus.Conditions.Update(api.ConditionTypeUpgradeFailed, true, "Upgrade Failed", "")
193193
}
194194

195-
if c, ok := container.GetAnyContainerStatusByName(pod.Status.InitContainerStatuses, containers[id]); ok {
195+
if c, ok := kresources.GetAnyContainerStatusByName(pod.Status.InitContainerStatuses, containers[id]); ok {
196196
if t := c.State.Terminated; t != nil && t.ExitCode != 0 {
197197
log.Str("member", memberStatus.ID).
198198
Str("pod", pod.GetName()).
@@ -212,9 +212,9 @@ func (r *Resources) InspectPods(ctx context.Context, cachedStatus inspectorInter
212212
}
213213
}
214214

215-
if containers := container.GetFailedContainerNames(pod.Status.ContainerStatuses); len(containers) > 0 {
215+
if containers := kresources.GetFailedContainerNames(pod.Status.ContainerStatuses); len(containers) > 0 {
216216
for id := range containers {
217-
if c, ok := container.GetAnyContainerStatusByName(pod.Status.ContainerStatuses, containers[id]); ok {
217+
if c, ok := kresources.GetAnyContainerStatusByName(pod.Status.ContainerStatuses, containers[id]); ok {
218218
if t := c.State.Terminated; t != nil && t.ExitCode != 0 {
219219
log.Str("member", memberStatus.ID).
220220
Str("pod", pod.GetName()).

pkg/deployment/resources/pod_termination.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import (
3434
"github.com/arangodb/kube-arangodb/pkg/util/errors"
3535
"github.com/arangodb/kube-arangodb/pkg/util/globals"
3636
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
37-
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/container"
37+
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
3838
)
3939

4040
// prepareAgencyPodTermination checks if the given agency pod is allowed to terminate
@@ -175,7 +175,7 @@ func (r *Resources) prepareDBServerPodTermination(ctx context.Context, p *core.P
175175
log.Err(err).Debug("Failed to access cluster")
176176

177177
if r.context.GetSpec().Recovery.Get().GetAutoRecover() {
178-
if c, ok := container.GetContainerStatusByName(p, shared.ServerContainerName); ok {
178+
if c, ok := kresources.GetContainerStatusByName(p, shared.ServerContainerName); ok {
179179
if t := c.State.Terminated; t != nil {
180180
return nil
181181
}

pkg/util/k8sutil/images.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727

2828
schedulerContainerResourcesApi "github.com/arangodb/kube-arangodb/pkg/apis/scheduler/v1alpha1/container/resources"
2929
"github.com/arangodb/kube-arangodb/pkg/util/errors"
30-
"github.com/arangodb/kube-arangodb/pkg/util/k8sutil/container"
30+
kresources "github.com/arangodb/kube-arangodb/pkg/util/k8sutil/resources"
3131
)
3232

3333
const (
@@ -77,7 +77,7 @@ func GetArangoDBImageIDFromPod(pod *core.Pod, names ...string) (string, error) {
7777
// GetArangoDBImageIDFromContainerStatuses returns the ArangoDB specific image from a container statuses
7878
func GetArangoDBImageIDFromContainerStatuses(containers []core.ContainerStatus, names ...string) (string, bool) {
7979
for _, name := range names {
80-
if id := container.GetContainerStatusIDByName(containers, name); id != -1 {
80+
if id := kresources.GetContainerStatusIDByName(containers, name); id != -1 {
8181
if image := containers[id].ImageID; image != "" {
8282
if disc := ConvertImageID2Image(image); disc != "" {
8383
return disc, true
@@ -92,7 +92,7 @@ func GetArangoDBImageIDFromContainerStatuses(containers []core.ContainerStatus,
9292
// GetArangoDBImageFromContainers returns the ArangoDB specific image from a container specs
9393
func GetArangoDBImageFromContainers(containers []core.Container, names ...string) (string, bool) {
9494
for _, name := range names {
95-
if id := container.GetContainerIDByName(containers, name); id != -1 {
95+
if id := kresources.GetContainerIDByName(containers, name); id != -1 {
9696
if image := containers[id].Image; image != "" {
9797
return image, true
9898
}

pkg/util/k8sutil/container/container.go renamed to pkg/util/k8sutil/resources/container.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020

21-
package container
21+
package resources
2222

2323
import (
2424
core "k8s.io/api/core/v1"

0 commit comments

Comments
 (0)