【问题标题】:Salt stack: how to set up a package installation check with Chocolate (state)Salt stack:如何使用 Chocolate(状态)设置包安装检查
【发布时间】:2022-02-04 20:20:56
【问题描述】:

在状态执行期间,管理器“Chocolate”安装包 RealVNC (Program Files\Real VNC) 接下来,我在注册表中创建一个键。 我希望仅当 VNC 安装成功时才创建密钥。 我试过了

Require:
  - pkg: realvnc

Watch:
  - file: C:\Program Files\Real VNC\vncserver.exe

两个选项都告诉我找不到目标

Sls

      realvncsetup:
        chocolatey.installed:
          - name: realvnc

      reg1:
        reg.present:
          - name: HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver
          - vname: EnableAnalytics
          - vdata: "0"
          - vtype: REG_SZ
          - watch:
            - file: "C:\\Program Files\\RealVNC\\VNC Server"

 

错误

ID: reg1
    Function: reg.present
        Name: HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver
      Result: False
     Comment: The following requisites were not found:
                                 require:
                                     file: C:\Program Files\RealVNC\VNC Server
     Started: 12:39:20.183205
    Duration: 0.0 ms
     Changes:   

盐--版本

Salt Version:
           Salt: 3002.1
 
Dependency Versions:
           cffi: 1.12.2
       cherrypy: unknown
       dateutil: 2.7.3
      docker-py: 3.4.1
          gitdb: 2.0.5
      gitpython: 2.1.11
         Jinja2: 2.10
        libgit2: 0.27.7
       M2Crypto: Not Installed
           Mako: 1.0.7
   msgpack-pure: Not Installed
 msgpack-python: 0.5.6
   mysql-python: 1.3.10
      pycparser: 2.19
       pycrypto: 2.6.1
   pycryptodome: 3.6.1
         pygit2: 0.27.4
         Python: 3.7.3 (default, Jul 25 2020, 13:03:44)
   python-gnupg: 0.4.4
         PyYAML: 3.13
          PyZMQ: 17.1.2
          smmap: 2.0.5
        timelib: Not Installed
        Tornado: 4.5.3
            ZMQ: 4.3.1
 
System Versions:
           dist: debian 10 buster
         locale: UTF-8
        machine: x86_64
        release: 4.19.0-6-amd64
         system: Linux
        version: Debian GNU/Linux 10 buster

【问题讨论】:

    标签: salt-stack chocolatey


    【解决方案1】:

    我们提到的必要条件,例如requirewatch 等,应该是对“计划”在目标上运行的其他状态的引用。

    关于watch

    即使路径是通过安装“realvnc”包创建的,也没有处理路径的 Salt 状态。这就是它显示错误的原因。

    documentation 引用watch

    watch 必备项用于在其他状态发生变化时添加额外的行为。

    因此,如果您想查看文件,那么应该有一个使用file 模块“处理”文件的状态。

    关于require

    此外,在指定require 时,您指的是pkg 模块,因此Saltstack 会为realvnc 寻找pkg.installed。而您使用的是chocolatey.installed

    因此,通过以下修改,它应该可以正常工作。

    chocolatey-install-realvnc:
      chocolatey.installed:
      - name: realvnc
    
    # Use the appropriate path that should exist when realvnc is installed
    check-progfiles-path:
      file.exists:
      - name: 'C:\Program Files\Real VNC\vncserver.exe'
    
    # You can use either or both for require as you see fit
    create-registry-entry:
      reg.present:
      - name: HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver
      - vname: EnableAnalytics
      - vdata: "0"
      - vtype: REG_SZ
      - require:
        - file: 'C:\Program Files\Real VNC\vncserver.exe'
        - chocolatey: realvnc
    

    【讨论】:

      猜你喜欢
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-20
      相关资源
      最近更新 更多