首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ansible delegate_to可以与处理程序一起工作吗?

Ansible delegate_to可以与处理程序一起工作吗?
EN

Stack Overflow用户
提问于 2016-09-03 02:54:59
回答 1查看 2.7K关注 0票数 2

我写了一本手册来修改几个远程系统的IP地址。我写的攻略一次只更改几个系统,所以我希望在每个系统被修改时使用delegate_to来更改名称服务器上的DNS记录,而不是添加一个针对名称服务器的单独剧本,该剧本将一次更改所有主机IP。

然而,看起来处理程序是在主要的剧本目标上运行的,而不是我的delegate_to目标。有没有人有解决这个问题的建议?

这是我的策略:

代码语言:javascript
复制
---
host: hosts-to-modify
serial: 1
tasks:
  - Modify IP for host-to-modify
    //snip//

  - name: Modify DNS entry
    delegate_to: dns-servers
    become: yes
    replace:
    args:
      backup: yes
      regexp: '^{{ inventory_hostname }}\s+IN\s+A\s+[\d\.]+$'
      replace: "{{ inventory_hostname }}   IN    A     {{ new_ip }}"
      dest: /etc/bind/db.my.domain
    notify:
      - reload dns service

handlers:
  - name: reload dns service
    become: yes
    service:
    args:
      name: bind9
      state: reloaded

清单文件如下所示:

代码语言:javascript
复制
[dns-servers]
ns01
ns02

[hosts-to-modify]
host1 new_ip=10.1.1.10
host2 new_ip=10.1.1.11
host3 new_ip=10.1.1.12
host4 new_ip=10.1.1.13

输出片段,包括错误信息:

代码语言:javascript
复制
TASK [Modify DNS entry] ********************************************************
Friday 02 September 2016  14:46:09 -0400 (0:00:00.282)       0:00:35.876 ******
changed: [host1 -> ns01]
changed: [host1 -> ns02]

RUNNING HANDLER [reload dns service] *******************************************
Friday 02 September 2016  14:47:00 -0400 (0:00:38.925)       0:01:27.385 ******
fatal: [host1]: FAILED! => {"changed": false, "failed": true, "msg": "no service or tool found for: bind9"}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-03 04:48:00

首先,示例playbook在几个方面是无效的: play语法有缺陷,delegate_to不能针对一组主机。

如果你想委派给多个服务器,你应该遍历它们。

回答您的主要问题:是的,您可以将delegate_to与处理程序一起使用:

代码语言:javascript
复制
handlers:
  - name: reload dns service
    become: yes
    service:
    args:
      name: bind9
      state: reloaded
    delegate_to: "{{ item }}"
    with_items: "{{ groups['dns-servers'] }}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39299065

复制
相关文章

相似问题

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