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(Identity and Access Management)을 사용하지 않으며 네임스페이스와 연결된 모든 사용자 및 버킷을 삭제하지 않았습니다.
시나리오 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: 로그에서 아래 ERROR를 검색하여 사용자가 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에서 삭제를 진행합니다.