From 3918bc3d6a350890804a5937b741de44aef25464 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Tue, 23 May 2023 13:28:41 +0530 Subject: [PATCH 01/17] archive logs sync --- pkg/pipeline/CdWorkflowService.go | 5 +++++ pkg/pipeline/WorkflowService.go | 3 +++ 2 files changed, 8 insertions(+) diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index 106b3e0d64..87b09c19a6 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -109,6 +109,7 @@ type CdWorkflowRequest struct { CloudProvider blob_storage.BlobStorageType `json:"cloudProvider"` AzureBlobConfig *blob_storage.AzureBlobConfig `json:"azureBlobConfig"` GcpBlobConfig *blob_storage.GcpBlobConfig `json:"gcpBlobConfig"` + BlobStorageLogsKey string `json:"blobStorageLogsKey"` DefaultAddressPoolBaseCidr string `json:"defaultAddressPoolBaseCidr"` DefaultAddressPoolSize int `json:"defaultAddressPoolSize"` DeploymentTriggeredBy string `json:"deploymentTriggeredBy,omitempty"` @@ -148,6 +149,9 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq ciCdTriggerEvent := CiCdTriggerEvent{ CdRequest: workflowRequest, } + //cloudStorageKey := impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + + ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix workflowJson, err := json.Marshal(&ciCdTriggerEvent) if err != nil { impl.Logger.Errorw("error occurred while marshalling ciCdTriggerEvent", "error", err) @@ -234,6 +238,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq reqCpu := impl.cdConfig.ReqCpu reqMem := impl.cdConfig.ReqMem + containerEnvVariables = append(containerEnvVariables, []v12.EnvVar{{Name: "CI_CD_EVENT", Value: string(workflowJson)}}...) workflowMainContainer := v12.Container{ Env: containerEnvVariables, Name: common.MainContainerName, diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index 84ad00558a..fa633bb334 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -103,6 +103,7 @@ type WorkflowRequest struct { BlobStorageS3Config *blob_storage.BlobStorageS3Config `json:"blobStorageS3Config"` AzureBlobConfig *blob_storage.AzureBlobConfig `json:"azureBlobConfig"` GcpBlobConfig *blob_storage.GcpBlobConfig `json:"gcpBlobConfig"` + BlobStorageLogsKey string `json:"blobStorageLogsKey"` DefaultAddressPoolBaseCidr string `json:"defaultAddressPoolBaseCidr"` DefaultAddressPoolSize int `json:"defaultAddressPoolSize"` PreCiSteps []*bean2.StepObject `json:"preCiSteps"` @@ -216,6 +217,7 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest CiRequest: workflowRequest, } + ciCdTriggerEvent.CiRequest.BlobStorageLogsKey = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix workflowJson, err := json.Marshal(&ciCdTriggerEvent) if err != nil { impl.Logger.Errorw("err", err) @@ -276,6 +278,7 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest Steps: steps, }) + containerEnvVariables = append(containerEnvVariables, []v12.EnvVar{{Name: "CI_CD_EVENT", Value: string(workflowJson)}}...) ciTemplate := v1alpha1.Template{ Name: CI_WORKFLOW_NAME, Container: &v12.Container{ From d983e6979ba12c7c90123f95715ab14c7b620a99 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Tue, 23 May 2023 16:39:22 +0530 Subject: [PATCH 02/17] added type for cdstage event --- pkg/pipeline/CdWorkflowService.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index 87b09c19a6..5606349926 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -147,6 +147,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq workflowRequest.IsExtRun = true } ciCdTriggerEvent := CiCdTriggerEvent{ + Type: cdStage, CdRequest: workflowRequest, } //cloudStorageKey := impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix From abbde0f533e219f8c6ab186c80be5b393f87d091 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Wed, 24 May 2023 13:53:35 +0530 Subject: [PATCH 03/17] test --- pkg/pipeline/WorkflowService.go | 137 ++++++++++++++++---------------- 1 file changed, 68 insertions(+), 69 deletions(-) diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index fa633bb334..9aa6520fb3 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -36,7 +36,6 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/client-go/rest" - "net/url" "strconv" "strings" ) @@ -232,8 +231,8 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest } privileged := true - blobStorageConfigured := workflowRequest.BlobStorageConfigured - archiveLogs := blobStorageConfigured + //blobStorageConfigured := workflowRequest.BlobStorageConfigured + archiveLogs := false limitCpu := impl.ciConfig.LimitCpu limitMem := impl.ciConfig.LimitMem @@ -312,72 +311,72 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest }, } - if impl.ciConfig.UseBlobStorageConfigInCiWorkflow { - gcpBlobConfig := workflowRequest.GcpBlobConfig - blobStorageS3Config := workflowRequest.BlobStorageS3Config - cloudStorageKey := impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix - var s3Artifact *v1alpha1.S3Artifact - var gcsArtifact *v1alpha1.GCSArtifact - if blobStorageConfigured && blobStorageS3Config != nil { - s3CompatibleEndpointUrl := blobStorageS3Config.EndpointUrl - if s3CompatibleEndpointUrl == "" { - s3CompatibleEndpointUrl = "s3.amazonaws.com" - } else { - parsedUrl, err := url.Parse(s3CompatibleEndpointUrl) - if err != nil { - impl.Logger.Errorw("error occurred while parsing s3CompatibleEndpointUrl, ", "s3CompatibleEndpointUrl", s3CompatibleEndpointUrl, "err", err) - } else { - s3CompatibleEndpointUrl = parsedUrl.Host - } - } - isInsecure := blobStorageS3Config.IsInSecure - - var accessKeySelector *v12.SecretKeySelector - var secretKeySelector *v12.SecretKeySelector - if blobStorageS3Config.AccessKey != "" { - accessKeySelector = &v12.SecretKeySelector{ - Key: "accessKey", - LocalObjectReference: v12.LocalObjectReference{ - Name: "workflow-minio-cred", - }, - } - secretKeySelector = &v12.SecretKeySelector{ - Key: "secretKey", - LocalObjectReference: v12.LocalObjectReference{ - Name: "workflow-minio-cred", - }, - } - } - s3Artifact = &v1alpha1.S3Artifact{ - Key: cloudStorageKey, - S3Bucket: v1alpha1.S3Bucket{ - Endpoint: s3CompatibleEndpointUrl, - AccessKeySecret: accessKeySelector, - SecretKeySecret: secretKeySelector, - Bucket: blobStorageS3Config.CiLogBucketName, - Region: blobStorageS3Config.CiLogRegion, - Insecure: &isInsecure, - }, - } - } else if blobStorageConfigured && gcpBlobConfig != nil { - gcsArtifact = &v1alpha1.GCSArtifact{ - Key: cloudStorageKey, - GCSBucket: v1alpha1.GCSBucket{ - Bucket: gcpBlobConfig.LogBucketName, - ServiceAccountKeySecret: &v12.SecretKeySelector{ - Key: "secretKey", - LocalObjectReference: v12.LocalObjectReference{ - Name: "workflow-minio-cred", - }, - }, - }, - } - } - - // set in ArchiveLocation - ciTemplate.ArchiveLocation.S3 = s3Artifact - ciTemplate.ArchiveLocation.GCS = gcsArtifact - } + //if impl.ciConfig.UseBlobStorageConfigInCiWorkflow { + // gcpBlobConfig := workflowRequest.GcpBlobConfig + // blobStorageS3Config := workflowRequest.BlobStorageS3Config + // cloudStorageKey := impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + // var s3Artifact *v1alpha1.S3Artifact + // var gcsArtifact *v1alpha1.GCSArtifact + // if blobStorageConfigured && blobStorageS3Config != nil { + // s3CompatibleEndpointUrl := blobStorageS3Config.EndpointUrl + // if s3CompatibleEndpointUrl == "" { + // s3CompatibleEndpointUrl = "s3.amazonaws.com" + // } else { + // parsedUrl, err := url.Parse(s3CompatibleEndpointUrl) + // if err != nil { + // impl.Logger.Errorw("error occurred while parsing s3CompatibleEndpointUrl, ", "s3CompatibleEndpointUrl", s3CompatibleEndpointUrl, "err", err) + // } else { + // s3CompatibleEndpointUrl = parsedUrl.Host + // } + // } + // isInsecure := blobStorageS3Config.IsInSecure + // + // var accessKeySelector *v12.SecretKeySelector + // var secretKeySelector *v12.SecretKeySelector + // if blobStorageS3Config.AccessKey != "" { + // accessKeySelector = &v12.SecretKeySelector{ + // Key: "accessKey", + // LocalObjectReference: v12.LocalObjectReference{ + // Name: "workflow-minio-cred", + // }, + // } + // secretKeySelector = &v12.SecretKeySelector{ + // Key: "secretKey", + // LocalObjectReference: v12.LocalObjectReference{ + // Name: "workflow-minio-cred", + // }, + // } + // } + // s3Artifact = &v1alpha1.S3Artifact{ + // Key: cloudStorageKey, + // S3Bucket: v1alpha1.S3Bucket{ + // Endpoint: s3CompatibleEndpointUrl, + // AccessKeySecret: accessKeySelector, + // SecretKeySecret: secretKeySelector, + // Bucket: blobStorageS3Config.CiLogBucketName, + // Region: blobStorageS3Config.CiLogRegion, + // Insecure: &isInsecure, + // }, + // } + // } else if blobStorageConfigured && gcpBlobConfig != nil { + // gcsArtifact = &v1alpha1.GCSArtifact{ + // Key: cloudStorageKey, + // GCSBucket: v1alpha1.GCSBucket{ + // Bucket: gcpBlobConfig.LogBucketName, + // ServiceAccountKeySecret: &v12.SecretKeySelector{ + // Key: "secretKey", + // LocalObjectReference: v12.LocalObjectReference{ + // Name: "workflow-minio-cred", + // }, + // }, + // }, + // } + // } + // + // // set in ArchiveLocation + // ciTemplate.ArchiveLocation.S3 = s3Artifact + // ciTemplate.ArchiveLocation.GCS = gcsArtifact + //} for _, config := range globalCmCsConfigs { if config.Type == repository.VOLUME_CONFIG { From c86a9e74fc75b9809a0420e2870116599a3e1229 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Fri, 2 Jun 2023 12:30:32 +0530 Subject: [PATCH 04/17] cleanup --- pkg/pipeline/WorkflowService.go | 137 ++++++++++++++++---------------- 1 file changed, 69 insertions(+), 68 deletions(-) diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index 9aa6520fb3..fa633bb334 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -36,6 +36,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/client-go/rest" + "net/url" "strconv" "strings" ) @@ -231,8 +232,8 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest } privileged := true - //blobStorageConfigured := workflowRequest.BlobStorageConfigured - archiveLogs := false + blobStorageConfigured := workflowRequest.BlobStorageConfigured + archiveLogs := blobStorageConfigured limitCpu := impl.ciConfig.LimitCpu limitMem := impl.ciConfig.LimitMem @@ -311,72 +312,72 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest }, } - //if impl.ciConfig.UseBlobStorageConfigInCiWorkflow { - // gcpBlobConfig := workflowRequest.GcpBlobConfig - // blobStorageS3Config := workflowRequest.BlobStorageS3Config - // cloudStorageKey := impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix - // var s3Artifact *v1alpha1.S3Artifact - // var gcsArtifact *v1alpha1.GCSArtifact - // if blobStorageConfigured && blobStorageS3Config != nil { - // s3CompatibleEndpointUrl := blobStorageS3Config.EndpointUrl - // if s3CompatibleEndpointUrl == "" { - // s3CompatibleEndpointUrl = "s3.amazonaws.com" - // } else { - // parsedUrl, err := url.Parse(s3CompatibleEndpointUrl) - // if err != nil { - // impl.Logger.Errorw("error occurred while parsing s3CompatibleEndpointUrl, ", "s3CompatibleEndpointUrl", s3CompatibleEndpointUrl, "err", err) - // } else { - // s3CompatibleEndpointUrl = parsedUrl.Host - // } - // } - // isInsecure := blobStorageS3Config.IsInSecure - // - // var accessKeySelector *v12.SecretKeySelector - // var secretKeySelector *v12.SecretKeySelector - // if blobStorageS3Config.AccessKey != "" { - // accessKeySelector = &v12.SecretKeySelector{ - // Key: "accessKey", - // LocalObjectReference: v12.LocalObjectReference{ - // Name: "workflow-minio-cred", - // }, - // } - // secretKeySelector = &v12.SecretKeySelector{ - // Key: "secretKey", - // LocalObjectReference: v12.LocalObjectReference{ - // Name: "workflow-minio-cred", - // }, - // } - // } - // s3Artifact = &v1alpha1.S3Artifact{ - // Key: cloudStorageKey, - // S3Bucket: v1alpha1.S3Bucket{ - // Endpoint: s3CompatibleEndpointUrl, - // AccessKeySecret: accessKeySelector, - // SecretKeySecret: secretKeySelector, - // Bucket: blobStorageS3Config.CiLogBucketName, - // Region: blobStorageS3Config.CiLogRegion, - // Insecure: &isInsecure, - // }, - // } - // } else if blobStorageConfigured && gcpBlobConfig != nil { - // gcsArtifact = &v1alpha1.GCSArtifact{ - // Key: cloudStorageKey, - // GCSBucket: v1alpha1.GCSBucket{ - // Bucket: gcpBlobConfig.LogBucketName, - // ServiceAccountKeySecret: &v12.SecretKeySelector{ - // Key: "secretKey", - // LocalObjectReference: v12.LocalObjectReference{ - // Name: "workflow-minio-cred", - // }, - // }, - // }, - // } - // } - // - // // set in ArchiveLocation - // ciTemplate.ArchiveLocation.S3 = s3Artifact - // ciTemplate.ArchiveLocation.GCS = gcsArtifact - //} + if impl.ciConfig.UseBlobStorageConfigInCiWorkflow { + gcpBlobConfig := workflowRequest.GcpBlobConfig + blobStorageS3Config := workflowRequest.BlobStorageS3Config + cloudStorageKey := impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + var s3Artifact *v1alpha1.S3Artifact + var gcsArtifact *v1alpha1.GCSArtifact + if blobStorageConfigured && blobStorageS3Config != nil { + s3CompatibleEndpointUrl := blobStorageS3Config.EndpointUrl + if s3CompatibleEndpointUrl == "" { + s3CompatibleEndpointUrl = "s3.amazonaws.com" + } else { + parsedUrl, err := url.Parse(s3CompatibleEndpointUrl) + if err != nil { + impl.Logger.Errorw("error occurred while parsing s3CompatibleEndpointUrl, ", "s3CompatibleEndpointUrl", s3CompatibleEndpointUrl, "err", err) + } else { + s3CompatibleEndpointUrl = parsedUrl.Host + } + } + isInsecure := blobStorageS3Config.IsInSecure + + var accessKeySelector *v12.SecretKeySelector + var secretKeySelector *v12.SecretKeySelector + if blobStorageS3Config.AccessKey != "" { + accessKeySelector = &v12.SecretKeySelector{ + Key: "accessKey", + LocalObjectReference: v12.LocalObjectReference{ + Name: "workflow-minio-cred", + }, + } + secretKeySelector = &v12.SecretKeySelector{ + Key: "secretKey", + LocalObjectReference: v12.LocalObjectReference{ + Name: "workflow-minio-cred", + }, + } + } + s3Artifact = &v1alpha1.S3Artifact{ + Key: cloudStorageKey, + S3Bucket: v1alpha1.S3Bucket{ + Endpoint: s3CompatibleEndpointUrl, + AccessKeySecret: accessKeySelector, + SecretKeySecret: secretKeySelector, + Bucket: blobStorageS3Config.CiLogBucketName, + Region: blobStorageS3Config.CiLogRegion, + Insecure: &isInsecure, + }, + } + } else if blobStorageConfigured && gcpBlobConfig != nil { + gcsArtifact = &v1alpha1.GCSArtifact{ + Key: cloudStorageKey, + GCSBucket: v1alpha1.GCSBucket{ + Bucket: gcpBlobConfig.LogBucketName, + ServiceAccountKeySecret: &v12.SecretKeySelector{ + Key: "secretKey", + LocalObjectReference: v12.LocalObjectReference{ + Name: "workflow-minio-cred", + }, + }, + }, + } + } + + // set in ArchiveLocation + ciTemplate.ArchiveLocation.S3 = s3Artifact + ciTemplate.ArchiveLocation.GCS = gcsArtifact + } for _, config := range globalCmCsConfigs { if config.Type == repository.VOLUME_CONFIG { From 0151db1dc10b196097851e3cd9d8c4ed8d27f9a3 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Thu, 25 May 2023 12:50:13 +0530 Subject: [PATCH 05/17] adding log file path to db on trigger --- pkg/pipeline/ArgoWorkflowExecutor.go | 2 ++ pkg/pipeline/CdHandler.go | 17 ++++++++++++----- pkg/pipeline/CiHandler.go | 4 ++-- pkg/pipeline/CiService.go | 2 ++ pkg/pipeline/WorkflowDagExecutor.go | 1 + 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/pkg/pipeline/ArgoWorkflowExecutor.go b/pkg/pipeline/ArgoWorkflowExecutor.go index fdf5ffdd1b..0e62db85aa 100644 --- a/pkg/pipeline/ArgoWorkflowExecutor.go +++ b/pkg/pipeline/ArgoWorkflowExecutor.go @@ -55,6 +55,8 @@ func (impl *ArgoWorkflowExecutorImpl) ExecuteWorkflow(workflowTemplate bean.Work } wfContainer := workflowTemplate.Containers[0] + //archiveLogs := workflowTemplate.ArchiveLogs + archiveLogs := false cdTemplate := v1alpha1.Template{ Name: CD_WORKFLOW_NAME, Container: &wfContainer, diff --git a/pkg/pipeline/CdHandler.go b/pkg/pipeline/CdHandler.go index 53d63f5954..26e82c8ac5 100644 --- a/pkg/pipeline/CdHandler.go +++ b/pkg/pipeline/CdHandler.go @@ -627,7 +627,7 @@ func (impl *CdHandlerImpl) UpdateWorkflow(workflowStatus v1alpha1.WorkflowStatus savedWorkflow.Message = message savedWorkflow.FinishedOn = workflowStatus.FinishedAt.Time savedWorkflow.Name = workflowName - savedWorkflow.LogLocation = wfStatusRs.LogLocation + //savedWorkflow.LogLocation = wfStatusRs.LogLocation savedWorkflow.PodName = podName savedWorkflow.UpdatedOn = time.Now() savedWorkflow.UpdatedBy = 1 @@ -789,11 +789,18 @@ func (impl *CdHandlerImpl) getLogsFromRepository(pipelineId int, cdWorkflow *pip cdConfig.CdCacheRegion = impl.cdConfig.DefaultCdLogsBucketRegion } + logsFilePath := impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + cdWorkflow.Name + "/main.log" + // to maintain backward compatibility for logs stored through argo workflow + if strings.Contains(cdWorkflow.LogLocation, "main.log") { + logsFilePath = cdWorkflow.LogLocation + } + cdLogRequest := BuildLogRequest{ - PipelineId: cdWorkflow.CdWorkflow.PipelineId, - WorkflowId: cdWorkflow.Id, - PodName: cdWorkflow.PodName, - LogsFilePath: cdWorkflow.LogLocation, // impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + cdWorkflow.Name + "/main.log", //TODO - fixme + PipelineId: cdWorkflow.CdWorkflow.PipelineId, + WorkflowId: cdWorkflow.Id, + PodName: cdWorkflow.PodName, + //LogsFilePath: cdWorkflow.LogLocation, // impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + cdWorkflow.Name + "/main.log", //TODO - fixme + LogsFilePath: logsFilePath, CloudProvider: impl.ciConfig.CloudProvider, AzureBlobConfig: &blob_storage.AzureBlobBaseConfig{ Enabled: impl.ciConfig.CloudProvider == BLOB_STORAGE_AZURE, diff --git a/pkg/pipeline/CiHandler.go b/pkg/pipeline/CiHandler.go index af8e16ad80..99fcfa13af 100644 --- a/pkg/pipeline/CiHandler.go +++ b/pkg/pipeline/CiHandler.go @@ -845,7 +845,7 @@ func (impl *CiHandlerImpl) extractWorkfowStatus(workflowStatus v1alpha1.Workflow const CiStageFailErrorCode = 2 func (impl *CiHandlerImpl) UpdateWorkflow(workflowStatus v1alpha1.WorkflowStatus) (int, error) { - workflowName, status, podStatus, message, logLocation, podName := impl.extractWorkfowStatus(workflowStatus) + workflowName, status, podStatus, message, _, podName := impl.extractWorkfowStatus(workflowStatus) if workflowName == "" { impl.Logger.Errorw("extract workflow status, invalid wf name", "workflowName", workflowName, "status", status, "podStatus", podStatus, "message", message) return 0, errors.New("invalid wf name") @@ -883,7 +883,7 @@ func (impl *CiHandlerImpl) UpdateWorkflow(workflowStatus v1alpha1.WorkflowStatus savedWorkflow.FinishedOn = workflowStatus.FinishedAt.Time savedWorkflow.Name = workflowName //savedWorkflow.LogLocation = "/ci-pipeline/" + strconv.Itoa(savedWorkflow.CiPipelineId) + "/workflow/" + strconv.Itoa(savedWorkflow.Id) + "/logs" //TODO need to fetch from workflow object - savedWorkflow.LogLocation = logLocation + //savedWorkflow.LogLocation = logLocation savedWorkflow.CiArtifactLocation = ciArtifactLocation savedWorkflow.PodName = podName impl.Logger.Debugw("updating workflow ", "workflow", savedWorkflow) diff --git a/pkg/pipeline/CiService.go b/pkg/pipeline/CiService.go index 89137fb619..6cb7f8851e 100644 --- a/pkg/pipeline/CiService.go +++ b/pkg/pipeline/CiService.go @@ -144,6 +144,8 @@ func (impl *CiServiceImpl) TriggerCiPipeline(trigger Trigger) (int, error) { return 0, err } + savedCiWf.LogLocation = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + "/main.log" + err = impl.updateCiWorkflow(workflowRequest, savedCiWf) appLabels, err := impl.appCrudOperationService.GetLabelsByAppId(pipeline.AppId) diff --git a/pkg/pipeline/WorkflowDagExecutor.go b/pkg/pipeline/WorkflowDagExecutor.go index 1de1f85a67..0db1e19a82 100644 --- a/pkg/pipeline/WorkflowDagExecutor.go +++ b/pkg/pipeline/WorkflowDagExecutor.go @@ -433,6 +433,7 @@ func (impl *WorkflowDagExecutorImpl) TriggerPreStage(ctx context.Context, cdWf * Namespace: impl.cdConfig.DefaultNamespace, BlobStorageEnabled: impl.cdConfig.BlobStorageEnabled, CdWorkflowId: cdWf.Id, + LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + "-" + pipeline.Name + "/main.log", AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: 1, UpdatedOn: triggeredAt, UpdatedBy: 1}, } var env *repository2.Environment From 648024836335b2b05791325359e4af97262597e8 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Fri, 2 Jun 2023 13:14:50 +0530 Subject: [PATCH 06/17] cleanup --- pkg/pipeline/ArgoWorkflowExecutor.go | 2 -- pkg/pipeline/CdConfig.go | 1 + pkg/pipeline/CdHandler.go | 16 ++++------------ pkg/pipeline/CdWorkflowService.go | 4 +++- pkg/pipeline/CiConfig.go | 1 + pkg/pipeline/CiService.go | 2 +- pkg/pipeline/WorkflowService.go | 3 ++- 7 files changed, 12 insertions(+), 17 deletions(-) diff --git a/pkg/pipeline/ArgoWorkflowExecutor.go b/pkg/pipeline/ArgoWorkflowExecutor.go index 0e62db85aa..fdf5ffdd1b 100644 --- a/pkg/pipeline/ArgoWorkflowExecutor.go +++ b/pkg/pipeline/ArgoWorkflowExecutor.go @@ -55,8 +55,6 @@ func (impl *ArgoWorkflowExecutorImpl) ExecuteWorkflow(workflowTemplate bean.Work } wfContainer := workflowTemplate.Containers[0] - //archiveLogs := workflowTemplate.ArchiveLogs - archiveLogs := false cdTemplate := v1alpha1.Template{ Name: CD_WORKFLOW_NAME, Container: &wfContainer, diff --git a/pkg/pipeline/CdConfig.go b/pkg/pipeline/CdConfig.go index e4c12d2a92..5330a7fb42 100644 --- a/pkg/pipeline/CdConfig.go +++ b/pkg/pipeline/CdConfig.go @@ -75,6 +75,7 @@ type CdConfig struct { UseBlobStorageConfigInCdWorkflow bool `env:"USE_BLOB_STORAGE_CONFIG_IN_CD_WORKFLOW" envDefault:"true"` BaseLogLocationPath string `env:"BASE_LOG_LOCATION_PATH" envDefault:"/home/devtron/"` CdWorkflowExecutorType pipelineConfig.WorkflowExecutorType `env:"CD_WORKFLOW_EXECUTOR_TYPE" envDefault:"AWF"` + InAppLoggingEnabled bool `env:"IN_APP_LOGGING_ENABLED" envDefault:"false"` } func GetCdConfig() (*CdConfig, error) { diff --git a/pkg/pipeline/CdHandler.go b/pkg/pipeline/CdHandler.go index 26e82c8ac5..4ee6f559f1 100644 --- a/pkg/pipeline/CdHandler.go +++ b/pkg/pipeline/CdHandler.go @@ -627,7 +627,6 @@ func (impl *CdHandlerImpl) UpdateWorkflow(workflowStatus v1alpha1.WorkflowStatus savedWorkflow.Message = message savedWorkflow.FinishedOn = workflowStatus.FinishedAt.Time savedWorkflow.Name = workflowName - //savedWorkflow.LogLocation = wfStatusRs.LogLocation savedWorkflow.PodName = podName savedWorkflow.UpdatedOn = time.Now() savedWorkflow.UpdatedBy = 1 @@ -789,18 +788,11 @@ func (impl *CdHandlerImpl) getLogsFromRepository(pipelineId int, cdWorkflow *pip cdConfig.CdCacheRegion = impl.cdConfig.DefaultCdLogsBucketRegion } - logsFilePath := impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + cdWorkflow.Name + "/main.log" - // to maintain backward compatibility for logs stored through argo workflow - if strings.Contains(cdWorkflow.LogLocation, "main.log") { - logsFilePath = cdWorkflow.LogLocation - } - cdLogRequest := BuildLogRequest{ - PipelineId: cdWorkflow.CdWorkflow.PipelineId, - WorkflowId: cdWorkflow.Id, - PodName: cdWorkflow.PodName, - //LogsFilePath: cdWorkflow.LogLocation, // impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + cdWorkflow.Name + "/main.log", //TODO - fixme - LogsFilePath: logsFilePath, + PipelineId: cdWorkflow.CdWorkflow.PipelineId, + WorkflowId: cdWorkflow.Id, + PodName: cdWorkflow.PodName, + LogsFilePath: cdWorkflow.LogLocation, // impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + cdWorkflow.Name + "/main.log", //TODO - fixme CloudProvider: impl.ciConfig.CloudProvider, AzureBlobConfig: &blob_storage.AzureBlobBaseConfig{ Enabled: impl.ciConfig.CloudProvider == BLOB_STORAGE_AZURE, diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index 5606349926..114315184c 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -110,6 +110,7 @@ type CdWorkflowRequest struct { AzureBlobConfig *blob_storage.AzureBlobConfig `json:"azureBlobConfig"` GcpBlobConfig *blob_storage.GcpBlobConfig `json:"gcpBlobConfig"` BlobStorageLogsKey string `json:"blobStorageLogsKey"` + InAppLoggingEnabled bool `json:"inAppLoggingEnabled"` DefaultAddressPoolBaseCidr string `json:"defaultAddressPoolBaseCidr"` DefaultAddressPoolSize int `json:"defaultAddressPoolSize"` DeploymentTriggeredBy string `json:"deploymentTriggeredBy,omitempty"` @@ -150,9 +151,9 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq Type: cdStage, CdRequest: workflowRequest, } - //cloudStorageKey := impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + ciCdTriggerEvent.CdRequest.InAppLoggingEnabled = impl.cdConfig.InAppLoggingEnabled workflowJson, err := json.Marshal(&ciCdTriggerEvent) if err != nil { impl.Logger.Errorw("error occurred while marshalling ciCdTriggerEvent", "error", err) @@ -267,6 +268,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq workflowTemplate.WfControllerInstanceID = impl.cdConfig.WfControllerInstanceID workflowTemplate.ActiveDeadlineSeconds = &workflowRequest.ActiveDeadlineSeconds workflowTemplate.Namespace = workflowRequest.Namespace + workflowTemplate.ArchiveLogs = workflowTemplate.BlobStorageConfigured && !impl.cdConfig.InAppLoggingEnabled if workflowRequest.IsExtRun { workflowTemplate.ClusterConfig = env.Cluster.GetClusterConfig() } else { diff --git a/pkg/pipeline/CiConfig.go b/pkg/pipeline/CiConfig.go index a56f6037eb..212fc86aae 100644 --- a/pkg/pipeline/CiConfig.go +++ b/pkg/pipeline/CiConfig.go @@ -84,6 +84,7 @@ type CiConfig struct { BuildxPvcCachePath string `env:"BUILDX_CACHE_PATH" envDefault:"/var/lib/devtron/buildx"` UseBlobStorageConfigInCiWorkflow bool `env:"USE_BLOB_STORAGE_CONFIG_IN_CI_WORKFLOW" envDefault:"true"` BaseLogLocationPath string `env:"BASE_LOG_LOCATION_PATH" envDefault:"/home/devtron/"` + InAppLoggingEnabled bool `env:"IN_APP_LOGGING_ENABLED" envDefault:"false"` ClusterConfig *rest.Config NodeLabel map[string]string EnableBuildContext bool `env:"ENABLE_BUILD_CONTEXT" envDefault:"false"` diff --git a/pkg/pipeline/CiService.go b/pkg/pipeline/CiService.go index 6cb7f8851e..7d56539008 100644 --- a/pkg/pipeline/CiService.go +++ b/pkg/pipeline/CiService.go @@ -145,7 +145,7 @@ func (impl *CiServiceImpl) TriggerCiPipeline(trigger Trigger) (int, error) { } savedCiWf.LogLocation = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + "/main.log" - + workflowRequest.InAppLoggingEnabled = impl.ciConfig.InAppLoggingEnabled err = impl.updateCiWorkflow(workflowRequest, savedCiWf) appLabels, err := impl.appCrudOperationService.GetLabelsByAppId(pipeline.AppId) diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index fa633bb334..f42411ee61 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -104,6 +104,7 @@ type WorkflowRequest struct { AzureBlobConfig *blob_storage.AzureBlobConfig `json:"azureBlobConfig"` GcpBlobConfig *blob_storage.GcpBlobConfig `json:"gcpBlobConfig"` BlobStorageLogsKey string `json:"blobStorageLogsKey"` + InAppLoggingEnabled bool `json:"inAppLoggingEnabled"` DefaultAddressPoolBaseCidr string `json:"defaultAddressPoolBaseCidr"` DefaultAddressPoolSize int `json:"defaultAddressPoolSize"` PreCiSteps []*bean2.StepObject `json:"preCiSteps"` @@ -233,7 +234,7 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest privileged := true blobStorageConfigured := workflowRequest.BlobStorageConfigured - archiveLogs := blobStorageConfigured + archiveLogs := blobStorageConfigured && !impl.ciConfig.InAppLoggingEnabled limitCpu := impl.ciConfig.LimitCpu limitMem := impl.ciConfig.LimitMem From 3ddae08f0dd4f4c219f6afee6d46dcab0aafc613 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Fri, 2 Jun 2023 13:20:52 +0530 Subject: [PATCH 07/17] cleanup --- pkg/pipeline/WorkflowService.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index f42411ee61..110bfee507 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -219,6 +219,7 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest } ciCdTriggerEvent.CiRequest.BlobStorageLogsKey = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + ciCdTriggerEvent.CiRequest.InAppLoggingEnabled = impl.ciConfig.InAppLoggingEnabled workflowJson, err := json.Marshal(&ciCdTriggerEvent) if err != nil { impl.Logger.Errorw("err", err) From ed91114841e389c5dda45737453cbbcd17545cdb Mon Sep 17 00:00:00 2001 From: Subhashish Date: Fri, 2 Jun 2023 13:27:31 +0530 Subject: [PATCH 08/17] cleanup --- pkg/pipeline/CiService.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/pipeline/CiService.go b/pkg/pipeline/CiService.go index 7d56539008..437cf1af99 100644 --- a/pkg/pipeline/CiService.go +++ b/pkg/pipeline/CiService.go @@ -145,7 +145,6 @@ func (impl *CiServiceImpl) TriggerCiPipeline(trigger Trigger) (int, error) { } savedCiWf.LogLocation = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + "/main.log" - workflowRequest.InAppLoggingEnabled = impl.ciConfig.InAppLoggingEnabled err = impl.updateCiWorkflow(workflowRequest, savedCiWf) appLabels, err := impl.appCrudOperationService.GetLabelsByAppId(pipeline.AppId) From 68e830e97d41c667549109531ad70bc18d3fdbfe Mon Sep 17 00:00:00 2001 From: Subhashish Date: Fri, 2 Jun 2023 13:38:44 +0530 Subject: [PATCH 09/17] cleanup --- pkg/pipeline/ArgoWorkflowExecutor.go | 2 +- pkg/pipeline/CdWorkflowService.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/pipeline/ArgoWorkflowExecutor.go b/pkg/pipeline/ArgoWorkflowExecutor.go index fdf5ffdd1b..dc4755e9cb 100644 --- a/pkg/pipeline/ArgoWorkflowExecutor.go +++ b/pkg/pipeline/ArgoWorkflowExecutor.go @@ -110,7 +110,7 @@ func (impl *ArgoWorkflowExecutorImpl) ExecuteWorkflow(workflowTemplate bean.Work func (impl *ArgoWorkflowExecutorImpl) updateBlobStorageConfig(workflowTemplate bean.WorkflowTemplate, cdTemplate *v1alpha1.Template) { cdTemplate.ArchiveLocation = &v1alpha1.ArtifactLocation{ - ArchiveLogs: &workflowTemplate.BlobStorageConfigured, + ArchiveLogs: &workflowTemplate.ArchiveLogs, } if workflowTemplate.BlobStorageConfigured { var s3Artifact *v1alpha1.S3Artifact diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index 114315184c..b7bc88ed1e 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -229,6 +229,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq workflowTemplate.Tolerations = []v12.Toleration{{Key: impl.cdConfig.TaintKey, Value: impl.cdConfig.TaintValue, Operator: v12.TolerationOpEqual, Effect: v12.TaintEffectNoSchedule}} workflowTemplate.Volumes = ExtractVolumesFromCmCs(workflowConfigMaps, workflowSecrets) workflowTemplate.ArchiveLogs = storageConfigured + workflowTemplate.ArchiveLogs = workflowTemplate.ArchiveLogs && !impl.cdConfig.InAppLoggingEnabled workflowTemplate.RestartPolicy = v12.RestartPolicyNever if len(impl.cdConfig.NodeLabel) > 0 { @@ -268,7 +269,6 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq workflowTemplate.WfControllerInstanceID = impl.cdConfig.WfControllerInstanceID workflowTemplate.ActiveDeadlineSeconds = &workflowRequest.ActiveDeadlineSeconds workflowTemplate.Namespace = workflowRequest.Namespace - workflowTemplate.ArchiveLogs = workflowTemplate.BlobStorageConfigured && !impl.cdConfig.InAppLoggingEnabled if workflowRequest.IsExtRun { workflowTemplate.ClusterConfig = env.Cluster.GetClusterConfig() } else { From 11bb80345a9554fec401cdcbb608a26f401d2c93 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Fri, 2 Jun 2023 18:46:16 +0530 Subject: [PATCH 10/17] exposed pod name in cd workflow details --- pkg/pipeline/CdHandler.go | 1 + pkg/pipeline/CiHandler.go | 1 + 2 files changed, 2 insertions(+) diff --git a/pkg/pipeline/CdHandler.go b/pkg/pipeline/CdHandler.go index 4ee6f559f1..423088387c 100644 --- a/pkg/pipeline/CdHandler.go +++ b/pkg/pipeline/CdHandler.go @@ -901,6 +901,7 @@ func (impl *CdHandlerImpl) FetchCdWorkflowDetails(appId int, environmentId int, GitTriggers: gitTriggers, BlobStorageEnabled: workflow.BlobStorageEnabled, IsVirtualEnvironment: workflowR.CdWorkflow.Pipeline.Environment.IsVirtualEnvironment, + PodName: workflowR.PodName, } return workflowResponse, nil diff --git a/pkg/pipeline/CiHandler.go b/pkg/pipeline/CiHandler.go index 99fcfa13af..42e54b5797 100644 --- a/pkg/pipeline/CiHandler.go +++ b/pkg/pipeline/CiHandler.go @@ -167,6 +167,7 @@ type WorkflowResponse struct { ArtifactId int `json:"artifactId"` IsArtifactUploaded bool `json:"isArtifactUploaded"` IsVirtualEnvironment bool `json:"isVirtualEnvironment"` + PodName string `json:"podName"` } type GitTriggerInfoResponse struct { From e8a8678f96f2f3fb0fb2db02368dfd10c00a8c04 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Tue, 6 Jun 2023 16:45:44 +0530 Subject: [PATCH 11/17] log path fix --- pkg/pipeline/WorkflowDagExecutor.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/pipeline/WorkflowDagExecutor.go b/pkg/pipeline/WorkflowDagExecutor.go index 0db1e19a82..83aa721180 100644 --- a/pkg/pipeline/WorkflowDagExecutor.go +++ b/pkg/pipeline/WorkflowDagExecutor.go @@ -523,6 +523,7 @@ func (impl *WorkflowDagExecutorImpl) TriggerPostStage(cdWf *pipelineConfig.CdWor Namespace: impl.cdConfig.DefaultNamespace, BlobStorageEnabled: impl.cdConfig.BlobStorageEnabled, CdWorkflowId: cdWf.Id, + LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + "-" + pipeline.Name + "/main.log", AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: triggeredBy, UpdatedOn: triggeredAt, UpdatedBy: triggeredBy}, } var env *repository2.Environment @@ -712,7 +713,7 @@ func (impl *WorkflowDagExecutorImpl) buildWFRequest(runner *pipelineConfig.CdWor AppId: cdPipeline.AppId, WorkflowId: cdWf.Id, WorkflowRunnerId: runner.Id, - WorkflowNamePrefix: strconv.Itoa(runner.Id) + "-" + runner.Name, + WorkflowNamePrefix: strconv.Itoa(cdWf.Id) + "-" + runner.Name, CdImage: impl.cdConfig.DefaultImage, CdPipelineId: cdWf.PipelineId, TriggeredBy: triggeredBy, From bc7aceccd1f14d2210f84605221019ae9843d969 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Tue, 6 Jun 2023 17:40:13 +0530 Subject: [PATCH 12/17] fix --- pkg/pipeline/CdWorkflowService.go | 5 +++-- pkg/pipeline/WorkflowDagExecutor.go | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index b7bc88ed1e..6d3b0b992c 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -111,6 +111,7 @@ type CdWorkflowRequest struct { GcpBlobConfig *blob_storage.GcpBlobConfig `json:"gcpBlobConfig"` BlobStorageLogsKey string `json:"blobStorageLogsKey"` InAppLoggingEnabled bool `json:"inAppLoggingEnabled"` + WorkflowPrefixForLog string `json:"workflowPrefixForLog"` DefaultAddressPoolBaseCidr string `json:"defaultAddressPoolBaseCidr"` DefaultAddressPoolSize int `json:"defaultAddressPoolSize"` DeploymentTriggeredBy string `json:"deploymentTriggeredBy,omitempty"` @@ -152,7 +153,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq CdRequest: workflowRequest, } - ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowPrefixForLog ciCdTriggerEvent.CdRequest.InAppLoggingEnabled = impl.cdConfig.InAppLoggingEnabled workflowJson, err := json.Marshal(&ciCdTriggerEvent) if err != nil { @@ -286,7 +287,7 @@ func (impl *CdWorkflowServiceImpl) updateBlobStorageConfig(workflowRequest *CdWo workflowTemplate.BlobStorageS3Config = workflowRequest.BlobStorageS3Config workflowTemplate.AzureBlobConfig = workflowRequest.AzureBlobConfig workflowTemplate.GcpBlobConfig = workflowRequest.GcpBlobConfig - workflowTemplate.CloudStorageKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + workflowTemplate.CloudStorageKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowPrefixForLog } func (impl *CdWorkflowServiceImpl) getWorkflowExecutor(executorType pipelineConfig.WorkflowExecutorType) WorkflowExecutor { diff --git a/pkg/pipeline/WorkflowDagExecutor.go b/pkg/pipeline/WorkflowDagExecutor.go index 83aa721180..28b8772813 100644 --- a/pkg/pipeline/WorkflowDagExecutor.go +++ b/pkg/pipeline/WorkflowDagExecutor.go @@ -713,7 +713,8 @@ func (impl *WorkflowDagExecutorImpl) buildWFRequest(runner *pipelineConfig.CdWor AppId: cdPipeline.AppId, WorkflowId: cdWf.Id, WorkflowRunnerId: runner.Id, - WorkflowNamePrefix: strconv.Itoa(cdWf.Id) + "-" + runner.Name, + WorkflowNamePrefix: strconv.Itoa(runner.Id) + "-" + runner.Name, + WorkflowPrefixForLog: strconv.Itoa(cdWf.Id) + "-" + runner.Name, CdImage: impl.cdConfig.DefaultImage, CdPipelineId: cdWf.PipelineId, TriggeredBy: triggeredBy, From fa9cb50efc88ee6986ad79d0a63119baee516582 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Wed, 7 Jun 2023 20:21:32 +0530 Subject: [PATCH 13/17] addresing pr comments --- pkg/pipeline/CdHandler.go | 1 + pkg/pipeline/CdWorkflowService.go | 19 ++++++++++++------- pkg/pipeline/CiHandler.go | 2 +- pkg/pipeline/WorkflowDagExecutor.go | 9 +++++---- pkg/pipeline/WorkflowService.go | 8 ++++++-- 5 files changed, 25 insertions(+), 14 deletions(-) diff --git a/pkg/pipeline/CdHandler.go b/pkg/pipeline/CdHandler.go index 423088387c..51ecf0b2e0 100644 --- a/pkg/pipeline/CdHandler.go +++ b/pkg/pipeline/CdHandler.go @@ -627,6 +627,7 @@ func (impl *CdHandlerImpl) UpdateWorkflow(workflowStatus v1alpha1.WorkflowStatus savedWorkflow.Message = message savedWorkflow.FinishedOn = workflowStatus.FinishedAt.Time savedWorkflow.Name = workflowName + // removed log location from here since we are saving it at trigger savedWorkflow.PodName = podName savedWorkflow.UpdatedOn = time.Now() savedWorkflow.UpdatedBy = 1 diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index 6d3b0b992c..32fb1c5dd9 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -153,8 +153,9 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq CdRequest: workflowRequest, } - ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowPrefixForLog - ciCdTriggerEvent.CdRequest.InAppLoggingEnabled = impl.cdConfig.InAppLoggingEnabled + // key will be used for log archival through in-app logging + ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = fmt.Sprintf("%s/%s", impl.cdConfig.DefaultBuildLogsKeyPrefix, workflowRequest.WorkflowPrefixForLog) + ciCdTriggerEvent.CdRequest.InAppLoggingEnabled = impl.cdConfig.InAppLoggingEnabled || (workflowRequest.WorkflowExecutor == pipelineConfig.WORKFLOW_EXECUTOR_TYPE_SYSTEM) workflowJson, err := json.Marshal(&ciCdTriggerEvent) if err != nil { impl.Logger.Errorw("error occurred while marshalling ciCdTriggerEvent", "error", err) @@ -242,12 +243,14 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq reqCpu := impl.cdConfig.ReqCpu reqMem := impl.cdConfig.ReqMem - containerEnvVariables = append(containerEnvVariables, []v12.EnvVar{{Name: "CI_CD_EVENT", Value: string(workflowJson)}}...) + eventEnv := v12.EnvVar{Name: "CI_CD_EVENT", Value: string(workflowJson)} + inAppLoggingEnv := v12.EnvVar{Name: "IN_APP_LOGGING", Value: strconv.FormatBool(impl.cdConfig.InAppLoggingEnabled)} + containerEnvVariables = append(containerEnvVariables, eventEnv, inAppLoggingEnv) workflowMainContainer := v12.Container{ Env: containerEnvVariables, Name: common.MainContainerName, Image: workflowRequest.CdImage, - Args: []string{string(workflowJson)}, + //Args: []string{string(workflowJson)}, SecurityContext: &v12.SecurityContext{ Privileged: &privileged, }, @@ -264,7 +267,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq } UpdateContainerEnvsFromCmCs(&workflowMainContainer, workflowConfigMaps, workflowSecrets) - impl.updateBlobStorageConfig(workflowRequest, &workflowTemplate, storageConfigured) + impl.updateBlobStorageConfig(workflowRequest, &workflowTemplate, storageConfigured, ciCdTriggerEvent.CdRequest.BlobStorageLogsKey) workflowTemplate.Containers = []v12.Container{workflowMainContainer} workflowTemplate.WorkflowNamePrefix = workflowRequest.WorkflowNamePrefix workflowTemplate.WfControllerInstanceID = impl.cdConfig.WfControllerInstanceID @@ -282,12 +285,14 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq return workflowExecutor.ExecuteWorkflow(workflowTemplate) } -func (impl *CdWorkflowServiceImpl) updateBlobStorageConfig(workflowRequest *CdWorkflowRequest, workflowTemplate *bean3.WorkflowTemplate, storageConfigured bool) { +func (impl *CdWorkflowServiceImpl) updateBlobStorageConfig(workflowRequest *CdWorkflowRequest, workflowTemplate *bean3.WorkflowTemplate, storageConfigured bool, blobStorageKey string) { workflowTemplate.BlobStorageConfigured = storageConfigured && (impl.cdConfig.UseBlobStorageConfigInCdWorkflow || !workflowRequest.IsExtRun) workflowTemplate.BlobStorageS3Config = workflowRequest.BlobStorageS3Config workflowTemplate.AzureBlobConfig = workflowRequest.AzureBlobConfig workflowTemplate.GcpBlobConfig = workflowRequest.GcpBlobConfig - workflowTemplate.CloudStorageKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowPrefixForLog + //workflowTemplate.CloudStorageKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowPrefixForLog + workflowTemplate.CloudStorageKey = blobStorageKey + // ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = fmt.Sprintf("%s/%s", impl.cdConfig.DefaultBuildLogsKeyPrefix, workflowRequest.WorkflowPrefixForLog) } func (impl *CdWorkflowServiceImpl) getWorkflowExecutor(executorType pipelineConfig.WorkflowExecutorType) WorkflowExecutor { diff --git a/pkg/pipeline/CiHandler.go b/pkg/pipeline/CiHandler.go index 42e54b5797..574ea143b6 100644 --- a/pkg/pipeline/CiHandler.go +++ b/pkg/pipeline/CiHandler.go @@ -884,7 +884,7 @@ func (impl *CiHandlerImpl) UpdateWorkflow(workflowStatus v1alpha1.WorkflowStatus savedWorkflow.FinishedOn = workflowStatus.FinishedAt.Time savedWorkflow.Name = workflowName //savedWorkflow.LogLocation = "/ci-pipeline/" + strconv.Itoa(savedWorkflow.CiPipelineId) + "/workflow/" + strconv.Itoa(savedWorkflow.Id) + "/logs" //TODO need to fetch from workflow object - //savedWorkflow.LogLocation = logLocation + //savedWorkflow.LogLocation = logLocation // removed because we are saving log location at trigger savedWorkflow.CiArtifactLocation = ciArtifactLocation savedWorkflow.PodName = podName impl.Logger.Debugw("updating workflow ", "workflow", savedWorkflow) diff --git a/pkg/pipeline/WorkflowDagExecutor.go b/pkg/pipeline/WorkflowDagExecutor.go index 28b8772813..85ff98ab65 100644 --- a/pkg/pipeline/WorkflowDagExecutor.go +++ b/pkg/pipeline/WorkflowDagExecutor.go @@ -433,8 +433,9 @@ func (impl *WorkflowDagExecutorImpl) TriggerPreStage(ctx context.Context, cdWf * Namespace: impl.cdConfig.DefaultNamespace, BlobStorageEnabled: impl.cdConfig.BlobStorageEnabled, CdWorkflowId: cdWf.Id, - LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + "-" + pipeline.Name + "/main.log", - AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: 1, UpdatedOn: triggeredAt, UpdatedBy: 1}, + //LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + string(bean.CD_WORKFLOW_TYPE_PRE) + "-" + pipeline.Name + "/main.log", + LogLocation: fmt.Sprintf("%s/%s%s-%s/main.log", impl.cdConfig.DefaultBuildLogsKeyPrefix, strconv.Itoa(cdWf.Id), string(bean.CD_WORKFLOW_TYPE_PRE), pipeline.Name), + AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: 1, UpdatedOn: triggeredAt, UpdatedBy: 1}, } var env *repository2.Environment var err error @@ -523,7 +524,7 @@ func (impl *WorkflowDagExecutorImpl) TriggerPostStage(cdWf *pipelineConfig.CdWor Namespace: impl.cdConfig.DefaultNamespace, BlobStorageEnabled: impl.cdConfig.BlobStorageEnabled, CdWorkflowId: cdWf.Id, - LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + "-" + pipeline.Name + "/main.log", + LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + string(bean.CD_WORKFLOW_TYPE_POST) + "-" + pipeline.Name + "/main.log", AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: triggeredBy, UpdatedOn: triggeredAt, UpdatedBy: triggeredBy}, } var env *repository2.Environment @@ -714,7 +715,7 @@ func (impl *WorkflowDagExecutorImpl) buildWFRequest(runner *pipelineConfig.CdWor WorkflowId: cdWf.Id, WorkflowRunnerId: runner.Id, WorkflowNamePrefix: strconv.Itoa(runner.Id) + "-" + runner.Name, - WorkflowPrefixForLog: strconv.Itoa(cdWf.Id) + "-" + runner.Name, + WorkflowPrefixForLog: strconv.Itoa(cdWf.Id) + string(runner.WorkflowType) + "-" + runner.Name, CdImage: impl.cdConfig.DefaultImage, CdPipelineId: cdWf.PipelineId, TriggeredBy: triggeredBy, diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index 110bfee507..2f58118535 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -280,13 +280,17 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest Steps: steps, }) - containerEnvVariables = append(containerEnvVariables, []v12.EnvVar{{Name: "CI_CD_EVENT", Value: string(workflowJson)}}...) + //containerEnvVariables = append(containerEnvVariables, []v12.EnvVar{{Name: "CI_CD_EVENT", Value: string(workflowJson)}}...) + + eventEnv := v12.EnvVar{Name: "CI_CD_EVENT", Value: string(workflowJson)} + inAppLoggingEnv := v12.EnvVar{Name: "IN_APP_LOGGING", Value: strconv.FormatBool(impl.ciConfig.InAppLoggingEnabled)} + containerEnvVariables = append(containerEnvVariables, eventEnv, inAppLoggingEnv) ciTemplate := v1alpha1.Template{ Name: CI_WORKFLOW_NAME, Container: &v12.Container{ Env: containerEnvVariables, Image: workflowRequest.CiImage, //TODO need to check whether trigger buildx image or normal image - Args: []string{string(workflowJson)}, + //Args: []string{string(workflowJson)}, SecurityContext: &v12.SecurityContext{ Privileged: &privileged, }, From 3192aca55604efc896c658b361071032afd01d89 Mon Sep 17 00:00:00 2001 From: Subhashish Date: Wed, 7 Jun 2023 21:03:39 +0530 Subject: [PATCH 14/17] addresing pr comments2 --- pkg/pipeline/CdWorkflowService.go | 5 +---- pkg/pipeline/CiService.go | 3 ++- pkg/pipeline/WorkflowDagExecutor.go | 7 +++---- pkg/pipeline/WorkflowService.go | 6 ++---- 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index 32fb1c5dd9..1fd949d34d 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -231,7 +231,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq workflowTemplate.Tolerations = []v12.Toleration{{Key: impl.cdConfig.TaintKey, Value: impl.cdConfig.TaintValue, Operator: v12.TolerationOpEqual, Effect: v12.TaintEffectNoSchedule}} workflowTemplate.Volumes = ExtractVolumesFromCmCs(workflowConfigMaps, workflowSecrets) workflowTemplate.ArchiveLogs = storageConfigured - workflowTemplate.ArchiveLogs = workflowTemplate.ArchiveLogs && !impl.cdConfig.InAppLoggingEnabled + workflowTemplate.ArchiveLogs = workflowTemplate.ArchiveLogs && !ciCdTriggerEvent.CdRequest.InAppLoggingEnabled workflowTemplate.RestartPolicy = v12.RestartPolicyNever if len(impl.cdConfig.NodeLabel) > 0 { @@ -250,7 +250,6 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq Env: containerEnvVariables, Name: common.MainContainerName, Image: workflowRequest.CdImage, - //Args: []string{string(workflowJson)}, SecurityContext: &v12.SecurityContext{ Privileged: &privileged, }, @@ -290,9 +289,7 @@ func (impl *CdWorkflowServiceImpl) updateBlobStorageConfig(workflowRequest *CdWo workflowTemplate.BlobStorageS3Config = workflowRequest.BlobStorageS3Config workflowTemplate.AzureBlobConfig = workflowRequest.AzureBlobConfig workflowTemplate.GcpBlobConfig = workflowRequest.GcpBlobConfig - //workflowTemplate.CloudStorageKey = impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowPrefixForLog workflowTemplate.CloudStorageKey = blobStorageKey - // ciCdTriggerEvent.CdRequest.BlobStorageLogsKey = fmt.Sprintf("%s/%s", impl.cdConfig.DefaultBuildLogsKeyPrefix, workflowRequest.WorkflowPrefixForLog) } func (impl *CdWorkflowServiceImpl) getWorkflowExecutor(executorType pipelineConfig.WorkflowExecutorType) WorkflowExecutor { diff --git a/pkg/pipeline/CiService.go b/pkg/pipeline/CiService.go index 437cf1af99..6947cf6ac3 100644 --- a/pkg/pipeline/CiService.go +++ b/pkg/pipeline/CiService.go @@ -144,7 +144,8 @@ func (impl *CiServiceImpl) TriggerCiPipeline(trigger Trigger) (int, error) { return 0, err } - savedCiWf.LogLocation = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + "/main.log" + //savedCiWf.LogLocation = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + "/main.log" + savedCiWf.LogLocation = fmt.Sprintf("%s/%s/main.log", impl.ciConfig.DefaultBuildLogsKeyPrefix, workflowRequest.WorkflowNamePrefix) err = impl.updateCiWorkflow(workflowRequest, savedCiWf) appLabels, err := impl.appCrudOperationService.GetLabelsByAppId(pipeline.AppId) diff --git a/pkg/pipeline/WorkflowDagExecutor.go b/pkg/pipeline/WorkflowDagExecutor.go index 85ff98ab65..49bf92cdf5 100644 --- a/pkg/pipeline/WorkflowDagExecutor.go +++ b/pkg/pipeline/WorkflowDagExecutor.go @@ -433,9 +433,8 @@ func (impl *WorkflowDagExecutorImpl) TriggerPreStage(ctx context.Context, cdWf * Namespace: impl.cdConfig.DefaultNamespace, BlobStorageEnabled: impl.cdConfig.BlobStorageEnabled, CdWorkflowId: cdWf.Id, - //LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + string(bean.CD_WORKFLOW_TYPE_PRE) + "-" + pipeline.Name + "/main.log", - LogLocation: fmt.Sprintf("%s/%s%s-%s/main.log", impl.cdConfig.DefaultBuildLogsKeyPrefix, strconv.Itoa(cdWf.Id), string(bean.CD_WORKFLOW_TYPE_PRE), pipeline.Name), - AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: 1, UpdatedOn: triggeredAt, UpdatedBy: 1}, + LogLocation: fmt.Sprintf("%s/%s%s-%s/main.log", impl.cdConfig.DefaultBuildLogsKeyPrefix, strconv.Itoa(cdWf.Id), string(bean.CD_WORKFLOW_TYPE_PRE), pipeline.Name), + AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: 1, UpdatedOn: triggeredAt, UpdatedBy: 1}, } var env *repository2.Environment var err error @@ -524,7 +523,7 @@ func (impl *WorkflowDagExecutorImpl) TriggerPostStage(cdWf *pipelineConfig.CdWor Namespace: impl.cdConfig.DefaultNamespace, BlobStorageEnabled: impl.cdConfig.BlobStorageEnabled, CdWorkflowId: cdWf.Id, - LogLocation: impl.cdConfig.DefaultBuildLogsKeyPrefix + "/" + strconv.Itoa(cdWf.Id) + string(bean.CD_WORKFLOW_TYPE_POST) + "-" + pipeline.Name + "/main.log", + LogLocation: fmt.Sprintf("%s/%s%s-%s/main.log", impl.cdConfig.DefaultBuildLogsKeyPrefix, strconv.Itoa(cdWf.Id), string(bean.CD_WORKFLOW_TYPE_POST), pipeline.Name), AuditLog: sql.AuditLog{CreatedOn: triggeredAt, CreatedBy: triggeredBy, UpdatedOn: triggeredAt, UpdatedBy: triggeredBy}, } var env *repository2.Environment diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index 2f58118535..6798ce5cc6 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -218,7 +218,8 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest CiRequest: workflowRequest, } - ciCdTriggerEvent.CiRequest.BlobStorageLogsKey = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + //ciCdTriggerEvent.CiRequest.BlobStorageLogsKey = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix + ciCdTriggerEvent.CiRequest.BlobStorageLogsKey = fmt.Sprintf("%s/%s", impl.ciConfig.DefaultBuildLogsKeyPrefix, workflowRequest.WorkflowNamePrefix) ciCdTriggerEvent.CiRequest.InAppLoggingEnabled = impl.ciConfig.InAppLoggingEnabled workflowJson, err := json.Marshal(&ciCdTriggerEvent) if err != nil { @@ -280,8 +281,6 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest Steps: steps, }) - //containerEnvVariables = append(containerEnvVariables, []v12.EnvVar{{Name: "CI_CD_EVENT", Value: string(workflowJson)}}...) - eventEnv := v12.EnvVar{Name: "CI_CD_EVENT", Value: string(workflowJson)} inAppLoggingEnv := v12.EnvVar{Name: "IN_APP_LOGGING", Value: strconv.FormatBool(impl.ciConfig.InAppLoggingEnabled)} containerEnvVariables = append(containerEnvVariables, eventEnv, inAppLoggingEnv) @@ -290,7 +289,6 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest Container: &v12.Container{ Env: containerEnvVariables, Image: workflowRequest.CiImage, //TODO need to check whether trigger buildx image or normal image - //Args: []string{string(workflowJson)}, SecurityContext: &v12.SecurityContext{ Privileged: &privileged, }, From e71f2b8d39687fca3cbaba075e5ea524eaad66ef Mon Sep 17 00:00:00 2001 From: Subhashish Date: Wed, 7 Jun 2023 22:35:36 +0530 Subject: [PATCH 15/17] addresing pr comments3 --- pkg/pipeline/WorkflowService.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index 6798ce5cc6..1cd7fcfd85 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -218,7 +218,6 @@ func (impl *WorkflowServiceImpl) SubmitWorkflow(workflowRequest *WorkflowRequest CiRequest: workflowRequest, } - //ciCdTriggerEvent.CiRequest.BlobStorageLogsKey = impl.ciConfig.DefaultBuildLogsKeyPrefix + "/" + workflowRequest.WorkflowNamePrefix ciCdTriggerEvent.CiRequest.BlobStorageLogsKey = fmt.Sprintf("%s/%s", impl.ciConfig.DefaultBuildLogsKeyPrefix, workflowRequest.WorkflowNamePrefix) ciCdTriggerEvent.CiRequest.InAppLoggingEnabled = impl.ciConfig.InAppLoggingEnabled workflowJson, err := json.Marshal(&ciCdTriggerEvent) From d0ac4132d895828413da7712276f84fc410a01fa Mon Sep 17 00:00:00 2001 From: Subhashish Date: Wed, 7 Jun 2023 23:45:07 +0530 Subject: [PATCH 16/17] fix --- pkg/pipeline/CdWorkflowService.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pipeline/CdWorkflowService.go b/pkg/pipeline/CdWorkflowService.go index 1fd949d34d..08bd078ac6 100644 --- a/pkg/pipeline/CdWorkflowService.go +++ b/pkg/pipeline/CdWorkflowService.go @@ -244,7 +244,7 @@ func (impl *CdWorkflowServiceImpl) SubmitWorkflow(workflowRequest *CdWorkflowReq reqMem := impl.cdConfig.ReqMem eventEnv := v12.EnvVar{Name: "CI_CD_EVENT", Value: string(workflowJson)} - inAppLoggingEnv := v12.EnvVar{Name: "IN_APP_LOGGING", Value: strconv.FormatBool(impl.cdConfig.InAppLoggingEnabled)} + inAppLoggingEnv := v12.EnvVar{Name: "IN_APP_LOGGING", Value: strconv.FormatBool(ciCdTriggerEvent.CdRequest.InAppLoggingEnabled)} containerEnvVariables = append(containerEnvVariables, eventEnv, inAppLoggingEnv) workflowMainContainer := v12.Container{ Env: containerEnvVariables, From 8b52a1662b7599a6d5db1755882faed1dccd259c Mon Sep 17 00:00:00 2001 From: subhashish-devtron <129164905+subhashish-devtron@users.noreply.github.com> Date: Thu, 8 Jun 2023 00:29:53 +0530 Subject: [PATCH 17/17] Update CiHandler.go --- pkg/pipeline/CiHandler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pipeline/CiHandler.go b/pkg/pipeline/CiHandler.go index b91ed6125f..4a7f68256d 100644 --- a/pkg/pipeline/CiHandler.go +++ b/pkg/pipeline/CiHandler.go @@ -149,7 +149,7 @@ type WorkflowResponse struct { ArtifactId int `json:"artifactId"` IsArtifactUploaded bool `json:"isArtifactUploaded"` IsVirtualEnvironment bool `json:"isVirtualEnvironment"` - PodName string `json:"podName"` + PodName string `json:"podName"` } type GitTriggerInfoResponse struct {