CLIのトラブルシューティング

このトピックでは、PythonまたはCLIをインストールするとき、またはCLIを使用するときに発生する可能性がある問題の解決方法について説明します。

インストール・エラー

pipを使用してインストールしたときに次のようなエラーが表示された場合:

Could not fetch URL https://pypi.org/simple/oci-cli/: There was a problem confirming the ssl certificate:
            HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/oci-cli/ (Caused by
          SSLError(SSLError(1, '[SSL:
          CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:877)'),)) - skipping

マシンが外部インターネットに接続されていないか、ネットワーク設定がpypiへのアクセスをブロックしている可能性があります。ネットワーク管理者に問い合せてネットワーク設定を修正するか、オフライン・インストールの実行またはコンテナ・イメージの使用を試してください。

アップグレード・エラー

CLIアップグレードの実行後に古いバージョン番号が表示される場合は、以前のバージョンのCLIをアンインストールしてみてください。

コマンドを使用してパッケージの場所を確認できます:
oci setup find-installations
ノート

このコマンドは、CLIバージョン3.4.0以前では使用できません。
CLIのアンインストールの手順を使用して、前述のコマンドでリストされたパッケージを削除してから、クイックスタートに記載されている現在の環境の指示に従って最新のOCI CLIバージョンをインストールします。

サービス・エラー

操作によってサービス・エラーが発生すると、タイプServiceErrorのエラーがCLIによって返されます。Oracle Cloud Infrastructureによって返される一般的なサービス・エラーの詳細は、APIエラーに関する項を参照してください。

401エラー- 未認証

サービス・エラーのステータスが401であり、NotAuthenticatedのコードが無効な構成ファイルを示す場合があります。

構成ファイルの設定の手順に従って、構成ファイルを設定および検証してください。

SSLエラー

例外要求

次のようなリクエスト例外は、無効な構成ファイルを示している可能性があります:
RequestException: HTTPSConnectionPool(host='<some_service_endpoint>', port=443): Max retries exceeded with url: <some_url> (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

構成ファイルの設定の手順に従って、構成ファイルを設定および検証してください。

ローカル証明を使用した証明書検証の失敗

CERTIFICATE_VERIFY_FAILED例外は、操作に必要な追加の証明書がCLIで見つからないことを示している可能性があります。

これを解決するには、ローカル証明書ファイルを見つけます:
export CERT_PATH=$(python3 -m certifi)
これによって、次のような出力が返されます:
/usr/local/lib/python3/site-packages/certifi/cacert.pem
CLIでローカル証明書が見つかるように環境変数を設定します。例:
export REQUESTS_CA_BUNDLE=${CERT_PATH}

インスタンスの証明を使用した証明書検証の失敗

CERTIFICATE_VERIFY_FAILED例外は、操作に必要な追加の証明書がCLIで見つからないことを示している可能性があります。場合によっては、証明書ファイルがすでにホストにプロビジョニングされている可能性があります。

これを解決するには、CLIで使用する環境変数に証明書の場所を設定します:
export REQUESTS_CA_BUNDLE=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
証明書ファイルがホストにプロビジョニングされていない場合は、インスタンス内で証明書ファイルを見つけ、変数を正しいパスに設定します。例:
export REQUESTS_CA_BUNDLE=path_to_cert_bundle_file

証明書検証の失敗: URLエラー

マシンでpython 3.6または3.7のmacOSバリアントが実行されている場合、証明書パスを正しく設定していても次のメッセージが表示されます:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1051)>
ERROR: Failed to download virtualenv package. Please check that your trusted certificates are up to date and include the certificates necessary to verify github.com
これを解決するには、Certificates.commandファイルを検索して実行します。コマンドは次のようになります:
/Applications/Python 3.7/Install Certificates.command

証明書コマンドが正常に実行されたら、CLIインストーラを実行します。

Oracle Linuxの権限の問題

Oracle Linux 7.3で、pip installの実行時に権限の問題が発生した場合は、sudoを使用する必要があります。

ociコマンドが見つからない

ociコマンドが見つからない場合は、次のいずれかの原因が考えられます:

  • pipによって、アクティブな仮想環境ではない別の仮想環境にパッケージがインストールされました。
  • CLIをインストールした後で、別のアクティブな仮想環境に切り替えました。

CLIがインストールされている場所を確認するには、which pipコマンドとwhich ociコマンドを実行します。

wheelファイルがインストールされない

wheelファイルがインストールされない場合は、pipが最新であることを確認します。pipを更新するには、pip install -U pipコマンドを実行します。wheelのインストールを再試行します。

Windowsの問題

ociコマンドが見つからない場合は、oci.exeの場所がパス(たとえば、PythonインストールのScriptsディレクトリ)にあることを確認します。

一致するディストリビューションが見つからない

エラー: oci-cli==3.x.xで、一致するディストリビューションが見つかりません

このエラーは、Python 2環境でCLIのインストールを試行すると発生します。Python 2のサポートは、2021年8月1日で非推奨となりました。

この問題を解決するには、Pythonをバージョン3.6.5以上に更新します。Python 2が必要な場合、2.x.xで始まるバージョンのCLIでは、まだPython 2がサポートされます。

putコマンドの使用による認識されないデータ破損

問題: STDINのデータにoci os object putコマンドを使用すると、FIPSモードまたはFIPS準拠のOpenSSLバージョンを使用する環境で、認識されないデータ破損が発生する可能性があります。CLIでは、アップロード操作は成功したが、データがアップロードされていないと報告されます。

この問題を軽減するには、OCI CLIのバージョンを3.4.1以上に更新します。

ヒント

CLI用にFIPSを最初に設定する際は、「FIPS検証済ライブラリの使用」の手順に従ってください

連絡先情報

ここにリストされていない問題を検索する場合、アイデアを投稿する場合、バグを報告する場合、更新について通知を受ける場合、または質問やフィードバックがある場合は、次のいずれかのリンクを使用します。

コントリビューション

コントリビュートするバグの修正または新しい機能がありますか。CLIはオープン・ソースであり、GitHubでプル・リクエストを受け入れています。

通知

CLIの新しいバージョンがリリースされたときに通知を受け取るには、Atomフィードをサブスクライブします。

質問またはフィードバック

連絡方法: