2.5. 오버클라우드 생성 시 환경 파일 포함

-e 옵션을 사용하여 배포 명령에 환경 파일을 포함합니다. 환경 파일은 필요한 수만큼 추가할 수 있습니다. 그러나 후속 환경 파일에 정의된 매개변수와 리소스가 우선하므로 환경 파일의 순서가 중요합니다. 예를 들어 일반 리소스 유형 OS::TripleO::NodeExtraConfigPost 및 공통 매개변수 TimeZone 이 포함된 두 개의 환경 파일이 있습니다.

environment-file-1.yaml

resource_registry:
  OS::TripleO::NodeExtraConfigPost: /home/stack/templates/template-1.yaml

parameter_defaults:
  RabbitFDLimit: 65536
  TimeZone: 'Japan'

environment-file-2.yaml

resource_registry:
  OS::TripleO::NodeExtraConfigPost: /home/stack/templates/template-2.yaml

parameter_defaults:
  TimeZone: 'Hongkong'

배포 명령에 두 환경 파일을 모두 포함합니다.

$ openstack overcloud deploy --templates -e environment-file-1.yaml -e environment-file-2.yaml

openstack overcloud deploy 명령은 다음 프로세스를 통해 실행됩니다.

  1. 코어 heat 템플릿 컬렉션에서 기본 구성을 로드합니다.
  2. environment-file-1.yaml 의 구성을 적용하여 기본 구성의 일반적인 설정을 재정의합니다.
  3. environment-file-2.yaml 의 구성을 적용하여 기본 구성 및 environment-file-1.yaml 의 공통 설정을 재정의합니다.

그러면 오버클라우드의 기본 설정이 다음과 같이 변경됩니다.

  • OS::TripleO::NodeExtraConfigPost 리소스는 environment-file -2.yaml에 정의된 대로 /home/stack/templates/template -2.yaml 로 설정됩니다.
  • timezone 매개변수는 environment-file-2.yaml 에 정의된 대로 Hongkong 으로 설정됩니다.
  • RabbitFDLimit 매개변수는 environment -file-1.yaml 에 정의된 대로 65536 으로 설정됩니다.environment-file-2.yaml 은 이 값을 변경하지 않습니다.

이 메커니즘을 사용하여 여러 환경 파일 충돌의 값 없이 오버클라우드에 대한 사용자 지정 구성을 정의할 수 있습니다.