摘要:一个更好的方法,以中止ansible playbook立即,如果任何主机是无法访问。
如果任何一个主机无法访问,是否有方法中止Ansible playbook。我发现,如果它无法到达主机,它仍将继续运行,并执行剧本中的所有播放/任务。
我所有的剧本都指定max_fail_percent为0,但在本例中ansible不会抱怨,因为所有可访问的主机都可以执行所有的剧本。
目前我有一个简单但黑客的解决方案,但看看是否有一个更好的答案。
- name: Check Ansible connectivity to all hosts
hosts: host_all
user: "{{ remote_user }}"
sudo: "{{ sudo_required }}"
sudo_user: root
connection: ssh # or paramiko
max_fail_percentage: 0
tasks:
- name: check connectivity to hosts (Dummy task)
shell: echo " {{ hostvars[item]['ansible_hostname'] }}"
with_items: groups['host_all']
register: cmd_output
- name: debug ...
debug: var=cmd_output
如果无法访问主机,您将得到如下错误:
TASK: [c.. *****************************************************
fatal: [172.22.191.160] => One or more undefined variables: 'dict object' has no attribute 'ansible_hostname'
fatal: [172.22.191.162] => One or more undefined variables: 'dict object' has no attribute 'ansible_hostname'
FATAL: all hosts have already failed -- aborting
或者,这看起来更简单,更有表现力
- hosts: myservers
become: true
pre_tasks:
- name: Check ALL hosts are reacheable before doing the release
assert:
that:
- ansible_play_hosts == groups.myservers
fail_msg: 1 or more host is UNREACHABLE
success_msg: ALL hosts are REACHABLE, go on
run_once: yes
roles:
- deploy
https://github.com/ansible/ansible/issues/18782#issuecomment-319409529
遥不可及!更改:false,msg:SSH错误:无法将数据发送到远程主机。确保可以通过ssh访问此主机,“不可访问”:true 主持人: ansible.cfg 我正在使用executeshell运行Jenkins的剧本`
我正在尝试安装带有2个节点的kubernetes集群(1.7.2版)。并使用weave作为cni。当加入另一个节点时,kubeadm会报错主机名 我使用的是 centos 7.3 已安装的yum包 步骤: 跑步的时候 我在weave-kube pod中看到以下错误:
我正在使用AWS Amplify设置AppSync GraphQL API。我有一个带有@model注释的模式,我正在尝试编写一个lambda解析器,它将读/写@model生成的DynamoDB表。然而,当我尝试使用进行本地测试时,我的JS函数抛出 我似乎根本找不到关于这个用例的太多文档(大多数lambda解析器的示例都是从其他表/api读取的,这些表/api不是放大应用程序的一部分),所以任何指
我是Linux的新手,我能够在Manjaro上安装我的LAMP服务器。得到了一切的窍门,但现在有问题设置我的虚拟主机。我正在使用http://httpd.conf.中注释出"包含conf/额外/httpd-vhosts.conf",但在编辑httpd-vhosts.conf.后无法访问主机得是, 但是dummy.local没有加载并说, 无法访问此站点。找不到本地服务器的IP地址。 谢谢你。
我正在努力理解我的错误在哪里。我看了各种答案并尝试了补救措施,结果发现他们的解决方案并没有纠正我的问题。我已经将所有内容剥离到最基本的部分,看看是否可以得到一个基本的PHP索引。php来展示自己。 以下是我试图在核心实现的目标: 我有docker compose站在1个网络上,2个服务连接到网络上。一个服务是PHP-FPM,另一个是为PHP-FPM服务的nginx。每次我站起来,不管我如何配置它,
我有一个关于这个问题的问题https://hub.docker.com/r/jupyter/scipy-notebook.我正在尝试使用docker compose运行此图像: 组成: Dockerfile 我用手够不着它http://locahost:8888 .... 网址。我使用Windows10作为主机,并尝试从这个docker compose和这些工作中访问其他服务。