오픈스택에서 VM 생성시 특정 가용성 존에서 생성이 안되는 문제가 발생했습니다. 그래서 nova 로그를 확인해보니 아래와 같은 에러가 발생하며 생성이 안되었습니다.
ResourceProviderCreationFailed: Failed to create resource provider
해결 방법이 좀 복잡합니다. 복잡한 과정은 버리고 좀 간략하게 정리합니다. 전체 과정은 https://bugzilla.redhat.com/show_bug.cgi?id=1774243#c2 에서 확인바랍니다.
원인
- evacuate나 migration 과정에서 오류가 발생해 진행되지 못한 VM을 따로 처리하지 않고 삭제하여 발생
해결 방안 - 1
- 현재 할당된 내용을 복원할 필요가 없는 경우
openstack resource provider list --name $host_name
openstack resource provider show --allocations $rp_uuid # 이전 명령어에서 나온 uuid
openstack resource provider allocation delete $server_uuid # 해당 rp에 할당된 서버 삭제
openstack resource provider delete $rp_uuid
systemctl restart nova-compute
- 위의 명령어를 차례로 실행하시면 됩니다.
해결 방안 - 2
- 현재 할당된 내용을 복원할 경우
- 이건 시도하진 않았지만 일단 최대한 간략하게 명령어 위주로만 정리
openstack resource provider list --name $host_name
openstack resource provider show --allocations $rp_uuid # 이전 명령어에서 나온 uuid
openstack --os-placement-api-version 1.12 resource provider allocation show $server_uuid # 복원을 위한 저장, step 4a
# 위 단계에서 allocation에 resource provider가 하나만 있는 경우 모든 호스트에서 삭제
openstack resource provider allocation delete $server_uuid
# 위 단계에서 여러 할당이 있는 경우 $rp_uuid를 생략하여 서버에 대한 host 할당만 삭제
openstack --os-placement-api-version 1.12 resource provider allocation set $server_uuid \
--project-id <project uuid from step 4a> \
--user-id <user uuid from step 4a> \
--allocation rp=<other rp uuid than compute host>,<resource class from step 4a>=<value from step 4a> \
repeat --allocation for all the rest of the allocations for resource providers other than compute host
openstack resource provider delete $rp_uuid
systemctl restart nova-compute
openstack resource provider list --name $host_name # new_rp_uuid
openstack --os-placement-api-version 1.12 resource provider allocation set $server_uuid \
--project-id <project uuid from step 4a> \
--user-id <user uuid from step 4a> \
--allocation rp=$new_rp_uuid,<resource class from step 4a>=<value from step 4a> \
repeat --allocation for all allocations you saved from step 4a
'클라우드 > OpenStack' 카테고리의 다른 글
OpenStack Live Migration 명령어 (0) | 2022.08.26 |
---|---|
OpenStack Compute Filter 정리 (0) | 2022.08.26 |
OpenStack Availability Zone & Host Aggregate (0) | 2022.08.26 |
OpenStack galera cluster 이슈 (0) | 2022.08.26 |
OpenStack Manual Installation - Cinder (0) | 2022.08.19 |