Redashを2.0.0から3.0.0にアップグレードした

つい先程、社内で使っているRedashを 2.0.0.b2990 から 3.0.0.b3134 へアップグレードした。

実作業時間は15分ぐらい。作業前リハーサルは1時間ぐらいでできた気がする。

手順は公式ドキュメントのとおり。

How to Upgrade Redash · Redash Help Center

$ cd /opt/redash/current
$ sudo bin/upgrade

リハーサルはVagrantで環境を作って実施。

バックアップはディスクイメージをスナップショット取って対応。

オンプレであればPostgreSQLのダンプを取る感じになるのかなと思う。

sudo bin/upgrade を実行すると、ドキュメントにも記載がある以下のエラーが起きた。

AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

これはリハーサルでも発生したものだったので、ドキュメントに従って pyOpenSSLをアップグレードして解決。

$ sudo pip install pyOpenSSL -U

pyOpenSSLをアップグレードしたら、再度 sudo bin/upgrade を実行するとアップグレードは完了。

アップグレードすると /opt/redash/redash.[新しいバージョン] ができて、 /opt/redash/current が最新バージョンのディレクトリにシンボリックリンクになるのだけれど、 settings.py をいじっている場合は旧バージョンのディレクトリ内のファイルを見ていい感じに移行する必要がある。

うちの場合は主にメモリ使用量節約のため settings.py をいじっているため対応が必要だった。

ariarijp.hatenablog.com

3.0.0 にしたモチベーションはQuery Resultsなんだけど、パラメータつきクエリを多用しているので適用が難しい。

適当にパラメータが渡せるように改造してみようかと思いつつ、Google Spreadsheetデータソースとの合わせ技でなんかできないかなとも考えているところ。

このあたりはブログネタとしてちょうどいいんだけど、Googleのサービスアカウントがどうとか説明するのが億劫になって、なかなか書く気になれない。

ariarijp.hatenablog.com

そんなことを考えるまえに、そろそろRedash Meetup #1の資料を書かないと、あっという間に2/20になってしまいそうだ。

redash-meetup.connpass.com