tsusuをTsuru Nowでインストールした後、
オプションを変更して/etc/tsuru/tsuru.conf
の設定を変更したかったり、なにか問題があってインストールが中断することがあります。
ワンライナーのインストーラーを使うと、手順が見えにくいので再インストールが難しくなり、
結局スクリプトを細かくデバッグすることになります。
便利なのですが、インストール前の状態に依存するところもあるので、自分でワンライナーインストーラー作成の難しさを感じます。
アプリのアンインストール
まず、trusu-dashboardなどアプリを削除します。
$ tsuru app-list |
サービスの削除
tsuru service-list
コマンドで作成しているサービスを削除します。
$ tsuru service-list |
正常にアプリが削除されると、Dockerコンテナも削除されています。
$ docker ps -a |
イメージのビルドに失敗した場合は削除します。
$ docker rmi {イメージID} |
MariaDBの削除
MariaDBを停止して削除します。
$ sudo /etc/init.d/mysql stop |
パッケージの削除
apt-getでインストールしたパッケージを削除します。
$ sudo apt-get -y remove --purge gandalf-server mongodb-org-server redis-server mongodb-org-mongos mongodb-org-shell mongodb-org-tools redis-tools lxc-docker-1.1.0 mariadb-server |
Hipacheの削除
Hipacheはnpmでグローバルにインストールされています。
$ sudo NODE_PATH=/usr/lib/node_modules npm uninstall hipache -g |
各種インストールディレクトリを削除します。
tsuru, MongoDB, Redis, Docker, Gandalf, Go, tsuru-dashboardのインストールディレクトリを削除します。
$ sudo rm -fr /var/lib/tsuru/ /var/lib/redis/ /var/lib/mongodb/ /var/lib/docker/ /var/lib/gandalf/ ~/go /tmp/tsuru-dashboard/ |
Tsuruの設定ファイル
/etc配下の設定ファイルを削除します。
$ sudo rm /etc/tsuru/tsuru.conf |
gitユーザーの.bash_profile削除
再インストールしてもなぜかアプリのデプロイのgit push
失敗して、かなり嵌まりました。
デバッグしていると、gitユーザーの.bash_profile
にTSURU_HOST
とTSURU_TOKEN
が再インストールするたびに追加されてしまい、不正な状態になっていました。
gitユーザーの.bash_profile
を削除します。
$ sudo rm /home/git/.bash_profile |
Hipacheの事前インストール
ここも嵌まりました。
なぜかHipacheは次回のTsuru Now
のインストールスクリプトでは再インストールしてくれないので、手動でインストールします。
$ sudo NODE_PATH=/usr/lib/node_modules npm install hipache -g |
まとめ
構造を理解すればどうということはないトラブルシュートですが、始めはすごく嵌まる可能性が高いです。
インストールのbashはわかりやすいので、丁寧にデバッグしていけば解決できますが、
ドキュメントはもうちょっとわかりやすく書いて欲しいです。
あと、アンインストールもワンライナーでできるといいのにと思います。