2016-04-11 6 views
1

私はsaltstack状態ファイル(Centos7上)経由でfirewalldを設定しようとしています。永久的な設定にサービスを追加することはできますが、実際には永続的な設定になります。実行中の設定ではありません。したがって、リロードが必要です(あまりオプションではありません)同じサービスを実行コンフィギュレーションに追加することもできます。私は、サービスを追加するために使用されてきたものfirewallstを再読み込みするためにsaltstackに指示する方法は?

public: firewalld.present: - name: public - services: - http 動作しますが、ちょうど永久に。私は "見て"、それがすべてでは動作しません追加しようとしました

firewalld: service.running: - watch: - file: /etc/firewalld/zones/public.xml エラーは次のとおりです。

Comment: The following requisites were not found: watch: file: /etc/firewalld/zones/public.xml

だから、何を行うことができますか?状態ファイルを介してサービスの再読み込みを指示するにはどうすればよいですか?

+0

変更だけを探して、それが欠けて作成しません「観ます」ファイル。 public.xmlの保存場所を確認してください。必要に応じてコピー状態を追加します。 – mootmoot

+0

を 'onchanges'を使って見ることは、時計の代わりに好ましい方法です。両者の大きな説明はhttps://github.com/saltstack/salt/issues/29492#issuecomment-162967147 – savamane

答えて

3

あなたは近くにいました。ファイルシステム上でファイルを直接見ることはできません。別のソルト状態だけ見ることができます。だからあなたの例では、次のようになります。これが意味

public: 
    firewalld.present: 
    - name: public 
    - services: 
     - http 

firewalld: 
    service.running: 
    - watch: 
     - firewalld: public 

service.running状態がfirewalld.present状態への変化を見て、変更が発生しなかった場合firewalld再起動されることです。

あなたが完全に再起動対reloadをしたい場合、これは動作するはずです:ここでは

public: 
    firewalld.present: 
    - name: public 
    - services: 
     - http 

firewalld: 
    service.running: 
    - reload: True 
    - watch: 
     - firewalld: public 

は、サービス状態のドキュメントです:https://docs.saltstack.com/en/latest/ref/states/all/salt.states.service.html

+0

です。正しい解決方法はDaveにありがとうございます。しかし、1つの質問。あなたは私がファイルでファイルを見ることができないと言った。システムの塩firewalldモジュールのその制限ですか? – SWTM

+0

あなたは大歓迎です! ファイルシステム上のファイルを管理している状態を見ることができます。たとえば、 '/ etc/my.cnf'をfile.managedで管理している場合、そのファイルを管理している状態を見ることができます。 これはfirewalldモジュールに固有のものではありません。 –

関連する問題