3.7. 既知の問題

  • OpenShift Virtualization バージョン 2.4.z 以前を最初にデプロイした場合、バージョン 4.8 へのアップグレードが失敗し、以下のメッセージが表示されます。

    risk of data loss updating hyperconvergeds.hco.kubevirt.io: new CRD removes
    version v1alpha1 that is listed as a stored version on the existing CRD

    このバグは、OpenShift Virtualization がバージョン 2.5.0 以降に最初にデプロイされたクラスターには影響しません。(BZ#1986989)

    • 回避策として、HyperConverged カスタムリソース定義(CRD)から v1alpha1 バージョンを削除し、アップグレードプロセスを再開します。

      1. 以下のコマンドを実行して、クラスターへのプロキシー接続を開きます。

        $ oc proxy &
      2. 以下のコマンドを実行して、HyperConverged CRD の v1alpha1 バージョンを .status.storedVersions から削除します。

        $ curl --header "Content-Type: application/json-patch+json" --request PATCH http://localhost:8001/apis/apiextensions.k8s.io/v1/customresourcedefinitions/hyperconvergeds.hco.kubevirt.io/status --data '[{"op": "replace", "path": "/status/storedVersions", "value":["v1beta1"]}]'
      3. 以下のコマンドを実行してアップグレードプロセスを再開します。

        $ curl --header "Content-Type: application/json-patch+json" --request PATCH http://localhost:8001/apis/operators.coreos.com/v1alpha1/namespaces/openshift-cnv/installplans/$(oc get installplan -n openshift-cnv | grep kubevirt-hyperconverged-operator.v4.8.0 | cut -d' ' -f1)/status --data '[{"op": "remove", "path": "/status/conditions"},{"op": "remove", "path": "/status/message"},{"op": "replace", "path": "/status/phase", "value": "Installing"}]'
      4. 以下のコマンドを実行して oc プロキシー プロセスを強制終了します。

        $ kill $(ps -C "oc proxy" -o pid=)
      5. 必要に応じて、以下のコマンドを実行してアップグレードステータスをモニターします。

        $ oc get csv
  • バージョン 4.8 以降で OpenShift Virtualization が提供するテンプレートを削除する場合、テンプレートは OpenShift Virtualization Operator によって自動的に再作成されます。ただし、バージョン 4.8 よりも前に作成された OpenShift Virtualization が提供するテンプレートを削除する場合は、削除後に自動的に再作成されません。その結果、削除された以前のテンプレートを参照する仮想マシンの編集または更新は失敗します。
  • クローン操作がクローン作成するソースが利用可能になる前に開始されると、操作は無期限に停止します。これは、クローン操作の開始前にクローンの承認の期限が切れるためです。(BZ#1855182)

    • 回避策として、クローンを要求する DataVolume オブジェクトを削除します。ソースが利用可能になると、削除した DataVolume オブジェクトを再作成し、クローン操作を正常に完了できるようにします。
  • OpenShift Container Platform クラスターが OVN-Kubernetes をデフォルトの Container Network Interface (CNI) プロバイダーとして使用する場合、OVN-Kubernetes のホストネットワークトポロジーの変更により、Linux ブリッジまたはボンディングをホストのデフォルトインターフェースに割り当てることはできません。(BZ#1885605)

    • 回避策として、ホストに接続されたセカンダリーネットワークインターフェースを使用するか、OpenShift SDN デフォルト CNI プロバイダーに切り替えることができます。
  • ライブマイグレーションを実行できない仮想マシンを実行すると、OpenShift Container Platform クラスターのアップグレードがブロックされる可能性があります。これには、hostpath-provisioner ストレージまたは SR-IOV ネットワークインターフェースを使用する仮想マシンが含まれます。(BZ#1858777)

    • 回避策として、仮想マシンを再設定し、クラスターのアップグレード時にそれらの電源をオフにするようにできます。仮想マシン設定ファイルの spec セクションで、以下を実行します。

      1. evictionStrategy: LiveMigrate フィールドを削除します。エビクションストラテジーの設定方法についての詳細は、「仮想マシンのエビクションストラテジーの設定」を参照してください。
      2. runStrategy フィールドを Always に設定します。
  • ノードの CPU モデルが異なると、ライブマイグレーションに失敗します。ノードに同じ物理 CPU モデルがある場合でも、マイクロコードの更新によって導入される違いにより同じ状況が生じます。これは、デフォルト設定が、ライブマイグレーションと互換性のないホスト CPU パススルー動作をトリガーするためです。(BZ#1760028)

    • 回避策として、以下のコマンドを実行してデフォルトの CPU モデルを設定します。

      注記

      ライブマイグレーションをサポートする仮想マシンを起動する前に、この変更を行う必要があります。

      $ oc annotate --overwrite -n openshift-cnv hyperconverged kubevirt-hyperconverged kubevirt.kubevirt.io/jsonpatch='[
        {
            "op": "add",
            "path": "/spec/configuration/cpuModel",
            "value": "<cpu_model>" 1
        }
      ]'
      1
      <cpu-model> を実際の CPU モデルの値に置き換えます。すべてのノードに oc describe node <node> を実行し、cpu-model-<name> ラベルを確認してこの値を判別できます。すべてのノードに存在する CPU モデルを選択します。
  • RHV 仮想マシンのインポート時に RHV Manager の誤った認証情報を入力すると、vm-import-operator が RHV API への接続を繰り返し試行するため、Manager は admin ユーザーアカウントをロックする可能性があります。(BZ#1887140)

    • アカウントのロックを解除するには、Manager にログインし、以下のコマンドを入力します。

      $ ovirt-aaa-jdbc-tool user unlock admin
  • OpenShift Container Platform 4.8 で OpenShift Virtualization 2.6.5 を実行する場合、各種の問題が発生します。OpenShift Virtualization をバージョン 4.8 にアップグレードすると、これらの問題を回避できます。

    • Web コンソールで Virtualization ページに移動し、CreateWith YAML を選択すると、以下のエラーメッセージが表示されます。

      The server doesn't have a resource type "kind: VirtualMachine, apiVersion: kubevirt.io/v1"
      • 回避策として、apiVersionkubevirt.io/v1alpha3 になるように VirtualMachine マニフェストを編集します。以下は例になります。

        apiVersion: kubevirt.io/v1alpha3
        kind: VirtualMachine
        metadata:
          annotations:
        ...

        (BZ#1979114)

    • Customize ウィザードを使用して仮想マシンを作成すると、以下のエラーメッセージが表示されます。

      Error creating virtual machine
    • OpenShift Virtualization Web コンソールを使用して VNC コンソールに接続すると、VNC コンソールは常に応答に失敗します。

      • 回避策として、CLI から仮想マシンを作成するか、OpenShift Virtualization 4.8 にアップグレードします。

        (BZ#1977037)