Salt 无法再解析文件:必需声明...未形成为单键字典

Salt can't parse files any more: Requisite declaration... is not formed as a single key dictionary

大约两个月大的 sls 文件不再工作。我试着把最小的例子放在下面:

salt 'myserver.internal' state.highstate 给了:

myserver.internal:
    Data failed to compile:
----------
    Requisite declaration dhparam in SLS nginx is not formed as a single key dictionary

----------
    Requisite declaration /etc/nginx/sites-available/myapp.conf in SLS nginx is not formed as a single key dictionary
ERROR: Minions returned with non-zero exit code

与以下 nginx.sls:

/etc/nginx/sites-available/myapp.conf:
  file.managed:
    - name: /etc/nginx/sites-available/myapp.conf
    - source: salt://nginx-myapp.conf.jinja
    - template: jinja
    - require:
      - dhparam

dhparam:
  cmd:
    - run
    - name: "mkdir -p /etc/nginx/ssl/; openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048"
    - unless: ls /etc/nginx/ssl/dhparam.pem

当我 运行 整个配置时,有几十个这样的错误。我错过了什么吗?也许,一些关键的依赖不是 installed/updated/broken? yamllint 在我的 SLS 文件中没有发现任何问题。两个月前,相同的文件在另一台服务器上运行良好。

版本:

盐大师 2016.11.6+ds-1

盐爪牙 2015.8.8+ds-1

系统在 master 和 minion 上都是Ubuntu Xenial 16.04.2 LTS

问题出在minion的版本上。当我为 saltstack 添加回购密钥时,我忘记添加

deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial main 

/etc/apt/sources.list.d/saltstack.list 和 运行 apt update 在安装 salt-minion 之前。

当我更正它时,文件又开始工作了。