Jelajahi Sumber

fix error display on provisioning

Alexander Belanger 4 tahun lalu
induk
melakukan
308aadfaaa

+ 14 - 2
api/server/handlers/infra/delete.go

@@ -107,9 +107,12 @@ func destroyECR(conf *config.Config, infra *models.Infra) error {
 	}
 
 	opts.CredentialExchange.VaultToken = vaultToken
+
 	opts.ECR = &ecr.Conf{
-		ECRName: lastAppliedECR.ECRName,
+		AWSRegion: awsInt.AWSRegion,
+		ECRName:   lastAppliedECR.ECRName,
 	}
+
 	opts.OperationKind = provisioner.Destroy
 
 	err = conf.ProvisionerAgent.Provision(opts)
@@ -144,9 +147,12 @@ func destroyEKS(conf *config.Config, infra *models.Infra) error {
 	}
 
 	opts.CredentialExchange.VaultToken = vaultToken
+
 	opts.EKS = &eks.Conf{
+		AWSRegion:   awsInt.AWSRegion,
 		ClusterName: lastAppliedEKS.EKSName,
 		MachineType: lastAppliedEKS.MachineType,
+		IssuerEmail: lastAppliedEKS.IssuerEmail,
 	}
 	opts.OperationKind = provisioner.Destroy
 
@@ -182,6 +188,7 @@ func destroyDOCR(conf *config.Config, infra *models.Infra) error {
 	}
 
 	opts.CredentialExchange.VaultToken = vaultToken
+
 	opts.DOCR = &docr.Conf{
 		DOCRName:             lastAppliedDOCR.DOCRName,
 		DOCRSubscriptionTier: lastAppliedDOCR.DOCRSubscriptionTier,
@@ -221,9 +228,11 @@ func destroyDOKS(conf *config.Config, infra *models.Infra) error {
 	}
 
 	opts.CredentialExchange.VaultToken = vaultToken
+
 	opts.DOKS = &doks.Conf{
 		DORegion:        lastAppliedDOKS.DORegion,
 		DOKSClusterName: lastAppliedDOKS.DOKSName,
+		IssuerEmail:     lastAppliedDOKS.IssuerEmail,
 	}
 
 	opts.OperationKind = provisioner.Destroy
@@ -261,7 +270,10 @@ func destroyGKE(conf *config.Config, infra *models.Infra) error {
 
 	opts.CredentialExchange.VaultToken = vaultToken
 	opts.GKE = &gke.Conf{
-		ClusterName: lastAppliedGKE.GKEName,
+		GCPProjectID: gcpInt.GCPProjectID,
+		GCPRegion:    lastAppliedGKE.GCPRegion,
+		ClusterName:  lastAppliedGKE.GKEName,
+		IssuerEmail:  lastAppliedGKE.IssuerEmail,
 	}
 
 	opts.OperationKind = provisioner.Destroy

+ 0 - 1
dashboard/src/components/ProvisionerStatus.tsx

@@ -76,7 +76,6 @@ const ProvisionerStatus: React.FC<Props> = ({ modules }) => {
 
   const renderModules = () => {
     return modules.map((val) => {
-      console.log(val);
       const totalResources = val.resources?.length;
       const provisionedResources = val.resources?.filter((resource) => {
         return resource.provisioned;

+ 14 - 0
dashboard/src/main/home/onboarding/steps/ProvisionResources/forms/SharedStatus.tsx

@@ -134,16 +134,28 @@ export const SharedStatus: React.FC<{
                 ? 1
                 : 0;
 
+            // if there's a global error, or the number of resources that errored_out is
+            // greater than 0, this resource is in an error state
             numModulesErrored +=
+              tfModule.global_errors?.length > 0 ||
               tfModule.resources.filter(
                 (resource) => resource.errored?.errored_out
               ).length > 0
                 ? 1
                 : 0;
+          } else if (tfModule.global_errors?.length > 0) {
+            numModulesErrored += 1;
           }
         }
       }
 
+      console.log(
+        "NUMS ARE",
+        numModulesSuccessful,
+        numModulesErrored,
+        tfModules.length
+      );
+
       if (numModulesSuccessful == tfModules.length) {
         setInfraStatus({
           hasError: false,
@@ -155,6 +167,8 @@ export const SharedStatus: React.FC<{
           hasError: true,
         });
       }
+    } else {
+      setInfraStatus(null);
     }
   }, [tfModules]);
 

+ 0 - 2
dashboard/src/main/home/provisioner/GCPFormSection.tsx

@@ -151,7 +151,6 @@ const GCPFormSectionFC: React.FC<PropsType> = (props) => {
   };
 
   const provisionGCR = (id: number) => {
-    console.log("Provisioning GCR");
     let { currentProject } = context;
 
     return api
@@ -166,7 +165,6 @@ const GCPFormSectionFC: React.FC<PropsType> = (props) => {
   };
 
   const provisionGKE = (id: number) => {
-    console.log("Provisioning GKE");
     let { currentProject } = context;
 
     api

+ 1 - 1
internal/kubernetes/provisioner/provisioner.go

@@ -87,7 +87,7 @@ func GetProvisionerJobTemplate(opts *ProvisionOpts) (*batchv1.Job, error) {
 
 	return &batchv1.Job{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      opts.Infra.GetUniqueName(),
+			Name:      fmt.Sprintf("%s-%s", string(opts.OperationKind), opts.Infra.GetUniqueName()),
 			Namespace: opts.ProvJobNamespace,
 			Labels:    labels,
 		},