clean: CronWorkflow logic since label options are now a map and not a pointer to a map.

This commit is contained in:
Andrey Melnikov
2020-06-18 22:51:49 -07:00
committed by rushtehrani
parent 017c3ca899
commit 1526194e71

View File

@@ -62,10 +62,10 @@ func (c *Client) UpdateCronWorkflow(namespace string, uid string, cronWorkflow *
} }
if opts.Labels == nil { if opts.Labels == nil {
opts.Labels = &map[string]string{} opts.Labels = map[string]string{}
} }
(*opts.Labels)[workflowTemplateUIDLabelKey] = workflowTemplate.UID opts.Labels[workflowTemplateUIDLabelKey] = workflowTemplate.UID
(*opts.Labels)[workflowTemplateVersionLabelKey] = fmt.Sprint(workflowTemplate.Version) opts.Labels[workflowTemplateVersionLabelKey] = fmt.Sprint(workflowTemplate.Version)
var argoCronWorkflow wfv1.CronWorkflow var argoCronWorkflow wfv1.CronWorkflow
var argoCronWorkflowSpec wfv1.CronWorkflowSpec var argoCronWorkflowSpec wfv1.CronWorkflowSpec
if err := argojson.UnmarshalStrict([]byte(rawCronManifest), &argoCronWorkflowSpec); err != nil { if err := argojson.UnmarshalStrict([]byte(rawCronManifest), &argoCronWorkflowSpec); err != nil {
@@ -128,19 +128,16 @@ func (c *Client) UpdateCronWorkflow(namespace string, uid string, cronWorkflow *
Where(sq.Eq{ Where(sq.Eq{
"resource": TypeCronWorkflow, "resource": TypeCronWorkflow,
"resource_id": cronWorkflow.ID, "resource_id": cronWorkflow.ID,
}).RunWith(tx). }).
RunWith(tx).
Exec() Exec()
if err != nil { if err != nil {
return nil, err return nil, err
} }
if len(cronWorkflow.Labels) > 0 { _, err = c.InsertLabelsRunner(tx, TypeCronWorkflow, cronWorkflow.ID, cronWorkflow.Labels)
_, err = c.InsertLabelsBuilder(TypeCronWorkflow, cronWorkflow.ID, cronWorkflow.Labels). if err != nil {
RunWith(tx). return nil, err
Exec()
if err != nil {
return nil, err
}
} }
if err := tx.Commit(); err != nil { if err := tx.Commit(); err != nil {
@@ -163,7 +160,9 @@ func (c *Client) CreateCronWorkflow(namespace string, cronWorkflow *CronWorkflow
} }
//// TODO: Need to pull system parameters from k8s config/secret here, example: HOST //// TODO: Need to pull system parameters from k8s config/secret here, example: HOST
opts := &WorkflowExecutionOptions{} opts := &WorkflowExecutionOptions{
Labels: make(map[string]string),
}
opts.GenerateName, err = uid2.GenerateUID(workflowTemplate.Name, 63) opts.GenerateName, err = uid2.GenerateUID(workflowTemplate.Name, 63)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -187,12 +186,9 @@ func (c *Client) CreateCronWorkflow(namespace string, cronWorkflow *CronWorkflow
return nil, err return nil, err
} }
if opts.Labels == nil { opts.Labels[workflowTemplateUIDLabelKey] = workflowTemplate.UID
opts.Labels = &map[string]string{} opts.Labels[workflowTemplateVersionLabelKey] = fmt.Sprint(workflowTemplate.Version)
} label.MergeLabelsPrefix(opts.Labels, workflow.Labels, label.TagPrefix)
(*opts.Labels)[workflowTemplateUIDLabelKey] = workflowTemplate.UID
(*opts.Labels)[workflowTemplateVersionLabelKey] = fmt.Sprint(workflowTemplate.Version)
label.MergeLabelsPrefix(*opts.Labels, workflow.Labels, label.TagPrefix)
var argoCronWorkflow wfv1.CronWorkflow var argoCronWorkflow wfv1.CronWorkflow
var argoCronWorkflowSpec wfv1.CronWorkflowSpec var argoCronWorkflowSpec wfv1.CronWorkflowSpec
@@ -438,7 +434,7 @@ func (c *Client) buildCronWorkflowDefinition(namespace string, workflowTemplateI
wf.Spec.Arguments.Parameters = newParams wf.Spec.Arguments.Parameters = newParams
} }
if opts.Labels != nil { if opts.Labels != nil {
cwf.ObjectMeta.Labels = *opts.Labels cwf.ObjectMeta.Labels = opts.Labels
} }
err = injectExitHandlerWorkflowExecutionStatistic(wf, workflowTemplateId) err = injectExitHandlerWorkflowExecutionStatistic(wf, workflowTemplateId)
@@ -461,7 +457,7 @@ func (c *Client) buildCronWorkflowDefinition(namespace string, workflowTemplateI
if mergedLabels == nil { if mergedLabels == nil {
mergedLabels = make(map[string]string) mergedLabels = make(map[string]string)
} }
for k, v := range *opts.Labels { for k, v := range opts.Labels {
mergedLabels[k] = v mergedLabels[k] = v
} }
cwf.Spec.WorkflowMetadata.Labels = mergedLabels cwf.Spec.WorkflowMetadata.Labels = mergedLabels