ども、Ansible 初心者のかっぱです。
解らないことが多いので
気になったことは適宜メモっていくばい。
authorized_key モジュール
ansible
というユーザーの authorized_key
に追加したい場合。
- authorized_key: user=ansible key="{{ item }}" with_file: - public_keys/test-foo
public_key/test-foo
は以下のように用意しておく。
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kappa@ahoaho.local
inlinefile モジュール
MySQL の設定ファイル my.cnf
にてバイナリログを有効にする、server-id
を有効にする。
- log-bin=mysql-bin
- server-id=123456
以下のように task を用意する。
- name: my.cnf update(add replication setting) lineinfile: dest=/etc/my.cnf insertafter="^[mysqld]" line='nlog-bin=mysql-binnserver-id={{ server_id }}' backup=yes
以下のように vars/main.yml
を用意する。
server_id: 123456
the 冪等性
上記の my.cnf
で既にバイナリログの設定、server-id
の設定が行われていたらタスクをスキップする。
- name: check line in my.cnf shell: egrep "^log-bin|^server-id" /etc/my.cnf register: mysql_line_list changed_when: false always_run: yes - name: my.cnf update(add replication setting) lineinfile: dest=/etc/my.cnf insertafter="^[mysqld]" line='nlog-bin=mysql-binnserver-id={{ server_id }}' backup=yes when: mysql_line_list.stdout_lines.count
shell
モジュールの結果をmysql_line_list
に登録、その結果を以って次のlineinfile
のタスクが実行される。(既に設定済みであればスキップする)結局は...
モジュールを使ってみた的な内容になってすいません。
元記事はこちら