본문 바로가기

Openstack

Openstack Placement Filter 활성화

  • 적용 방법

[Utility Container]

/root/openrc
openstack --os-placement-api-version 1.6 trait list
+---------------------------------------+
| name                                  |
+---------------------------------------+
| COMPUTE_IMAGE_TYPE_AKI                |
| HW_CPU_X86_INTEL_VMX                  |
| HW_ARCH_PARISC                        |
| OWNER_NOVA                            |
| HW_NIC_SRIOV                          |
| COMPUTE_IMAGE_TYPE_RAW                |
| HW_GPU_API_OPENCL_V2_1                |
| COMPUTE_EPHEMERAL_ENCRYPTION_PLAIN    |
| ...                                   |
| HW_ARCH_UNICORE32                     |
| HW_ARCH_LM32                          |
| HW_GPU_API_DIRECT3D_V8_0              |
| HW_GPU_API_DIRECT3D_V11_2             |
| HW_CPU_AARCH64_FP                     |
+---------------------------------------+

현재 정의되어 있는 trait

WINDOW를 위한 trait을 정의

openstack --os-placement-api-version 1.6 trait create CUSTOM_WINDOW
# 이때 CUSTOM_LISENCE가 만들려는 trait의 이름이며 사용자가 만들경우 앞에 CUSTOM_ 을 붙혀야 함

openstack resource provider list
+--------------------------------------+---------------+------------+--------------------------------------+----------------------+
| uuid                                 | name          | generation | root_provider_uuid                   | parent_provider_uuid |
+--------------------------------------+---------------+------------+--------------------------------------+----------------------+
| 9661d8d6-ed29-4102-b66c-9bcba1ad3ce9 | compute1.maas |        432 | 9661d8d6-ed29-4102-b66c-9bcba1ad3ce9 | None                 |
| c390fdd7-36c2-44f4-9136-d7b8ce5a9413 | compute5.maas |        336 | c390fdd7-36c2-44f4-9136-d7b8ce5a9413 | None                 |
| 56d513af-6681-4a39-a0e9-f3172982af7c | compute2.maas |        290 | 56d513af-6681-4a39-a0e9-f3172982af7c | None                 |
| 42f1cc16-dc58-40b7-b6fc-5fe12d4de580 | compute3.maas |        176 | 42f1cc16-dc58-40b7-b6fc-5fe12d4de580 | None                 |
| 24355553-32a5-4dc8-834f-9c55c62b7b7b | compute6      |        323 | 24355553-32a5-4dc8-834f-9c55c62b7b7b | None                 |
+--------------------------------------+---------------+------------+--------------------------------------+----------------------+
existing_traits=$(openstack --os-placement-api-version 1.6 resource provider trait list -f value <host_uuid> | sed 's/^/--trait /')
# 환경 변수로 입력 받는데 이때 host_uuid는 위 uuid

openstack --os-placement-api-version 1.6 resource provider trait set $existing_traits --trait CUSTOM_WINDOW <host_uuid>
# 이렇게 하면 해당 resource provider에 CUSTOM_LISENCE라는 trait이 추가 됨

compute2에 대한 정보 입력

 

  • 이미지에 해당 trait에 대한 설정 입력

key = trait:CUSTOM_WINDOW
# 위에서 지정한 trait 이름

value = required
value = forbidden
# 두개 중에 선택할 수 있음
# 각각 해당 trait이 있는 compute node에 배포
# 해당 trait이 있는 compute node외에 배포

메타데이터로 관리

 

  • Any Availability Zone을 선택할 경우 compute2 node에만 배포

  • 다른 compute node에 배포할 경우 Error

 

'Openstack' 카테고리의 다른 글

Openstack Component Log 설정  (0) 2024.05.24
Openstack Too many connection 완화  (0) 2024.05.24
Openstack Livemigration 설정  (0) 2024.05.24
Openstack Image 다른 Project에 공유  (0) 2024.05.24
Openstack Window 이미지 사용  (0) 2024.05.24