경우에 따라 다른 서브스크립션 유형에 다른 역할을 등록해야 할 수 있습니다. 예를 들어 컨트롤러 노드만 OpenStack Platform 서브스크립션에 서브스크립션하고 Ceph Storage 노드를 Ceph Storage 서브스크립션에 가입하려고 할 수 있습니다. 이 섹션에서는 다양한 역할에 별도의 서브스크립션을 할당하는 데 도움이 되는 몇 가지 고급 등록 방법을 제공합니다.
ControllerRegistrationConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
config: |
#!/bin/sh
sudo subscription-manager register --org 1234567 \
--activationkey "my-openstack"
sudo subscription-manager attach --pool 1a85f9223e3d5e43013e3d6e8ff506fd
sudo subscription-manager repos --enable rhel-7-server-rpms \
--enable rhel-7-server-extras-rpms \
--enable rhel-7-server-rh-common-rpms \
--enable rhel-ha-for-rhel-7-server-rpms \
--enable rhel-7-server-openstack-13-rpms \
--enable rhel-7-server-rhceph-3-mon-rpms
ControllerRegistrationDeployment:
type: OS::Heat::SoftwareDeployment
properties:
server: {get_param: server}
config: {get_resource: ControllerRegistrationConfig}
actions: ['CREATE','UPDATE']
input_values:
deploy_identifier: {get_param: DeployIdentifier}
ControllerRegistrationConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
config: |
#!/bin/sh
sudo subscription-manager register --org 1234567 \
--activationkey "my-openstack"
sudo subscription-manager attach --pool 1a85f9223e3d5e43013e3d6e8ff506fd
sudo subscription-manager repos --enable rhel-7-server-rpms \
--enable rhel-7-server-extras-rpms \
--enable rhel-7-server-rh-common-rpms \
--enable rhel-ha-for-rhel-7-server-rpms \
--enable rhel-7-server-openstack-13-rpms \
--enable rhel-7-server-rhceph-3-mon-rpms
ControllerRegistrationDeployment:
type: OS::Heat::SoftwareDeployment
properties:
server: {get_param: server}
config: {get_resource: ControllerRegistrationConfig}
actions: ['CREATE','UPDATE']
input_values:
deploy_identifier: {get_param: DeployIdentifier}
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
---
- name: Register Controller nodes
hosts: Controller
become: yes
vars:
repos:
- rhel-7-server-rpms
- rhel-7-server-extras-rpms
- rhel-7-server-rh-common-rpms
- rhel-ha-for-rhel-7-server-rpms
- rhel-7-server-openstack-13-rpms
- rhel-7-server-rhceph-3-mon-rpms
tasks:
- name: Register system
redhat_subscription:
activationkey: my-openstack
org_id: 1234567
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 }}"
---
- name: Register Controller nodes
hosts: Controller
become: yes
vars:
repos:
- rhel-7-server-rpms
- rhel-7-server-extras-rpms
- rhel-7-server-rh-common-rpms
- rhel-ha-for-rhel-7-server-rpms
- rhel-7-server-openstack-13-rpms
- rhel-7-server-rhceph-3-mon-rpms
tasks:
- name: Register system
redhat_subscription:
activationkey: my-openstack
org_id: 1234567
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 }}"
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
이 플레이에는 세 가지 작업이 포함되어 있습니다. - 활성화 키를 사용하여 노드 등록 - 자동 사용 리포지토리 비활성화 - 컨트롤러 노드와 관련된 리포지토리만 활성화합니다. 리포지토리는 repos
변수를 사용하여 나열됩니다.
ansible-playbook -i /usr/bin/tripleo-ansible-inventory ansible-osp-registration.yml
$ ansible-playbook -i /usr/bin/tripleo-ansible-inventory ansible-osp-registration.yml
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
이 명령은 다음을 수행합니다. - 동적 인벤토리 스크립트를 실행하여 호스트 및 그룹 목록을 가져옵니다. - 플레이북의 hosts
매개 변수에 정의된 그룹의 노드에 플레이북 작업을 적용합니다. 이 경우에는 Controller
그룹입니다.