Hello All Dev User I use CLOUDSTACK 4.14.0.0, KVMCEPH RBD primary storage and NFS secondary storage;
When creating a new VOLUME through a VOLUME snapshot, Only the first snapshot of each VOLUME is successful; No other snapshots of the same VOLUME can create a new VOLUME Steps to reproduce: 1. Create a VOLUME snapshot; 2. Create VOLUME from the volume snapshot (successful); 3. Create a VOLUME snapshot; 4. Create VOLUME from volume snapshot (failure); I looked at the code and found that when I was looking for storage through snapshots, The snapshot ID and the VOLUME ID corresponding to the snapshot are used for query. So I adjusted the query in the code: apache-cloudstack-4.14.0.0-src/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/snapshot/SnapshotDataFactoryImpl.java @Override public SnapshotInfo getSnapshot(long snapshotId, DataStoreRole role) { SnapshotVO snapshot = snapshotDao.findById(snapshotId); SnapshotDataStoreVO snapshotStore = snapshotStoreDao.findBySnapshot(snapshotId, role); if (snapshotStore == null) { return null; // snapshotStore = snapshotStoreDao.findByVolume(snapshot.getVolumeId(), role); // if (snapshotStore == null) { // return null; // } //end } DataStore store = storeMgr.getDataStore(snapshotStore.getDataStoreId(), role); SnapshotObject so = SnapshotObject.getSnapshotObject(snapshot, store); return so; } Does anyone have a better solution? Thank you! -Jerry