首页 > 其他分享 >第十五章 Ansible-playbook错误处理

第十五章 Ansible-playbook错误处理

时间:2022-09-20 11:33:11浏览次数:50  
标签:httpd name Server Ansible playbook 错误处理 php yes

一、playbook忽略错误

默认playbook会检测task执行的返回状态,如果遇到错误则会立即终止playbook的后续task执行,然而有些时候playbook即使执行错误了也要让其继续执行。

加入参数:ignore_errors:yes 忽略错误

二、playbook忽略错误使用

    - name: Get PHP Install status
      shell: "rpm -qa | grep php"
      ignore_errors: yes
      register: get_php_install_status

    - name: Install PHP Server
      shell: yum localinstall -y /tmp/*.rpm
      when:
        - ansible_fqdn is match "web*"
        - get_php_install_status.rc != 0

三、playbook错误处理概述

Ansible 通常默认会确保检测模块和命令的返回码并且会快速失败 – 专注于一个错误除非你另作打算.

有时一条命令会返回 0 但那不是报错.有时命令不会总是报告它 ‘改变’ 了远程系统.

四、强制调用handlers

[root@m01 ~]# cat handler.yml 
- hosts: web_group
  force_handlers: yes
  tasks:
    - name: config httpd server
      template:
        src: ./httpd.j2
        dest: /etc/httpd/conf
      notify: 
        - Restart Httpd Server
        - Restart PHP Server

    - name: Install Http Server
      yum:
        name: htttpd
        state: present

    - name: start httpd server
      service:
        name:httpd
        state: started
        enabled: yes

  handlers:
    - name: Restart Httpd Server
      systemd:
        name: httpd
        state: restarted 

    - name: Restart PHP Server
      systemd:
        name: php-fpm
        state: restarted

五、抑制changed

#被管理主机没有发生变化,可以使用参数将change状态改为ok
    - name: Get PHP Install status
      shell: "rpm -qa | grep php"
      ignore_errors: yes
      changed_when: false
      register: get_php_install_status

标签:httpd,name,Server,Ansible,playbook,错误处理,php,yes
From: https://www.cnblogs.com/GAO321/p/16710488.html

相关文章

  • 第十一章 Ansible-playbook变量注册和Facts缓存
    一、变量注册概述当absible的模块在运行之后,其实都会返回一些result结果,就像是执行脚本,我们有的时候需要脚本给我们一些return返回值,我们才知道,上一步是否可以执行成功,但......
  • 第十章 Ansible-playbook变量基础
    一、ansible变量概述ansible变量提供了便捷的方式来管理Ansibleplaybook的每一个项目中的动态值,比如nginx-1.6.3这个软件包的版本,在其它地方或许会反复使用,那么如果讲此......
  • 第八章 Ansible-playbook基础介绍
    一、playbook简介PlayBook即"剧本","兵书"之意,PlayBook是由以下部分组成的:play(host):定义的是主机的角色。(主角还是配角)Book(task):定义的是具体执行的任务。(角色的......
  • 第三章 Ansible中ad-hoc入门
    一、概述Ansibleadhoc命令使用/usr/bin/ansible命令行工具在一个或多个受管节点上自动执行单个任务。临时命令既快速又简单,但它们不可重复使用,执行完即结束,并不会保存......
  • 第二章 Ansible服务搭建
    一、环境准备主机名IP身份m0110.0.0.61Ansible控制端web01172.16.1.7Ansible被控端web03172.16.1.9Ansible被控端二、安装Ansible[root@m0......
  • 第一章 Ansible入门
    一、Ansible概述、Ansible是一种IT自动化工具。它可以配置系统、部署软件并协调更高级的IT任务,例如持续部署或零停机滚动更新。Ansible的主要目标是简单易用。它......
  • 12.ansible lineinfile模块
    前言:lineinfile模块,功能有点类似sed常用功能:对文件的行替换、插入、删除PS:替换/插入:如果有重复的,都是匹配最后一个,如果不加backrefs项,替换/插入如无匹配者,则将line......
  • 本次介绍如何利用ansible一键初始化centos7
    本次介绍如何利用ansible一键初始化centos7。本文介绍的运行环境是CentOS7.6:[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)[r......
  • ansible 常用命令
    ansible使用笔记命令 列出可用模块# ansible-doc -l显示模块使用ansible-doc –s cron # 显示模块使用ansible-doc cron    # 详细显示ansible-......
  • ansible使用介绍
    ansible基础语法ansible通过ssh实现配置管理、应用部署、任务执行等功能,建议配置ansible端能基于密钥认证的方式联系各被管理节点ansible<host-pattern>[-mmodule_n......