Skip to content

Commit c41c9cf

Browse files
author
lamai93
committed
Removed Priority field. Added test.
1 parent 093aaf2 commit c41c9cf

File tree

7 files changed

+34
-13
lines changed

7 files changed

+34
-13
lines changed

manifests/templates/test/rbac.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ rules:
1212
- apiGroups: [""]
1313
resources: ["pods", "services", "persistentvolumes", "persistentvolumeclaims", "secrets", "serviceaccounts", "pods/log"]
1414
verbs: ["*"]
15-
- apiGroups: ["apps"]
16-
resources: ["daemonsets", "deployments"]
15+
- apiGroups: ["apps", "scheduling.k8s.io"]
16+
resources: ["daemonsets", "deployments", "priorityclasses"]
1717
verbs: ["*"]
1818

1919
---

pkg/apis/deployment/v1alpha/deployment_status_members.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,3 +243,23 @@ func (ds DeploymentStatusMembers) AllMembersReady(mode DeploymentMode, syncEnabl
243243
return false
244244
}
245245
}
246+
247+
// MembersOfGroup returns the member list of the given group
248+
func (ds DeploymentStatusMembers) MembersOfGroup(group ServerGroup) MemberStatusList {
249+
switch group {
250+
case ServerGroupSingle:
251+
return ds.Single
252+
case ServerGroupAgents:
253+
return ds.Agents
254+
case ServerGroupDBServers:
255+
return ds.DBServers
256+
case ServerGroupCoordinators:
257+
return ds.Coordinators
258+
case ServerGroupSyncMasters:
259+
return ds.SyncMasters
260+
case ServerGroupSyncWorkers:
261+
return ds.SyncWorkers
262+
default:
263+
return MemberStatusList{}
264+
}
265+
}

pkg/apis/deployment/v1alpha/server_group_spec.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@ type ServerGroupSpec struct {
6060
Probes *ServerGroupProbesSpec `json:"probes,omitempty"`
6161
// PriorityClassName specifies a priority class name
6262
PriorityClassName string `json:"priorityClassName,omitempty"`
63-
// Priority specifies the pod priority
64-
Priority *int32 `json:"priority,omitempty"`
6563
}
6664

6765
// ServerGroupProbesSpec contains specification for probes for pods of the server group

pkg/deployment/images.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ func (ib *imagesBuilder) fetchArangoDBImageIDAndVersion(ctx context.Context, ima
198198
}
199199
}
200200
if err := k8sutil.CreateArangodPod(ib.KubeCli, true, ib.APIObject, role, id, podName, "", image, "", "", ib.Spec.GetImagePullPolicy(), "", false, terminationGracePeriod, args, env, nil, nil, nil,
201-
tolerations, serviceAccountName, "", "", "", nil); err != nil {
201+
tolerations, serviceAccountName, "", "", "", nil, ""); err != nil {
202202
log.Debug().Err(err).Msg("Failed to create image ID pod")
203203
return true, maskAny(err)
204204
}

pkg/deployment/reconcile/plan_builder.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,11 @@ func podNeedsRotation(log zerolog.Logger, p v1.Pod, apiObject metav1.Object, spe
345345
return true, "ServiceAccountName changed"
346346
}
347347

348+
// Check priorities
349+
if groupSpec.PriorityClassName != p.Spec.PriorityClassName {
350+
return true, "Pod priority changed"
351+
}
352+
348353
return false, ""
349354
}
350355

pkg/deployment/resources/pod_creator.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ func (r *Resources) createPodForMember(spec api.DeploymentSpec, memberID string,
607607
finalizers := r.createPodFinalizers(group)
608608
if err := k8sutil.CreateArangodPod(kubecli, spec.IsDevelopment(), apiObject, role, m.ID, m.PodName, m.PersistentVolumeClaimName, imageInfo.ImageID, lifecycleImage, alpineImage, spec.GetImagePullPolicy(),
609609
engine, requireUUID, terminationGracePeriod, args, env, finalizers, livenessProbe, readinessProbe, tolerations, serviceAccountName, tlsKeyfileSecretName, rocksdbEncryptionSecretName,
610-
clusterJWTSecretName, groupSpec.GetNodeSelector(), groupSpec.PriorityClassName, groupSpec.Priority); err != nil {
610+
clusterJWTSecretName, groupSpec.GetNodeSelector(), groupSpec.PriorityClassName); err != nil {
611611
return maskAny(err)
612612
}
613613
log.Debug().Str("pod-name", m.PodName).Msg("Created pod")
@@ -690,7 +690,7 @@ func (r *Resources) createPodForMember(spec api.DeploymentSpec, memberID string,
690690
}
691691
if err := k8sutil.CreateArangoSyncPod(kubecli, spec.IsDevelopment(), apiObject, role, m.ID, m.PodName, imageID, lifecycleImage, spec.GetImagePullPolicy(), terminationGracePeriod, args, env,
692692
livenessProbe, tolerations, serviceAccountName, tlsKeyfileSecretName, clientAuthCASecretName, masterJWTSecretName, clusterJWTSecretName, affinityWithRole, groupSpec.GetNodeSelector(),
693-
groupSpec.PriorityClassName, groupSpec.Priority); err != nil {
693+
groupSpec.PriorityClassName); err != nil {
694694
return maskAny(err)
695695
}
696696
log.Debug().Str("pod-name", m.PodName).Msg("Created pod")

pkg/util/k8sutil/pods.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ func CreateArangodPod(kubecli kubernetes.Interface, developmentMode bool, deploy
435435
args []string, env map[string]EnvValue, finalizers []string,
436436
livenessProbe *HTTPProbeConfig, readinessProbe *HTTPProbeConfig, tolerations []v1.Toleration, serviceAccountName string,
437437
tlsKeyfileSecretName, rocksdbEncryptionSecretName string, clusterJWTSecretName string, nodeSelector map[string]string,
438-
podPriorityClassName string, podPriority *int32) error {
438+
podPriorityClassName string) error {
439439
// Prepare basic pod
440440
p := newPod(deployment.GetName(), deployment.GetNamespace(), role, id, podName, finalizers, tolerations, serviceAccountName, nodeSelector)
441441
terminationGracePeriodSeconds := int64(math.Ceil(terminationGracePeriod.Seconds()))
@@ -470,8 +470,7 @@ func CreateArangodPod(kubecli kubernetes.Interface, developmentMode bool, deploy
470470
}
471471
p.Spec.Containers = append(p.Spec.Containers, c)
472472

473-
// Add priority and priorityClassName
474-
p.Spec.Priority = podPriority
473+
// Add priorityClassName
475474
p.Spec.PriorityClassName = podPriorityClassName
476475

477476
// Add UUID init container
@@ -559,7 +558,7 @@ func CreateArangodPod(kubecli kubernetes.Interface, developmentMode bool, deploy
559558
func CreateArangoSyncPod(kubecli kubernetes.Interface, developmentMode bool, deployment APIObject, role, id, podName, image, lifecycleImage string, imagePullPolicy v1.PullPolicy,
560559
terminationGracePeriod time.Duration, args []string, env map[string]EnvValue, livenessProbe *HTTPProbeConfig, tolerations []v1.Toleration, serviceAccountName string,
561560
tlsKeyfileSecretName, clientAuthCASecretName, masterJWTSecretName, clusterJWTSecretName, affinityWithRole string, nodeSelector map[string]string,
562-
podPriorityClassName string, podPriority *int32) error {
561+
podPriorityClassName string) error {
563562
// Prepare basic pod
564563
p := newPod(deployment.GetName(), deployment.GetNamespace(), role, id, podName, nil, tolerations, serviceAccountName, nodeSelector)
565564
terminationGracePeriodSeconds := int64(math.Ceil(terminationGracePeriod.Seconds()))
@@ -600,8 +599,7 @@ func CreateArangoSyncPod(kubecli kubernetes.Interface, developmentMode bool, dep
600599
}
601600
p.Spec.Containers = append(p.Spec.Containers, c)
602601

603-
// Add priority and priorityClassName
604-
p.Spec.Priority = podPriority
602+
// Add priorityClassName
605603
p.Spec.PriorityClassName = podPriorityClassName
606604

607605
// TLS keyfile secret mount (if any)

0 commit comments

Comments
 (0)