我正在开发一个Ansible部署脚本,以将Solr节点连接到正在运行的zookeeper合奏。到Solr的配置链接到动物园管理员的命令如下:从Ansible的主机构建动态命令
solr/scripts/cloud-scripts/zkcli.sh -zkhost 33.33.33.30:2181,33.33.33.31:2181,33.33.33.32:2181 -cmd upconfig -confdir solr/solr/collection1/conf -confname solr_config
我想使命令动态地 - 所以我想从我的清单文件拉动物园管理员的主机。当我知道总是有3个时,我可以做到这一点,但我希望根据列出的人数来调整命令。我已经尝试了Ansibles with
命令 - 但我无法让它工作,因为我不需要在最后一个主机之后的逗号。
这里是我的清单文件:
[zookeeper]
33.33.33.30
33.33.33.31
33.33.33.32
[solr]
33.33.33.33
33.33.33.34
33.33.33.35
这里是我没有环Ansible任务:
- name: SOLR | Upload Configs To Zookeeper
command: "{{ solr.home }}/scripts/cloud-scripts/zkcli.sh -zkhost {{groups.zookeeper[0] }}:{{ zookeeper.port }}, {{ groups.zookeeper[1] }}:{{ zookeeper.port }}, {{ groups.zookeeper[2] }}:{{ zookeeper.port }} -cmd upconfig -confdir {{ solr.home }}/solr/{{ solr.collection_name }}/conf -confname {{ solr.config_name }}"
when: inventory_hostname == groups.solr[0]
而且知道如何使这个充满活力的以动物管理员的主机清单中的数量?
感谢展示两种方式;带着小问题打电话加入加吊坠性感 – 2015-02-08 00:52:53
太棒了,就是我在找的东西。谢谢! – tknickman 2015-02-08 20:20:51