This is an automated email from the ASF dual-hosted git repository. DaanHoogland pushed a commit to branch ghi10752-configCleanup in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit e6b7ed933334318fc0e70e1b406152085d21c2b5 Author: Daan Hoogland <[email protected]> AuthorDate: Sat Aug 15 13:08:26 2026 +0200 move non-MS hidden configuration items from deprecated Config enum to services --- .../main/java/com/cloud/network/NetworkModel.java | 3 ++ .../java/com/cloud/network/NetworkService.java | 20 +++++++++++ .../java/com/cloud/template/TemplateManager.java | 3 ++ .../networkservice/BaremetalPxeManagerImpl.java | 2 +- .../main/java/com/cloud/configuration/Config.java | 26 +------------- .../configuration/ConfigurationManagerImpl.java | 10 +++--- .../consoleproxy/ConsoleProxyManagerImpl.java | 6 ++-- .../java/com/cloud/network/NetworkModelImpl.java | 4 +-- .../java/com/cloud/network/NetworkServiceImpl.java | 10 +++--- .../cloud/network/router/CommandSetupHelper.java | 2 +- .../router/VirtualNetworkApplianceManager.java | 3 ++ .../router/VirtualNetworkApplianceManagerImpl.java | 5 +-- .../com/cloud/server/ConfigurationServerImpl.java | 41 +++++++++++++++++----- .../com/cloud/server/ManagementServerImpl.java | 2 +- .../com/cloud/storage/VolumeApiServiceImpl.java | 2 +- .../secondary/SecondaryStorageVmManager.java | 3 ++ .../com/cloud/template/TemplateManagerImpl.java | 5 +-- .../element/ConfigDriveNetworkElementTest.java | 2 -- .../SecondaryStorageManagerImpl.java | 6 ++-- 19 files changed, 93 insertions(+), 62 deletions(-) diff --git a/api/src/main/java/com/cloud/network/NetworkModel.java b/api/src/main/java/com/cloud/network/NetworkModel.java index e5cf60af1d9..f7a7748c99d 100644 --- a/api/src/main/java/com/cloud/network/NetworkModel.java +++ b/api/src/main/java/com/cloud/network/NetworkModel.java @@ -100,6 +100,9 @@ public interface NetworkModel { ConfigKey<Boolean> SecurityGroupDefaultAdding = new ConfigKey<>("Network", Boolean.class, "network.securitygroups.defaultadding", "true", "If true, the user VM would be added to the default security group by default", true); + ConfigKey<String> CloudIdentifier = new ConfigKey<>("Hidden", String.class, "cloud.identifier", null, + "A unique identifier for the cloud.", true); + /** * Lists IP addresses that belong to VirtualNetwork VLANs * diff --git a/api/src/main/java/com/cloud/network/NetworkService.java b/api/src/main/java/com/cloud/network/NetworkService.java index 6028aeed54c..94ccf8f2117 100644 --- a/api/src/main/java/com/cloud/network/NetworkService.java +++ b/api/src/main/java/com/cloud/network/NetworkService.java @@ -91,6 +91,26 @@ public interface NetworkService { "vm.network.nic.max.secondary.ipaddresses", "10", "Specify the number of secondary ip addresses per nic per vm. Default value 10 is used, if not specified.", true); + ConfigKey<String> XenServerPublicNetwork = new ConfigKey<>("Hidden", String.class, + "xenserver.public.network.device", null, + "[ONLY IF THE PUBLIC NETWORK IS ON A DEDICATED NIC]:The network name label of the physical device dedicated to the public network on a XenServer host", true); + + ConfigKey<String> XenServerGuestNetwork = new ConfigKey<>("Hidden", String.class, + "xenserver.guest.network.device", null, + "Specify for guest network name label", true); + + ConfigKey<String> XenServerStorageNetwork1 = new ConfigKey<>("Hidden", String.class, + "xenserver.storage.network.device1", null, + "Specify when there are storage networks", true); + + ConfigKey<String> XenServerStorageNetwork2 = new ConfigKey<>("Hidden", String.class, + "xenserver.storage.network.device2", null, + "Specify when there are storage networks", true); + + ConfigKey<String> XenServerPrivateNetwork = new ConfigKey<>("Hidden", String.class, + "xenserver.private.network.device", null, + "Specify when the private network name is different", true); + List<? extends Network> getIsolatedNetworksOwnedByAccountInZone(long zoneId, Account owner); IpAddress allocateIP(Account ipOwner, long zoneId, Long networkId, Boolean displayIp, String ipaddress) throws ResourceAllocationException, InsufficientAddressCapacityException, diff --git a/engine/components-api/src/main/java/com/cloud/template/TemplateManager.java b/engine/components-api/src/main/java/com/cloud/template/TemplateManager.java index 0cadaac4c96..e89b97e6a3e 100644 --- a/engine/components-api/src/main/java/com/cloud/template/TemplateManager.java +++ b/engine/components-api/src/main/java/com/cloud/template/TemplateManager.java @@ -85,6 +85,9 @@ public interface TemplateManager { true, ConfigKey.Scope.Cluster); + ConfigKey<String> SSVMPSK = new ConfigKey<>("Hidden", String.class, "upload.post.secret.key", "", + "PSK with SSVM", true); + ConfigKey<Integer> CreatePrivateTemplateFromSnapshotWait = new ConfigKey<>("Storage", Integer.class, "create.private.template.from.snapshot.wait", "10800", "In second, timeout for CreatePrivateTemplateFromSnapshotCommand", true); diff --git a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java index 3a2384a03c8..84195de9d45 100644 --- a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java +++ b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java @@ -201,7 +201,7 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe cmd.addVmData("metadata", "instance-id", String.valueOf(vm.getUuid())); cmd.addVmData("metadata", "vm-id", String.valueOf(vm.getInstanceName())); cmd.addVmData("metadata", "public-keys", null); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = NetworkModel.CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } else { diff --git a/server/src/main/java/com/cloud/configuration/Config.java b/server/src/main/java/com/cloud/configuration/Config.java index 7f2a0522b7b..c4656e4f805 100644 --- a/server/src/main/java/com/cloud/configuration/Config.java +++ b/server/src/main/java/com/cloud/configuration/Config.java @@ -613,17 +613,6 @@ public enum Config { // XenServer - XenServerPublicNetwork( - "Hidden", - ManagementServer.class, - String.class, - "xenserver.public.network.device", - null, - "[ONLY IF THE PUBLIC NETWORK IS ON A DEDICATED NIC]:The network name label of the physical device dedicated to the public network on a XenServer host", - null), - XenServerStorageNetwork1("Hidden", ManagementServer.class, String.class, "xenserver.storage.network.device1", null, "Specify when there are storage networks", null), - XenServerStorageNetwork2("Hidden", ManagementServer.class, String.class, "xenserver.storage.network.device2", null, "Specify when there are storage networks", null), - XenServerPrivateNetwork("Hidden", ManagementServer.class, String.class, "xenserver.private.network.device", null, "Specify when the private network name is different", null), NetworkGuestCidrLimit( "Network", NetworkOrchestrationService.class, @@ -650,7 +639,6 @@ public enum Config { "60", "heartbeat interval to use when checking before XenServer Self Fencing", null), - XenServerGuestNetwork("Hidden", ManagementServer.class, String.class, "xenserver.guest.network.device", null, "Specify for guest network name label", null), XenServerMaxNics("Advanced", AgentManager.class, Integer.class, "xenserver.nics.max", "7", "Maximum allowed nics for Vms created on XenServer", null), XenServerPVdriverVersion( "Advanced", @@ -783,14 +771,6 @@ public enum Config { null), // Hidden - UseSecondaryStorageVm( - "Hidden", - ManagementServer.class, - Boolean.class, - "secondary.storage.vm", - "false", - "Deploys a VM per zone to manage secondary storage if true, otherwise secondary storage is mounted on management server", - null), CreatePoolsInPod( "Hidden", ManagementServer.class, @@ -799,7 +779,6 @@ public enum Config { "false", "Should we automatically add XenServers into pools that are inside a Pod", null), - CloudIdentifier("Hidden", ManagementServer.class, String.class, "cloud.identifier", null, "A unique identifier for the cloud.", null), SSOAuthTolerance( "Advanced", ManagementServer.class, @@ -809,7 +788,6 @@ public enum Config { "The allowable clock difference in milliseconds between when an SSO login request is made and when it is received.", null), //NetworkType("Hidden", ManagementServer.class, String.class, "network.type", "vlan", "The type of network that this deployment will use.", "vlan,direct"), - RouterRamSize("Hidden", NetworkOrchestrationService.class, Integer.class, "router.ram.size", "512", "Default RAM for router VM (in MB).", null), DefaultPageSize("Advanced", ManagementServer.class, Long.class, "default.page.size", "500", "Default page size for API list* commands", null), @@ -1074,9 +1052,7 @@ public enum Config { PublishAsynJobEvent("Advanced", ManagementServer.class, Boolean.class, "publish.async.job.events", "true", "enable or disable publishing of usage events on the event bus", null), // StatsCollector - StatsOutPutGraphiteHost("Advanced", ManagementServer.class, String.class, "stats.output.uri", "", "URI to additionally send StatsCollector statistics to", null), - - SSVMPSK("Hidden", ManagementServer.class, String.class, "upload.post.secret.key", "", "PSK with SSVM", null); + StatsOutPutGraphiteHost("Advanced", ManagementServer.class, String.class, "stats.output.uri", "", "URI to additionally send StatsCollector statistics to", null); private final String _category; diff --git a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java index e72834a3996..b013cb2df91 100644 --- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java @@ -927,7 +927,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati _configDepot.invalidateConfigCache(name, ConfigKey.Scope.Global, null); PreparedStatement pstmt; - if (Config.XenServerGuestNetwork.key().equalsIgnoreCase(name)) { + if (NetworkService.XenServerGuestNetwork.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -938,7 +938,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update guest.network.device in host_details due to exception ", e); } - } else if (Config.XenServerPrivateNetwork.key().equalsIgnoreCase(name)) { + } else if (NetworkService.XenServerPrivateNetwork.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -949,7 +949,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update private.network.device in host_details due to exception ", e); } - } else if (Config.XenServerPublicNetwork.key().equalsIgnoreCase(name)) { + } else if (NetworkService.XenServerPublicNetwork.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -960,7 +960,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update public.network.device in host_details due to exception ", e); } - } else if (Config.XenServerStorageNetwork1.key().equalsIgnoreCase(name)) { + } else if (NetworkService.XenServerStorageNetwork1.key().equalsIgnoreCase(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); @@ -971,7 +971,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } catch (final Throwable e) { throw new CloudRuntimeException("Failed to update storage.network.device1 in host_details due to exception ", e); } - } else if (Config.XenServerStorageNetwork2.key().equals(name)) { + } else if (NetworkService.XenServerStorageNetwork2.key().equals(name)) { final String sql = "update host_details set value=? where name=?"; try { pstmt = txn.prepareAutoCloseStatement(sql); diff --git a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index d07641eacc8..950244d1d46 100644 --- a/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -114,6 +114,7 @@ import com.cloud.storage.Storage; import com.cloud.storage.StoragePoolStatus; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.dao.VMTemplateDao; +import com.cloud.storage.secondary.SecondaryStorageVmManager; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.utils.DateUtil; @@ -1140,10 +1141,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy consoleProxyPort = NumbersUtil.parseInt(value, ConsoleProxyManager.DEFAULT_PROXY_VNC_PORT); } - value = configs.get("secondary.storage.vm"); - if (value != null && value.equalsIgnoreCase("true")) { - useStorageVm = true; - } + useStorageVm = SecondaryStorageVmManager.UseSecondaryStorageVm.value(); instance = configs.get("instance.name"); if (instance == null) { diff --git a/server/src/main/java/com/cloud/network/NetworkModelImpl.java b/server/src/main/java/com/cloud/network/NetworkModelImpl.java index f3c26739b03..95208bf04a0 100644 --- a/server/src/main/java/com/cloud/network/NetworkModelImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkModelImpl.java @@ -2941,7 +2941,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi vmData.add(new String[]{METATDATA_DIR, PUBLIC_KEYS_FILE, publicKey}); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } else { @@ -3009,7 +3009,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi @Override public ConfigKey<?>[] getConfigKeys() { - return new ConfigKey<?>[] {MACIdentifier, AdminIsAllowedToDeployAnywhere, SecurityGroupDefaultAdding}; + return new ConfigKey<?>[] {MACIdentifier, AdminIsAllowedToDeployAnywhere, SecurityGroupDefaultAdding, CloudIdentifier}; } @Override diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index a273c4079a9..496fc74edd1 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -5504,16 +5504,16 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C String xenLabel = null; switch (trafficType) { case Public: - xenLabel = _configDao.getValue(Config.XenServerPublicNetwork.key()); + xenLabel = XenServerPublicNetwork.value(); break; case Guest: - xenLabel = _configDao.getValue(Config.XenServerGuestNetwork.key()); + xenLabel = XenServerGuestNetwork.value(); break; case Storage: - xenLabel = _configDao.getValue(Config.XenServerStorageNetwork1.key()); + xenLabel = XenServerStorageNetwork1.value(); break; case Management: - xenLabel = _configDao.getValue(Config.XenServerPrivateNetwork.key()); + xenLabel = XenServerPrivateNetwork.value(); break; case Control: xenLabel = "cloud_link_local_network"; @@ -6313,7 +6313,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C @Override public ConfigKey<?>[] getConfigKeys() { return new ConfigKey<?>[] {AllowDuplicateNetworkName, AllowEmptyStartEndIpAddress, AllowUsersToMakeNetworksRedundant, VRPrivateInterfaceMtu, VRPublicInterfaceMtu, AllowUsersToSpecifyVRMtu, - GuestVlanBits, MaxNumberOfSecondaryIPsPerNIC}; + GuestVlanBits, MaxNumberOfSecondaryIPsPerNIC, XenServerPublicNetwork, XenServerGuestNetwork, XenServerStorageNetwork1, XenServerStorageNetwork2, XenServerPrivateNetwork}; } public boolean isDefaultAcl(Long aclId) { diff --git a/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java b/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java index e861cfc7bb5..f80243d8d2a 100644 --- a/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java +++ b/server/src/main/java/com/cloud/network/router/CommandSetupHelper.java @@ -1338,7 +1338,7 @@ public class CommandSetupHelper { } cmd.addVmData("metadata", "public-keys", publicKey); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = NetworkModel.CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } else { diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java index 7db9674d652..24f98e9324b 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManager.java @@ -64,6 +64,9 @@ public interface VirtualNetworkApplianceManager extends Manager, VirtualNetworkA ConfigKey<String> RouterTemplateOvm3 = new ConfigKey<>(String.class, RouterTemplateOvm3CK, "Advanced", "SystemVM Template (Ovm3)", "Name of the default router template on Ovm3.", true, ConfigKey.Scope.Zone, null); + ConfigKey<Integer> RouterRamSize = new ConfigKey<>("Hidden", Integer.class, "router.ram.size", "512", + "Default RAM for router VM (in MB).", true); + ConfigKey<String> VirtualRouterUserData = new ConfigKey<>(String.class, "virtual.router.userdata", ConfigKey.CATEGORY_ADVANCED, "", "UUID for user data of VR, VPC VR, internal LB, and elastic LB. This works only when systemvm.userdata.enabled is set to true", diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 004d4ca73e1..08c0d095db8 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -546,7 +546,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM final Map<String, String> configs = _configDao.getConfiguration("AgentManager", params); - int routerRamSize = NumbersUtil.parseInt(configs.get("router.ram.size"), DEFAULT_ROUTER_VM_RAMSIZE); + int routerRamSize = RouterRamSize.value(); int routerCpuMHz = NumbersUtil.parseInt(configs.get("router.cpu.mhz"), DEFAULT_ROUTER_CPU_MHZ); _routerExtraPublicNics = NumbersUtil.parseInt(_configDao.getValue(Config.RouterExtraPublicNics.key()), 2); @@ -3381,7 +3381,8 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM RemoveControlIpOnStop, VirtualRouterUserData, NetworkRouterRpFilter, - EnableServiceMonitoring + EnableServiceMonitoring, + RouterRamSize }; } diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java index 53677ee0ff1..7455e39be15 100644 --- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java @@ -71,6 +71,7 @@ import com.cloud.network.Network.GuestType; import com.cloud.network.Network.Provider; import com.cloud.network.Network.Service; import com.cloud.network.Network.State; +import com.cloud.network.NetworkModel; import com.cloud.network.Networks.BroadcastDomainType; import com.cloud.network.Networks.Mode; import com.cloud.network.Networks.TrafficType; @@ -92,6 +93,8 @@ import com.cloud.service.dao.ServiceOfferingDao; import com.cloud.storage.DiskOfferingVO; import com.cloud.storage.Storage.ProvisioningType; import com.cloud.storage.dao.DiskOfferingDao; +import com.cloud.storage.secondary.SecondaryStorageVmManager; +import com.cloud.template.TemplateManager; import com.cloud.test.IPRangeConfig; import com.cloud.user.Account; import com.cloud.user.AccountManager; @@ -217,7 +220,14 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio } } - _configDao.update(Config.UseSecondaryStorageVm.key(), Config.UseSecondaryStorageVm.getCategory(), "true"); + ConfigurationVO useSecondaryStorageVmConfig = _configDao.findByName(SecondaryStorageVmManager.UseSecondaryStorageVm.key()); + if (useSecondaryStorageVmConfig == null) { + ConfigurationVO configVO = new ConfigurationVO(SecondaryStorageVmManager.class.getSimpleName(), SecondaryStorageVmManager.UseSecondaryStorageVm); + configVO.setValue("true"); + _configDao.persist(configVO); + } else { + _configDao.update(SecondaryStorageVmManager.UseSecondaryStorageVm.key(), SecondaryStorageVmManager.UseSecondaryStorageVm.category(), "true"); + } logger.debug("ConfigurationServer made secondary storage vm required."); _configDao.update(Config.SecStorageEncryptCopy.key(), Config.SecStorageEncryptCopy.getCategory(), "false"); @@ -533,10 +543,17 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio protected void updateCloudIdentifier() { // Creates and saves a UUID as the cloud identifier - String currentCloudIdentifier = _configDao.getValue("cloud.identifier"); + String currentCloudIdentifier = NetworkModel.CloudIdentifier.value(); if (currentCloudIdentifier == null || currentCloudIdentifier.isEmpty()) { String uuid = UUID.randomUUID().toString(); - _configDao.update(Config.CloudIdentifier.key(), Config.CloudIdentifier.getCategory(), uuid); + ConfigurationVO configInDB = _configDao.findByName(NetworkModel.CloudIdentifier.key()); + if (configInDB == null) { + ConfigurationVO configVO = new ConfigurationVO(NetworkModel.class.getSimpleName(), NetworkModel.CloudIdentifier); + configVO.setValue(uuid); + _configDao.persist(configVO); + } else { + _configDao.update(NetworkModel.CloudIdentifier.key(), NetworkModel.CloudIdentifier.category(), uuid); + } } } @@ -821,7 +838,15 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio private void updateSSOKey() { try { - _configDepot.createOrUpdateConfigObject(AccountManager.class.getSimpleName(), AccountManager.SSOKey, getPrivateKey()); + String key = getPrivateKey(); + ConfigurationVO configInDB = _configDao.findByName(AccountManager.SSOKey.key()); + if (configInDB == null) { + ConfigurationVO configVO = new ConfigurationVO(AccountManager.class.getSimpleName(), AccountManager.SSOKey); + configVO.setValue(key); + _configDao.persist(configVO); + } else { + _configDao.update(AccountManager.SSOKey.key(), AccountManager.SSOKey.category(), key); + } } catch (NoSuchAlgorithmException ex) { logger.error("error generating sso key", ex); } @@ -832,15 +857,15 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio */ private void updateSecondaryStorageVMSharedKey() { try { - ConfigurationVO configInDB = _configDao.findByName(Config.SSVMPSK.key()); + ConfigurationVO configInDB = _configDao.findByName(TemplateManager.SSVMPSK.key()); if(configInDB == null) { - ConfigurationVO configVO = new ConfigurationVO(Config.SSVMPSK.getCategory(), "DEFAULT", Config.SSVMPSK.getComponent(), Config.SSVMPSK.key(), getPrivateKey(), - Config.SSVMPSK.getDescription()); + ConfigurationVO configVO = new ConfigurationVO(TemplateManager.class.getSimpleName(), TemplateManager.SSVMPSK); + configVO.setValue(getPrivateKey()); logger.info("generating a new SSVM PSK. This goes to SSVM on Start"); _configDao.persist(configVO); } else if (StringUtils.isEmpty(configInDB.getValue())) { logger.info("updating the SSVM PSK with new value. This goes to SSVM on Start"); - _configDao.update(Config.SSVMPSK.key(), Config.SSVMPSK.getCategory(), getPrivateKey()); + _configDao.update(TemplateManager.SSVMPSK.key(), TemplateManager.SSVMPSK.category(), getPrivateKey()); } } catch (NoSuchAlgorithmException ex) { logger.error("error generating ssvm psk", ex); diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java index f32857d7cf0..cda15f1818c 100644 --- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java +++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java @@ -4811,7 +4811,7 @@ public class ManagementServerImpl extends MutualExclusiveIdsManagerBase implemen // check permissions _accountMgr.checkAccess(caller, null, true, _accountMgr.getAccount(user.getAccountId())); - String cloudIdentifier = _configDao.getValue("cloud.identifier"); + String cloudIdentifier = NetworkModel.CloudIdentifier.value(); if (cloudIdentifier == null) { cloudIdentifier = ""; } diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java index 665aa59d7bb..19fcdf52bfb 100644 --- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java @@ -549,7 +549,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic String expires = currentDateTime.plusMinutes(timeout).toString(); response.setTimeout(expires); - String key = _configDao.getValue(Config.SSVMPSK.key()); + String key = TemplateManager.SSVMPSK.value(); /* * encoded metadata using the post upload config key */ diff --git a/server/src/main/java/com/cloud/storage/secondary/SecondaryStorageVmManager.java b/server/src/main/java/com/cloud/storage/secondary/SecondaryStorageVmManager.java index 599e8c171c5..20ac9da9305 100644 --- a/server/src/main/java/com/cloud/storage/secondary/SecondaryStorageVmManager.java +++ b/server/src/main/java/com/cloud/storage/secondary/SecondaryStorageVmManager.java @@ -50,6 +50,9 @@ public interface SecondaryStorageVmManager extends Manager { true, ConfigKey.Scope.Zone, null, "User Data for SSVMs", null, ConfigKey.GROUP_SYSTEM_VMS, ConfigKey.SUBGROUP_SEC_STORAGE_VM); + ConfigKey<Boolean> UseSecondaryStorageVm = new ConfigKey<>("Hidden", Boolean.class, "secondary.storage.vm", "false", + "Deploys a VM per zone to manage secondary storage if true, otherwise secondary storage is mounted on management server", true); + public static final int DEFAULT_SS_VM_RAMSIZE = 512; // 512M public static final int DEFAULT_SS_VM_CPUMHZ = 500; // 500 MHz diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index 21c6e674db1..85104e1591c 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -474,7 +474,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, String expires = currentDateTime.plusMinutes(timeout).toString(); response.setTimeout(expires); - String key = _configDao.getValue(Config.SSVMPSK.key()); + String key = SSVMPSK.value(); /* * encoded metadata using the post upload config ssh key */ @@ -2754,7 +2754,8 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, PublicTemplateSecStorageCopy, PrivateTemplateSecStorageCopy, VmIsoMaxCount, - CreatePrivateTemplateFromSnapshotWait}; + CreatePrivateTemplateFromSnapshotWait, + SSVMPSK}; } public List<TemplateAdapter> getTemplateAdapters() { diff --git a/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java b/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java index 336f9990c12..d689ec7a62d 100644 --- a/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java +++ b/server/src/test/java/com/cloud/network/element/ConfigDriveNetworkElementTest.java @@ -104,7 +104,6 @@ import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class ConfigDriveNetworkElementTest { - public static final String CLOUD_ID = "xx"; public static final String PUBLIC_KEY = "publicKey"; public static final String PASSWORD = "password"; public static final long NETWORK_ID = 1L; @@ -178,7 +177,6 @@ public class ConfigDriveNetworkElementTest { when(_serviceOfferingDao.findByIdIncludingRemoved(VMID, SOID)).thenReturn(serviceOfferingVO); when(_guestOSDao.findById(Mockito.anyLong())).thenReturn(guestOSVO); when(_guestOSCategoryDao.findById(Mockito.anyLong())).thenReturn(guestOSCategoryVo); - when(_configDao.getValue("cloud.identifier")).thenReturn(CLOUD_ID); when(guestOSCategoryVo.getName()).thenReturn("Linux"); when(dataCenterVO.getName()).thenReturn(ZONENAME); when(serviceOfferingVO.getDisplayText()).thenReturn(VMOFFERING); diff --git a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java index 9d4c7311159..367de4a2d59 100644 --- a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -337,7 +337,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar String nfsVersion = imageStoreDetailsUtil.getNfsVersion(ssStore.getId()); setupCmd.setNfsVersion(nfsVersion); - String postUploadKey = _configDao.getValue(Config.SSVMPSK.key()); + String postUploadKey = TemplateManager.SSVMPSK.value(); setupCmd.setPostUploadKey(postUploadKey); Answer answer = _agentMgr.easySend(ssHostId, setupCmd); @@ -918,7 +918,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar Map<String, String> configs = _configDao.getConfiguration("management-server", params); _secStorageVmMtuSize = NumbersUtil.parseInt(configs.get("secstorage.vm.mtu.size"), DEFAULT_SS_VM_MTUSIZE); - boolean _useServiceVM = BooleanUtils.toBoolean(_configDao.getValue("secondary.storage.vm")); + boolean _useServiceVM = UseSecondaryStorageVm.value(); _useSSlCopy = BooleanUtils.toBoolean(_configDao.getValue("secstorage.encrypt.copy")); String ssvmUrlDomain = _configDao.getValue("secstorage.ssl.cert.domain"); @@ -1550,7 +1550,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar @Override public ConfigKey<?>[] getConfigKeys() { return new ConfigKey<?>[] {NTPServerConfig, MaxNumberOfSsvmsForMigration, SecondaryStorageCapacityScanInterval, - SecondaryStorageVmUserData}; + SecondaryStorageVmUserData, UseSecondaryStorageVm}; } }
