diff --git a/container-engine-lib/lib/backend_impls/kubernetes/kubernetes_kurtosis_backend/kubernetes_kurtosis_backend_api_container_functions.go b/container-engine-lib/lib/backend_impls/kubernetes/kubernetes_kurtosis_backend/kubernetes_kurtosis_backend_api_container_functions.go index 880a97352e..cabd190b13 100644 --- a/container-engine-lib/lib/backend_impls/kubernetes/kubernetes_kurtosis_backend/kubernetes_kurtosis_backend_api_container_functions.go +++ b/container-engine-lib/lib/backend_impls/kubernetes/kubernetes_kurtosis_backend/kubernetes_kurtosis_backend_api_container_functions.go @@ -2,6 +2,7 @@ package kubernetes_kurtosis_backend import ( "context" + "fmt" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/kubernetes/kubernetes_kurtosis_backend/consts" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/kubernetes/kubernetes_kurtosis_backend/shared_helpers" kubernetes_manager_consts "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/kubernetes/kubernetes_manager/consts" @@ -162,7 +163,9 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( servicePorts, ) if err != nil { - return nil, stacktrace.Propagate(err, "An error occurred while creating the service with name '%s' in namespace '%s' with ports '%v'", apiContainerServiceName, enclaveNamespaceName, grpcPortInt32) + errMsg := fmt.Sprintf("An error occurred while creating the service with name '%s' in namespace '%s' with ports '%v'", apiContainerServiceName, enclaveNamespaceName, grpcPortInt32) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } var shouldRemoveService = true defer func() { @@ -198,7 +201,9 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( serviceAccountLabels := shared_helpers.GetStringMapFromLabelMap(serviceAccountAttributes.GetLabels()) apiContainerServiceAccount, err := backend.kubernetesManager.CreateServiceAccount(ctx, serviceAccountName, enclaveNamespaceName, serviceAccountLabels) if err != nil { - return nil, stacktrace.Propagate(err, "An error occurred creating service account '%v' with labels '%+v' in namespace '%v'", serviceAccountName, serviceAccountLabels, enclaveNamespaceName) + errMsg := fmt.Sprintf("An error occurred creating service account '%v' with labels '%+v' in namespace '%v'", serviceAccountName, serviceAccountLabels, enclaveNamespaceName) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } apiContainerServiceAccountName := apiContainerServiceAccount.GetName() shouldRemoveServiceAccount := true @@ -255,8 +260,10 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( apiContainerClusterRole, err := backend.kubernetesManager.CreateClusterRoles(ctx, clusterRoleName, clusterRolePolicyRules, clusterRoleLabels) if err != nil { - return nil, stacktrace.Propagate(err, "An error occurred creating cluster role '%v' with policy rules '%+v' "+ + errMsg := fmt.Sprintf("An error occurred creating cluster role '%v' with policy rules '%+v' "+ "and labels '%+v' in namespace '%v'", clusterRoleName, clusterRolePolicyRules, clusterRoleLabels, enclaveNamespaceName) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } shouldRemoveClusterRole := true defer func() { @@ -296,8 +303,10 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( apiContainerClusterRoleBinding, err := backend.kubernetesManager.CreateClusterRoleBindings(ctx, clusterRoleBindingName, clusterRoleBindingsSubjects, clusterRoleBindingsRoleRef, clusterRoleBindingsLabels) if err != nil { - return nil, stacktrace.Propagate(err, "An error occurred creating cluster role bindings '%v' with subjects "+ + errMsg := fmt.Sprintf("An error occurred creating cluster role bindings '%v' with subjects "+ "'%+v' and role ref '%+v' in namespace '%v'", clusterRoleBindingName, clusterRoleBindingsSubjects, clusterRoleBindingsRoleRef, enclaveNamespaceName) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } shouldRemoveClusterRoleBinding := true defer func() { @@ -353,8 +362,10 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( apiContainerRole, err := backend.kubernetesManager.CreateRole(ctx, roleName, enclaveNamespaceName, rolePolicyRules, roleLabels) if err != nil { - return nil, stacktrace.Propagate(err, "An error occurred creating role '%v' with policy rules '%+v' "+ + errMsg := fmt.Sprintf("An error occurred creating role '%v' with policy rules '%+v' "+ "and labels '%+v' in namespace '%v'", roleName, rolePolicyRules, roleLabels, enclaveNamespaceName) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } shouldRemoveRole := true defer func() { @@ -394,8 +405,10 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( apiContainerRoleBinding, err := backend.kubernetesManager.CreateRoleBindings(ctx, roleBindingName, enclaveNamespaceName, roleBindingsSubjects, roleBindingsRoleRef, roleBindingsLabels) if err != nil { - return nil, stacktrace.Propagate(err, "An error occurred creating role bindings '%v' with subjects "+ + errMsg := fmt.Sprintf("An error occurred creating role bindings '%v' with subjects "+ "'%+v' and role ref '%+v' in namespace '%v'", roleBindingName, roleBindingsSubjects, roleBindingsRoleRef, enclaveNamespaceName) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } shouldRemoveRoleBinding := true defer func() { @@ -422,7 +435,9 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( volumeLabelsStrs[key.GetString()] = value.GetString() } if _, err = backend.kubernetesManager.CreatePersistentVolumeClaim(ctx, enclaveNamespaceName, enclaveDataDirVolumeName, volumeLabelsStrs, enclaveDataDirVolumeSize); err != nil { - return nil, stacktrace.Propagate(err, "An error occurred creating the persistent volume claim for enclave data dir volume for enclave '%s'", enclaveDataDirVolumeName) + errMsg := fmt.Sprintf("An error occurred creating the persistent volume claim for enclave data dir volume for enclave '%s'", enclaveDataDirVolumeName) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } shouldDeleteVolumeClaim := true @@ -464,7 +479,9 @@ func (backend *KubernetesKurtosisBackend) CreateAPIContainer( apiContainerRestartPolicy, ) if err != nil { - return nil, stacktrace.Propagate(err, "An error occurred while creating the pod with name '%s' in namespace '%s' with image '%s'", apiContainerPodName, enclaveNamespaceName, image) + errMsg := fmt.Sprintf("An error occurred while creating the pod with name '%s' in namespace '%s' with image '%s'", apiContainerPodName, enclaveNamespaceName, image) + logrus.Errorf("%s. Error was:\n%s", errMsg, err) + return nil, stacktrace.Propagate(err, errMsg) } var shouldRemovePod = true defer func() {