23장. 자동 프로필 태그 설정
인트로스펙션 프로세스는 일련의 벤치마크 테스트를 수행합니다. director는 이러한 테스트의 데이터를 저장합니다. 이 데이터를 사용하는 정책 세트를 다양한 방법으로 생성할 수 있습니다.
- 정책을 통해 성능이 떨어지거나 불안정한 노드를 식별하고 오버클라우드에서 사용되지 않도록 분리할 수 있습니다.
- 정책을 통해 노드를 특정 프로필에 자동으로 태그할지 여부를 정의할 수 있습니다.
23.1. 정책 파일 구문 링크 복사링크가 클립보드에 복사되었습니다!
정책 파일은 규칙 세트가 포함된 JSON 포멧을 사용합니다. 각 규칙은 설명, 조건 및 작업을 정의합니다. 설명은 규칙의 일반 텍스트 설명이고, 조건은 키-값 패턴을 사용하여 평가를 정의하며, 작업은 조건의 수행입니다.
설명
설명은 일반 텍스트로 작성된 규칙 설명입니다.
예제:
"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"
}
]