saltStack 状态模块(状态间的关系)

unless onlyif:状态间的条件判断,主要用于cmd状态模块

 

常用方法:

 

     onlyif:检查的命令,仅当'onlyif'  选项指向的命令返回true时才执行name 定义的命

 

          unless:用于检查的命令,仅当'unless'  选项指向的命令返回false时才执行name 定义的命

 

1)修改配置文件,添加认证功能
[root@linux-node1 apache]# vim files/httpd.conf 
<Directory "/var/www/html/admin">
        AllowOverride All
        Order allow,deny
        Allow from all
        AuthType Basic
        AuthName "haha"
        AuthUserFile /etc/httpd/conf/htpasswd_file
        Require user admin
</Directory>2)修改状态文件init.sls
[root@linux-node1 apache]# vim init.sls 
apache-install:
  pkg.installed:
    - name: httpd

apache-config:
  file.managed:
    - name: /etc/httpd/conf/httpd.conf
    - source: salt://apache/files/httpd.conf
    - user: root
    - group: root
    - mode: 644

apache-auth:
  pkg.installed:
    - name: httpd-tools
  cmd.run:------>使用cmd模块的run方法
    - name: htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin---->生成密码文件
    - unless: test -f /etc/httpd/conf/htpasswd_file---->unless判断条件,test -f判断为假则执行。即htpasswd文件如果不存在就执行生成密码

   

 

requisites : 状态间关系模块使用

 

`require`         #我依赖某个状态,也就是某个状态失败了,就不执行name
`require_in`    #我被某个状态依赖
`watch `          #我关注某个状态
`watch_in`       #我被某个状态关注 
[root@linux-node1 apache]# vim init_require.sls 
apache-install:
  pkg.installed:
    - name: httpd

apache-config:
  file.managed:
    - name: /etc/httpd/conf/httpd.conf
    - source: salt://apache/files/httpd1.conf----->将此处的文件改错,模拟配置错误
    - user: root
    - group: root
    - mode: 644

apache-service:
  service.running:
    - name: httpd
    - enable: True
    - require:---------------------------->使用require,表示依赖
      - pkg: apache-install--------------->依赖的状态模块为pkg模块,id为apache-install 也就是说这个安装成功后执行
      - file: apache-config--------------->依赖的状态模块为file模块,id为apache-config 也就是说文件管理成功后执行

在执行service前 先pkg中的
apache-install 然后在执行 fil中的 apache-config 模块执行都成功 才执行service.running模块

#注意一个ID下面一个模块只能只用使用一次

 




 

转载于:https://www.cnblogs.com/ajaxa/p/11411536.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值