Ansibleのwin_chocolateyでエラー発生した時の対処方法
はじめに
Windowsでソフトウェアをインストールする際にchocolateyって便利ですよね!
そもそもchocolateyって何よ?って方もいると思うので簡単に説明すると、Windows用のパッケージ管理ソフトで、ソフトウェアの依存関係なども含めてインストール・更新をよしなにしてくれます。
素敵ですね!
AnsibleでWindowsサーバに対してソフトウェアのインストールするときも win_chocolatey
モジュールは便利です。
ただ、最近chocolateyをインストールして、openjdkも合わせてインストールしようとしたらエラーが発生し、ハマったので忘れないうちに以下に事象と解決策を書きたいと思います。
構成について
GCP環境でAnsible Server と Windows Server の2台構成です。
Ansible Server
OS: CentOS 7
Ansible: 2.7.9
Windows Server
OS: Windows Server 2012 R2 Datacenter
chocolatey: 0.10.13
Ansible実行時にエラー発生
Ansible実行時に以下のエラー(抜粋)が発生しました。
TASK [chocolatey : Install Chocolatey] **************************************************************
changed: [xxx.xxx.xxx.xxx]
TASK [openjdk : Install openjdk] ************************************************************************
fatal: [xxx.xxx.xxx.xxx]: FAILED! => {
"changed": false,
"command": "C:\\ProgramData\\chocolatey\\bin\\choco.exe list --local-only --exact --limit-output openjdk",
"msg": "Error checking installation status for the package 'openjdk'",
"rc": 2,
"stderr": "",
"stderr_lines": [],
"stdout": "",
"stdout_lines": []
}
対処方法
最新のchocolateyをインストールすることで発生したかたちですが、chocolateyをインストールする際に終了コードの無効化の設定を行うことでエラーを回避することができます。
今まで正常に動いてたのに、急に動かなくなった場合のあるあるですね。。(そもそも最新版を入れry)
---
- name: install Chocolatey
win_chocolatey:
name: chocolatey
state: present
### これを追加する
- name: disable enhanced exit codes
win_chocolatey_feature:
name: useEnhancedExitCodes
state: disabled
- name: Install openjdk
win_chocolatey:
name: openjdk
state: present
さいごに
win_chocolatey
モジュールを使用している方へ少しでもお役に立てれば幸いです!
参考にしたサイト
Author And Source
この問題について(Ansibleのwin_chocolateyでエラー発生した時の対処方法), 我々は、より多くの情報をここで見つけました https://qiita.com/micci184/items/e3b4eeb761f2b074dd20著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .