From f99a0b435ee372a83a61344405ab8d90cb17e5f6 Mon Sep 17 00:00:00 2001 From: Nimrod Gilboa Markevich <59927337+nimrod-up9@users.noreply.github.com> Date: Wed, 9 Feb 2022 12:15:35 +0200 Subject: [PATCH] Quit if CLI fails to create the ConfigMap (#782) Fixes a bug which causes the tap command to hang until timeout if Mizu is missing the permission to create ConfigMaps, after printing a wrong warning message which addresses the deprecated policy validation feature. --- cli/resources/createResources.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cli/resources/createResources.go b/cli/resources/createResources.go index 0c547d7be..76291982a 100644 --- a/cli/resources/createResources.go +++ b/cli/resources/createResources.go @@ -16,14 +16,16 @@ import ( ) func CreateTapMizuResources(ctx context.Context, kubernetesProvider *kubernetes.Provider, serializedValidationRules string, serializedContract string, serializedMizuConfig string, isNsRestrictedMode bool, mizuResourcesNamespace string, agentImage string, syncEntriesConfig *shared.SyncEntriesConfig, maxEntriesDBSizeBytes int64, apiServerResources shared.Resources, imagePullPolicy core.PullPolicy, logLevel logging.Level) (bool, error) { + mizuServiceAccountExists := false + if !isNsRestrictedMode { if err := createMizuNamespace(ctx, kubernetesProvider, mizuResourcesNamespace); err != nil { - return false, err + return mizuServiceAccountExists, err } } if err := createMizuConfigmap(ctx, kubernetesProvider, serializedValidationRules, serializedContract, serializedMizuConfig, mizuResourcesNamespace); err != nil { - logger.Log.Warningf(uiUtils.Warning, fmt.Sprintf("Failed to create resources required for policy validation. Mizu will not validate policy rules. error: %v", errormessage.FormatError(err))) + return mizuServiceAccountExists, err } mizuServiceAccountExists, err := createRBACIfNecessary(ctx, kubernetesProvider, isNsRestrictedMode, mizuResourcesNamespace, []string{"pods", "services", "endpoints"})