ECS:錯誤 40019 (http:409): 命名空間不為空。無法刪除命名空間,因為它不為空
Summary: 本知識文章說明使用者無法刪除命名空間的原因。
Symptoms
從 UI 刪除命名空間時,會看到此警示:Error 40019 (http: 409): Namespace not empty. Namespace cannot be deleted as its not empty. Please make sure all users and buckets are deleted from the namespace.
Cause
使用者正在使用舊物件使用者,並且未使用身份和訪問管理 (IAM),並且未刪除與命名空間關聯的所有使用者和存儲桶。
案例 2
使用者正在將 IAM 實體與舊物件使用者一起使用,並且未刪除與命名空間關聯的所有 IAM 實體(IAM 使用者、角色、組、策略)。
Resolution
案例 1
1: 使用命令 svc_bucket list | grep <namespace name> 查看沒有存儲桶與此命名空間關聯。
2: 使用命令 svc_user list | grep <namespace name> 以查看沒有使用者仍關聯到此命名空間。
3: 從命名空間中刪除所有舊物件使用者和存儲桶后,繼續在UI上將其刪除。
案例 2
1: 使用命令 svc_bucket list | grep <namespace name> 查看沒有存儲桶與此命名空間關聯。
2: 使用命令 svc_user list | grep <namespace name> 以查看沒有使用者仍關聯到此命名空間。
3: 在記錄中搜尋以下錯誤,以查看使用者正在使用 IAM 實體:# svc_log -f "Error 40019" -sr all -n all -sf -start "1 day ago"
169.254.1.1 ecsportalsvc.log.20221209-123634.gz 2022-12-27 09:32:59,779 [play-thread-11] ERROR Logger.java (line 608) Error 40019 (http: 409): Namespace not empty. Namespace cannot be deleted as its not empty. Please make sure all users and buckets are deleted from the namespace com.emc.ecs.client.exceptions.ServiceErrorException: Error 40019 (http: 409): Namespace not empty. Namespace cannot be deleted as its not empty. Please make sure all users and buckets are deleted from the namespace
# svc_log -f "namespace1" -sr objcontrolsvc -n all -sf | grep ERROR -A5 -B5
169.254.1.1 objcontrolsvc.log 2022-12-27T12:33:18,628 [qtp483722291-1018448-d4714582:17dcfd4591d:76a8b:1b1] ERROR ResourceClient.java (line 331) request id d4714582:17dcfd4591d:76a8b:1bc, command type REQUEST_NAMESPACE_DELETE failed with error code ERROR_NAMESPACE_NOT_EMPTY and message 'Namespace schemaType NAMESPACE_KEY namespaceId namespace1 has iam entities associated with it'
4:發現此錯誤后,使用者將 IAM 實體與此命名空間一起使用。用戶必須使用 UI 上的根使用者(使用者、角色、組和使用者定義的策略)刪除與此命名空間關聯的任何 IAM 實體。
5: 從命名空間中刪除所有舊物件使用者、存儲桶和 IAM 實體後,請繼續在 UI 上將其刪除。