19장. 자동 프로필 태그 설정
인트로스펙션 프로세스는 일련의 벤치마크 테스트를 수행합니다. director는 이러한 테스트의 데이터를 저장합니다. 이 데이터를 사용하는 정책 세트를 다양한 방법으로 생성할 수 있습니다.
- 정책을 통해 성능이 떨어지거나 불안정한 노드를 식별하고 오버클라우드에서 사용되지 않도록 분리할 수 있습니다.
- 정책을 통해 노드를 특정 프로필에 자동으로 태그할지 여부를 정의할 수 있습니다.
19.1. 정책 파일 구문
정책 파일은 규칙 세트가 포함된 JSON 포맷을 사용합니다. 각 규칙은 description, condition 및 action을 정의합니다.
설명
일반 텍스트로 작성된 규칙 설명입니다.
예:
"description": "A new rule for my node tagging policy"
조건
조건은 다음 키-값 패턴을 사용하여 평가를 정의합니다.
- field
평가할 필드를 정의합니다.
-
memory_mb
- 노드의 메모리 크기(MB) -
cpus
- 노드 CPU의 총 스레드 수 -
cpu_arch
- 노드 CPU의 아키텍처 -
local_gb
- 노드 root 디스크의 총 스토리지 공간
-
- op
평가에 사용할 작업을 정의합니다. 다음과 같은 속성이 포함됩니다.
-
eq
- 같음 -
ne
- 같지 않음 -
lt
- 보다 작음 -
gt
- 보다 큼 -
le
- 작거나 같음 -
ge
- 크거나 같음 -
in-net
- IP 주소가 지정된 네트워크에 있는지 확인 -
matches
- 지정된 정규 표현과 완전히 일치해야 함 -
contains
- 지정된 정규 표현식을 포함하는 값이 필요함 -
is-empty
- 빌드가 비어 있는지 확인
-
- invert
- 평가 결과를 반전할지 여부를 정의하는 부울 값입니다.
- multiple
여러 결과가 있는 경우 사용할 평가를 정의합니다. 이 매개변수에는 다음과 같은 속성이 포함됩니다.
-
any
- 임의 결과가 일치해야 함 -
all
- 모든 결과가 일치해야 함 -
first
- 첫 번째 결과가 일치해야 함
-
- value
- 평가의 값을 정의합니다. 필드 및 작업 결과가 값이면 조건이 true 결과를 반환합니다. 값이 아니면 조건이 false 결과를 반환합니다.
예:
"conditions": [ { "field": "local_gb", "op": "ge", "value": 1024 } ],
작업
조건이 'true'이면 정책이 작업을 수행합니다. 작업은 action
값에 따라 action
키와 추가 키를 사용합니다.
-
fail
- 인트로스펙션이 실패합니다. 실패 메시지에 대한message
매개변수가 필요합니다. -
set-attribute
- Ironic 노드의 특성을 설정합니다. Ironic 특성의 경로(예:/driver_info/ipmi_address
)인path
필드와 설정할value
가 필요합니다. -
set-capability
- Ironic 노드의 기능을 설정합니다. 새 기능의 이름과 값인name
및value
필드가 필요합니다. 이 동일한 기능에 대한 기존 값은 교체됩니다. 예를 들면 노드 프로필을 정의하는 데 이 값을 사용합니다. -
extend-attribute
-set-attribute
와 동일하지만, 기존 값을 목록으로 처리하고 값을 여기에 추가합니다. 선택 사항인unique
매개변수를 True로 설정하면, 지정된 값이 이미 목록에 있을 경우 아무것도 추가되지 않습니다.
예:
"actions": [ { "action": "set-capability", "name": "profile", "value": "swift-storage" } ]