fix: Cron update params and field types

This commit is contained in:
Andrey Melnikov
2020-05-02 17:57:13 -07:00
parent 5dfbf98ec4
commit d1235ee2cb
2 changed files with 17 additions and 5 deletions

View File

@@ -10,7 +10,6 @@ import (
"github.com/onepanelio/core/pkg/util/pagination"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc/codes"
"gopkg.in/yaml.v2"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"regexp"
"strings"
@@ -52,6 +51,7 @@ func (c *Client) UpdateCronWorkflow(namespace string, name string, cronWorkflow
return nil, err
}
rawCronManifest := cronWorkflow.Manifest
workflowTemplateManifest := workflowTemplate.GetManifestBytes()
if err := cronWorkflow.AddToManifestSpec("workflowSpec", string(workflowTemplateManifest)); err != nil {
@@ -65,7 +65,7 @@ func (c *Client) UpdateCronWorkflow(namespace string, name string, cronWorkflow
(*opts.Labels)[workflowTemplateVersionLabelKey] = fmt.Sprint(workflowTemplate.Version)
var argoCronWorkflow wfv1.CronWorkflow
var argoCronWorkflowSpec wfv1.CronWorkflowSpec
if err := yaml.Unmarshal([]byte(cronWorkflow.Manifest), &argoCronWorkflowSpec); err != nil {
if err := argojson.UnmarshalStrict([]byte(rawCronManifest), &argoCronWorkflowSpec); err != nil {
return nil, err
}
argoCronWorkflow.Spec = argoCronWorkflowSpec

View File

@@ -56,7 +56,6 @@ func (c *CronWorkflowServer) CreateCronWorkflow(ctx context.Context, req *api.Cr
},
}
for _, param := range req.CronWorkflow.WorkflowExecution.Parameters {
options := make([]*v1.ParameterOption, 0)
for _, option := range param.Options {
options = append(options, &v1.ParameterOption{
@@ -103,9 +102,22 @@ func (c *CronWorkflowServer) UpdateCronWorkflow(ctx context.Context, req *api.Up
},
}
for _, param := range req.CronWorkflow.WorkflowExecution.Parameters {
options := make([]*v1.ParameterOption, 0)
for _, option := range param.Options {
options = append(options, &v1.ParameterOption{
Name: option.Name,
Value: option.Value,
})
}
workflow.Parameters = append(workflow.Parameters, v1.Parameter{
Name: param.Name,
Value: ptr.String(param.Value),
Type: param.Type,
DisplayName: &param.DisplayName,
Hint: &param.Hint,
Options: options,
Required: param.Required,
})
}