首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在组的其他成员上运行ansible任务,但不对当前成员运行

在组的其他成员上运行ansible任务,但不对当前成员运行
EN

Server Fault用户
提问于 2015-05-18 22:05:22
回答 2查看 6.4K关注 0票数 2

所以我有一组nginx服务器:

代码语言:javascript
复制
[nginx_internal_servers]
n01.local
n02.local
n03.local

我有个预部署任务要运行。我是在serial:1模式下运行的,我只想让这个预部署任务在除我之外的所有人身上运行。

目前,我的任务如下所示,它完美地运行在所有nginx服务器上:

代码语言:javascript
复制
pre_tasks:
    - name: Take service out of nginx upstream pools
          local_action: command {{ playbook_dir }}/scripts/nginx-upstream-management.sh -s {{ item[0] }} -r {{ item[2] }} -g {{ item[1] }}
          with_nested:
            - groups['nginx_internal_servers']
            - services_endpoints.keys()
            - ansible_all_ipv4_addresses|last

如何将当前节点从列表groups['nginx_internal_servers']中排除,有什么想法吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2015-05-18 22:24:09

明白了!使用时间:)

代码语言:javascript
复制
pre_tasks:
    - name: Take service out of nginx upstream pools
          local_action: command {{ playbook_dir }}/scripts/nginx-upstream-management.sh -s {{ item[0] }} -r {{ item[2] }} -g {{ item[1] }}
          with_nested:
            - groups['nginx_internal_servers']
            - services_endpoints.keys()
            - ansible_all_ipv4_addresses|last
          when: item[0] != inventory_hostname
票数 4
EN

Server Fault用户

发布于 2015-06-02 17:47:41

通用任务版本

代码语言:javascript
复制
- name: run on all but the first host in a play
  some_module: some_param=some_value
  when: inventory_hostname != play_hosts[0]
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/692883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档