Skip to content

Commit 5655932

Browse files
authored
Merge pull request #648 from jschoiRR/mold-main#2025
[Mold API] MOLD-HB 파일 생성시 시크릿키 Path 정보 수정
2 parents 72f2a8a + aec7ea6 commit 5655932

6 files changed

Lines changed: 35 additions & 54 deletions

File tree

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtDeleteACfileToFencedHostCommandWrapper.java

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,15 @@
2626
import com.cloud.agent.api.Answer;
2727
import com.cloud.agent.api.DeleteACfileToFencedHostCommand;
2828
import com.cloud.agent.api.to.StorageFilerTO;
29-
import com.cloud.hypervisor.kvm.resource.KVMHABase.HAStoragePool;
3029
import com.cloud.hypervisor.kvm.storage.KVMStoragePool;
3130
import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager;
32-
import com.cloud.hypervisor.kvm.resource.KVMHAMonitor;
3331
import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
3432
import com.cloud.hypervisor.kvm.resource.LibvirtConnection;
3533
import com.cloud.hypervisor.kvm.resource.LibvirtStoragePoolDef;
3634
import com.cloud.hypervisor.kvm.resource.LibvirtStoragePoolDef.PoolType;
3735
import com.cloud.hypervisor.kvm.resource.LibvirtStoragePoolXMLParser;
3836
import com.cloud.resource.CommandWrapper;
3937
import com.cloud.resource.ResourceWrapper;
40-
import com.cloud.storage.Storage;
4138
import com.cloud.utils.exception.CloudRuntimeException;
4239
import com.cloud.utils.script.Script;
4340

@@ -46,17 +43,11 @@ public final class LibvirtDeleteACfileToFencedHostCommandWrapper extends Command
4643

4744
@Override
4845
public Answer execute(final DeleteACfileToFencedHostCommand command, final LibvirtComputingResource libvirtComputingResource) {
49-
final KVMHAMonitor monitor = libvirtComputingResource.getMonitor();
5046
final StorageFilerTO pool = command.getPool();
5147
final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
5248

5349
KVMStoragePool primaryPool = storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid());
5450
if (primaryPool.isPoolSupportHA()){
55-
HAStoragePool haStoragePool = null;
56-
if (Storage.StoragePoolType.NetworkFilesystem == pool.getType()) {
57-
haStoragePool = monitor.getStoragePool(pool.getUuid());
58-
haStoragePool.getMountDestPath();
59-
}
6051

6152
logger.info("RBD Pool or GFS Pool Setting...");
6253
Connect conn = null;
@@ -66,9 +57,6 @@ public Answer execute(final DeleteACfileToFencedHostCommand command, final Libvi
6657
throw new CloudRuntimeException(e.toString());
6758
}
6859

69-
String rbdPoolName = "";
70-
String authUserName = "";
71-
String nfsOrSmpTargetPath = "";
7260
try {
7361
String[] poolnames = conn.listStoragePools();
7462
if (poolnames.length == 0) {
@@ -85,16 +73,13 @@ public Answer execute(final DeleteACfileToFencedHostCommand command, final Libvi
8573
}
8674
if (pdef.getPoolType() == PoolType.RBD) {
8775
logger.debug(String.format("RBD Pool name [%s] auth name [%s]", pdef.getSourceDir(), pdef.getAuthUserName()));
88-
rbdPoolName = pdef.getSourceDir();
89-
authUserName = pdef.getAuthUserName();
90-
91-
Script.runSimpleBashScript("rbd -p " + rbdPoolName + " --id " + authUserName + " rm MOLD-AC");
76+
Script.runSimpleBashScript("rbd -p " + pdef.getSourceDir() + " --id " + pdef.getAuthUserName() + " -m " + pdef.getSourceHost() + " -K /var/lib/libvirt/images/"+ pdef.getPoolName()+ " rm MOLD-HB");
77+
Script.runSimpleBashScript("rbd -p " + pdef.getSourceDir() + " --id " + pdef.getAuthUserName() + " -m " + pdef.getSourceHost() + " -K /var/lib/libvirt/images/"+ pdef.getPoolName()+ " rm MOLD-AC");
9278
}
9379
if (pdef.getPoolType() == PoolType.DIR || pdef.getPoolType() == PoolType.NETFS) {
9480
logger.debug(String.format("SharedMountPoint Pool source path [%s]", pdef.getTargetPath()));
95-
nfsOrSmpTargetPath = pdef.getTargetPath();
9681

97-
Script.runSimpleBashScript("rm -rf " + nfsOrSmpTargetPath + "/MOLD-AC");
82+
Script.runSimpleBashScript("rm -rf " + pdef.getTargetPath() + "/MOLD-AC");
9883
}
9984
}
10085
return new Answer(command, true, "success");

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public Answer execute(RestoreBackupCommand command, LibvirtComputingResource ser
6767
int lastIndex = volumePath.lastIndexOf("/");
6868
newVolumeId = volumePath.substring(lastIndex + 1);
6969
restoreVolume(backupPath, backupRepoType, backupRepoAddress, volumePath, diskType, restoreVolumeUuid,
70-
new Pair<>(vmName, command.getVmState()));
70+
new Pair<>(vmName, command.getVmState()), mountOptions);
7171
} else if (Boolean.TRUE.equals(vmExists)) {
7272
restoreVolumesOfExistingVM(volumePaths, backupPath, backupRepoType, backupRepoAddress, mountOptions);
7373
} else {
@@ -80,7 +80,7 @@ public Answer execute(RestoreBackupCommand command, LibvirtComputingResource ser
8080
private void restoreVolumesOfExistingVM(List<String> volumePaths, String backupPath,
8181
String backupRepoType, String backupRepoAddress, String mountOptions) {
8282
String diskType = "root";
83-
String mountDirectory = mountBackupDirectory(backupRepoAddress, backupRepoType);
83+
String mountDirectory = mountBackupDirectory(backupRepoAddress, backupRepoType, mountOptions);
8484
try {
8585
for (int idx = 0; idx < volumePaths.size(); idx++) {
8686
String volumePath = volumePaths.get(idx);
@@ -101,7 +101,7 @@ private void restoreVolumesOfExistingVM(List<String> volumePaths, String backupP
101101

102102
private void restoreVolumesOfDestroyedVMs(List<String> volumePaths, String vmName, String backupPath,
103103
String backupRepoType, String backupRepoAddress, String mountOptions) {
104-
String mountDirectory = mountBackupDirectory(backupRepoAddress, backupRepoType);
104+
String mountDirectory = mountBackupDirectory(backupRepoAddress, backupRepoType, mountOptions);
105105
String diskType = "root";
106106
try {
107107
for (int i = 0; i < volumePaths.size(); i++) {
@@ -121,8 +121,8 @@ private void restoreVolumesOfDestroyedVMs(List<String> volumePaths, String vmNam
121121
}
122122

123123
private void restoreVolume(String backupPath, String backupRepoType, String backupRepoAddress, String volumePath,
124-
String diskType, String volumeUUID, Pair<String, VirtualMachine.State> vmNameAndState) {
125-
String mountDirectory = mountBackupDirectory(backupRepoAddress, backupRepoType);
124+
String diskType, String volumeUUID, Pair<String, VirtualMachine.State> vmNameAndState, String mountOptions) {
125+
String mountDirectory = mountBackupDirectory(backupRepoAddress, backupRepoType, mountOptions);
126126
Pair<String, String> bkpPathAndVolUuid;
127127
try {
128128
bkpPathAndVolUuid = getBackupPath(mountDirectory, volumePath, backupPath, diskType, volumeUUID);
@@ -145,7 +145,7 @@ private void restoreVolume(String backupPath, String backupRepoType, String back
145145
}
146146

147147

148-
private String mountBackupDirectory(String backupRepoAddress, String backupRepoType) {
148+
private String mountBackupDirectory(String backupRepoAddress, String backupRepoType, String mountOptions) {
149149
String randomChars = RandomStringUtils.random(5, true, false);
150150
String mountDirectory = String.format("%s.%s",BACKUP_TEMP_FILE_PREFIX , randomChars);
151151
try {

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStoragePool.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ public String createHeartBeatCommand(HAStoragePool primaryStoragePool, String ho
368368
cmd.add("-i", primaryStoragePool.getPoolSourceHost());
369369
cmd.add("-p", primaryStoragePool.getPoolMountSourcePath());
370370
cmd.add("-n", primaryStoragePool.getPoolAuthUserName());
371-
cmd.add("-s", primaryStoragePool.getPoolAuthSecret());
371+
cmd.add("-s", primaryStoragePool.getPoolUUID());
372372
cmd.add("-h", hostPrivateIp);
373373
if (!hostValidation) {
374374
cmd.add("-c");
@@ -573,7 +573,7 @@ public Boolean checkingHeartBeatRBD(HAStoragePool pool, HostTO host, String volu
573573
cmd.add("-i", pool.getPoolSourceHost());
574574
cmd.add("-p", pool.getPoolMountSourcePath());
575575
cmd.add("-n", pool.getPoolAuthUserName());
576-
cmd.add("-s", pool.getPoolAuthSecret());
576+
cmd.add("-s", pool.getPoolUUID());
577577
cmd.add("-h", host.getPrivateNetwork().getIp());
578578
cmd.add("-u", volumeList.length() > 0 ? volumeList : "");
579579
cmd.add("-r", "r");
@@ -619,7 +619,7 @@ public Boolean vmActivityCheck(HAStoragePool pool, HostTO host, Duration activit
619619
cmd.add("-i", pool.getPoolSourceHost());
620620
cmd.add("-p", pool.getPoolMountSourcePath());
621621
cmd.add("-n", pool.getPoolAuthUserName());
622-
cmd.add("-s", pool.getPoolAuthSecret());
622+
cmd.add("-s", pool.getPoolUUID());
623623
cmd.add("-h", host.getPrivateNetwork().getIp());
624624
cmd.add("-u", volumeUUIDListString);
625625
cmd.add("-t", String.valueOf(HeartBeatCheckerFreq / 1000));

ui/src/components/header/Logo.vue

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,29 @@ export default {
6464
},
6565
data () {
6666
return {
67-
logoPath: this.$store.getters.darkMode ? this.$config.whiteLogo : this.$config.logo
67+
logoPath: (this.$store.getters.darkMode || this.$store.getters.theme === 'dark') ? this.$config.whiteLogo : this.$config.logo
6868
}
6969
},
7070
watch: {
71+
'$store.getters.theme' (theme) {
72+
this.logoPath = (this.$store.getters.darkMode || theme === 'dark') ? this.$config.whiteLogo : this.$config.logo
73+
},
7174
'$store.getters.darkMode' (darkMode) {
72-
this.logoPath = darkMode ? this.$config.whiteLogo : this.$config.logo
75+
document.body.classList.toggle('dark-mode', darkMode)
76+
this.logoPath = (darkMode || this.$store.getters.theme === 'dark') ? this.$config.whiteLogo : this.$config.logo
7377
}
78+
},
79+
mounted () {
80+
// 시스템 테마 변경되었을때 감지 후 테마 변경
81+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (event) => {
82+
this.$localStorage.set('DARK_MODE', event.matches)
83+
this.$store.dispatch('SetDarkMode', event.matches)
84+
document.body.classList.toggle('dark-mode', event.matches)
85+
})
86+
// 로컬스토리지 다크 모드 확인 후 변경
87+
const isDark = !!this.$localStorage.get('DARK_MODE')
88+
this.$store.dispatch('SetDarkMode', isDark)
89+
document.body.classList.toggle('dark-mode', isDark)
7490
}
7591
}
7692
</script>

ui/src/components/page/GlobalLayout.vue

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -199,13 +199,6 @@ export default {
199199
mainMenu (newMenu) {
200200
this.menus = newMenu.find((item) => item.path === '/').children
201201
},
202-
'$store.getters.darkMode' (darkMode) {
203-
if (darkMode) {
204-
document.body.classList.add('dark-mode')
205-
} else {
206-
document.body.classList.remove('dark-mode')
207-
}
208-
},
209202
'$store.getters.countNotify' (countNotify) {
210203
this.showClear = false
211204
if (countNotify && countNotify > 0) {
@@ -227,16 +220,6 @@ export default {
227220
}
228221
},
229222
mounted () {
230-
// 시스템 테마 변경되었을때 감지 후 테마 변경
231-
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (event) => {
232-
this.$localStorage.set('DARK_MODE', event.matches)
233-
this.$store.dispatch('SetDarkMode', event.matches)
234-
document.body.classList.toggle('dark-mode', event.matches)
235-
})
236-
// 로컬스토리지 다크 모드 확인 후 변경
237-
const isDark = !!this.$localStorage.get('DARK_MODE')
238-
this.$store.dispatch('SetDarkMode', isDark)
239-
document.body.classList.toggle('dark-mode', isDark)
240223
const userAgent = navigator.userAgent
241224
if (userAgent.indexOf('Edge') > -1) {
242225
this.$nextTick(() => {

ui/src/layouts/UserLayout.vue

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,13 @@ export default {
5454
data () {
5555
return {
5656
showClear: false,
57-
logoPath: this.$store.getters.darkMode ? this.$config.whiteLogo : this.$config.logo
57+
logoPath: this.$config.logo
5858
}
5959
},
6060
watch: {
6161
'$store.getters.darkMode' (darkMode) {
62-
if (darkMode) {
63-
document.body.classList.add('dark-mode')
64-
this.logoPath = this.$config.whiteLogo
65-
} else {
66-
document.body.classList.remove('dark-mode')
67-
this.logoPath = this.$config.banner
68-
}
62+
document.body.classList.toggle('dark-mode', darkMode)
63+
this.logoPath = darkMode ? this.$config.whiteLogo : this.$config.logo
6964
},
7065
'$store.getters.countNotify' (countNotify) {
7166
this.showClear = false
@@ -86,6 +81,8 @@ export default {
8681
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches
8782
let isDark = this.$localStorage.get('DARK_MODE')
8883
84+
this.logoPath = isDark ? this.$config.whiteLogo : this.$config.logo
85+
8986
if (isDark === null) {
9087
isDark = prefersDark
9188
this.$localStorage.set('DARK_MODE', isDark)

0 commit comments

Comments
 (0)