Skip to content

Commit b5008f3

Browse files
committed
support wfrid in case of previous deployments as config type
1 parent 740c3ae commit b5008f3

File tree

4 files changed

+44
-86
lines changed

4 files changed

+44
-86
lines changed

pkg/configDiff/DeploymentConfigurationService.go

Lines changed: 35 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -378,25 +378,20 @@ func (impl *DeploymentConfigurationServiceImpl) encodeSecretDataFromNonAdminUser
378378
}
379379
}
380380

381-
func (impl *DeploymentConfigurationServiceImpl) getCmCsDataForPreviousDeployments(ctx context.Context, deploymentTemplateHistoryId, pipelineId int, userHasAdminAccess bool) (*bean2.DeploymentAndCmCsConfigDto, error) {
381+
func (impl *DeploymentConfigurationServiceImpl) getCmCsDataForPreviousDeployments(ctx context.Context, wfrId, pipelineId int, userHasAdminAccess bool) (*bean2.DeploymentAndCmCsConfigDto, error) {
382382

383383
configDataDto := &bean2.DeploymentAndCmCsConfigDto{}
384384

385-
deplTemplateHistory, err := impl.deploymentTemplateHistoryReadService.GetTemplateHistoryModelForDeployedTemplateById(deploymentTemplateHistoryId, pipelineId)
385+
cmConfigData, err := impl.configMapHistoryReadService.GetCmCsHistoryByWfrIdAndPipelineId(ctx, pipelineId, wfrId, repository3.CONFIGMAP_TYPE, userHasAdminAccess)
386386
if err != nil {
387-
impl.logger.Errorw("error in getting deployment template history", "err", err, "deploymentTemplateHistoryId", deploymentTemplateHistoryId, "pipelineId", pipelineId)
388-
return nil, err
389-
}
390-
cmConfigData, err := impl.configMapHistoryReadService.GetCmCsHistoryByDeployedOnAndPipelineId(ctx, pipelineId, deplTemplateHistory.DeployedOn, repository3.CONFIGMAP_TYPE, userHasAdminAccess)
391-
if err != nil {
392-
impl.logger.Errorw("error in getting secretData and cmData", "err", err, "deploymentTemplateHistoryId", deploymentTemplateHistoryId, "pipelineId", pipelineId)
387+
impl.logger.Errorw("error in getting secretData and cmData", "err", err, "wfrId", wfrId, "pipelineId", pipelineId)
393388
return nil, err
394389
}
395390
configDataDto.WithConfigMapData(cmConfigData)
396391
if userHasAdminAccess {
397-
secretConfigData, err := impl.configMapHistoryReadService.GetCmCsHistoryByDeployedOnAndPipelineId(ctx, pipelineId, deplTemplateHistory.DeployedOn, repository3.SECRET_TYPE, userHasAdminAccess)
392+
secretConfigData, err := impl.configMapHistoryReadService.GetCmCsHistoryByWfrIdAndPipelineId(ctx, pipelineId, wfrId, repository3.SECRET_TYPE, userHasAdminAccess)
398393
if err != nil {
399-
impl.logger.Errorw("error in getting secretData and cmData", "err", err, "deploymentTemplateHistoryId", deploymentTemplateHistoryId, "pipelineId", pipelineId)
394+
impl.logger.Errorw("error in getting secretData and cmData", "err", err, "wfrId", wfrId, "pipelineId", pipelineId)
400395
return nil, err
401396
}
402397
configDataDto.WithSecretData(secretConfigData)
@@ -405,77 +400,74 @@ func (impl *DeploymentConfigurationServiceImpl) getCmCsDataForPreviousDeployment
405400
return configDataDto, nil
406401

407402
}
408-
func (impl *DeploymentConfigurationServiceImpl) getPipelineStrategyForPreviousDeployments(ctx context.Context, deploymentTemplateHistoryId, pipelineId int) (*bean2.DeploymentAndCmCsConfig, error) {
403+
func (impl *DeploymentConfigurationServiceImpl) getPipelineStrategyForPreviousDeployments(ctx context.Context, wfrId, pipelineId int) (*bean2.DeploymentAndCmCsConfig, error) {
409404
pipelineStrategyJson := json.RawMessage{}
410405
pipelineConfig := bean2.NewDeploymentAndCmCsConfig()
411-
deplTemplateHistory, err := impl.deploymentTemplateHistoryReadService.GetTemplateHistoryModelForDeployedTemplateById(deploymentTemplateHistoryId, pipelineId)
412-
if err != nil {
413-
impl.logger.Errorw("error in getting deployment template history", "deploymentTemplateHistoryId", deploymentTemplateHistoryId, "pipelineId", pipelineId, "err", err)
414-
return nil, err
415-
}
416-
pipelineStrategyHistory, err := impl.pipelineStrategyHistoryRepository.FindPipelineStrategyForDeployedOnAndPipelineId(pipelineId, deplTemplateHistory.DeployedOn)
406+
pipelineStrategyHistory, err := impl.pipelineStrategyHistoryRepository.GetHistoryByPipelineIdAndWfrId(ctx, pipelineId, wfrId)
417407
if err != nil && !util.IsErrNoRows(err) {
418-
impl.logger.Errorw("error in FindPipelineStrategyForDeployedOnAndPipelineId", "deploymentTemplateHistoryId", deploymentTemplateHistoryId, "deployedOn", deplTemplateHistory.DeployedOn, "pipelineId", pipelineId, "err", err)
408+
impl.logger.Errorw("error in FindPipelineStrategyForDeployedOnAndPipelineId", "wfrId", wfrId, "pipelineId", pipelineId, "err", err)
419409
return nil, err
420410
} else if util.IsErrNoRows(err) {
421411
return pipelineConfig, nil
422412
}
423-
err = pipelineStrategyJson.UnmarshalJSON([]byte(pipelineStrategyHistory.Config))
424-
if err != nil {
425-
impl.logger.Errorw("getDeploymentTemplateForEnvLevel, error in unmarshalling string pipelineStrategyHistory data into json Raw message", "err", err)
426-
return nil, err
413+
if pipelineStrategyHistory != nil {
414+
err = pipelineStrategyJson.UnmarshalJSON([]byte(pipelineStrategyHistory.Config))
415+
if err != nil {
416+
impl.logger.Errorw("getDeploymentTemplateForEnvLevel, error in unmarshalling string pipelineStrategyHistory data into json Raw message", "err", err)
417+
return nil, err
418+
}
419+
pipelineConfig.WithConfigData(pipelineStrategyJson).
420+
WithResourceType(bean.PipelineStrategy).
421+
WithPipelineStrategyMetadata(pipelineStrategyHistory.PipelineTriggerType, string(pipelineStrategyHistory.Strategy))
427422
}
428-
pipelineConfig.WithConfigData(pipelineStrategyJson).
429-
WithResourceType(bean.PipelineStrategy).
430-
WithPipelineStrategyMetadata(pipelineStrategyHistory.PipelineTriggerType, string(pipelineStrategyHistory.Strategy))
431423
return pipelineConfig, nil
432424
}
433425

434-
func (impl *DeploymentConfigurationServiceImpl) getDeploymentsConfigForPreviousDeployments(ctx context.Context, configDataQueryParams *bean2.ConfigDataQueryParams,
435-
appId, envId int) (generateManifest.DeploymentTemplateResponse, error) {
436-
deploymentTemplateRequest := generateManifest.DeploymentTemplateRequest{
437-
PipelineId: configDataQueryParams.PipelineId,
438-
DeploymentTemplateHistoryId: configDataQueryParams.IdentifierId,
439-
RequestDataMode: generateManifest.Values,
440-
Type: repository2.DeployedOnSelfEnvironment,
441-
}
426+
func (impl *DeploymentConfigurationServiceImpl) getDeploymentsConfigForPreviousDeployments(ctx context.Context, configDataQueryParams *bean2.ConfigDataQueryParams) (generateManifest.DeploymentTemplateResponse, error) {
427+
442428
var deploymentTemplateResponse generateManifest.DeploymentTemplateResponse
443-
deploymentTemplateResponse, err := impl.deploymentTemplateService.GetDeploymentTemplate(ctx, deploymentTemplateRequest)
429+
deplTemplate, err := impl.deploymentTemplateHistoryReadService.GetDeployedHistoryByPipelineIdAndWfrId(ctx, configDataQueryParams.PipelineId, configDataQueryParams.WfrId)
444430
if err != nil {
445-
impl.logger.Errorw("getDeploymentTemplateForEnvLevel, error in getting deployment template for ", "deploymentTemplateRequest", deploymentTemplateRequest, "err", err)
431+
impl.logger.Errorw("getDeploymentsConfigForPreviousDeployments, error in getting deployment template by pipelineId and wfrId ", "pipelineId", configDataQueryParams.PipelineId, "wfrId", configDataQueryParams.WfrId, "err", err)
446432
return deploymentTemplateResponse, err
447433
}
448-
434+
deploymentTemplateResponse = generateManifest.DeploymentTemplateResponse{
435+
Data: deplTemplate.CodeEditorValue.Value,
436+
ResolvedData: deplTemplate.CodeEditorValue.ResolvedValue,
437+
VariableSnapshot: deplTemplate.CodeEditorValue.VariableSnapshot,
438+
TemplateVersion: deplTemplate.TemplateVersion,
439+
IsAppMetricsEnabled: *deplTemplate.IsAppMetricsEnabled,
440+
}
449441
return deploymentTemplateResponse, nil
450442
}
451443

452444
func (impl *DeploymentConfigurationServiceImpl) getDeploymentAndCmCsConfigDataForPreviousDeployments(ctx context.Context, configDataQueryParams *bean2.ConfigDataQueryParams,
453445
appId, envId int, userHasAdminAccess bool) (*bean2.DeploymentAndCmCsConfigDto, error) {
454446

455447
// getting DeploymentAndCmCsConfigDto obj with cm and cs data populated
456-
configDataDto, err := impl.getCmCsDataForPreviousDeployments(ctx, configDataQueryParams.IdentifierId, configDataQueryParams.PipelineId, userHasAdminAccess)
448+
configDataDto, err := impl.getCmCsDataForPreviousDeployments(ctx, configDataQueryParams.WfrId, configDataQueryParams.PipelineId, userHasAdminAccess)
457449
if err != nil {
458-
impl.logger.Errorw("error in getting cm cs for PreviousDeployments state", "deploymentTemplateHistoryId", configDataQueryParams.IdentifierId, "pipelineId", configDataQueryParams.PipelineId, "err", err)
450+
impl.logger.Errorw("error in getting cm cs for PreviousDeployments state", "configDataQueryParams", configDataQueryParams, "err", err)
459451
return nil, err
460452
}
461-
pipelineStrategy, err := impl.getPipelineStrategyForPreviousDeployments(ctx, configDataQueryParams.IdentifierId, configDataQueryParams.PipelineId)
453+
pipelineStrategy, err := impl.getPipelineStrategyForPreviousDeployments(ctx, configDataQueryParams.WfrId, configDataQueryParams.PipelineId)
462454
if err != nil {
463-
impl.logger.Errorw(" error in getting cm cs for PreviousDeployments state", "deploymentTemplateHistoryId", configDataQueryParams.IdentifierId, "pipelineId", configDataQueryParams.PipelineId, "err", err)
455+
impl.logger.Errorw(" error in getting cm cs for PreviousDeployments state", "configDataQueryParams", configDataQueryParams, "err", err)
464456
return nil, err
465457
}
466458
if len(pipelineStrategy.Data) > 0 {
467459
configDataDto.WithPipelineConfigData(pipelineStrategy)
468460
}
469461

470-
deploymentTemplateData, err := impl.getDeploymentsConfigForPreviousDeployments(ctx, configDataQueryParams, appId, envId)
462+
deploymentTemplateData, err := impl.getDeploymentsConfigForPreviousDeployments(ctx, configDataQueryParams)
471463
if err != nil {
472-
impl.logger.Errorw("error in getting deployment config", "appName", configDataQueryParams.AppName, "envName", configDataQueryParams.EnvName, "err", err)
464+
impl.logger.Errorw("error in getting deployment config", "configDataQueryParams", configDataQueryParams, "err", err)
473465
return nil, err
474466
}
475467
deploymentJson := json.RawMessage{}
476468
err = deploymentJson.UnmarshalJSON([]byte(deploymentTemplateData.Data))
477469
if err != nil {
478-
impl.logger.Errorw("error in unmarshalling string deploymentTemplateResponse data into json Raw message", "appName", configDataQueryParams.AppName, "envName", configDataQueryParams.EnvName, "err", err)
470+
impl.logger.Errorw("error in unmarshalling string deploymentTemplateResponse data into json Raw message", "configDataQueryParams", configDataQueryParams, "err", err)
479471
return nil, err
480472
}
481473
variableSnapShotMap := map[string]map[string]string{bean.DeploymentTemplate.ToString(): deploymentTemplateData.VariableSnapshot}

pkg/deployment/manifest/configMapAndSecret/read/ConfigMapHistoryReadService.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ type ConfigMapHistoryReadService interface {
2626
CheckIfTriggerHistoryExistsForPipelineIdOnTime(pipelineId int, deployedOn time.Time) (cmId int, csId int, exists bool, err error)
2727
GetDeployedHistoryDetailForCMCSByPipelineIdAndWfrId(ctx context.Context, pipelineId, wfrId int, configType repository.ConfigType, userHasAdminAccess bool) ([]*bean.ComponentLevelHistoryDetailDto, error)
2828
ConvertConfigDataToComponentLevelDto(config *bean2.ConfigData, configType repository.ConfigType, userHasAdminAccess bool) (*bean.ComponentLevelHistoryDetailDto, error)
29-
GetCmCsHistoryByDeployedOnAndPipelineId(ctx context.Context, pipelineId int, deployedOn time.Time, configType repository.ConfigType, userHasAdminAccess bool) (*bean3.DeploymentAndCmCsConfig, error)
29+
GetCmCsHistoryByWfrIdAndPipelineId(ctx context.Context, pipelineId int, wfrId int, configType repository.ConfigType, userHasAdminAccess bool) (*bean3.DeploymentAndCmCsConfig, error)
3030
GetCmCsListObjectFromHistory(history *repository.ConfigmapAndSecretHistory) (*bean4.ConfigsList, *bean4.SecretsList, error)
3131
}
3232

@@ -364,22 +364,22 @@ func (impl *ConfigMapHistoryReadServiceImpl) ConvertConfigDataToComponentLevelDt
364364
return componentLevelData, nil
365365
}
366366

367-
func (impl *ConfigMapHistoryReadServiceImpl) GetCmCsHistoryByDeployedOnAndPipelineId(ctx context.Context, pipelineId int, deployedOn time.Time, configType repository.ConfigType, userHasAdminAccess bool) (*bean3.DeploymentAndCmCsConfig, error) {
368-
configData, err := impl.getResolvedConfigData(ctx, pipelineId, deployedOn, configType, userHasAdminAccess)
367+
func (impl *ConfigMapHistoryReadServiceImpl) GetCmCsHistoryByWfrIdAndPipelineId(ctx context.Context, pipelineId int, wfrId int, configType repository.ConfigType, userHasAdminAccess bool) (*bean3.DeploymentAndCmCsConfig, error) {
368+
configData, err := impl.getResolvedConfigData(ctx, pipelineId, wfrId, configType, userHasAdminAccess)
369369
if err != nil {
370-
impl.logger.Errorw("error in getting resolved secret/cm config data in case of previous deployments ", "pipelineId", pipelineId, "deployedOn", deployedOn, "err", err)
370+
impl.logger.Errorw("error in getting resolved secret/cm config data in case of previous deployments ", "pipelineId", pipelineId, "wfrId", wfrId, "err", err)
371371
return nil, err
372372
}
373373
return configData, nil
374374
}
375375

376-
func (impl *ConfigMapHistoryReadServiceImpl) getResolvedConfigData(ctx context.Context, pipelineId int, deployedOn time.Time, configType repository.ConfigType, userHasAdminAccess bool) (*bean3.DeploymentAndCmCsConfig, error) {
376+
func (impl *ConfigMapHistoryReadServiceImpl) getResolvedConfigData(ctx context.Context, pipelineId int, wfrId int, configType repository.ConfigType, userHasAdminAccess bool) (*bean3.DeploymentAndCmCsConfig, error) {
377377
configsList := &bean4.ConfigsList{}
378378
secretsList := &bean4.SecretsList{}
379379
var err error
380-
history, err := impl.configMapHistoryRepository.GetDeployedHistoryByPipelineIdAndDeployedOn(pipelineId, deployedOn, configType)
380+
history, err := impl.configMapHistoryRepository.GetHistoryByPipelineIdAndWfrId(pipelineId, wfrId, configType)
381381
if err != nil {
382-
impl.logger.Errorw("error in getting deployed history by pipeline id and deployed on", "pipelineId", pipelineId, "deployedOn", deployedOn, "err", err)
382+
impl.logger.Errorw("error in getting deployed history by pipeline id and deployed on", "pipelineId", pipelineId, "wfrId", wfrId, "err", err)
383383
return nil, err
384384
}
385385
if configType == repository.SECRET_TYPE {
@@ -418,13 +418,13 @@ func (impl *ConfigMapHistoryReadServiceImpl) getResolvedConfigData(ctx context.C
418418

419419
configDataJson, err := utils.ConvertToJsonRawMessage(configDataReq)
420420
if err != nil {
421-
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in converting config data to json raw message", "pipelineId", pipelineId, "deployedOn", deployedOn, "err", err)
421+
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in converting config data to json raw message", "pipelineId", pipelineId, "wfrId", wfrId, "err", err)
422422
return nil, err
423423
}
424424
resolvedConfigDataReq := &bean4.ConfigDataRequest{ConfigData: resolvedConfigDataList}
425425
resolvedConfigDataString, err := utils.ConvertToString(resolvedConfigDataReq)
426426
if err != nil {
427-
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in converting config data to json raw message", "pipelineId", pipelineId, "deployedOn", deployedOn, "err", err)
427+
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in converting config data to json raw message", "pipelineId", pipelineId, "wfrId", wfrId, "err", err)
428428
return nil, err
429429
}
430430
resolvedConfigDataStringJson, err := utils.ConvertToJsonRawMessage(resolvedConfigDataString)

pkg/pipeline/history/repository/ConfigMapHistoryRepository.go

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,9 @@ type ConfigMapHistoryRepository interface {
3535
sql.TransactionWrapper
3636
CreateHistory(tx *pg.Tx, model *ConfigmapAndSecretHistory) (*ConfigmapAndSecretHistory, error)
3737
GetHistoryForDeployedCMCSById(id, pipelineId int, configType ConfigType) (*ConfigmapAndSecretHistory, error)
38-
GetDeploymentDetailsForDeployedCMCSHistory(pipelineId int, configType ConfigType) ([]*ConfigmapAndSecretHistory, error)
3938
GetHistoryByPipelineIdAndWfrId(pipelineId, wfrId int, configType ConfigType) (*ConfigmapAndSecretHistory, error)
4039
GetDeployedHistoryForPipelineIdOnTime(pipelineId int, deployedOn time.Time, configType ConfigType) (*ConfigmapAndSecretHistory, error)
4140
GetDeployedHistoryList(pipelineId, baseConfigId int, configType ConfigType, componentName string) ([]*ConfigmapAndSecretHistory, error)
42-
GetDeployedHistoryByPipelineIdAndDeployedOn(pipelineId int, deployedOn time.Time, configType ConfigType) (*ConfigmapAndSecretHistory, error)
4341
}
4442

4543
type ConfigMapHistoryRepositoryImpl struct {
@@ -106,18 +104,6 @@ func (impl ConfigMapHistoryRepositoryImpl) GetHistoryForDeployedCMCSById(id, pip
106104
return &history, nil
107105
}
108106

109-
func (impl ConfigMapHistoryRepositoryImpl) GetDeploymentDetailsForDeployedCMCSHistory(pipelineId int, configType ConfigType) ([]*ConfigmapAndSecretHistory, error) {
110-
var histories []*ConfigmapAndSecretHistory
111-
err := impl.dbConnection.Model(&histories).Where("pipeline_id = ?", pipelineId).
112-
Where("data_type = ?", configType).
113-
Where("deployed = ?", true).Select()
114-
if err != nil {
115-
impl.logger.Errorw("error in getting deployed CM/CS history", "err", err)
116-
return histories, err
117-
}
118-
return histories, nil
119-
}
120-
121107
func (impl ConfigMapHistoryRepositoryImpl) GetHistoryByPipelineIdAndWfrId(pipelineId, wfrId int, configType ConfigType) (*ConfigmapAndSecretHistory, error) {
122108
var history ConfigmapAndSecretHistory
123109
query := "SELECT cmh.* FROM config_map_history cmh" +
@@ -157,14 +143,3 @@ func (impl ConfigMapHistoryRepositoryImpl) GetDeployedHistoryForPipelineIdOnTime
157143
Select()
158144
return &history, err
159145
}
160-
161-
func (impl ConfigMapHistoryRepositoryImpl) GetDeployedHistoryByPipelineIdAndDeployedOn(pipelineId int, deployedOn time.Time, configType ConfigType) (*ConfigmapAndSecretHistory, error) {
162-
var history ConfigmapAndSecretHistory
163-
err := impl.dbConnection.Model(&history).
164-
Where("pipeline_id = ?", pipelineId).
165-
Where("data_type = ?", configType).
166-
Where("deployed_on = ?", deployedOn).
167-
Where("deployed = ?", true).
168-
Select()
169-
return &history, err
170-
}

pkg/pipeline/history/repository/PipelineStrategyHistoryRepository.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ type PipelineStrategyHistoryRepository interface {
3535
GetHistoryByPipelineIdAndWfrId(ctx context.Context, pipelineId, wfrId int) (*PipelineStrategyHistory, error)
3636
CheckIfTriggerHistoryExistsForPipelineIdOnTime(pipelineId int, deployedOn time.Time) (bool, error)
3737
GetDeployedHistoryList(pipelineId, baseConfigId int) ([]*PipelineStrategyHistory, error)
38-
FindPipelineStrategyForDeployedOnAndPipelineId(pipelineId int, deployedOn time.Time) (PipelineStrategyHistory, error)
3938
}
4039

4140
type PipelineStrategyHistoryRepositoryImpl struct {
@@ -146,11 +145,3 @@ func (impl PipelineStrategyHistoryRepositoryImpl) CheckIfTriggerHistoryExistsFor
146145
Exists()
147146
return exists, err
148147
}
149-
150-
func (impl PipelineStrategyHistoryRepositoryImpl) FindPipelineStrategyForDeployedOnAndPipelineId(pipelineId int, deployedOn time.Time) (PipelineStrategyHistory, error) {
151-
var history PipelineStrategyHistory
152-
err := impl.dbConnection.Model(&history).
153-
Where("pipeline_strategy_history.deployed_on = ?", deployedOn).
154-
Where("pipeline_strategy_history.pipeline_id = ?", pipelineId).Select()
155-
return history, err
156-
}

0 commit comments

Comments
 (0)