Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
96cd1d4
Update Agent.java
Dajeong-Park Jan 9, 2026
fd13b91
Merge pull request #396 from Dajeong-Park/ablestack-europa
Dajeong-Park Jan 13, 2026
bd1daa2
Merge pull request #399 from Dajeong-Park/ablestack-europa
Dajeong-Park Jan 27, 2026
65d33ec
Merge pull request #400 from Dajeong-Park/nas-europa
Dajeong-Park Jan 27, 2026
212bc7c
Merge pull request #401 from Dajeong-Park/ablestack-europa
Dajeong-Park Jan 28, 2026
f17a7f6
Merge pull request #402 from Dajeong-Park/ablestack-europa
Dajeong-Park Jan 29, 2026
e85ce1e
Zone에 따라 Commvault 백업 오퍼링 추가 시 예외처리 변경, rbd도 타입도 가능하도록 예외처리 삭제
Dajeong-Park Jan 29, 2026
5dff30b
빌드오류수정
Dajeong-Park Jan 29, 2026
d6af7d2
Merge pull request #403 from Dajeong-Park/ablestack-europa
Dajeong-Park Feb 3, 2026
98297d9
Merge pull request #404 from Dajeong-Park/ablestack-europa
Dajeong-Park Feb 4, 2026
c1a7f22
Merge pull request #405 from Dajeong-Park/ablestack-europa
Dajeong-Park Feb 5, 2026
49801cf
Merge pull request #406 from Dajeong-Park/ablestack-europa
Dajeong-Park Feb 6, 2026
7ee311e
테스트 로그 추가
Dajeong-Park Feb 6, 2026
8bd6d10
Update LibvirtStorageAdaptor.java
Dajeong-Park Feb 6, 2026
46a049b
테스트
Dajeong-Park Feb 6, 2026
542b666
Revert "Update LibvirtStorageAdaptor.java"
Dajeong-Park Feb 6, 2026
4fc42ee
Revert "테스트 로그 추가"
Dajeong-Park Feb 6, 2026
4adf07f
Merge pull request #407 from Dajeong-Park/ablestack-europa
Dajeong-Park Feb 9, 2026
4166e81
test
Dajeong-Park Feb 10, 2026
3ad07d1
Merge pull request #410 from Dajeong-Park/ablestack-europa
Dajeong-Park Feb 13, 2026
ceec807
commvault rbd 백업 지원 및 기존 메커니즘 변경 1차 적용
Dajeong-Park Feb 13, 2026
4cf495e
Update CommvaultTakeBackupCommand.java
Dajeong-Park Feb 13, 2026
908b2dd
빌드 오류 수정
Dajeong-Park Feb 13, 2026
ef58ff8
commvault 스크립트 경로 설정
Dajeong-Park Feb 19, 2026
6fa2893
임시 오픈
Dajeong-Park Feb 19, 2026
6898ff8
Update CommvaultBackupProvider.java
Dajeong-Park Feb 19, 2026
8d600c9
Update CommvaultBackupProvider.java
Dajeong-Park Feb 19, 2026
936f0d1
Update CommvaultBackupProvider.java
Dajeong-Park Feb 19, 2026
f5097dd
Update CommvaultBackupProvider.java
Dajeong-Park Feb 19, 2026
c3f54fc
Update CommvaultBackupProvider.java
Dajeong-Park Feb 19, 2026
4b8a3a4
Update CommvaultBackupProvider.java
Dajeong-Park Feb 19, 2026
8170016
Update CommvaultBackupProvider.java
Dajeong-Park Feb 19, 2026
a02ba87
가상머신 백업 복원시 path 재설정
Dajeong-Park Feb 20, 2026
9665e34
Update CommvaultBackupProvider.java
Dajeong-Park Feb 20, 2026
422f7ec
Update plugins.js
Dajeong-Park Feb 20, 2026
ced2ab5
Update CommvaultBackupProvider.java
Dajeong-Park Feb 20, 2026
6701fd4
Update BackupManagerImpl.java
Dajeong-Park Feb 20, 2026
25be8e1
Update DeployVM.vue
Dajeong-Park Feb 20, 2026
4050022
파일 삭제시 디렉토리 하위까지 전부 삭제하도록
Dajeong-Park Feb 20, 2026
30c96f9
Update StartBackup.vue
Dajeong-Park Feb 20, 2026
ada4411
Update CommvaultBackupProvider.java
Dajeong-Park Feb 20, 2026
3b4c0a4
복원된 호스트와 실행중인 가상머신의 호스트가 다른경우 복원완료 후 복원본 데이터 삭제작업
Dajeong-Park Feb 20, 2026
927cb07
Update CommvaultBackupProvider.java
Dajeong-Park Feb 20, 2026
b7cd231
일시정지 기능 commvault 솔루션 오픈
Dajeong-Park Feb 20, 2026
3ed0e01
백업시 일시정지 활성화된 경우 로그 추가
Dajeong-Park Feb 20, 2026
b15a31f
Update CommvaultBackupProvider.java
Dajeong-Park Feb 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//

package org.apache.cloudstack.backup;

import com.cloud.agent.api.Command;
import com.cloud.agent.api.LogLevel;
import com.cloud.vm.VirtualMachine;
import org.apache.cloudstack.storage.to.PrimaryDataStoreTO;

import java.util.List;

public class CommvaultRestoreBackupCommand extends Command {
private String vmName;
private String backupPath;
private List<String> backupVolumesUUIDs;
private List<PrimaryDataStoreTO> restoreVolumePools;
private List<String> restoreVolumePaths;
private String diskType;
private Boolean vmExists;
private String restoreVolumeUUID;
private VirtualMachine.State vmState;
private Integer timeout;
private String cacheMode;
private String hostName;

protected CommvaultRestoreBackupCommand() {
super();
}

public String getVmName() {
return vmName;
}

public void setVmName(String vmName) {
this.vmName = vmName;
}

public String getBackupPath() {
return backupPath;
}

public void setBackupPath(String backupPath) {
this.backupPath = backupPath;
}

public List<PrimaryDataStoreTO> getRestoreVolumePools() {
return restoreVolumePools;
}

public void setRestoreVolumePools(List<PrimaryDataStoreTO> restoreVolumePools) {
this.restoreVolumePools = restoreVolumePools;
}

public List<String> getRestoreVolumePaths() {
return restoreVolumePaths;
}

public void setRestoreVolumePaths(List<String> restoreVolumePaths) {
this.restoreVolumePaths = restoreVolumePaths;
}

public Boolean isVmExists() {
return vmExists;
}

public void setVmExists(Boolean vmExists) {
this.vmExists = vmExists;
}

public String getDiskType() {
return diskType;
}

public void setDiskType(String diskType) {
this.diskType = diskType;
}

public String getRestoreVolumeUUID() {
return restoreVolumeUUID;
}

public void setRestoreVolumeUUID(String restoreVolumeUUID) {
this.restoreVolumeUUID = restoreVolumeUUID;
}

public VirtualMachine.State getVmState() {
return vmState;
}

public void setVmState(VirtualMachine.State vmState) {
this.vmState = vmState;
}

@LogLevel(LogLevel.Log4jLevel.Off)
private String mountOptions;
@Override

public boolean executeInSequence() {
return true;
}

public List<String> getBackupVolumesUUIDs() {
return backupVolumesUUIDs;
}

public void setBackupVolumesUUIDs(List<String> backupVolumesUUIDs) {
this.backupVolumesUUIDs = backupVolumesUUIDs;
}

public Integer getTimeout() {
return this.timeout == null ? 0 : this.timeout;
}

public void setTimeout(Integer timeout) {
this.timeout = timeout;
}

public String getCacheMode() {
return cacheMode;
}

public void setCacheMode(String cacheMode) {
this.cacheMode = cacheMode;
}

public String getHostName() {
return hostName;
}

public void setHostName(String hostName) {
this.hostName = hostName;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//

package org.apache.cloudstack.backup;

import com.cloud.agent.api.Command;
import org.apache.cloudstack.storage.to.PrimaryDataStoreTO;

import java.util.List;

public class CommvaultTakeBackupCommand extends Command {
private String vmName;
private String backupPath;
private List<PrimaryDataStoreTO> volumePools;
private List<String> volumePaths;
private Boolean quiesce;

public CommvaultTakeBackupCommand(String vmName, String backupPath) {
super();
this.vmName = vmName;
this.backupPath = backupPath;
}

public String getVmName() {
return vmName;
}

public void setVmName(String vmName) {
this.vmName = vmName;
}

public String getBackupPath() {
return backupPath;
}

public void setBackupPath(String backupPath) {
this.backupPath = backupPath;
}

public List<PrimaryDataStoreTO> getVolumePools() {
return volumePools;
}

public void setVolumePools(List<PrimaryDataStoreTO> volumePools) {
this.volumePools = volumePools;
}

public List<String> getVolumePaths() {
return volumePaths;
}

public void setVolumePaths(List<String> volumePaths) {
this.volumePaths = volumePaths;
}

public Boolean getQuiesce() {
return quiesce;
}

public void setQuiesce(Boolean quiesce) {
this.quiesce = quiesce;
}

@Override
public boolean executeInSequence() {
return true;
}
}
Loading
Loading