おや
えええv3.0.0が1ヶ月前にリリースされていたのかい!
なのでアップグレードしてみました。
※前回は以下
■Release v3.0.0
https://github.com/getredash/redash/blob/master/CHANGELOG.md
■Added(日本語訳)
・照会結果データ・ソース(照会結果に対する照会)
・Athena:Glueカタログからスキーマをロードするオプション
・Dockerのエントリポイントスクリプトを使用して、コンテナ内のコマンドを実行できる
・招待状トークンの最大年齢を設定可能
・Redshift:新しいACMルートCAのサポートを追加
・Redshift:スペクトラム(外部)テーブルのサポート
・MongoDB:クエリでallowDiskUseを設定するオプション
・SQLAlchemy接続プールを無効にするオプション
・アドホッククエリに時間制限を設定するオプション
・新規ユーザーへの招待状の送信を無効にするオプション
・Azure SQLデータウェアハウスクエリランナー
・プロメテウスクエリーランナー
・Flask-Limiterストレージエンジンを設定するオプション
・UnicodeWriterのエラー処理メソッドを設定するオプション
・PostgreSQL:SSL設定オプション
・カウンタ視覚化:追加の書式設定オプション
・クエリベースのドロップダウンパラメータ
・MySQL:複数のクエリのサポートと接続のタイムアウト
・マルチフィルターですべてを選択する能力。
・LDAP(Active Directory)のサポート
■Changed(日本語訳)
・クエリをフォークするときにパラメータをコピー
・リフレッシュAPIを使用してQuery APIキーを使用できないように(以前は失敗していました)
・フロントエンドコードの定型文を減らす
・最初の入力項目にオートフォーカスを設定します
・gunicornを最新バージョンに更新します
・ログ形式を設定可能にする
・名前でシリーズを並べ替えます
・Dockerテストを実行してテストファイルを設定できるようにします
・Redisに既に保存されている古いクエリの数を使用します
・ユーザーが持つ権限に基づいてリンクを表示します
・Cassandra:ドライバのバージョンを更新します
・Docker-Compose:常にサービスを再起動するように設定を更新します
・Python 3の準備をするためにPython 2のコードを近代化
・コホートのビジュアライゼーション:データのギャップをよりよく扱うことで使いやすくなり、必要なデータを簡単に生成できます
・別のマークダウンライブラリを使用してください
・Salesforce:APIから受け取ったエラーメッセージを改善します
・カスタムJSコードの視覚化の改善@deecay
・DQL:バージョンを0.5.24に更新します
・Cassandra:get_schemaはC * 2.xと3.xの両方をサポートし、SortedSet型のシリアル化をサポートしています
・廃止予定のng-annotateをbabelプラグインに置き換えます
・Pythonの依存関係を最新のバージョンに更新します
・ブートストラップスクリプト:/ opt / redashディレクトリが存在しない場合にのみ作成します
・ブートストラップスクリプト:セットアップスクリプトでREDASH_BASE_PATH変数を使用します
もろもろ見ると各データソースのタイプに機能が充実した模様。
RDSのMysqlでは接続タイムアウトとか変更できるようになったみたい。
LDAPも対応。
■How to upgrade
https://redash.io/help-onpremise/maintenance/how-to-upgrade-redash.html
・Snapshot
何かあったらヤバイのでスナップショットは取っておきましょう!
・upgrade
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# ./upgrade Starting Redash upgrade: Found version: 3.0.0 Current version: 2.0.1+b3080 * Before doing an upgrade, please make sure you have a backup. * If you have any issues, please refer to the troubleshooting section in the upgrade guide: https://redash.io/help-onpremise/maintenance/how-to-upgrade-redash.html * If the upgrade guide doesn't help, you can ask for help on the forum (https://discuss.redash.io). Full CHANGELOG for this release: https://github.com/getredash/redash/blob/master/CHANGELOG.md Continue with upgrade? (y/n): y Downloading release tarball... Unpacking to: redash.3.0.0.b3134... Changing ownership to redash... Linking .env file... Installing new Python packages (if needed)... Running migrations (if needed)... Failed running: sudo -u redash bin/run ./manage.py db upgrade Exit status: 1 Output: Traceback (most recent call last): File "/opt/redash/redash.3.0.0.b3134/manage.py", line 6, in <module> from redash.cli import manager File "/opt/redash/redash.3.0.0.b3134/redash/__init__.py", line 70, in <module> import_query_runners(settings.QUERY_RUNNERS) File "/opt/redash/redash.3.0.0.b3134/redash/query_runner/__init__.py", line 175, in import_query_runners __import__(runner_import) File "/opt/redash/redash.3.0.0.b3134/redash/query_runner/big_query.py", line 18, in <module> import apiclient.errors File "/usr/local/lib/python2.7/site-packages/apiclient/__init__.py", line 19, in <module> from googleapiclient import discovery File "/usr/local/lib/python2.7/site-packages/googleapiclient/discovery.py", line 56, in <module> from googleapiclient import _auth File "/usr/local/lib/python2.7/site-packages/googleapiclient/_auth.py", line 33, in <module> import oauth2client.client File "/usr/local/lib/python2.7/site-packages/oauth2client/client.py", line 45, in <module> from oauth2client import crypt File "/usr/local/lib/python2.7/site-packages/oauth2client/crypt.py", line 45, in <module> from oauth2client import _openssl_crypt File "/usr/local/lib/python2.7/site-packages/oauth2client/_openssl_crypt.py", line 16, in <module> from OpenSSL import crypto File "/usr/local/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module> from OpenSSL import rand, crypto, SSL File "/usr/local/lib/python2.7/site-packages/OpenSSL/SSL.py", line 105, in <module> SSL_ST_INIT = _lib.SSL_ST_INIT AttributeError: 'module' object has no attribute 'SSL_ST_INIT' |
えめっちゃエラー出とるやんけ。
とりあえずググる。
・AttributeError: ‘module’ object has no attribute ‘SSL_ST_INIT’ #705
https://github.com/MycroftAI/mycroft-core/issues/705
redashではないけれどもやってることは同じなはず。
Upgrading pyOpenSSL to 16.2.0
これや!!とりあえずpyOpenSSLのバージョン確認してみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# pip list --format=legacy | grep pyOpenSSL pyOpenSSL (0.14) # cd /opt/redash/ # ll 合計 13412 lrwxrwxrwx 1 root root 30 11月 11 08:02 current -> /opt/redash/redash.2.0.1.b3080 drwxr-xr-x 2 redash redash 4096 9月 27 12:04 logs drwxr-xr-x 8 redash root 4096 9月 27 15:04 redash.0.12.0.b2449 drwxr-xr-x 9 redash root 4096 9月 27 16:27 redash.2.0.0.b2990 drwxr-xr-x 9 redash root 4096 11月 11 08:03 redash.2.0.1.b3080 -rw-r--r-- 1 root root 6717098 10月 22 21:04 redash.2.0.1.b3080.tar.gz drwxr-xr-x 9 redash root 4096 12月 17 08:29 redash.3.0.0.b3134 -rw-r--r-- 1 root root 6989572 11月 13 23:53 redash.3.0.0.b3134.tar.gz drwxr-xr-x 2 redash redash 4096 12月 13 10:24 supervisord # cd redash.3.0.0.b3134 # grep pyOpenSSL requirements* requirements_all_ds.txt:pyOpenSSL==16.2.0 requirements_all_ds.txt:# other packages. To properly support it we probably need to switch from pyOpenSSL |
redashはアップグレード失敗してもソースファイルは/opt/redashに格納されているので、
pyOpenSSLをgrep適当にしてみたらやはり16.2.0以上じゃないとアカンと書いているのでバージョンアップしてみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# sudo pip install pyOpenSSL -U Collecting pyOpenSSL Downloading pyOpenSSL-17.5.0-py2.py3-none-any.whl (53kB) 100% |████████████████████████████████| 61kB 5.2MB/s Collecting cryptography>=2.1.4 (from pyOpenSSL) Downloading cryptography-2.1.4-cp27-cp27mu-manylinux1_x86_64.whl (2.2MB) 100% |████████████████████████████████| 2.2MB 519kB/s Collecting six>=1.5.2 (from pyOpenSSL) Using cached six-1.11.0-py2.py3-none-any.whl Collecting asn1crypto>=0.21.0 (from cryptography>=2.1.4->pyOpenSSL) Downloading asn1crypto-0.24.0-py2.py3-none-any.whl (101kB) 100% |████████████████████████████████| 102kB 9.1MB/s Requirement already up-to-date: enum34; python_version < "3" in /usr/local/lib/python2.7/site-packages (from cryptography>=2.1.4->pyOpenSSL) Collecting cffi>=1.7; platform_python_implementation != "PyPy" (from cryptography>=2.1.4->pyOpenSSL) Downloading cffi-1.11.2-cp27-cp27mu-manylinux1_x86_64.whl (405kB) 100% |████████████████████████████████| 409kB 2.7MB/s Collecting ipaddress; python_version < "3" (from cryptography>=2.1.4->pyOpenSSL) Downloading ipaddress-1.0.19.tar.gz Requirement already up-to-date: idna>=2.1 in /usr/local/lib/python2.7/site-packages (from cryptography>=2.1.4->pyOpenSSL) Requirement already up-to-date: pycparser in /usr/local/lib/python2.7/site-packages (from cffi>=1.7; platform_python_implementation != "PyPy"->cryptography>=2.1.4->pyOpenSSL) Installing collected packages: asn1crypto, six, cffi, ipaddress, cryptography, pyOpenSSL Found existing installation: asn1crypto 0.22.0 Uninstalling asn1crypto-0.22.0: Successfully uninstalled asn1crypto-0.22.0 Found existing installation: six 1.10.0 Uninstalling six-1.10.0: Successfully uninstalled six-1.10.0 Found existing installation: cffi 1.10.0 Uninstalling cffi-1.10.0: Successfully uninstalled cffi-1.10.0 Found existing installation: ipaddress 1.0.18 Uninstalling ipaddress-1.0.18: Successfully uninstalled ipaddress-1.0.18 Running setup.py install for ipaddress ... done Found existing installation: cryptography 2.0.2 Uninstalling cryptography-2.0.2: Successfully uninstalled cryptography-2.0.2 Found existing installation: pyOpenSSL 0.14 Uninstalling pyOpenSSL-0.14: Successfully uninstalled pyOpenSSL-0.14 Successfully installed asn1crypto-0.24.0 cffi-1.11.2 cryptography-2.1.4 ipaddress-1.0.19 pyOpenSSL-17.5.0 six-1.11.0 |
よしできた。
もう一度redashアップグレードしてみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# ./upgrade Starting Redash upgrade: Found version: 3.0.0 Current version: 2.0.1+b3080 * Before doing an upgrade, please make sure you have a backup. * If you have any issues, please refer to the troubleshooting section in the upgrade guide: https://redash.io/help-onpremise/maintenance/how-to-upgrade-redash.html * If the upgrade guide doesn't help, you can ask for help on the forum (https://discuss.redash.io). Full CHANGELOG for this release: https://github.com/getredash/redash/blob/master/CHANGELOG.md Continue with upgrade? (y/n): y Downloading release tarball... Unpacking to: redash.3.0.0.b3134... Changing ownership to redash... Linking .env file... Installing new Python packages (if needed)... Running migrations (if needed)... Linking to current version... Restarting... Done! Enjoy. |
Enjoy!!!!!
できたああ!!!
念のためredash自体を再起動する。(WEBサーバはH2Oを使ってます)
1 2 3 4 5 6 7 |
# /etc/init.d/redash_supervisord restart Restarting process supervisor supervisord 0 # /etc/init.d/h2o restart h2o を停止中: [ OK ] h2o を起動中: [ OK ] |
■確認
OK!?
■まとめ
一瞬焦ったけどヨユウ。?
0件のコメント