2017-07-18 6 views
0

約2ヶ月前slsファイルはもう機能していません。塩はこれ以上ファイルを解析できません:Requisite宣言は単一のキー辞書として構成されていません

salt 'myserver.internal' state.highstateを与えた:次のnginx.sls

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 

:私は、以下の最小限の例置くことを試みた

/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 

そして、私が実行したときにこれらのエラーの数十があります全体構成。何か不足していますか?たぶん、いくつかの重要な依存関係がインストールされていない/更新され/壊れている? yamllintは私のSLSファイルに問題は見つかりませんでした。同じファイルは2か月前に別のサーバーでうまくいきました。

バージョン:

塩マスター2016年11月6日+ DS-1

塩手先2015年8月8日+ DS-1

システムは、マスタと手先の両方でUbuntu Xenial 16.04.2 LTSあります。

答えて

0

問題はミニオンのバージョンです。私はsaltstackのためのレポキーを追加している間、私は/etc/apt/sources.list.d/saltstack.list

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

を追加し、塩手先をインストールする前apt updateを実行するのを忘れていました。

これを修正したところ、ファイルは再び機能し始めました。

+1

2016.3.0より前は、idだけでなく、使用するモジュールを指定するために必要な条件です。あなたの場合は、 'cmd:dhparam'でした。 https://docs.saltstack.com/en/latest/ref/states/requisites.html#omitting-state-module-in-requisites –

関連する問題