Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
水淹萌龙
kubesphere
提交
228ce54f
K
kubesphere
项目概览
水淹萌龙
/
kubesphere
与 Fork 源项目一致
Fork自
KubeSphere / kubesphere
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kubesphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
228ce54f
编写于
11月 01, 2019
作者:
H
hongming
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: delete propagation policy
Signed-off-by:
N
hongming
<
talonwan@yunify.com
>
上级
67908443
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
15 deletion
+10
-15
pkg/models/iam/am.go
pkg/models/iam/am.go
+7
-12
pkg/models/iam/im.go
pkg/models/iam/im.go
+2
-2
pkg/models/workspaces/workspaces.go
pkg/models/workspaces/workspaces.go
+1
-1
未找到文件。
pkg/models/iam/am.go
浏览文件 @
228ce54f
...
@@ -38,7 +38,6 @@ import (
...
@@ -38,7 +38,6 @@ import (
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
"kubesphere.io/kubesphere/pkg/utils/sliceutil"
"sort"
"sort"
"strings"
"strings"
"time"
)
)
const
(
const
(
...
@@ -668,24 +667,20 @@ func CreateClusterRoleBinding(username string, clusterRoleName string) error {
...
@@ -668,24 +667,20 @@ func CreateClusterRoleBinding(username string, clusterRoleName string) error {
// cluster role changed
// cluster role changed
if
found
.
RoleRef
.
Name
!=
clusterRoleName
{
if
found
.
RoleRef
.
Name
!=
clusterRoleName
{
deletePolicy
:=
metav1
.
DeletePropagation
Fore
ground
deletePolicy
:=
metav1
.
DeletePropagation
Back
ground
gracePeriodSeconds
:=
int64
(
0
)
gracePeriodSeconds
:=
int64
(
0
)
deleteOption
:=
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
,
GracePeriodSeconds
:
&
gracePeriodSeconds
}
deleteOption
:=
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
,
GracePeriodSeconds
:
&
gracePeriodSeconds
}
err
=
client
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Delete
(
found
.
Name
,
deleteOption
)
err
=
client
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Delete
(
found
.
Name
,
deleteOption
)
if
err
!=
nil
{
if
err
!=
nil
{
klog
.
Errorln
(
"delete cluster role binding"
,
err
)
klog
.
Errorln
(
err
)
return
err
return
err
}
}
maxRetries
:=
3
_
,
err
=
client
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Create
(
clusterRoleBinding
)
for
i
:=
0
;
i
<
maxRetries
;
i
++
{
if
err
!=
nil
{
_
,
err
=
client
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Create
(
clusterRoleBinding
)
klog
.
Errorln
(
err
)
if
err
==
nil
{
return
err
return
nil
}
time
.
Sleep
(
300
*
time
.
Millisecond
)
}
}
klog
.
Errorln
(
"create cluster role binding"
,
err
)
return
nil
return
err
}
}
if
!
k8sutil
.
ContainsUser
(
found
.
Subjects
,
username
)
{
if
!
k8sutil
.
ContainsUser
(
found
.
Subjects
,
username
)
{
...
...
pkg/models/iam/im.go
浏览文件 @
228ce54f
...
@@ -855,7 +855,7 @@ func deleteRoleBindings(username string) error {
...
@@ -855,7 +855,7 @@ func deleteRoleBindings(username string) error {
length2
:=
len
(
roleBinding
.
Subjects
)
length2
:=
len
(
roleBinding
.
Subjects
)
if
length2
==
0
{
if
length2
==
0
{
deletePolicy
:=
metav1
.
DeletePropagation
Fore
ground
deletePolicy
:=
metav1
.
DeletePropagation
Back
ground
err
=
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
RoleBindings
(
roleBinding
.
Namespace
)
.
Delete
(
roleBinding
.
Name
,
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
})
err
=
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
RoleBindings
(
roleBinding
.
Namespace
)
.
Delete
(
roleBinding
.
Name
,
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
})
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -890,7 +890,7 @@ func deleteRoleBindings(username string) error {
...
@@ -890,7 +890,7 @@ func deleteRoleBindings(username string) error {
if
isWorkspaceRoleBinding
(
clusterRoleBinding
)
{
if
isWorkspaceRoleBinding
(
clusterRoleBinding
)
{
_
,
err
=
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Update
(
clusterRoleBinding
)
_
,
err
=
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Update
(
clusterRoleBinding
)
}
else
{
}
else
{
deletePolicy
:=
metav1
.
DeletePropagation
Fore
ground
deletePolicy
:=
metav1
.
DeletePropagation
Back
ground
err
=
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Delete
(
clusterRoleBinding
.
Name
,
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
})
err
=
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
RbacV1
()
.
ClusterRoleBindings
()
.
Delete
(
clusterRoleBinding
.
Name
,
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
})
}
}
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/models/workspaces/workspaces.go
浏览文件 @
228ce54f
...
@@ -70,7 +70,7 @@ func DeleteNamespace(workspace string, namespaceName string) error {
...
@@ -70,7 +70,7 @@ func DeleteNamespace(workspace string, namespaceName string) error {
return
err
return
err
}
}
if
namespace
.
Labels
[
constants
.
WorkspaceLabelKey
]
==
workspace
{
if
namespace
.
Labels
[
constants
.
WorkspaceLabelKey
]
==
workspace
{
deletePolicy
:=
metav1
.
DeletePropagation
Fore
ground
deletePolicy
:=
metav1
.
DeletePropagation
Back
ground
return
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
CoreV1
()
.
Namespaces
()
.
Delete
(
namespaceName
,
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
})
return
clientset
.
ClientSets
()
.
K8s
()
.
Kubernetes
()
.
CoreV1
()
.
Namespaces
()
.
Delete
(
namespaceName
,
&
metav1
.
DeleteOptions
{
PropagationPolicy
:
&
deletePolicy
})
}
else
{
}
else
{
return
errors
.
New
(
"resource not found"
)
return
errors
.
New
(
"resource not found"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录