From 0a3b1897c0a3f40e6f0838657dced4c533d220cc Mon Sep 17 00:00:00 2001 From: AhmedGrati Date: Tue, 24 Oct 2023 16:31:22 +0100 Subject: [PATCH] fix: remove e2e flakiness by making the loop deterministic Signed-off-by: AhmedGrati --- pkg/transformer/kubernetes/k8sutils.go | 15 ++++++++------- .../fixtures/service-group/output-k8s.yaml | 18 +++++++++--------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/pkg/transformer/kubernetes/k8sutils.go b/pkg/transformer/kubernetes/k8sutils.go index 1e9d49b3..5ea78e13 100644 --- a/pkg/transformer/kubernetes/k8sutils.go +++ b/pkg/transformer/kubernetes/k8sutils.go @@ -686,14 +686,15 @@ func getServiceGroupID(service kobject.ServiceConfig, mode string) string { // A warn/info message should be printed to let the user know. func KomposeObjectToServiceConfigGroupMapping(komposeObject *kobject.KomposeObject, opt kobject.ConvertOptions) map[string]kobject.ServiceConfigGroup { serviceConfigGroup := make(map[string]kobject.ServiceConfigGroup) - - for name, service := range komposeObject.ServiceConfigs { - groupID := getServiceGroupID(service, opt.ServiceGroupMode) + sortedServiceConfigs := SortedKeys(komposeObject.ServiceConfigs) + for _, service := range sortedServiceConfigs { + serviceConfig := komposeObject.ServiceConfigs[service] + groupID := getServiceGroupID(serviceConfig, opt.ServiceGroupMode) if groupID != "" { - service.Name = name - service.InGroup = true - serviceConfigGroup[groupID] = append(serviceConfigGroup[groupID], service) - komposeObject.ServiceConfigs[name] = service + serviceConfig.Name = service + serviceConfig.InGroup = true + serviceConfigGroup[groupID] = append(serviceConfigGroup[groupID], serviceConfig) + komposeObject.ServiceConfigs[service] = serviceConfig } } diff --git a/script/test/fixtures/service-group/output-k8s.yaml b/script/test/fixtures/service-group/output-k8s.yaml index e22fdd17..57929661 100644 --- a/script/test/fixtures/service-group/output-k8s.yaml +++ b/script/test/fixtures/service-group/output-k8s.yaml @@ -39,6 +39,14 @@ spec: io.kompose.service: librenms-dispatcher spec: containers: + - env: + - name: TZ + image: librenms/dispatcher:latest + name: dispatcher + resources: {} + volumeMounts: + - mountPath: /data + name: librenms-dispatcher-claim0 - env: - name: TZ image: librenms/librenms:latest @@ -51,15 +59,7 @@ spec: volumeMounts: - mountPath: /data name: librenms-dispatcher-claim0 - - env: - - name: TZ - image: librenms/dispatcher:latest - name: dispatcher - resources: {} - volumeMounts: - - mountPath: /data - name: librenms-dispatcher-claim0 - hostname: dispatcher + hostname: librenms restartPolicy: Always volumes: - name: librenms-dispatcher-claim0