3.2. Director 업그레이드
다음 절차의 단계를 시도하기 전에 3.1절. “중요한 사전 업그레이드 노트” 의 정보를 읽으십시오.
stack
사용자로 director에 로그인하고 주요 OpenStack Platform 서비스를 중지합니다.
sudo systemctl stop 'openstack-*' 'neutron-*' httpd
$ sudo systemctl stop 'openstack-*' 'neutron-*' httpd
이로 인해 언더클라우드의 다운타임이 짧습니다. 언더클라우드 업데이트 중에 오버클라우드가 계속 작동합니다.
director 패키지를 최신 주요 버전으로 업데이트하려면 OpenStack Platform 리포지토리를 이전 버전에서 새 버전으로 변경합니다. 예를 들면 다음과 같습니다.
sudo subscription-manager repos --disable=rhel-7-server-openstack-7.0-rpms --disable=rhel-7-server-openstack-7.0-director-rpms sudo subscription-manager repos --enable=rhel-7-server-openstack-8-rpms --enable=rhel-7-server-openstack-8-director-rpms
$ sudo subscription-manager repos --disable=rhel-7-server-openstack-7.0-rpms --disable=rhel-7-server-openstack-7.0-director-rpms
$ sudo subscription-manager repos --enable=rhel-7-server-openstack-8-rpms --enable=rhel-7-server-openstack-8-director-rpms
이렇게 하면 최신 리포지토리를 사용하도록 yum
이 설정됩니다. yum
을 사용하여 director를 업데이트합니다.
sudo yum upgrade
$ sudo yum upgrade
yum 업데이트가
완료된 후 일부 OpenStack 서비스가 실패할 수 있습니다. 이는 예상되는 동작입니다. Undercloud의 upgrade 명령은 이러한 서비스의 구성을 수정합니다.
director는 openstack undercloud upgrade
명령을 사용하여 Undercloud 환경을 업그레이드합니다. 업그레이드 명령을 실행합니다.
openstack undercloud upgrade
$ openstack undercloud upgrade
이렇게 하면 director 설정이 새로 고쳐지고 버전이 변경된 이후 설정되지 않은 설정을 채웁니다. 이 명령을 실행해도 저장된 데이터(예: Overcloud 스택 데이터 또는 사용자 환경의 기존 노드에 대한 데이터는 삭제되지 않습니다.
업데이트가 완료되면 director의 OpenStack 서비스를 확인합니다.
sudo systemctl list-units openstack-*
$ sudo systemctl list-units openstack-*
openstack-keystone
가 실패한 서비스로 표시될 수 있습니다. 이제 서비스가 WSGI 애플리케이션으로 httpd
서비스를 통해 실행되기 때문입니다. director 패키지를 업데이트하고 openstack undercloud upgrade
를 실행한 후 openstack-keystone
서비스를 비활성화할 수 있습니다.
업데이트를 완료하려면 Overcloud 및 해당 노드가 있는지 확인합니다.
source ~/stackrc openstack server list ironic node-list heat stack-list
$ source ~/stackrc
$ openstack server list
$ ironic node-list
$ heat stack-list
Overcloud를 Red Hat OpenStack Platform 8로 업그레이드한 후 다음 사항에 유의하십시오.
SSL을 사용하는 언더클라우드는 업그레이드하는 동안 VIP에 대한 액세스 권한이 손실될 수 있습니다. 이 경우 Undercloud에서
keepalived
서비스를 다시 시작합니다.systemctl restart keepalived
$ systemctl restart keepalived
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Undercloud의
관리자에
는 Red Hat OpenStack Platform 8에 추가 역할(_member_
)이 필요하지 않을 수 있습니다. 이 역할은 Overcloud 통신에 중요합니다. 이 역할을 확인합니다.keystone role-list
$ keystone role-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할이 없는 경우 역할을 생성합니다.
keystone role-create --name _member_
$ keystone role-create --name _member_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow admin
테넌트에서admin
사용자에게 역할을 추가합니다.keystone user-role-add --user admin --role _member_ --tenant admin
$ keystone user-role-add --user admin --role _member_ --tenant admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정된 코어 Heat 템플릿을 사용하는 경우 업데이트된 코어 Heat 템플릿과 현재 세트 간의 차이점을 확인하십시오. Red Hat은 후속 릴리스에서 Heat 템플릿 컬렉션에 대한 업데이트를 제공합니다. 수정된 템플릿 컬렉션을 사용하면 사용자 지정 사본과
/usr/share/openstack-tripleo-heat-templates
의 원본 사본이 다를 수 있습니다. 다음 명령을 실행하여 사용자 지정 Heat 템플릿 컬렉션과 업데이트된 원본 버전 간의 차이점을 확인합니다.diff -Nary /usr/share/openstack-tripleo-heat-templates/ ~/templates/my-overcloud/
# diff -Nary /usr/share/openstack-tripleo-heat-templates/ ~/templates/my-overcloud/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 업데이트를 사용자 지정 Heat 템플릿 컬렉션에 적용하거나
/usr/share/openstack-tripleo-heat-templates/
에 템플릿의 새 사본을 생성하고 사용자 지정을 적용해야 합니다.