5.9. Ansible 기반 등록 수동 실행
director 노드에 동적 인벤토리 스크립트를 사용하여 배포된 오버클라우드에 Ansible 기반 수동 등록을 수행할 수 있습니다. 이 스크립트를 사용하여 노드 역할을 호스트 그룹으로 정의한 다음 ansible-playbook 을 사용하여 플레이북을 실행합니다. 다음 예제 플레이북을 사용하여 컨트롤러 노드를 수동으로 등록합니다.
절차
redhat_subscription모듈을 사용하여 노드를 등록하는 플레이북을 생성합니다. 예를 들어 다음 플레이북은 컨트롤러 노드에 적용됩니다.--- - name: Register Controller nodes hosts: Controller become: yes vars: repos: - rhel-8-for-x86_64-baseos-eus-rpms - rhel-8-for-x86_64-appstream-eus-rpms - rhel-8-for-x86_64-highavailability-eus-rpms - ansible-2.9-for-rhel-8-x86_64-rpms - openstack-beta-for-rhel-8-x86_64-rpms - fast-datapath-for-rhel-8-x86_64-rpms tasks: - name: Register system redhat_subscription: username: myusername password: p@55w0rd! org_id: 1234567 release: 8.2 pool_ids: 1a85f9223e3d5e43013e3d6e8ff506fd - name: Disable all repos command: "subscription-manager repos --disable *" - name: Enable Controller node repos command: "subscription-manager repos --enable {{ item }}" with_items: "{{ repos }}"이 플레이에는 세 가지 작업이 포함됩니다.
- 노드를 등록합니다.
- 자동 활성화 리포지토리를 비활성화합니다.
-
컨트롤러 노드와 관련된 리포지토리만 활성화합니다. 리포지토리는
repos변수를 사용하여 나열됩니다.
오버클라우드를 배포한 후 Ansible이 오버클라우드에 대해 플레이북(
ansible-osp-registration.yml)을 실행하도록 다음 명령을 실행할 수 있습니다.$ ansible-playbook -i /usr/bin/tripleo-ansible-inventory ansible-osp-registration.yml이 명령은 다음 작업을 수행합니다.
- 동적 인벤토리 스크립트를 실행하여 호스트 및 해당 그룹 목록을 가져옵니다.
-
플레이북의
hosts매개 변수에 정의된 그룹의 노드에 플레이북 작업을 적용합니다. 이 경우 Controller 그룹입니다.