7.3.2. Ansible インベントリーファイルでのフックを使用する設定
Red Hat Enterprise Linux (RHEL) コンピュートマシン (ワーカーマシンとしても知られている) の更新時に使用するフックを、all:vars
セクションの下にある hosts
インベントリーファイルで定義します。
前提条件
-
RHEL コンピュートマシンクラスターの追加に使用したマシンへのアクセスがあること。RHEL マシンを定義する
hosts
Ansible インベントリーファイルにアクセスできる必要があります。
手順
フックの設計後に、フック用に Ansible タスクを定義する YAML ファイルを作成します。このファイルは、以下に示すように一連のタスクで設定される必要があり、Playbook にすることはできません。
--- # Trivial example forcing an operator to acknowledge the start of an upgrade # file=/home/user/openshift-ansible/hooks/pre_compute.yml - name: note the start of a compute machine update debug: msg: "Compute machine upgrade of {{ inventory_hostname }} is about to start" - name: require the user agree to start an upgrade pause: prompt: "Press Enter to start the compute machine update"
hosts
Ansible インベントリーファイルを変更してフックファイルを指定します。フックファイルは、以下に示すように[all:vars]
セクションのパラメーター値として指定されます。インベントリーファイルのフック定義の例
[all:vars] openshift_node_pre_upgrade_hook=/home/user/openshift-ansible/hooks/pre_node.yml openshift_node_post_upgrade_hook=/home/user/openshift-ansible/hooks/post_node.yml
フックへのパスでの曖昧さを避けるために、それらの定義では相対パスの代わりに絶対パスを使用します。