WindowsをAnsibleでごにょごにょする ~ISSUEを立てました~
以下の記事でAnsibleの初期設定をしました。
WindowsをAnsibleでごにょごにょする ~初期設定編~ - yyp٩( 'ω' )و
実はこれを行った本当の目的は「AnsibleのISSUEを立てる」でした。
立てたISSUE↓
github.com
ISSUEを立てたのは初めてなので、どきどきですね…
WindowsをAnsibleでごにょごにょする ~初期設定編~
概要
WindowsをAnsibleでプロビジョニングしようと思ったら初期設定の段階で詰まったのでメモ。
環境
AWS上でやりました。
ターゲットノード: Windows2016(ami-151a78f8)
コントロールノード: Amazon Linux2(ami-e99f4896)
コントロールノード側準備
まずpipをインストール
こちらを参考にさせていただきました。
qiita.com
ansibleとpywinrmインストール
$ pip install ansible $ pip install pywinrm
ターゲットノード側準備
Ansibleから疎通が取れるようセットアップ。
こちらを参考にさせていただきました。
qiita.com
プレイブック実行
/etc/以下にディレクトリ等を作成し、プレイブック作成、実行。
以下のようなメッセージが表示され、プレイブックが実行されない。
[WARNING]: Unable to parse /etc/ansible/hosts as an inventory source [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
どうやらデフォルトで見ているインベントリファイルと自分が設定したファイルが違うみたい。
トラブルシュート
ansible.cfgをプレイブックと同じディレクトリに配置。
インベントリファイルは/usr/local/etc/ansible/inventoryに置いているのでそこを指定。
#ansible.cfg [defaults] inventory=/usr/local/etc/ansible/inventory
プレイブック実行
[WARNING]: Unable to parse /usr/local/etc/ansible/inventory as an inventory source [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
/usr/local/etc/ansible/inventoryがinventory sourceだということをどこかで明言しないといけないらしい…
面倒なのでオプションで何とかならないか模索。
$ ansible-playbook -i ./inventory/hogehoge.ini hogehoge.yml -vvv TASK [Gathering Facts] *********************************************************************** task path: /usr/local/etc/ansible/admin_lock.yml:1 Using module file /usr/lib/python2.7/site-packages/ansible/modules/windows/setup.ps1 <10.X.X.X> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT XXXX TO 10.X.X.X EXEC (via pipeline wrapper) ok: [10.X.X.X] META: ran handlers
疎通できました。
Gitコマンドチートシート よく使うもの編
自分のローカル環境に保存していましたが、どこでも見たくなったのでここに保存することにします。
変更のあったものすべてをステージング
$ git add -u
コミット
$ git commit -m "comment"
リモートリポジトリに反映
$ git push
リモートリポジトリの変更をローカルブランチに反映
$ git fetch
$ git merge origin/local branch name
push済みの変更をなかったことにしたい
$ git revert <なかったことにしたい変更のコミットID>
※これは取り消しましたよ~というコミットを作るだけなので履歴は残る
直前のcommitコメントを変更したい
$ git commit --amend
そのうちちゃんと記事にしたい…