Skip to content

Instantly share code, notes, and snippets.

@mogi
Last active April 13, 2018 05:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mogi/2b0ff3498bc77784e5c41be94cdaaed3 to your computer and use it in GitHub Desktop.
Save mogi/2b0ff3498bc77784e5c41be94cdaaed3 to your computer and use it in GitHub Desktop.
inventoryに複数の apt パッケージとバージョンを指定し、1つのroleを実行する
# forest/etc/ansible/canary/java-lives/canary_groups.json
{
"all" : {
"children" : {
"live-fronts" : "",
"live-backs" : ""
},
"vars" : {
"jdk_package" : "cybozu-oracle-jdk-8",
"jdk_version" : "1.8.0.162-1",
"jre_package" : "cybozu-oracle-jdk-8",
"jre_version" : "1.8.0.162-1"
}
},
"live-fronts" : {
"hosts" : {
"devlive-web-1" : "",
"devlive-web-2" : ""
}
},
"live-backs" : {
"hosts" : {
"devlive-admin" : "",
"devlive-batch-1" : "",
"devlive-batch-2" : "",
"devlive-comet" : ""
}
},
"canary-1" : {
"hosts" : {
"devlive-web-1" : ""
},
"vars" : {
"jdk_package" : "openjdk-8-jdk",
"jdk_version" : "8u151-b12-0ubuntu0.16.04.2",
"jre_package" : "openjdk-8-jre-headless",
"jre_version" : "8u151-b12-0ubuntu0.16.04.2"
}
}
}
---
- hosts: all:&canary-1
become: yes
gather_facts: False
vars:
package: "{{jdk_package}}"
version: "{{jdk_version}}"
roles:
- common
- hosts: all:&canary-1
become: yes
gather_facts: False
vars:
package: "{{jre_package}}"
version: "{{jre_version}}"
roles:
- common
- hosts: all:!canary-1
become: yes
gather_facts: False
vars:
package: "{{jdk_package}}"
version: "{{jdk_version}}"
roles:
- common
- hosts: all:!canary-1
become: yes
gather_facts: False
vars:
package: "{{jre_package}}"
version: "{{jre_version}}"
roles:
- common
# まず canary-1 で変数が oraclejdk -> openjdk に上書きされていることを確認する
[04/13 04:17]hiroki_mogi@devmgr-1:~$ GROUP_NAME='all:&canary-1' # live かつ canary-1 に所属するホストを設定
[04/13 04:17]hiroki_mogi@devmgr-1:~$ ansible -i forest/etc/ansible/canary/java-lives/ "${GROUP_NAME}" -m debug -a "msg={{jdk_package, jdk_version, jre_package, jre_version}}"
devlive-web-1 | SUCCESS => {
"changed": false,
"msg": "(u'openjdk-8-jdk', u'8u151-b12-0ubuntu0.16.04.2', u'openjdk-8-jre-headless', u'8u151-b12-0ubuntu0.16.04.2')"
}
# playbook を dryrun し、各ホスト毎の package, version 変数を確認する
[04/13 04:18]hiroki_mogi@devmgr-1:~$ ansible-playbook -i forest/etc/ansible/canary/java-lives/ forest/share/ansible/playbooks/canary/site.yml --tags=java-lives -C
PLAY [all:&canary-1] ***************************************************************************************************
TASK [common : check group vars] ***************************************************************************************
ok: [devlive-web-1] => {
"changed": false,
"msg": "(u'openjdk-8-jdk', u'8u151-b12-0ubuntu0.16.04.2')"
}
TASK [common : configure pinning] **************************************************************************************
changed: [devlive-web-1]
PLAY [all:&canary-1] ***************************************************************************************************
TASK [common : check group vars] ***************************************************************************************
ok: [devlive-web-1] => {
"changed": false,
"msg": "(u'openjdk-8-jre-headless', u'8u151-b12-0ubuntu0.16.04.2')"
}
TASK [common : configure pinning] **************************************************************************************
changed: [devlive-web-1]
PLAY [all:!canary-1] ***************************************************************************************************
TASK [common : check group vars] ***************************************************************************************
ok: [devlive-web-2] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-admin] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-batch-1] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-batch-2] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-comet] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
TASK [common : configure pinning] **************************************************************************************
changed: [devlive-batch-1]
changed: [devlive-web-2]
changed: [devlive-comet]
changed: [devlive-batch-2]
changed: [devlive-admin]
PLAY [all:!canary-1] ***************************************************************************************************
TASK [common : check group vars] ***************************************************************************************
ok: [devlive-web-2] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-admin] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-batch-1] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-batch-2] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
ok: [devlive-comet] => {
"changed": false,
"msg": "(u'cybozu-oracle-jdk-8', u'1.8.0.162-1')"
}
TASK [common : configure pinning] **************************************************************************************
changed: [devlive-web-2]
changed: [devlive-admin]
changed: [devlive-batch-1]
changed: [devlive-batch-2]
changed: [devlive-comet]
PLAY [tomcats:workers:solrs:blobs:&canary-1] ***************************************************************************
skipping: no hosts matched
PLAY [tomcats:workers:solrs:blobs:&canary-1] ***************************************************************************
skipping: no hosts matched
PLAY [tomcats:workers:solrs:blobs:&canary-2] ***************************************************************************
skipping: no hosts matched
PLAY [tomcats:workers:solrs:blobs:&canary-2] ***************************************************************************
skipping: no hosts matched
PLAY [tomcats:workers:solrs:blobs:&canary-3] ***************************************************************************
skipping: no hosts matched
PLAY [tomcats:workers:solrs:blobs:&canary-3] ***************************************************************************
skipping: no hosts matched
PLAY [tomcats:workers:solrs:blobs:!canary-1:!canary-2:!canary-3] *******************************************************
skipping: no hosts matched
PLAY [tomcats:workers:solrs:blobs:!canary-1:!canary-2:!canary-3] *******************************************************
skipping: no hosts matched
PLAY RECAP *************************************************************************************************************
devlive-admin : ok=4 changed=2 unreachable=0 failed=0
devlive-batch-1 : ok=4 changed=2 unreachable=0 failed=0
devlive-batch-2 : ok=4 changed=2 unreachable=0 failed=0
devlive-comet : ok=4 changed=2 unreachable=0 failed=0
devlive-web-1 : ok=4 changed=2 unreachable=0 failed=0
devlive-web-2 : ok=4 changed=2 unreachable=0 failed=0
[04/13 04:18]hiroki_mogi@devmgr-1:~$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment