2.5. 사용자 지정된 코어 Heat 템플릿 사용
오버클라우드를 생성할 때 director는 /usr/share/openstack-tripleo-heat-templates
에 있는 코어 Heat 템플릿 세트를 사용합니다. 이 핵심 템플릿 컬렉션을 사용자 정의하려면 Git 워크플로를 사용하여 변경 사항을 추적하고 업데이트를 병합합니다. 다음 git 프로세스를 사용하여 사용자 정의 템플릿 컬렉션을 관리할 수 있습니다.
사용자 정의 템플릿 컬렉션 초기화
다음 절차에 따라 Heat 템플릿 컬렉션이 포함된 초기 Git 리포지토리를 생성합니다.
템플릿의 디렉터리를
stack
users 디렉터리에 복사합니다. 이 예에서는~/templates
디렉터리에 복사합니다.$ cd ~/templates $ cp -r /usr/share/openstack-tripleo-heat-templates .
사용자 정의 템플릿 디렉터리로 변경하고 Git 리포지토리를 초기화합니다.
$ cd openstack-tripleo-heat-templates $ git init .
초기 커밋을 위한 모든 템플릿을 준비합니다.
$ git add *
초기 커밋을 생성합니다.
$ git commit -m "Initial creation of custom core heat templates"
이렇게 하면 최신 코어 템플릿 컬렉션이 포함된 초기 마스터
분기가 생성됩니다. 이 분기를 사용자 정의 분기의 기준으로 사용하고 새 템플릿 버전을 이 분기에 병합합니다.
사용자 정의 분기 및 변경 사항 생성
변경 사항을 코어 템플릿 컬렉션에 저장하려면 사용자 정의 분기를 사용합니다. 다음 절차에 따라 my-customizations
분기를 생성하고 사용자 지정을 추가합니다.
my-customizations
분기를 생성하여 다음으로 전환합니다.$ git checkout -b my-customizations
- 사용자 지정 분기의 파일을 편집합니다.
git에서 변경 사항을 스테이징합니다.
$ git add [edited files]
사용자 정의 분기에 변경 사항을 커밋합니다.
$ git commit -m "[Commit message for custom changes]"
이렇게 하면 커밋으로 변경 사항이 my-customizations
분기에 추가됩니다. 마스터
분기가 업데이트되면 마스터
사용자
지정을 다시 기반으로 하여 git이 업데이트된 템플릿 컬렉션에 이러한 커밋을 추가할 수 있습니다. 이를 통해 사용자 정의를 추적하고 향후 템플릿 업데이트에서 재생하는 데 도움이 됩니다.
사용자 정의 템플릿 컬렉션 업데이트:
언더클라우드를 업데이트할 때 openstack-tripleo-heat-templates
패키지도 업데이트할 수 있습니다. 사용자 정의 템플릿 컬렉션을 업데이트하려면 다음 절차를 사용하십시오.
openstack-tripleo-heat-templates
패키지 버전을 환경 변수로 저장합니다.$ export PACKAGE=$(rpm -qv openstack-tripleo-heat-templates)
템플릿 컬렉션 디렉터리로 변경하고 업데이트된 템플릿에 대한 새 분기를 생성합니다.
$ cd ~/templates/openstack-tripleo-heat-templates $ git checkout -b $PACKAGE
분기의 모든 파일을 제거하고 새 버전으로 교체합니다.
$ git rm -rf * $ cp -r /usr/share/openstack-tripleo-heat-templates/* .
초기 커밋에 대한 모든 템플릿을 추가합니다.
$ git add *
패키지 업데이트에 대한 커밋을 생성합니다.
$ git commit -m "Updates for $PACKAGE"
분기를 master에 병합합니다. GitLab과 같은 Git 관리 시스템을 사용하는 경우 관리 워크플로를 사용합니다. git을 로컬로 사용하는 경우
master
분기로 전환하고git merge
명령을 실행하여 병합합니다.$ git checkout master $ git merge $PACKAGE
이제 master
분기에 코어 템플릿 컬렉션의 최신 버전이 포함됩니다. 이제 이 업데이트된 컬렉션에서 my-customization
분기를 리베이스할 수 있습니다.
사용자 정의 분기 리베이스
my-customization
분기를 업데이트하려면 다음 절차를 사용합니다.
my-customizations
분기로 변경합니다.$ git checkout my-customizations
master
에서 분기를 리베이스 :$ git rebase master
이렇게 하면 my-customizations
분기가 업데이트되고 이 분기에 수행된 사용자 지정 커밋이 재생됩니다.
리베이스 중 git에서 충돌을 보고하는 경우 다음 절차를 사용하십시오.
충돌이 포함된 파일을 확인합니다.
$ git status
- 확인된 템플릿 파일의 충돌을 해결합니다.
해결된 파일 추가
$ git add [resolved files] $ git commit
리베이스를 계속합니다.
$ git rebase --continue
사용자 정의 템플릿 배포
사용자 지정 템플릿 컬렉션을 배포하려면 다음 절차를 사용하십시오.
my-customization
분기로 전환했는지 확인합니다.git checkout my-customizations
--templates
옵션과 함께openstack overcloud deploy
명령을 실행하여 로컬 템플릿 디렉터리를 지정합니다.$ openstack overcloud deploy --templates /home/stack/templates/openstack-tripleo-heat-templates [OTHER OPTIONS]
director는 디렉터리 없이 --templates
옵션을 지정하는 경우 기본 템플릿 디렉터리(/usr/share/openstack-tripleo-heat-templates
)를 사용합니다.
Red Hat은 heat 템플릿 컬렉션을 수정하는 대신 다음 섹션의 방법을 사용하는 것이 좋습니다.