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