kompiraバージョンアップ時のエラーについて

コメント

23件のコメント

  • 正式なコメント
    Ichiro Takahashi

    引き続き調査したところ、コマンド履歴に残っていた以下のコマンドが、システムの Python3 環境を破壊していることがわかりました。

    curl -kL https://bootstrap.pypa.io/get-pip.py | python3

    このコマンドを実行したあとに、rpm コマンドで python3 関連パッケージを検証すると、見つからないファイルが多数あることがわかります。

    # rpm -Va "python3*"
      /usr/bin/pip3 が見つかりません。
      /usr/bin/pip3.6 が見つかりません。
      /usr/lib/python3.6/site-packages/pip-9.0.3.dist-info が見つかりません。
      /usr/lib/python3.6/site-packages/pip-9.0.3.dist-info/INSTALLER が見つかりません。
      /usr/lib/python3.6/site-packages/pip-9.0.3.dist-info/METADATA が見つかりません。
      /usr/lib/python3.6/site-packages/pip-9.0.3.dist-info/RECORD が見つかりません。
      /usr/lib/python3.6/site-packages/pip-9.0.3.dist-info/WHEEL が見つかりません。
      /usr/lib/python3.6/site-packages/pip-9.0.3.dist-info/entry_points.txt が見つかりません。
      /usr/lib/python3.6/site-packages/pip-9.0.3.dist-info/top_level.txt が見つかりません。
      /usr/lib/python3.6/site-packages/pip/__init__.py が見つかりません。
      /usr/lib/python3.6/site-packages/pip/__main__.py が見つかりません。
    :

    この状態では、前回示したコマンドを実行すると、以下のようにエラーになります(./install.sh もご報告同様にエラーになります)。

    # /opt/kompira/bin/python3.6 -Im ensurepip --upgrade --default-pip
    Traceback (most recent call last):
      File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
        "__main__", mod_spec)
      File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "/usr/lib64/python3.6/ensurepip/__main__.py", line 5, in <module>
        sys.exit(ensurepip._main())
      File "/usr/lib64/python3.6/ensurepip/__init__.py", line 232, in _main
        default_pip=args.default_pip,
      File "/usr/lib64/python3.6/ensurepip/__init__.py", line 129, in _bootstrap
        shutil.copy(whl, tmpdir)
      File "/usr/lib64/python3.6/shutil.py", line 245, in copy
        copyfile(src, dst, follow_symlinks=follow_symlinks)
      File "/usr/lib64/python3.6/shutil.py", line 120, in copyfile
        with open(src, 'rb') as fsrc:
    FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib64/python3.6/ensurepip/_bundled/setuptools-40.6.2-py2.py3-none-any.whl'

    ここからの回復方法としては、python3 関連のパッケージの再インストールが有効であるようです。以下のコマンドで再インストールできます。

    # yum -y reinstall "python3*"

    RPM パッケージの検証を行ってもエラーが出ないことも確認できます。

    # rpm -Va "python3*"

    手元で試したかぎりでは、この状態であれば Kompira の install.sh を実行してもエラーにならないようです。(※すべての破損状況を確認できたわけではありませんので、なんらかの影響が残存している可能性は否定できません)

    お手数ですが、ご確認いただけますでしょうか。

     

    コメントアクション Permalink
  • Ichiro Takahashi

    フィックスポイントの高橋です。

    アップデートでエラーが発生したとのことでご迷惑をおかけして申し訳ございません。

    調査のため、以下の情報についてご提供いただけますでしょうか。

    • OS バージョン
    • 具体的なアップデート手順(実行したコマンドラインなど)
    • ./install.sh 実行時のログファイル

    以上、よろしくお願いいたします。

     

    0
    コメントアクション Permalink
  • uno

    提示された情報を送付いたしました。

    ご対応の程よろしくお願い致します。

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    情報ご提供ありがとうございます。

    インストール時に Kompira 用の Python 環境を作成する箇所でエラーになっているようですが、過去に同様の事象は報告されてはいないようです。

    OS は CentOS 7.9 とのことですが、仮想マシン環境となりますでしょうか?その場合、ご利用になっている仮想システムについて教えていただけますでしょうか。

    また、お手数ですが、以下のコマンド実行結果についてもいただけますでしょうか。

    # rpm -qa "*python*" | sort
    # /opt/kompira/bin/pip list

    Python 3.8 では似たようなエラーが発生することがある、といった記事を Web では見かけましたが、以前 Kompira を構築した後に、サーバに Kompira 以外のソフトをインストールしたといった情報はございますでしょうか。

    0
    コメントアクション Permalink
  • uno

    迅速にご対応頂きありがとうございます。

    以下回答いたします。

    ・仮想マシンについて

    →VMware ESXi上の仮想マシンを利用しています。

    ・ソフトウェアインストールについて

    →kompira専用で利用しているサーバのため、他のソフトのインストールは行っていない認識です。

    ・コマンドの実行結果について

    →先ほどのメールに返信する形で再度送付いたしました。

     

    以上、ご確認のほどよろしくお願い致します。

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    ご連絡ありがとうございます。
    いただいた情報を確認しておりますが、現時点で原因の特定にはいたっておりません。

    ひとつ気になる点としては、KE v1.6.2.post5 でバージョンダウンさせた python パッケージがあります(ご報告いただいた事象とは異なる問題への対処です)ので、以下のコマンドを実行していただけますでしょうか。

    # /opt/kompira/bin/pip install -U typing-extensions==3.7.4.3

    そのうえで、以下のコマンドを実行してみていただけますでしょうか。

    # /opt/kompira/bin/python -m venv /opt/kompira

    まず、下のコマンドが成功するか、ご確認いただけますでしょうか。成功の場合はとくに何も表示されないと思います。

    これらが問題を解消に繋がるかは判明しておりませんが、上記が成功した場合、再度 KE パッケージの install.sh でインストールを試してみていただけますでしょうか。

    以上、よろしくお願いいたします。

    0
    コメントアクション Permalink
  • uno

    記載していただいた手順を試しましたが、同様のエラー内容が出力されインストールができませんでした。

    また、スナップショットから前のバージョンへ切り戻しを実施し、1.6.2.post4 へのアップデートを実行してみましたが、同様の箇所で同じエラーが出力されました。

    他になにか試せる手順等はありますでしょうか?(postを順番に上げていくなど)

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    ご確認ありがとうございます。

    現状では有効な手順などは見いだせておりません。

    弊社内で現象が再現できるか環境を用意して調査してみたいと思います。
    申し訳ございませんが、今しばらくお時間いただくことになるかと思います。

    再現にあたって追加で情報収集をお願いさせていただくこともあるかもしれませんが、
    その際はまたご協力いただければ幸いです。

    0
    コメントアクション Permalink
  • uno

    調査に時間が掛かる旨、承知しました。また、情報収集についても適宜協力させていただきます

    こちらこそ早急に対応頂き、ありがとうございます。

    引き続き調査のほど、よろしくお願いします。

     

     

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    弊社内で CentOS 7 環境で、v1.6.2.post2 から v1.6.2.post7 へアップデートを試してみたところ、問題なくアップデートできました。環境に依存する問題であるのかもしれません。

    エラー時のログを拝見すると「/usr/local/bin/pip」が存在していることを示すログがあり、これが少し気になります。python パッケージを管理する pip コマンドは、Kompira 用としては「/opt/kompira/bin/pip」を用います(これもちゃんとあります)。

    かなり古い Kompira (1.4 以前など)では /usr/local/bin/pip を利用していたこともあり、その存在確認のためのログが残っています。あるいは Kompira とは別の要因で /usr/local/bin/pip が存在しているのかもしれません。

    CentOS7 を Minimal install して Kompira 1.6 系をインストールした状態では、/usr/local/bin/pip は存在していないのが通常ですが、これが存在している理由になにか心当たりはございますでしょうか?(/usr/local/bin/pip の存在がエラーの原因であると判明しているわけではございません)

    当該サーバを最初に構築された際は CentOS 7 の Minimal install で実施されましたでしょうか?

    当該サーバに最初にインストールされた Kompira のバージョンは何でしょうか?

     

    0
    コメントアクション Permalink
  • uno

    以下、回答いたします。

    > 当該サーバに最初にインストールされた Kompira のバージョンは何でしょうか?
    半年ほど前に仮想マシンの移行を行っており、
    移行前のkompiraのバージョンは"1.4.8 post6"を利用しておりました。
    移行後の環境は、"1.6.2 post2"で構築しております。

    > あるいは Kompira とは別の要因で /usr/local/bin/pip が存在しているのかもしれません。
    サーバを確認したところ、1号機のみpipコマンドが
    利用できる状態(Whichコマンドで応答あり)となっていました。
    CentOS 7 の Minimal install で構築・及び移行する際に
    もしかしたらpipをインストールしてしまったのかもしれません。

    pipをアンインストールすることで正常になる可能性があるのであれば
    試してみようと思うのですが、ソフトウェアに影響等はございますでしょうか?

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    早速のご確認ありがとうございます。

    移行前のkompiraのバージョンは"1.4.8 post6"を利用しておりました。
    移行後の環境は、"1.6.2 post2"で構築しております。

    v1.6 系以前から v1.6 系へのアップデートについては、Kompira が利用する python やミドルウェアの構成が変わっていることから、クリーンな環境にインストールしていただいてから、別途データ移行していただくといった手順を推奨させていただいております。v1.4 系から移行されたということですと、そのときの環境の影響を受けている可能性はあるかもしれません。

    ところで、v1.4 系では CentOS6 をサポートしており、CentOS7 には非対応でした。当該サーバ自体の OS も Kompira のバージョンアップに伴ってアップグレードされた、ということでしょうか?

    現在の 1.6.2.post2 を導入されたときの、直前の構成や、どのような手順で導入されたか、といった情報は残っておりますでしょうか?

    また、1号機と2号機で、サーバ構築の経緯などに違いはございますでしょうか?

     

    pipをアンインストールすることで正常になる可能性があるのであれば
    試してみようと思うのですが、ソフトウェアに影響等はございますでしょうか?

    pip コマンドの存在は環境的な差異を示唆してはいますが、今回のインストールエラーの直接的な原因であるとは考えにくいと思っています。回復の可能性は低いと思いますし、その pip により作成した環境のソフトウェアがあれば影響を受ける可能性もありますが、スナップショットに戻せるという前提で試してみる価値はあるかもしれません。

    ちなみに、以下のコマンドの実行結果はどのようになるでしょうか?

    # ls -l /usr/local/bin/
    # /usr/local/bin/pip list

    また、Kompira v1.4 系をインストールされていた場合、/usr/bin/pip コマンドが存在するかもしれません。もし存在するようでしたら、以下のコマンドも試してみてください。

    # /usr/bin/pip list

    以上、よろしくお願いいたします。

    0
    コメントアクション Permalink
  • uno

    > v1.4 系では CentOS6 をサポートしており、CentOS7 には非対応でした。当該サーバ自体の OS も Kompira のバージョンアップに伴ってアップグレードされた、ということでしょうか?
    上記で推奨されている手順で行いました。仮想マシンを別で構築し、クリーンな環境にkompira(Ver1.6.2)をインストールしてからデータを別途移行させました。


    >現在の 1.6.2.post2 を導入されたときの、直前の構成や、どのような手順で導入されたか、といった情報は残っておりますでしょうか?
    導入手順をメールにて送付いたしました。

    >以下のコマンドの実行結果はどのようになるでしょうか?

    # ls -l /usr/local/bin/
    # /usr/local/bin/pip list


    1号機、2号機それぞれの結果をメールにて送付いたしました。

    ご確認の程、よろしくお願い致します。

     

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    クリーンな環境に 1.6.2 をインストールされたとのことですので、古い環境が影響しているということは無いと考えられます。また、いただいたコマンド実行結果から、/usr/local/bin/pip で特にインストールしたパッケージなども無さそうであることが確認できましたので、これが影響している可能性も低いと思われます。

    別のアプローチとして、失敗した Python 環境構築のコマンド実行を試していただきたいと思います。

    以下のコマンドを実行していただくと、/opt/test_venv というディレクトリに新しい Python 環境を作成しようとして、そのログが create_test_venv.log に出力されます。

    # /bin/python3.6 -v -m venv /opt/test_venv > create_test_venv.log 2>&1
    # ls -l /opt/test_venv/bin

    このときの出力と、ログファイルをいただけますでしょうか。

    0
    コメントアクション Permalink
  • uno

    バージョンアップが失敗したした1号機(現在Standby機)でのログファイル、コマンド結果をメールにて送付いたしました。

    ご確認の程、よろしくお願い致します。

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    早速のご対応ありがとうございます。

    結果を見る限りインストール時と同様のエラーが生じていることは分かりました。
    では、2号機でも1号機と同様の症状になるのか確認してみたいので、
    同様の手順で /opt/test_venv に Python 環境構築を実施してみていただけますでしょうか。

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    こちらは、念のための確認となりますが、当該サーバのディスク空き容量やメモリの利用状況など、リソース状況についてもご確認いただけますでしょうか。

    $ df -m
    $ free -m
    0
    コメントアクション Permalink
  • uno

    1号機でのコマンド結果及びログファイルを送付いたしました。

    また、リソース状況についても別メールにて送付いたしました。

    ご確認よろしくお願い致します。

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    ご確認ありがとうございます。

    リソースの心配は無いようですが、1号機では失敗していた Python 環境作成コマンドが2号機では成功しているようです。

    このことから、2号機では Kompira のアップデートも成功する可能性がありますが、1号機がアップデートできないと適切な冗長構成とならないので、やはり1号機の問題を解消する必要はあるかと思います。

    1号機と2号機の環境差異について、何かお心当たりございますでしょうか?

    また、2号機についても以下の結果を取得いただけますでしょうか。

    # rpm -qa "*python*" | sort
    # /opt/kompira/bin/pip list
    0
    コメントアクション Permalink
  • uno

    2号機でのコマンド結果をメールにて送付いたしました。

    また、環境差異に関係しそうな履歴を1号機の"history"コマンドから発見いたしました。経緯は覚えておらず申し訳ございませんが、移行時のトラブル対応をしていた際に実行したものと考えられます。そちらの履歴も併せて送付いたしました。

    ご確認よろしくお願い致します。

     

    0
    コメントアクション Permalink
  • Ichiro Takahashi

    ご確認ありがとうございます。

    いただいた情報から、1号機のコマンド履歴を弊社環境で再現してみたところ、install.sh が同様のエラーで失敗する状況となりました。おそらく、いずれかのコマンドにより、環境に悪影響を与えてしまっており、それにより正しく動作しない状況になっているのではないかと考えられます(詳細についてまでは判明しておりません)。

    お手数ですが、1号機にて、以下のコマンドを実行したときの出力をいただけますでしょうか。

    # /opt/kompira/bin/python3.6 -Im ensurepip --upgrade --default-pip



    0
    コメントアクション Permalink
  • uno

    先ほど1号機にて下記コマンドを実行してみたところ、御社環境と同様のエラーが出力されました。
    # /opt/kompira/bin/python3.6 -Im ensurepip --upgrade --default-pip

    調査の結果、python3 関連のパッケージの再インストールが有効な旨、承知しました。
    弊社環境でも実施してみます。

    進捗ありましたらこの場で再度返信をさせていただきます。

    0
    コメントアクション Permalink
  • uno

    返信が遅くなっていしまい申し訳ありません。
    Python3のパッケージ再インストールを実施したところ、バージョンアップが無事完了することができました。

    ご対応頂きありがとうございました。本件クローズしていただいて構いません。

    0
    コメントアクション Permalink

サインインしてコメントを残してください。