Skip to content

Commit

Permalink
feat: wait unit resource deleted
Browse files Browse the repository at this point in the history
  • Loading branch information
warjiang committed May 28, 2024
1 parent 938dd3a commit 7424c54
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 12 deletions.
28 changes: 23 additions & 5 deletions cmd/api/app/routes/propagationpolicy/handler.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
package propagationpolicy

import "C"
import (
"context"
"github.com/gin-gonic/gin"
"github.com/karmada-io/dashboard/cmd/api/app/router"
v1 "github.com/karmada-io/dashboard/cmd/api/app/types/api/v1"
"github.com/karmada-io/dashboard/cmd/api/app/types/common"
"github.com/karmada-io/dashboard/pkg/client"
"github.com/karmada-io/dashboard/pkg/common/errors"
"github.com/karmada-io/dashboard/pkg/resource/propagationpolicy"
"github.com/karmada-io/karmada/pkg/apis/policy/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/util/retry"
"k8s.io/klog/v2"
"sigs.k8s.io/yaml"
)
Expand Down Expand Up @@ -129,14 +132,29 @@ func handleDeletePropagationPolicy(c *gin.Context) {
karmadaClient := client.InClusterKarmadaClient()
if propagationpolicyRequest.IsClusterScope {
err = karmadaClient.PolicyV1alpha1().ClusterPropagationPolicies().Delete(ctx, propagationpolicyRequest.Name, metav1.DeleteOptions{})
if err != nil {
klog.ErrorS(err, "Failed to delete PropagationPolicy")
common.Fail(c, err)
return
}
} else {
err = karmadaClient.PolicyV1alpha1().PropagationPolicies(propagationpolicyRequest.Namespace).Delete(ctx, propagationpolicyRequest.Name, metav1.DeleteOptions{})
if err != nil {
klog.ErrorS(err, "Failed to delete PropagationPolicy")
common.Fail(c, err)
return
}
err = retry.OnError(
retry.DefaultRetry,
func(err error) bool {
return errors.IsNotFound(err)
},
func() error {
_, getErr := karmadaClient.PolicyV1alpha1().PropagationPolicies(propagationpolicyRequest.Namespace).Get(ctx, propagationpolicyRequest.Name, metav1.GetOptions{})
return getErr
})
}
if err != nil {
klog.ErrorS(err, "Failed to delete PropagationPolicy")
common.Fail(c, err)
return
}

common.Success(c, "ok")
}

Expand Down
20 changes: 20 additions & 0 deletions cmd/api/app/routes/unstructured/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ import (
"github.com/karmada-io/dashboard/cmd/api/app/types/common"
"github.com/karmada-io/dashboard/pkg/client"
"io"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/client-go/util/retry"
"k8s.io/klog/v2"
)

Expand All @@ -19,6 +21,9 @@ func handleDeleteResource(c *gin.Context) {
}
kind := c.Param("kind")
namespace := c.Param("namespace")
if namespace == "" {
namespace = "default"
}
name := c.Param("name")
deleteNow := c.Param("deleteNow") == "true"

Expand All @@ -27,6 +32,21 @@ func handleDeleteResource(c *gin.Context) {
common.Fail(c, err)
return
}
err = retry.OnError(
retry.DefaultRetry,
func(err error) bool {
return errors.IsNotFound(err)
},
func() error {
_, getErr := verber.Get(kind, namespace, name)
return getErr
})
if err != nil {
klog.ErrorS(err, "Wait for verber delete resourcefailed")
common.Fail(c, err)
return
}

common.Success(c, "ok")
}
func handleGetResource(c *gin.Context) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const WorkloadPage = () => {
}
})
}, [nsData]);
const {data, isLoading} = useQuery({
const {data, isLoading, refetch} = useQuery({
queryKey: ['GetWorkloads'],
queryFn: async () => {
const clusters = await GetWorkloads({})
Expand Down Expand Up @@ -165,6 +165,7 @@ const WorkloadPage = () => {
namespace: r.objectMeta.namespace,
})
if (ret.code === 200) {
await refetch()
} else {
}
}}
Expand Down Expand Up @@ -214,10 +215,8 @@ const WorkloadPage = () => {
if (ret.code === 200) {
messageApi.success(`工作负载${msg}成功`)
toggleShowModal(false)
setEditorState({
mode: 'create',
content: ''
})
resetEditorState()
await refetch()
} else {
messageApi.error(`工作负载${msg}失败`)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,20 @@ const NewWorkloadEditorModal: FC<NewWorkloadEditorModalProps> = (props) => {
const {mode, open, workloadContent = '', onOk, onCancel} = props;
const [content, setContent] = useState<string>(workloadContent)
useEffect(() => {
console.log('workloadContent', workloadContent)
setContent(workloadContent)
}, [workloadContent])

function handleEditorChange(value: string | undefined, _: editor.IModelContentChangedEvent) {
setContent(value || '')
}

return <Modal
title={`${mode === 'create' ? '新增' : '编辑'}工作负载`}
open={open}
width={1000}
okText='确定'
cancelText='取消'
destroyOnClose={true}
onOk={async () => {
// await onOk()
try {
Expand All @@ -47,19 +48,24 @@ const NewWorkloadEditorModal: FC<NewWorkloadEditorModalProps> = (props) => {
content: stringify(yamlObject)
})
await onOk(ret)
setContent('')
}
} else {
const ret = await PutResource({
kind, name, namespace,
content: yamlObject
})
await onOk(ret)
setContent('')
}
} catch (e) {
console.log('e', e)
}
}}
onCancel={onCancel}
onCancel={async () => {
await onCancel();
setContent('')
}}
>
<Editor
height="600px"
Expand Down

0 comments on commit 7424c54

Please sign in to comment.