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 之前。
当我更正它时,文件又开始工作了。
大约两个月大的 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 之前。
当我更正它时,文件又开始工作了。