美文网首页
ansible 如何尽量做到幂等性?

ansible 如何尽量做到幂等性?

作者: 贝壳也疯狂 | 来源:发表于2019-07-31 09:52 被阅读0次

    如何保证command/shell的幂等性

    
    # 为了实现幂等性,您可以使用属性creates 。 如果存在,Ansible将仅在模式指定的文件不存在时运行命令任务。
    
    # 您可以使用removes ,它仅在指定的文件存在时才执行任务。 
    
    - command : /usr/bin/create-database.sh creates = /path/to/database
    
    

    change_when 和 faild_when

    
    # 使用change_when 和 faild_when来改变task是changed还是faild的认定;
    
    # 首先我们需要了解第一次、第二次运行结果状态;
    
    # 奔跑吧ansible P120
    
    # 案例:
    
    - name: initialize the database
    
      djiango_manage:
    
        command: createdb --noinput --nodata
    
        app_path: "{{ proj_path }}"
    
        virtualenv: "{{ venv_path }}"
    
      registeer: result
    
      change_when: not result.failed and "creating tables" in result.out
    
      failed_when: result.failed and "Database already created" not in result.msg
    
    

    相关文章

      网友评论

          本文标题:ansible 如何尽量做到幂等性?

          本文链接:https://www.haomeiwen.com/subject/jxtzrctx.html