VM created from a backup keeps the backup's data volume device ids on a config drive network and cannot start
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- java
調査の方向性
Start by tracing createVMFromBackup and how datadisksdetails carries backup volume device IDs into VM creation. Compare the config-drive network path and the documented q35 SCSI device layout, including the vm.iso.max.count=2 case; the payload names no source files or tests. Done when backup-created VMs on config-drive networks avoid reserved devices and start successfully across the reported cases.
索引モデルが issue の本文から書いたものです。
説明
Problem
createVMFromBackup takes the device ids of the data volumes from the backup. A backup of a VM without config drive can have a data volume on a device id that is reserved on a config drive VM (4, or 5 on main). When the VM is created from that backup on a config drive network, the volume keeps that device id, and on q35 (SATA CD-ROMs, SCSI data disks) its target is the same as a CD-ROM. The VM ends in Error state with XML error: target 'sde' duplicated (4.22) or target 'sdf' duplicated (main, only when vm.iso.max.count=2). The same backup restored on a network without config drive gives a running VM.
Not caused by the device id fixes): it also fails on 4.22.1.1 and on 4.23.0.0. On 4.23.0.0, a VM created from a backup with data volumes on 1, 2, 5, 6 on a config drive network also cannot start with vm.iso.max.count=2 (target 'sde' duplicated between the empty CD-ROM and the config drive ISO), and with the 4.23 device ids (1, 2, 4, 5) the source VM itself cannot start.
Versions
Fails before the device id fixes:
- 4.22.1.1: deviceid 4 kept, the VM cannot start (default vm.iso.max.count=1).
- 4.23.0.0: data volumes on 1, 2, 5, 6: the VM starts with vm.iso.max.count=1 and cannot start with vm.iso.max.count=2.
Still fails after the device id fixes (this path is not covered by them):
- 4.22 build with the device id fix (4.22.2.0-SNAPSHOT): same as 4.22.1.1.
- main (24.0.0-SNAPSHOT): same as 4.23.0.0 (starts with vm.iso.max.count=1, cannot start with 2).
Environment:
KVM on OL 9, qemu-kvm 7.2.0, libvirt 9.0.0, machine type pc-q35-rhel9.2.0 (template settings rootDiskController=scsi, kvm.guest.os.machine.type=pc-q35-rhel9.2.0, UEFI=LEGACY). NFS primary storage, NAS backup provider with an NFS repository.
The steps to reproduce the bug
- Create two L2 networks: N1 with DefaultL2NetworkOffering, N2 with DefaultL2NetworkOfferingConfigDrive.
- Deploy a q35 scsi VM on N1 and attach data volumes: on 4.22, 3 volumes (device ids 1, 2, 4); on main, 4 volumes (device ids 1, 2, 5, 6).
- Assign the VM to a NAS backup offering and take a backup. The backup volume list has the same device ids.
- (main only) Set vm.iso.max.count to 2.
- Create a VM from the backup on N2 (createVMFromBackup with networkids=N2).
- The job fails with 530 "Unable to orchestrate the start of VM instance". The VM is in Error, the data volume is on deviceid 4 (or 5), and the management server log has "Unable to start VM on Host ... XML error: target 'sde' (or 'sdf') duplicated" for each host.
- Control: create a VM from the same backup on N1. It is Running.
Workaround
Tested on 4.22: createVMFromBackup with datadisksdetails and device ids 1, 2, 5 gives a running VM.
What to do about it?
Expected: on a config drive network, the data volumes of a VM created from a backup do not use the device ids reserved for the CD-ROMs and the config drive ISO, and the VM starts.
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.4k
- 平均マージ
- 7日 16時間
- マージ済み PR(30日)
- 15
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/cloudstack のほかの issue
-
resizeVolume of a running system VM's volume is accepted but the VM never sees the new size対応中かも @bhouse-nexthop が 3 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/cloudstack#14645 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
VR reports a load balancer change as applied when haproxy.cfg cannot be replaced対応中かも @bhouse-nexthop が 3 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/cloudstack#14633 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
restartNetwork reports a ResourceUnavailableException as an unexpected error (530), unlike restartVPC (534)対応中かも @bhouse-nexthop が 3 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/cloudstack#14631 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/cloudstack#14625 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Remote access VPN users are disconnected on every LB, ACL, port forward or firewall change (xl2tpd restarted on every iptables pass)対応中かも @willbennett-devops が 12 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/cloudstack#14545 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
apache/cloudstack の issue をすべて見る
似ている issue
-
[Bug]: Nullable implicit operator on string extensible enums still throws for a null string対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug emitter:client:csharp
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
microsoft/typespec#12572 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[BUG]: Java SDK MountRequest always sends update-optional fields, resetting stored mount settingsオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
GCC 15.2: -Wcast-qual warning - cast discards const qualifier from pointer target type (H5trace.c)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
メンテナーはふだん 1 日以内に返信
-
[Bug] RemotingHelper.connect swaps the socket send and receive buffer configuration対応中かも @amalsaidov が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
needs-area-label
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 2 日以内に返信