mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-10-07 06:30:53 +08:00
Adding a fix for deleting labels from CronWorklows and WorkflowExecutions.
- WorkflowTemplates appears to be un-affected
This commit is contained in:
@@ -220,15 +220,15 @@ func (c *Client) SetCronWorkflowLabels(namespace, name, prefix string, keyValues
|
|||||||
label.DeleteWithPrefix(cwf.Labels, prefix)
|
label.DeleteWithPrefix(cwf.Labels, prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
label.MergeLabelsPrefix(cwf.Labels, keyValues, prefix+"/")
|
label.MergeLabelsPrefix(cwf.Labels, keyValues, prefix)
|
||||||
|
|
||||||
cwf, err = c.ArgoprojV1alpha1().CronWorkflows(namespace).Update(cwf)
|
cwf, err = c.ArgoprojV1alpha1().CronWorkflows(namespace).Update(cwf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
filteredMap := label.FilterByPrefix(prefix+"/", cwf.Labels)
|
filteredMap := label.FilterByPrefix(prefix, cwf.Labels)
|
||||||
filteredMap = label.RemovePrefix(prefix+"/", filteredMap)
|
filteredMap = label.RemovePrefix(prefix, filteredMap)
|
||||||
|
|
||||||
return filteredMap, nil
|
return filteredMap, nil
|
||||||
}
|
}
|
||||||
|
@@ -981,15 +981,15 @@ func (c *Client) SetWorkflowExecutionLabels(namespace, name, prefix string, keyV
|
|||||||
label.DeleteWithPrefix(wf.Labels, prefix)
|
label.DeleteWithPrefix(wf.Labels, prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
label.MergeLabelsPrefix(wf.Labels, keyValues, prefix+"/")
|
label.MergeLabelsPrefix(wf.Labels, keyValues, prefix)
|
||||||
|
|
||||||
wf, err = c.ArgoprojV1alpha1().Workflows(namespace).Update(wf)
|
wf, err = c.ArgoprojV1alpha1().Workflows(namespace).Update(wf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
filteredMap := label.FilterByPrefix(prefix+"/", wf.Labels)
|
filteredMap := label.FilterByPrefix(prefix, wf.Labels)
|
||||||
filteredMap = label.RemovePrefix(prefix+"/", filteredMap)
|
filteredMap = label.RemovePrefix(prefix, filteredMap)
|
||||||
|
|
||||||
return filteredMap, nil
|
return filteredMap, nil
|
||||||
}
|
}
|
||||||
@@ -1015,15 +1015,15 @@ func (c *Client) SetWorkflowTemplateLabels(namespace, name, prefix string, keyVa
|
|||||||
if wf.Labels == nil {
|
if wf.Labels == nil {
|
||||||
wf.Labels = make(map[string]string)
|
wf.Labels = make(map[string]string)
|
||||||
}
|
}
|
||||||
label.MergeLabelsPrefix(wf.Labels, keyValues, prefix+"/")
|
label.MergeLabelsPrefix(wf.Labels, keyValues, prefix)
|
||||||
|
|
||||||
wf, err = c.ArgoprojV1alpha1().WorkflowTemplates(namespace).Update(wf)
|
wf, err = c.ArgoprojV1alpha1().WorkflowTemplates(namespace).Update(wf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
filteredMap := label.FilterByPrefix(prefix+"/", wf.Labels)
|
filteredMap := label.FilterByPrefix(prefix, wf.Labels)
|
||||||
filteredMap = label.RemovePrefix(prefix+"/", filteredMap)
|
filteredMap = label.RemovePrefix(prefix, filteredMap)
|
||||||
|
|
||||||
return filteredMap, nil
|
return filteredMap, nil
|
||||||
}
|
}
|
||||||
|
@@ -178,7 +178,7 @@ func (c *CronWorkflowServer) AddCronWorkflowLabels(ctx context.Context, req *api
|
|||||||
keyValues[item.Key] = item.Value
|
keyValues[item.Key] = item.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
labels, err := client.SetCronWorkflowLabels(req.Namespace, req.Name, "tags.onepanel.io", keyValues, false)
|
labels, err := client.SetCronWorkflowLabels(req.Namespace, req.Name, "tags.onepanel.io/", keyValues, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -203,7 +203,7 @@ func (c *CronWorkflowServer) ReplaceCronWorkflowLabels(ctx context.Context, req
|
|||||||
keyValues[item.Key] = item.Value
|
keyValues[item.Key] = item.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
labels, err := client.SetCronWorkflowLabels(req.Namespace, req.Name, "tags.onepanel.io", keyValues, true)
|
labels, err := client.SetCronWorkflowLabels(req.Namespace, req.Name, "tags.onepanel.io/", keyValues, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -222,7 +222,8 @@ func (c *CronWorkflowServer) DeleteCronWorkflowLabel(ctx context.Context, req *a
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
keyToDelete := "tags.onepanel.io/" + req.Key
|
prefix := "tags.onepanel.io/"
|
||||||
|
keyToDelete := prefix + req.Key
|
||||||
labels, err := client.DeleteCronWorkflowLabel(req.Namespace, req.Name, keyToDelete)
|
labels, err := client.DeleteCronWorkflowLabel(req.Namespace, req.Name, keyToDelete)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -233,7 +234,7 @@ func (c *CronWorkflowServer) DeleteCronWorkflowLabel(ctx context.Context, req *a
|
|||||||
keyValues[key] = val
|
keyValues[key] = val
|
||||||
}
|
}
|
||||||
|
|
||||||
labels, err = client.SetCronWorkflowLabels(req.Namespace, req.Name, "tags.onepanel.io", keyValues, true)
|
labels, err = client.SetCronWorkflowLabels(req.Namespace, req.Name, "", keyValues, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@@ -532,7 +532,7 @@ func (s *WorkflowServer) AddWorkflowExecutionLabels(ctx context.Context, req *ap
|
|||||||
keyValues[item.Key] = item.Value
|
keyValues[item.Key] = item.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
labels, err := client.SetWorkflowExecutionLabels(req.Namespace, req.Name, "tags.onepanel.io", keyValues, false)
|
labels, err := client.SetWorkflowExecutionLabels(req.Namespace, req.Name, "tags.onepanel.io/", keyValues, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -557,7 +557,7 @@ func (s *WorkflowServer) ReplaceWorkflowExecutionLabels(ctx context.Context, req
|
|||||||
keyValues[item.Key] = item.Value
|
keyValues[item.Key] = item.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
labels, err := client.SetWorkflowExecutionLabels(req.Namespace, req.Name, "tags.onepanel.io", keyValues, true)
|
labels, err := client.SetWorkflowExecutionLabels(req.Namespace, req.Name, "tags.onepanel.io/", keyValues, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -582,6 +582,16 @@ func (s *WorkflowServer) DeleteWorkflowExecutionLabel(ctx context.Context, req *
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
keyValues := make(map[string]string)
|
||||||
|
for key, val := range labels {
|
||||||
|
keyValues[key] = val
|
||||||
|
}
|
||||||
|
|
||||||
|
labels, err = client.SetWorkflowExecutionLabels(req.Namespace, req.Name, "", keyValues, true)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
resp := &api.GetLabelsResponse{
|
resp := &api.GetLabelsResponse{
|
||||||
Labels: mapToKeyValue(labels),
|
Labels: mapToKeyValue(labels),
|
||||||
}
|
}
|
||||||
@@ -622,7 +632,7 @@ func (s *WorkflowServer) AddWorkflowTemplateLabels(ctx context.Context, req *api
|
|||||||
keyValues[item.Key] = item.Value
|
keyValues[item.Key] = item.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
labels, err := client.SetWorkflowTemplateLabels(req.Namespace, req.Name, "tags.onepanel.io", keyValues, false)
|
labels, err := client.SetWorkflowTemplateLabels(req.Namespace, req.Name, "tags.onepanel.io/", keyValues, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -647,7 +657,7 @@ func (s *WorkflowServer) ReplaceWorkflowTemplateLabels(ctx context.Context, req
|
|||||||
keyValues[item.Key] = item.Value
|
keyValues[item.Key] = item.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
labels, err := client.SetWorkflowTemplateLabels(req.Namespace, req.Name, "tags.onepanel.io", keyValues, true)
|
labels, err := client.SetWorkflowTemplateLabels(req.Namespace, req.Name, "tags.onepanel.io/", keyValues, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user