1. gamisan9999

    Posted

    gamisan9999
Changes in title
+AnsibleのVariables優先順位で死んだ話
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,135 @@
+どうも情弱氏の俺です。
+
+vars/main.ymlをrole default variablesと勘違いしていた話です。
+
+`Ansible 2.0.0.2` での話です。
+
+http://docs.ansible.com/ansible/playbooks_roles.html#role-default-variables
+
+http://docs.ansible.com/ansible/playbooks_variables.html#id8
+をよく読みましょうという話です。
+
+使い回しの効くいい感じのプレイブック目指すなら`role_name/defaults/main.yml`に書こうという話です。
+
+# overrideできなくて死ぬ
+
+- tree
+
+```
+orenomac$ tree roles/mysql
+roles/mysql
+├── binaries
+├── vars
+│   └── main.yml
+├── files
+├── handlers
+├── tasks
+│   ├── main.yml
+│   └── mysql_client.yml
+└── templates
+ └── my.cnf.j2
+```
+
+- vars/main.yml
+
+```
+mysql_client:
+ install: true
+ version: "5.6"
+mysql_server:
+ install: false
+ version: "5.6"
+```
+
+- hosts
+
+こーするじゃないですか。
+overrideだと思ってて
+
+```
+- hosts: orenomassiiiiiiiinnnnnnn
+ user: ec2-user
+ vars:
+ mysql_server:
+ install: true
+ version: "5.6"
+ sudo: true
+ roles:
+ - mysql
+```
+
+- ansible-playbook
+
+ファー`mysql_server.install`がoverrideされてない
+
+```
+TASK [mysql : debug] ***********************************************************
+ok: [orenomassiiiiiiiinnnnnnn] => {
+ "mysql_server": {
+ "install": false,
+ "version": "5.6"
+ }
+}
+```
+
+# overrideできて生き延びた
+
+- tree
+
+```
+orenomac$ tree roles/mysql
+roles/mysql
+├── binaries
+├── defaults
+│   └── main.yml
+├── files
+├── handlers
+├── tasks
+│   ├── main.yml
+│   └── mysql_client.yml
+└── templates
+ └── my.cnf.j2
+```
+
+- defaults/main.yml
+
+```
+mysql_client:
+ install: true
+ version: "5.6"
+mysql_server:
+ install: false
+ version: "5.6"
+```
+
+- hosts
+
+今度こそoverride
+
+```
+- hosts: orenomassiiiiiiiinnnnnnn
+ user: ec2-user
+ vars:
+ mysql_server:
+ install: unko
+ version: "5.6"
+ sudo: true
+ roles:
+ - mysql
+```
+
+- ansible-playbook
+
+ファーできた
+
+```
+TASK [mysql : debug] ***********************************************************
+ok: [orenomassiiiiiiiinnnnnnn] => {
+ "mysql_server": {
+ "install": unko,
+ "version": "5.6"
+ }
+}
+```
+
+