(これは、salt-users グループ、FWIW で私が尋ねた質問のコピーです)
いくつかの Windows サーバー機能をインストールし、ミニオンを再起動して、さらにソフトウェアをインストールする状態を記述する必要があります。すべてのピース(cmd.wait、system.reboot)があるようですが、ドットを接続するのに問題があります。
たとえば、IIS をマシンにインストールすることになっている "webserver" 状態があります。一部のサーバー機能を有効にし、再起動 (Windows のため) してから続行する必要があります。これは、Web サイトをインストールできる「Web サイト」という名前のカスタム モジュールと、アプリケーション プールをインストールするための別のモジュールを使用して行います。状態ファイルは次のようになります。
my_website:
website.installed:
- name: example.com
- version: alpha-1.0.0
- type: Website
- bindings:
- hostheader: localhost
- port: 1234
- installdir: c:\\wwwroot\\example.com
- apppool: static
- require:
- sls: serverstate.webserver
- sls: apppool.static
「serverstate.webserver」要件と「apppool.static」要件の間で再起動を行う必要があるという事実を除いて、上記はうまく機能します。現状では、状態が失敗し、手動で再起動してから、状態を再実行すると機能します。当然、手動の再起動手順は省略したいと考えています。
この種の問題を解決するための一般的なパターンはありますか?