From b59e3aaefced03d40d5b4b63c421c69743bcd387 Mon Sep 17 00:00:00 2001 From: Prasanna Santhanam Date: Thu, 8 Aug 2013 14:33:15 +0530 Subject: [PATCH] Reverting the range of commits that broke the build This reverts commits 30c33415..f6a2c817bc Signed-off-by: Prasanna Santhanam --- .../cloudstack/config/Configuration.java | 84 -------- .../api/command/test/AddClusterCmdTest.java | 15 +- .../api/command/test/AddHostCmdTest.java | 29 +-- client/pom.xml | 7 + client/tomcatconf/applicationContext.xml.in | 1 - client/tomcatconf/componentContext.xml.in | 2 +- .../tomcatconf/nonossComponentContext.xml.in | 2 +- engine/compute/pom.xml | 52 +++++ .../compute/ComputeOrchestrator.java | 34 ++++ .../compute/ComputeOrchestratorImpl.java | 42 ++++ .../platform/planning/Concierge.java | 36 ++++ engine/pom.xml | 1 + .../cloud/configuration/ConfigurationVO.java | 109 +++++++++++ .../configuration}/dao/ConfigurationDao.java | 27 ++- .../dao/ConfigurationDaoImpl.java | 55 +++--- .../com/cloud/keystore/KeystoreDaoImpl.java | 10 +- .../cloud/storage/dao/VMTemplateDaoImpl.java | 4 +- .../manager/StorageCacheManagerImpl.java | 5 +- .../StorageCacheReplacementAlgorithmLRU.java | 5 +- .../motion/AncientDataMotionStrategy.java | 3 +- .../storage/image/TemplateServiceImpl.java | 3 +- .../storage/test/ChildTestConfiguration.java | 3 +- .../snapshot/XenserverSnapshotStrategy.java | 3 +- .../cloudstack/storage/LocalHostEndpoint.java | 5 +- .../AbstractStoragePoolAllocator.java | 2 +- ...GarbageCollectingStoragePoolAllocator.java | 3 +- .../allocator/LocalStoragePoolAllocator.java | 3 +- .../datastore/DataStoreManagerImpl.java | 15 +- .../image/BaseImageStoreDriverImpl.java | 5 +- .../image/db/TemplateDataStoreDaoImpl.java | 24 +-- .../storage/volume/VolumeServiceImpl.java | 3 +- framework/cluster/pom.xml | 12 -- .../com/cloud/cluster/ClusterManagerImpl.java | 27 +-- .../cluster/ClusterServiceServletAdapter.java | 10 +- .../cluster/ClusterServiceServletImpl.java | 2 +- framework/config/pom.xml | 45 ----- .../framework/config/ConfigDepotImpl.java | 106 ---------- .../framework/config/ConfigurationVO.java | 175 ----------------- .../framework/config/ScopedConfigValue.java | 43 ----- .../config/ConfigDepotAdminTest.java | 131 ------------- framework/db/pom.xml | 2 +- .../com/cloud/utils/db/GenericDaoBase.java | 6 +- framework/jobs/pom.xml | 5 - .../jobs/impl/AsyncJobManagerImpl.java | 20 +- framework/pom.xml | 5 +- .../affinity/HostAntiAffinityProcessor.java | 3 +- .../admin/ratelimit/ResetApiLimitCmd.java | 2 +- .../user/ratelimit/GetApiLimitCmd.java | 2 +- .../ratelimit/ApiRateLimitServiceImpl.java | 4 +- .../ratelimit/ApiRateLimitTest.java | 3 +- .../DedicatedResourceManagerImpl.java | 2 +- .../manager/DedicatedApiUnitTest.java | 2 +- .../implicitplanner/ImplicitPlannerTest.java | 2 +- .../manager/BareMetalDiscoverer.java | 3 +- .../baremetal/manager/BareMetalPlanner.java | 3 +- .../networkservice/BareMetalResourceBase.java | 11 +- .../BaremetalPxeManagerImpl.java | 2 +- .../com/cloud/ucs/manager/UcsManagerImpl.java | 3 +- .../com/cloud/hypervisor/guru/VMwareGuru.java | 5 +- .../hypervisor/vmware/VmwareDatacenterVO.java | 8 +- .../vmware/manager/VmwareManagerImpl.java | 2 +- .../vmware/VmwareDatacenterApiUnitTest.java | 2 +- .../element/ElasticLoadBalancerElement.java | 3 +- .../lb/ElasticLoadBalancerManagerImpl.java | 2 +- .../F5ExternalLoadBalancerElement.java | 4 +- .../lb/InternalLoadBalancerVMManagerImpl.java | 2 +- .../LbChildTestConfiguration.java | 3 +- .../JuniperSRXExternalFirewallElement.java | 5 +- .../cloud/network/element/MidoNetElement.java | 6 +- .../network/element/NetscalerElement.java | 4 +- .../guru/NiciraNvpGuestNetworkGuruTest.java | 2 +- .../network/ovs/OvsTunnelManagerImpl.java | 3 +- .../network/element/SspElement.java | 3 +- .../network/element/SspElementTest.java | 3 +- plugins/pom.xml | 10 - .../CloudStackImageStoreDriverImpl.java | 4 +- .../driver/S3ImageStoreDriverImpl.java | 4 +- .../server/auth/LDAPUserAuthenticator.java | 3 +- .../server/auth/test/AuthenticatorTest.java | 43 +++-- pom.xml | 9 +- server/pom.xml | 5 - .../cloud/agent/manager/AgentManagerImpl.java | 56 +++--- .../manager/ClusteredAgentManagerImpl.java | 49 ++--- .../allocator/impl/FirstFitAllocator.java | 3 +- .../impl/UserConcentratedAllocator.java | 3 +- .../authn/impl/BasicAgentAuthManager.java | 3 +- .../src/com/cloud/alert/AlertManagerImpl.java | 4 +- server/src/com/cloud/api/ApiDBUtils.java | 2 +- server/src/com/cloud/api/ApiServer.java | 4 +- .../com/cloud/api/query/QueryManagerImpl.java | 2 +- .../query/dao/AffinityGroupJoinDaoImpl.java | 5 +- .../query/dao/DomainRouterJoinDaoImpl.java | 3 +- .../cloud/api/query/dao/HostJoinDaoImpl.java | 3 +- .../api/query/dao/ImageStoreJoinDaoImpl.java | 3 +- .../api/query/dao/ProjectJoinDaoImpl.java | 3 +- .../api/query/dao/ResourceTagJoinDaoImpl.java | 3 +- .../query/dao/SecurityGroupJoinDaoImpl.java | 3 +- .../api/query/dao/StoragePoolJoinDaoImpl.java | 4 +- .../api/query/dao/TemplateJoinDaoImpl.java | 2 +- .../api/query/dao/UserVmJoinDaoImpl.java | 3 +- .../api/query/dao/VolumeJoinDaoImpl.java | 2 +- .../cloud/capacity/CapacityManagerImpl.java | 4 +- .../src/com/cloud/configuration/Config.java | 9 + .../ConfigurationManagerImpl.java | 17 +- .../AgentBasedConsoleProxyManager.java | 3 +- .../com/cloud/consoleproxy/AgentHookBase.java | 4 +- .../ConsoleProxyBalanceAllocator.java | 3 +- .../consoleproxy/ConsoleProxyManagerImpl.java | 2 +- .../StaticConsoleProxyManager.java | 3 +- .../deploy/DeploymentPlanningManagerImpl.java | 4 +- .../src/com/cloud/deploy/FirstFitPlanner.java | 3 +- .../ha/HighAvailabilityManagerExtImpl.java | 3 +- .../cloud/ha/HighAvailabilityManagerImpl.java | 2 +- .../CloudZonesStartupProcessor.java | 3 +- .../discoverer/LibvirtServerDiscoverer.java | 3 +- .../ExternalDeviceUsageManagerImpl.java | 3 +- .../ExternalFirewallDeviceManagerImpl.java | 5 +- .../network/ExternalIpAddressAllocator.java | 3 +- ...ExternalLoadBalancerDeviceManagerImpl.java | 3 +- .../ExternalNetworkDeviceManagerImpl.java | 3 +- .../cloud/network/Ipv6AddressManagerImpl.java | 3 +- .../com/cloud/network/NetworkManagerImpl.java | 2 +- .../com/cloud/network/NetworkModelImpl.java | 3 +- .../com/cloud/network/NetworkServiceImpl.java | 2 +- .../network/NetworkUsageManagerImpl.java | 2 +- .../cloud/network/SshKeysDistriMonitor.java | 3 +- .../network/as/AutoScaleManagerImpl.java | 2 +- .../network/element/VirtualRouterElement.java | 7 +- .../network/firewall/FirewallManagerImpl.java | 2 +- .../network/guru/ControlNetworkGuru.java | 3 +- .../cloud/network/guru/GuestNetworkGuru.java | 2 +- .../network/lb/LBHealthCheckManagerImpl.java | 3 +- .../lb/LoadBalancingRulesManagerImpl.java | 2 +- .../VirtualNetworkApplianceManagerImpl.java | 3 +- .../security/SecurityGroupManagerImpl.java | 44 ++--- .../com/cloud/network/vpc/VpcManagerImpl.java | 2 +- .../vpn/RemoteAccessVpnManagerImpl.java | 2 +- .../network/vpn/Site2SiteVpnManagerImpl.java | 2 +- .../cloud/projects/ProjectManagerImpl.java | 2 +- .../com/cloud/resource/DiscovererBase.java | 3 +- .../cloud/resource/ResourceManagerImpl.java | 2 +- .../ResourceLimitManagerImpl.java | 4 +- .../com/cloud/server/ConfigurationServer.java | 3 +- .../cloud/server/ConfigurationServerImpl.java | 22 +-- .../cloud/server/ManagementServerImpl.java | 9 +- .../src/com/cloud/server/StatsCollector.java | 2 +- .../servlet/RegisterCompleteServlet.java | 2 +- .../com/cloud/storage/StorageManagerImpl.java | 2 +- .../com/cloud/storage/VolumeManagerImpl.java | 3 +- .../storage/download/DownloadMonitorImpl.java | 3 +- .../SecondaryStorageManagerImpl.java | 2 +- .../storage/snapshot/SnapshotManagerImpl.java | 3 +- .../snapshot/SnapshotSchedulerImpl.java | 2 +- .../storage/upload/UploadMonitorImpl.java | 2 +- .../cloud/template/TemplateAdapterBase.java | 2 +- .../cloud/template/TemplateManagerImpl.java | 2 +- .../src/com/cloud/usage/UsageServiceImpl.java | 2 +- .../com/cloud/user/AccountManagerImpl.java | 2 +- .../src/com/cloud/vm/UserVmManagerImpl.java | 2 +- .../cloud/vm/VirtualMachineManagerImpl.java | 8 +- .../vm/snapshot/VMSnapshotManagerImpl.java | 2 +- .../GlobalLoadBalancingRulesServiceImpl.java | 2 +- ...SecurityGroupManagerTestConfiguration.java | 3 +- .../vm/DeploymentPlanningManagerImplTest.java | 6 +- .../test/com/cloud/vm/UserVmManagerTest.java | 2 +- .../vm/VirtualMachineManagerImplTest.java | 2 +- .../vm/snapshot/VMSnapshotManagerTest.java | 4 +- server/test/com/cloud/vpc/VpcTest.java | 2 +- .../com/cloud/vpc/VpcTestConfiguration.java | 3 +- .../vpc/dao/MockConfigurationDaoImpl.java | 5 +- .../ChildTestConfiguration.java | 2 +- .../CreateNetworkOfferingTest.java | 4 +- .../privategw/AclOnPrivateGwTest.java | 6 +- ...obalLoadBalancingRulesServiceImplTest.java | 2 +- .../LocalNfsSecondaryStorageResource.java | 4 +- .../resource/SecondaryStorageDiscoverer.java | 3 +- setup/db/db/schema-420to430.sql | 7 - .../cloud/usage/UsageAlertManagerImpl.java | 3 +- .../src/com/cloud/usage/UsageManagerImpl.java | 5 +- .../usage/UsageManagerTestConfiguration.java | 3 +- .../cloudstack}/config/ConfigDepot.java | 52 +++-- .../apache/cloudstack}/config/ConfigKey.java | 182 ++++++++++-------- .../cloudstack}/config/ConfigValue.java | 154 ++++++++------- .../cloudstack}/config/Configurable.java | 13 +- .../cloudstack/config/Configuration.java | 29 ++- .../cloud/hypervisor/vmware/mo/ClusterMO.java | 2 +- .../hypervisor/vmware/mo/DatacenterMO.java | 2 +- .../cloud/hypervisor/vmware/mo/HostMO.java | 2 +- .../hypervisor/vmware/mo/PerfManagerMO.java | 2 +- .../vmware/mo/VirtualMachineMO.java | 2 +- 190 files changed, 900 insertions(+), 1381 deletions(-) delete mode 100644 api/src/org/apache/cloudstack/config/Configuration.java create mode 100644 engine/compute/pom.xml create mode 100755 engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java create mode 100755 engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestratorImpl.java create mode 100755 engine/planning/src/org/apache/cloudstack/platform/planning/Concierge.java create mode 100644 engine/schema/src/com/cloud/configuration/ConfigurationVO.java rename {framework/config/src/org/apache/cloudstack/framework/config => engine/schema/src/com/cloud/configuration}/dao/ConfigurationDao.java (93%) rename {framework/config/src/org/apache/cloudstack/framework/config => engine/schema/src/com/cloud/configuration}/dao/ConfigurationDaoImpl.java (87%) delete mode 100644 framework/config/pom.xml delete mode 100644 framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotImpl.java delete mode 100644 framework/config/src/org/apache/cloudstack/framework/config/ConfigurationVO.java delete mode 100644 framework/config/src/org/apache/cloudstack/framework/config/ScopedConfigValue.java delete mode 100644 framework/config/test/org/apache/cloudstack/framework/config/ConfigDepotAdminTest.java rename {framework/config/src/org/apache/cloudstack/framework => utils/src/org/apache/cloudstack}/config/ConfigDepot.java (86%) rename {framework/config/src/org/apache/cloudstack/framework => utils/src/org/apache/cloudstack}/config/ConfigKey.java (64%) rename {framework/config/src/org/apache/cloudstack/framework => utils/src/org/apache/cloudstack}/config/ConfigValue.java (94%) rename {framework/config/src/org/apache/cloudstack/framework => utils/src/org/apache/cloudstack}/config/Configurable.java (73%) rename framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotAdmin.java => utils/src/org/apache/cloudstack/config/Configuration.java (56%) diff --git a/api/src/org/apache/cloudstack/config/Configuration.java b/api/src/org/apache/cloudstack/config/Configuration.java deleted file mode 100644 index a8031a5b5c9..00000000000 --- a/api/src/org/apache/cloudstack/config/Configuration.java +++ /dev/null @@ -1,84 +0,0 @@ -// 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.config; - -import java.util.Date; - -/** - * Configuration represents one global configuration parameter for CloudStack. - * Its scope should indicate whether this parameter can be set at different - * organization levels in CloudStack. - * - */ -public interface Configuration { - - /** - * @return Category of the parameter. - */ - String getCategory(); - - /** - * @return Server instance that uses this parameter. - */ - String getInstance(); - - /** - * @return Component that introduced this parameter. - */ - String getComponent(); - - /** - * @return Name of the parameter. - */ - String getName(); - - /** - * @return Value set by the administrator. Defaults to the defaultValue. - */ - String getValue(); - - /** - * @return Description of the value and the range of the value. - */ - String getDescription(); - - /** - * @return Default value for this parameter. Null indicates this parameter is optional. - */ - String getDefaultValue(); - - /** - * @return Scope for the parameter. Null indicates that this parameter is - * always global. A non-null value indicates that this parameter can be - * set at a certain organization level. - */ - String getScope(); - - /** - * @return can the configuration parameter be changed without restarting the server. - */ - boolean isDynamic(); - - /** - * @return The date this VO was updated by the components. Note that this is not - * a date for when an administrator updates the value. This is when the system - * updated this value. By searching on this field gives you all the config - * parameters that have changed in an upgrade. Null value indicates that this - * parameter is no longer used and can be deleted. - */ - Date getUpdated(); -} diff --git a/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java index ab79b1776b6..90759fe6702 100644 --- a/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java +++ b/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java @@ -16,26 +16,25 @@ // under the License. package org.apache.cloudstack.api.command.test; -import java.util.Arrays; - import junit.framework.Assert; import junit.framework.TestCase; +import org.apache.cloudstack.api.ResponseGenerator; +import org.apache.cloudstack.api.ServerApiException; +import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.mockito.Mockito; -import org.apache.cloudstack.api.ResponseGenerator; -import org.apache.cloudstack.api.ServerApiException; -import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd; - import com.cloud.exception.DiscoveryException; import com.cloud.exception.ResourceInUseException; import com.cloud.org.Cluster; import com.cloud.resource.ResourceService; +import edu.emory.mathcs.backport.java.util.Arrays; + public class AddClusterCmdTest extends TestCase { private AddClusterCmd addClusterCmd; @@ -45,7 +44,6 @@ public class AddClusterCmdTest extends TestCase { @Rule public ExpectedException expectedException = ExpectedException.none(); - @Override @Before public void setUp() { /* @@ -112,7 +110,8 @@ public class AddClusterCmdTest extends TestCase { Cluster cluster = Mockito.mock(Cluster.class); Cluster[] clusterArray = new Cluster[] { cluster }; - Mockito.doReturn(Arrays.asList(clusterArray)).when(resourceService).discoverCluster(addClusterCmd); + Mockito.when(resourceService.discoverCluster(addClusterCmd)) + .thenReturn(Arrays.asList(clusterArray)); addClusterCmd.execute(); diff --git a/api/test/org/apache/cloudstack/api/command/test/AddHostCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/AddHostCmdTest.java index eb78e7b2d9f..531f51105e1 100644 --- a/api/test/org/apache/cloudstack/api/command/test/AddHostCmdTest.java +++ b/api/test/org/apache/cloudstack/api/command/test/AddHostCmdTest.java @@ -16,28 +16,27 @@ // under the License. package org.apache.cloudstack.api.command.test; -import java.util.Arrays; - import junit.framework.Assert; import junit.framework.TestCase; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.mockito.Mockito; - import org.apache.cloudstack.api.ResponseGenerator; import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.command.admin.host.AddHostCmd; import org.apache.cloudstack.api.response.HostResponse; import org.apache.cloudstack.api.response.ListResponse; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.mockito.Mockito; import com.cloud.exception.DiscoveryException; import com.cloud.exception.InvalidParameterValueException; import com.cloud.host.Host; import com.cloud.resource.ResourceService; +import edu.emory.mathcs.backport.java.util.Arrays; + public class AddHostCmdTest extends TestCase { private AddHostCmd addHostCmd; @@ -47,7 +46,6 @@ public class AddHostCmdTest extends TestCase { @Rule public ExpectedException expectedException = ExpectedException.none(); - @Override @Before public void setUp() { resourceService = Mockito.mock(ResourceService.class); @@ -127,12 +125,14 @@ public class AddHostCmdTest extends TestCase { HostResponse responseHost = new HostResponse(); responseHost.setName("Test"); - Mockito.doReturn(Arrays.asList(mockArray)).when(resourceService).discoverHosts(addHostCmd); - Mockito.when(responseGenerator.createHostResponse(host)).thenReturn(responseHost); + Mockito.when(resourceService.discoverHosts(addHostCmd)).thenReturn( + Arrays.asList(mockArray)); + Mockito.when(responseGenerator.createHostResponse(host)).thenReturn( + responseHost); addHostCmd.execute(); Mockito.verify(responseGenerator).createHostResponse(host); - @SuppressWarnings("unchecked") - ListResponse actualResponse = ((ListResponse)addHostCmd.getResponseObject()); + ListResponse actualResponse = ((ListResponse) addHostCmd + .getResponseObject()); Assert.assertEquals(responseHost, actualResponse.getResponses().get(0)); Assert.assertEquals("addhostresponse", actualResponse.getResponseName()); @@ -144,7 +144,8 @@ public class AddHostCmdTest extends TestCase { addHostCmd._resourceService = resourceService; try { - Mockito.when(resourceService.discoverHosts(addHostCmd)).thenThrow(DiscoveryException.class); + Mockito.when(resourceService.discoverHosts(addHostCmd)).thenThrow( + DiscoveryException.class); } catch (InvalidParameterValueException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { diff --git a/client/pom.xml b/client/pom.xml index 1afe5b898d3..bebf86ac289 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -195,6 +195,13 @@ cloud-engine-components-api ${project.version} + + + org.apache.cloudstack + cloud-engine-compute + ${project.version} + + org.apache.cloudstack cloud-engine-network diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index 26cd0474b7c..b832b09c9c2 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -81,7 +81,6 @@ - - + - + diff --git a/engine/compute/pom.xml b/engine/compute/pom.xml new file mode 100644 index 00000000000..9ad9ebc4a06 --- /dev/null +++ b/engine/compute/pom.xml @@ -0,0 +1,52 @@ + + + 4.0.0 + cloud-engine-compute + Apache CloudStack Cloud Engine Compute Component + + org.apache.cloudstack + cloud-engine + 4.3.0-SNAPSHOT + ../pom.xml + + + + org.apache.cloudstack + cloud-engine-api + ${project.version} + + + org.apache.cloudstack + cloud-framework-ipc + ${project.version} + + + org.apache.cloudstack + cloud-engine-components-api + ${project.version} + + + + install + src + test + + diff --git a/engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java b/engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java new file mode 100755 index 00000000000..dc5027e9ece --- /dev/null +++ b/engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestrator.java @@ -0,0 +1,34 @@ +/* + * 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.compute; + +import java.util.logging.Handler; + +public interface ComputeOrchestrator { + /** + * start the vm + * @param vm vm + * @param reservationId + */ + void start(String vm, String reservationId, Handler handler); + + void cancel(String reservationId); + + void stop(String vm, String reservationId); +} diff --git a/engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestratorImpl.java b/engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestratorImpl.java new file mode 100755 index 00000000000..12d45332f9b --- /dev/null +++ b/engine/compute/src/org/apache/cloudstack/compute/ComputeOrchestratorImpl.java @@ -0,0 +1,42 @@ +/* + * 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.compute; + +import java.util.logging.Handler; + + +public class ComputeOrchestratorImpl implements ComputeOrchestrator { + + @Override + public void cancel(String reservationId) { + } + + @Override + public void stop(String vm, String reservationId) { + // Retrieve the VM + // Locate the HypervisorGuru based on the VM type + // Call HypervisorGuru to stop the VM + } + + @Override + public void start(String vm, String reservationId, Handler handler) { + // TODO Auto-generated method stub + + } +} diff --git a/engine/planning/src/org/apache/cloudstack/platform/planning/Concierge.java b/engine/planning/src/org/apache/cloudstack/platform/planning/Concierge.java new file mode 100755 index 00000000000..97dfb2bbfe6 --- /dev/null +++ b/engine/planning/src/org/apache/cloudstack/platform/planning/Concierge.java @@ -0,0 +1,36 @@ +/* + * 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.platform.planning; + +import org.apache.cloudstack.framework.ipc.Ipc; + +public interface Concierge { + @Ipc(topic="cs.concierge.reserve") + String reserve(String vm, String planner, Long until); + + @Ipc(topic="cs.concierge.cancel") + String cancel(String reservationId); + + @Ipc(topic="cs.concierge.claim") + String claim(String reservationId); + + @Ipc(topic="cs.concierge.reserveAnother") + String reserveAnother(String reservationId); + +} diff --git a/engine/pom.xml b/engine/pom.xml index 040246a4664..25a2fa4986e 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -32,6 +32,7 @@ api + compute orchestration storage storage/volume diff --git a/engine/schema/src/com/cloud/configuration/ConfigurationVO.java b/engine/schema/src/com/cloud/configuration/ConfigurationVO.java new file mode 100644 index 00000000000..c0e02b5dd31 --- /dev/null +++ b/engine/schema/src/com/cloud/configuration/ConfigurationVO.java @@ -0,0 +1,109 @@ +// 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 com.cloud.configuration; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.apache.cloudstack.config.Configuration; + +import com.cloud.utils.crypt.DBEncryptionUtil; + +@Entity +@Table(name="configuration") +public class ConfigurationVO implements Configuration{ + @Column(name="instance") + private String instance; + + @Column(name="component") + private String component; + + @Id + @Column(name="name") + private String name; + + @Column(name="value", length=4095) + private String value; + + @Column(name="description", length=1024) + private String description; + + @Column(name="category") + private String category; + + protected ConfigurationVO() {} + + public ConfigurationVO(String category, String instance, String component, String name, String value, String description) { + this.category = category; + this.instance = instance; + this.component = component; + this.name = name; + this.value = value; + this.description = description; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getInstance() { + return instance; + } + + public void setInstance(String instance) { + this.instance = instance; + } + + public String getComponent() { + return component; + } + + public void setComponent(String component) { + this.component = component; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return (("Hidden".equals(getCategory()) || "Secure".equals(getCategory())) ? DBEncryptionUtil.decrypt(value) : value); + } + + public void setValue(String value) { + this.value = value; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + +} diff --git a/framework/config/src/org/apache/cloudstack/framework/config/dao/ConfigurationDao.java b/engine/schema/src/com/cloud/configuration/dao/ConfigurationDao.java similarity index 93% rename from framework/config/src/org/apache/cloudstack/framework/config/dao/ConfigurationDao.java rename to engine/schema/src/com/cloud/configuration/dao/ConfigurationDao.java index 70fdb2e4d87..77a25b1a6ab 100644 --- a/framework/config/src/org/apache/cloudstack/framework/config/dao/ConfigurationDao.java +++ b/engine/schema/src/com/cloud/configuration/dao/ConfigurationDao.java @@ -14,57 +14,56 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. -package org.apache.cloudstack.framework.config.dao; +package com.cloud.configuration.dao; import java.util.Map; import java.util.List; -import org.apache.cloudstack.framework.config.ConfigurationVO; - +import com.cloud.configuration.ConfigurationVO; import com.cloud.utils.db.GenericDao; public interface ConfigurationDao extends GenericDao { - + /** - * + * * 1. params passed in. * 2. configuration for the instance. * 3. configuration for the DEFAULT instance. - * + * * @param params parameters from the components.xml which will override the database values. * @return a consolidated look at the configuration parameters. */ public Map getConfiguration(String instance, Map params); - + public Map getConfiguration(Map params); - + public Map getConfiguration(); - + /** * Updates a configuration value * @param value the new value * @return true if success, false if failure */ public boolean update(String name, String value); - + /** * Gets the value for the specified configuration name * @return value */ public String getValue(String name); - + public String getValueAndInitIfNotExist(String name, String category, String initValue); - + /** * returns whether or not this is a premium configuration * @return true if premium configuration, false otherwise */ boolean isPremium(); - + ConfigurationVO findByName(String name); boolean update(String name, String category, String value); - + void invalidateCache(); } diff --git a/framework/config/src/org/apache/cloudstack/framework/config/dao/ConfigurationDaoImpl.java b/engine/schema/src/com/cloud/configuration/dao/ConfigurationDaoImpl.java similarity index 87% rename from framework/config/src/org/apache/cloudstack/framework/config/dao/ConfigurationDaoImpl.java rename to engine/schema/src/com/cloud/configuration/dao/ConfigurationDaoImpl.java index c677fa9c467..853ae6bf09d 100644 --- a/framework/config/src/org/apache/cloudstack/framework/config/dao/ConfigurationDaoImpl.java +++ b/engine/schema/src/com/cloud/configuration/dao/ConfigurationDaoImpl.java @@ -14,7 +14,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. -package org.apache.cloudstack.framework.config.dao; +package com.cloud.configuration.dao; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -29,8 +29,7 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.ConfigurationVO; - +import com.cloud.configuration.ConfigurationVO; import com.cloud.utils.component.ComponentLifecycle; import com.cloud.utils.crypt.DBEncryptionUtil; import com.cloud.utils.db.DB; @@ -49,13 +48,13 @@ public class ConfigurationDaoImpl extends GenericDaoBase InstanceSearch; final SearchBuilder NameSearch; - + public static final String UPDATE_CONFIGURATION_SQL = "UPDATE configuration SET value = ? WHERE name = ?"; public ConfigurationDaoImpl () { InstanceSearch = createSearchBuilder(); InstanceSearch.and("instance", InstanceSearch.entity().getInstance(), SearchCriteria.Op.EQ); - + NameSearch = createSearchBuilder(); NameSearch.and("name", NameSearch.entity().getName(), SearchCriteria.Op.EQ); setRunLevel(ComponentLifecycle.RUN_LEVEL_SYSTEM_BOOTSTRAP); @@ -65,10 +64,10 @@ public class ConfigurationDaoImpl extends GenericDaoBase configurations = listIncludingRemovedBy(sc); for (ConfigurationVO config : configurations) { - if (config.getValue() != null) - _configs.put(config.getName(), config.getValue()); + if (config.getValue() != null) + _configs.put(config.getName(), config.getValue()); } if(!"DEFAULT".equals(instance)){ - //Default instance params are already added, need not add again - sc = InstanceSearch.create(); - sc.setParameters("instance", instance); + //Default instance params are already added, need not add again + sc = InstanceSearch.create(); + sc.setParameters("instance", instance); - configurations = listIncludingRemovedBy(sc); + configurations = listIncludingRemovedBy(sc); - for (ConfigurationVO config : configurations) { - if (config.getValue() != null) - _configs.put(config.getName(), config.getValue()); - } + for (ConfigurationVO config : configurations) { + if (config.getValue() != null) + _configs.put(config.getName(), config.getValue()); + } } } @@ -109,12 +108,12 @@ public class ConfigurationDaoImpl extends GenericDaoBase getConfiguration(Map params) { return getConfiguration("DEFAULT", params); } - + @Override public Map getConfiguration() { return getConfiguration("DEFAULT", new HashMap()); } - + protected void mergeConfigs(Map dbParams, Map xmlParams) { for (Map.Entry param : xmlParams.entrySet()) { dbParams.put(param.getKey(), (String)param.getValue()); @@ -123,9 +122,9 @@ public class ConfigurationDaoImpl extends GenericDaoBase params) throws ConfigurationException { - super.configure(name, params); + super.configure(name, params); - Object premium = params.get("premium"); + Object premium = params.get("premium"); _premium = (premium != null) && ((String) premium).equals("true"); return true; @@ -134,7 +133,7 @@ public class ConfigurationDaoImpl extends GenericDaoBase sc = NameSearch.create(); sc.setParameters("name", name); return findOneIncludingRemovedBy(sc); } - + } diff --git a/engine/schema/src/com/cloud/keystore/KeystoreDaoImpl.java b/engine/schema/src/com/cloud/keystore/KeystoreDaoImpl.java index f53f228e6b3..0ea97c783b9 100644 --- a/engine/schema/src/com/cloud/keystore/KeystoreDaoImpl.java +++ b/engine/schema/src/com/cloud/keystore/KeystoreDaoImpl.java @@ -17,7 +17,6 @@ package com.cloud.keystore; import java.sql.PreparedStatement; -import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -33,6 +32,8 @@ import com.cloud.utils.db.SearchCriteria.Op; import com.cloud.utils.db.Transaction; import com.cloud.utils.exception.CloudRuntimeException; +import edu.emory.mathcs.backport.java.util.Collections; + @Component @Local(value={KeystoreDao.class}) public class KeystoreDaoImpl extends GenericDaoBase implements KeystoreDao { @@ -53,8 +54,7 @@ public class KeystoreDaoImpl extends GenericDaoBase implements public List findCertChain() { SearchCriteria sc = CertChainSearch.create(); List ks = listBy(sc); - Collections.sort(ks, new Comparator() { @Override - public int compare(Object o1, Object o2) { + Collections.sort(ks, new Comparator() { public int compare(Object o1, Object o2) { Integer seq1 = ((KeystoreVO)o1).getIndex(); Integer seq2 = ((KeystoreVO)o2).getIndex(); return seq1.compareTo(seq2); @@ -99,7 +99,7 @@ public class KeystoreDaoImpl extends GenericDaoBase implements @Override @DB public void save(String alias, String certificate, Integer index, String domainSuffix) { - KeystoreVO ks = findByName(alias); + KeystoreVO ks = this.findByName(alias); if (ks != null) { ks.setCertificate(certificate); ks.setName(alias); @@ -112,7 +112,7 @@ public class KeystoreDaoImpl extends GenericDaoBase implements newks.setName(alias); newks.setIndex(index); newks.setDomainSuffix(domainSuffix); - persist(newks); + this.persist(newks); } } } diff --git a/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java index 9f255c9ab55..924322583f0 100755 --- a/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java +++ b/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java @@ -30,14 +30,12 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import com.cloud.storage.VMTemplateStorageResourceAssoc; - -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.domain.dao.DomainDao; import com.cloud.host.Host; diff --git a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java index 083b7c1bf15..a8107727692 100644 --- a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java +++ b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java @@ -19,6 +19,7 @@ package org.apache.cloudstack.storage.cache.manager; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.DataStoreRole; import com.cloud.utils.NumbersUtil; import com.cloud.utils.component.Manager; @@ -28,20 +29,16 @@ import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria2; import com.cloud.utils.db.SearchCriteriaService; import com.cloud.utils.exception.CloudRuntimeException; - import org.apache.cloudstack.engine.subsystem.api.storage.*; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event; import org.apache.cloudstack.framework.async.AsyncCallFuture; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.cache.allocator.StorageCacheAllocator; import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager; import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; - import org.apache.log4j.Logger; import javax.inject.Inject; import javax.naming.ConfigurationException; - import java.util.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executors; diff --git a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java index 424a8fb73e7..440bf53ebda 100644 --- a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java +++ b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java @@ -18,23 +18,20 @@ */ package org.apache.cloudstack.storage.cache.manager; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.utils.DateUtil; import com.cloud.utils.NumbersUtil; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria2; import com.cloud.utils.db.SearchCriteriaService; - import org.apache.cloudstack.engine.subsystem.api.storage.*; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; - import org.apache.commons.lang.math.NumberUtils; import java.util.Calendar; import java.util.Date; - import javax.annotation.PostConstruct; import javax.inject.Inject; diff --git a/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java b/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java index 8537a1cea26..5b791abb26a 100644 --- a/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java +++ b/engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java @@ -39,14 +39,12 @@ import org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.command.CopyCommand; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -59,6 +57,7 @@ import com.cloud.agent.api.to.DataTO; import com.cloud.agent.api.to.NfsTO; import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.host.Host; import com.cloud.host.dao.HostDao; import com.cloud.hypervisor.Hypervisor.HypervisorType; diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java index 0a7f31c0fbf..9eef3992e3e 100644 --- a/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java +++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java @@ -48,7 +48,6 @@ import org.apache.cloudstack.framework.async.AsyncCallFuture; import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.framework.async.AsyncRpcContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.command.CommandResult; import org.apache.cloudstack.storage.command.DeleteCommand; import org.apache.cloudstack.storage.datastore.DataObjectManager; @@ -58,7 +57,6 @@ import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity; import org.apache.cloudstack.storage.image.store.TemplateObject; import org.apache.cloudstack.storage.to.TemplateObjectTO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -67,6 +65,7 @@ import com.cloud.agent.api.storage.ListTemplateAnswer; import com.cloud.agent.api.storage.ListTemplateCommand; import com.cloud.alert.AlertManager; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; diff --git a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java index 86cafa86172..817262c28d7 100644 --- a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java +++ b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java @@ -21,12 +21,10 @@ import java.io.IOException; import org.apache.cloudstack.acl.APIChecker; import org.apache.cloudstack.engine.service.api.OrchestrationService; import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector; -import org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl; import org.apache.cloudstack.framework.rpc.RpcProvider; import org.apache.cloudstack.storage.cache.manager.StorageCacheManagerImpl; import org.apache.cloudstack.storage.test.ChildTestConfiguration.Library; import org.apache.cloudstack.test.utils.SpringUtils; - import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -42,6 +40,7 @@ import com.cloud.alert.AlertManager; import com.cloud.capacity.dao.CapacityDaoImpl; import com.cloud.cluster.ClusteredAgentRebalanceService; import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl; +import com.cloud.configuration.dao.ConfigurationDaoImpl; import com.cloud.dc.ClusterDetailsDaoImpl; import com.cloud.dc.dao.ClusterDaoImpl; import com.cloud.dc.dao.DataCenterDaoImpl; diff --git a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/XenserverSnapshotStrategy.java b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/XenserverSnapshotStrategy.java index d860dead5af..3e6c508a2ea 100644 --- a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/XenserverSnapshotStrategy.java +++ b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/XenserverSnapshotStrategy.java @@ -21,15 +21,14 @@ import javax.inject.Inject; import org.apache.cloudstack.engine.subsystem.api.storage.*; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.command.CreateObjectAnswer; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO; import org.apache.cloudstack.storage.to.SnapshotObjectTO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.InvalidParameterValueException; import com.cloud.storage.DataStoreRole; import com.cloud.storage.Snapshot; diff --git a/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java b/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java index 83d34a07f4a..68faa47541b 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java +++ b/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java @@ -22,12 +22,11 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; +import com.cloud.configuration.dao.ConfigurationDaoImpl; import com.cloud.utils.component.ComponentContext; - import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl; import org.apache.cloudstack.storage.command.CopyCommand; import org.apache.cloudstack.storage.command.DownloadCommand; import org.apache.cloudstack.storage.resource.LocalNfsSecondaryStorageResource; diff --git a/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java b/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java index 9d5d7a41cd1..851377e8d74 100755 --- a/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java +++ b/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java @@ -31,9 +31,9 @@ import org.apache.log4j.Logger; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.dao.ClusterDao; import com.cloud.deploy.DeploymentPlan; diff --git a/engine/storage/src/org/apache/cloudstack/storage/allocator/GarbageCollectingStoragePoolAllocator.java b/engine/storage/src/org/apache/cloudstack/storage/allocator/GarbageCollectingStoragePoolAllocator.java index 9c2c76f5307..15b44071f81 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/allocator/GarbageCollectingStoragePoolAllocator.java +++ b/engine/storage/src/org/apache/cloudstack/storage/allocator/GarbageCollectingStoragePoolAllocator.java @@ -24,10 +24,9 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.deploy.DeploymentPlan; import com.cloud.deploy.DeploymentPlanner.ExcludeList; import com.cloud.storage.StorageManager; diff --git a/engine/storage/src/org/apache/cloudstack/storage/allocator/LocalStoragePoolAllocator.java b/engine/storage/src/org/apache/cloudstack/storage/allocator/LocalStoragePoolAllocator.java index 3ea2c462087..e0d0145c471 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/allocator/LocalStoragePoolAllocator.java +++ b/engine/storage/src/org/apache/cloudstack/storage/allocator/LocalStoragePoolAllocator.java @@ -26,13 +26,12 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.capacity.dao.CapacityDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.deploy.DeploymentPlan; import com.cloud.deploy.DeploymentPlanner.ExcludeList; import com.cloud.service.dao.ServiceOfferingDao; diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java index a9263a98879..00d08d719d3 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java @@ -18,21 +18,18 @@ */ package org.apache.cloudstack.storage.datastore; -import java.util.Collections; -import java.util.List; - -import javax.inject.Inject; - -import org.springframework.stereotype.Component; - +import com.cloud.storage.DataStoreRole; +import com.cloud.utils.exception.CloudRuntimeException; +import edu.emory.mathcs.backport.java.util.Collections; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.Scope; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; import org.apache.cloudstack.storage.image.datastore.ImageStoreProviderManager; +import org.springframework.stereotype.Component; -import com.cloud.storage.DataStoreRole; -import com.cloud.utils.exception.CloudRuntimeException; +import javax.inject.Inject; +import java.util.List; @Component public class DataStoreManagerImpl implements DataStoreManager { diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/BaseImageStoreDriverImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/BaseImageStoreDriverImpl.java index 3a70d8fcc55..fcbc5c90544 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/BaseImageStoreDriverImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/BaseImageStoreDriverImpl.java @@ -23,13 +23,13 @@ import com.cloud.agent.api.storage.DownloadAnswer; import com.cloud.agent.api.storage.Proxy; import com.cloud.agent.api.to.DataObjectType; import com.cloud.agent.api.to.DataTO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.VMTemplateStorageResourceAssoc; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.VolumeVO; import com.cloud.storage.dao.VMTemplateDao; import com.cloud.storage.dao.VolumeDao; import com.cloud.storage.download.DownloadMonitor; - import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult; import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult; import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; @@ -39,18 +39,15 @@ import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector; import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.framework.async.AsyncRpcContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.command.CommandResult; import org.apache.cloudstack.storage.command.DeleteCommand; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; - import org.apache.log4j.Logger; import javax.inject.Inject; - import java.net.URI; import java.net.URISyntaxException; import java.util.Date; diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/db/TemplateDataStoreDaoImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/db/TemplateDataStoreDaoImpl.java index 5f47de86b95..7388ca99ec1 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/db/TemplateDataStoreDaoImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/db/TemplateDataStoreDaoImpl.java @@ -17,7 +17,6 @@ package org.apache.cloudstack.storage.image.db; import java.util.ArrayList; -import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; @@ -25,9 +24,6 @@ import java.util.Map; import javax.inject.Inject; import javax.naming.ConfigurationException; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; - import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; @@ -36,16 +32,20 @@ import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreState import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.storage.DataStoreRole; import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; -import com.cloud.utils.db.SearchCriteria.Op; import com.cloud.utils.db.Transaction; +import com.cloud.utils.db.SearchCriteria.Op; import com.cloud.utils.db.UpdateBuilder; +import edu.emory.mathcs.backport.java.util.Collections; + @Component public class TemplateDataStoreDaoImpl extends GenericDaoBase implements TemplateDataStoreDao { private static final Logger s_logger = Logger.getLogger(TemplateDataStoreDaoImpl.class); @@ -250,11 +250,11 @@ public class TemplateDataStoreDaoImpl extends GenericDaoBase listByTemplateZoneDownloadStatus(long templateId, Long zoneId, Status... status) { // get all elgible image stores - List imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); + List imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); if (imgStores != null) { List result = new ArrayList(); for (DataStore store : imgStores) { - List sRes = listByTemplateStoreDownloadStatus(templateId, store.getId(), + List sRes = this.listByTemplateStoreDownloadStatus(templateId, store.getId(), status); if (sRes != null && sRes.size() > 0) { result.addAll(sRes); @@ -268,10 +268,10 @@ public class TemplateDataStoreDaoImpl extends GenericDaoBase imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); + List imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); if (imgStores != null) { for (DataStore store : imgStores) { - List sRes = listByTemplateStoreDownloadStatus(templateId, store.getId(), + List sRes = this.listByTemplateStoreDownloadStatus(templateId, store.getId(), status); if (sRes != null && sRes.size() > 0) { Collections.shuffle(sRes); @@ -326,13 +326,13 @@ public class TemplateDataStoreDaoImpl extends GenericDaoBase imgStores = null; if (role == DataStoreRole.Image) { - imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); + imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); } else if (role == DataStoreRole.ImageCache) { - imgStores = _storeMgr.getImageCacheStores(new ZoneScope(zoneId)); + imgStores = this._storeMgr.getImageCacheStores(new ZoneScope(zoneId)); } if (imgStores != null) { for (DataStore store : imgStores) { - List sRes = listByTemplateStore(templateId, store.getId()); + List sRes = this.listByTemplateStore(templateId, store.getId()); if (sRes != null && sRes.size() > 0) { return sRes.get(0); } diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java index e8fbf473579..ee5088083f5 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java @@ -48,7 +48,6 @@ import org.apache.cloudstack.framework.async.AsyncCallFuture; import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.framework.async.AsyncRpcContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.command.CommandResult; import org.apache.cloudstack.storage.command.DeleteCommand; import org.apache.cloudstack.storage.datastore.DataObjectManager; @@ -58,7 +57,6 @@ import org.apache.cloudstack.storage.datastore.PrimaryDataStoreProviderManager; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; import org.apache.cloudstack.storage.to.VolumeObjectTO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -69,6 +67,7 @@ import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.alert.AlertManager; import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventUtils; import com.cloud.exception.ConcurrentOperationException; diff --git a/framework/cluster/pom.xml b/framework/cluster/pom.xml index fe8af4cdba1..579dbcfd1d0 100644 --- a/framework/cluster/pom.xml +++ b/framework/cluster/pom.xml @@ -29,17 +29,5 @@ cloud-framework-db ${project.version} - - org.apache.cloudstack - cloud-framework-config - ${project.version} - - - org.apache.cloudstack - cloud-api - ${project.version} - test-jar - test - diff --git a/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java b/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java index 24e30a20021..dd7a6035a1a 100644 --- a/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java +++ b/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java @@ -45,10 +45,9 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.ConfigDepot; -import org.apache.cloudstack.framework.config.ConfigKey; -import org.apache.cloudstack.framework.config.ConfigValue; -import org.apache.cloudstack.framework.config.Configurable; +import org.apache.cloudstack.config.ConfigDepot; +import org.apache.cloudstack.config.ConfigKey; +import org.apache.cloudstack.config.ConfigValue; import org.apache.cloudstack.utils.identity.ManagementServerNode; import com.cloud.cluster.dao.ManagementServerHostDao; @@ -69,7 +68,7 @@ import com.cloud.utils.mgmt.JmxUtil; import com.cloud.utils.net.NetUtils; @Local(value = { ClusterManager.class }) -public class ClusterManagerImpl extends ManagerBase implements ClusterManager, Configurable { +public class ClusterManagerImpl extends ManagerBase implements ClusterManager { private static final Logger s_logger = Logger.getLogger(ClusterManagerImpl.class); private static final int EXECUTOR_SHUTDOWN_TIMEOUT = 1000; // 1 second @@ -1028,10 +1027,10 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C return true; } - protected final ConfigKey HeartBeatInterval = new ConfigKey(Integer.class, "cluster.heartbeat.interval", "management-server", - "1500", "Interval to check for the heart beat between management server nodes", false); - protected final ConfigKey HeartBeatThreshold = new ConfigKey(Integer.class, "cluster.heartbeat.threshold", "management-server", - "150000", "Threshold before self-fence the management server", true); + protected final ConfigKey HeartBeatInterval = new ConfigKey(Integer.class, "cluster.heartbeat.interval", "management-server", ClusterManager.class, + "1500", "Interval to check for the heart beat between management server nodes", false, "Seconds"); + protected final ConfigKey HeartBeatThreshold = new ConfigKey(Integer.class, "cluster.heartbeat.threshold", "management-server", ClusterManager.class, + "150000", "Threshold before self-fence the management server", true, "Seconds"); @Override public boolean configure(String name, Map params) throws ConfigurationException { @@ -1112,16 +1111,6 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C return pingManagementNode(mshost); } - @Override - public String getConfigComponentName() { - return ClusterManager.class.getSimpleName(); - } - - @Override - public ConfigKey[] getConfigKeys() { - return new ConfigKey[] {HeartBeatInterval, HeartBeatThreshold}; - } - private boolean pingManagementNode(ManagementServerHostVO mshost) { String targetIp = mshost.getServiceIP(); diff --git a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletAdapter.java b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletAdapter.java index 87e92f5c78d..13b466dd44c 100644 --- a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletAdapter.java +++ b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletAdapter.java @@ -31,9 +31,9 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.ConfigDepot; -import org.apache.cloudstack.framework.config.ConfigKey; -import org.apache.cloudstack.framework.config.ConfigValue; +import org.apache.cloudstack.config.ConfigDepot; +import org.apache.cloudstack.config.ConfigKey; +import org.apache.cloudstack.config.ConfigValue; import com.cloud.cluster.dao.ManagementServerHostDao; import com.cloud.utils.NumbersUtil; @@ -125,8 +125,8 @@ public class ClusterServiceServletAdapter extends AdapterBase implements Cluster return true; } - private final ConfigKey ClusterMessageTimeOut = new ConfigKey(Integer.class, "cluster.message.timeout.seconds", "Advance", "300", - "Time (in seconds) to wait before a inter-management server message post times out.", true); + private final ConfigKey ClusterMessageTimeOut = new ConfigKey(Integer.class, "cluster.message.timeout.seconds", "Advance", ClusterManager.class, "300", + "Time (in seconds) to wait before a inter-management server message post times out.", true, "Seconds"); private void init() throws ConfigurationException { if(_mshostDao != null) diff --git a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java index 2a1d16e31ff..c3ed3fe590d 100644 --- a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java +++ b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java @@ -27,7 +27,7 @@ import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.params.HttpClientParams; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.ConfigValue; +import org.apache.cloudstack.config.ConfigValue; public class ClusterServiceServletImpl implements ClusterService { private static final long serialVersionUID = 4574025200012566153L; diff --git a/framework/config/pom.xml b/framework/config/pom.xml deleted file mode 100644 index 0d4344e010b..00000000000 --- a/framework/config/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - 4.0.0 - cloud-framework-config - Apache CloudStack Framework - Configuration - - org.apache.cloudstack - cloudstack-framework - 4.3.0-SNAPSHOT - ../pom.xml - - - - org.apache.cloudstack - cloud-utils - ${project.version} - - - org.apache.cloudstack - cloud-framework-db - ${project.version} - - - org.apache.cloudstack - cloud-api - ${project.version} - - - org.apache.cloudstack - cloud-api - ${project.version} - test-jar - test - - - diff --git a/framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotImpl.java b/framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotImpl.java deleted file mode 100644 index b2be0f2f298..00000000000 --- a/framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotImpl.java +++ /dev/null @@ -1,106 +0,0 @@ -// 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.framework.config; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.inject.Inject; - -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - -import com.cloud.utils.db.EntityManager; - -/** - * ConfigDepotImpl implements the ConfigDepot and ConfigDepotAdmin interface. - * Its functionalities include: - * - Control how dynamic config values are cached and refreshed. - * - Control how scoped config values are stored. - * - Gather all of the Configurable interfaces and insert their config - * variables into the config table. - * - Hide the data source where configs are stored and retrieved. - * - * When dealing with this class, we must be very careful on cluster situations. - * - * TODO: - * - Move the rest of the changes to the config table to here. - * - Implement ScopedConfigValue - * - Move the code to set scoped configuration values to here. - * - Add the code to mark the rows in configuration table without - * the corresponding keys to be null. - * - Move all of the configurations to using ConfigDepot - * - Completely eliminate Config.java - * - Figure out the correct categories. - * - */ -class ConfigDepotImpl implements ConfigDepot, ConfigDepotAdmin { - @Inject - EntityManager _entityMgr; - - @Inject - ConfigurationDao _configDao; - - @Inject - List _configurables; - - public ConfigDepotImpl() { - } - - @Override - public ConfigValue get(ConfigKey config) { - return new ConfigValue(_entityMgr, config); - } - - @Override - public ScopedConfigValue getScopedValue(ConfigKey config) { - assert (config.scope() != null) : "Did you notice the configuration you're trying to retrieve is not scoped?"; - return new ScopedConfigValue(_entityMgr, config); - } - - @Override - public void populateConfigurations() { - Date date = new Date(); - for (Configurable configurable : _configurables) { - for (ConfigKey key : configurable.getConfigKeys()) { - ConfigurationVO vo = _configDao.findById(key.key()); - if (vo == null) { - vo = new ConfigurationVO(configurable.getConfigComponentName(), key); - vo.setUpdated(date); - _configDao.persist(vo); - } else { - if (vo.isDynamic() != key.isDynamic() || - !vo.getDescription().equals(key.description()) || - ((vo.getDefaultValue() != null && key.defaultValue() == null) || - (vo.getDefaultValue() == null && key.defaultValue() != null) || - !vo.getDefaultValue().equals(key.defaultValue()))) { - vo.setDynamic(key.isDynamic()); - vo.setDescription(key.description()); - vo.setDefaultValue(key.defaultValue()); - vo.setUpdated(date); - _configDao.persist(vo); - } - } - } - } - } - - @Override - public List getComponentsInDepot() { - return new ArrayList(); - } -} diff --git a/framework/config/src/org/apache/cloudstack/framework/config/ConfigurationVO.java b/framework/config/src/org/apache/cloudstack/framework/config/ConfigurationVO.java deleted file mode 100644 index 0cc10190efd..00000000000 --- a/framework/config/src/org/apache/cloudstack/framework/config/ConfigurationVO.java +++ /dev/null @@ -1,175 +0,0 @@ -// 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.framework.config; - -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; - -import org.apache.cloudstack.config.Configuration; - -import com.cloud.utils.crypt.DBEncryptionUtil; - -@Entity -@Table(name = "configuration") -public class ConfigurationVO implements Configuration { - @Column(name = "instance") - private String instance; - - @Column(name = "component") - private String component; - - @Id - @Column(name = "name") - private String name; - - @Column(name = "value", length = 4095) - private String value; - - @Column(name = "default_value", length = 4095) - private String defaultValue; - - @Column(name = "description", length = 1024) - private String description; - - @Column(name = "category") - private String category; - - @Column(name = "is_dynamic") - private boolean dynamic; - - @Column(name = "scope") - private String scope; - - @Column(name = "updated") - @Temporal(value = TemporalType.TIMESTAMP) - private Date updated; - - protected ConfigurationVO() { - } - - public ConfigurationVO(String category, String instance, String component, String name, String value, String description) { - this.category = category; - this.instance = instance; - this.component = component; - this.name = name; - this.value = value; - this.description = description; - } - - public ConfigurationVO(String component, ConfigKey key) { - this(key.category(), "DEFAULT", component, key.key(), key.defaultValue(), key.description()); - defaultValue = key.defaultValue(); - dynamic = key.isDynamic(); - scope = key.scope() != null ? key.scope().getName() : null; - } - - @Override - public String getCategory() { - return category; - } - - public void setCategory(String category) { - this.category = category; - } - - @Override - public String getInstance() { - return instance; - } - - public void setInstance(String instance) { - this.instance = instance; - } - - @Override - public String getComponent() { - return component; - } - - public void setComponent(String component) { - this.component = component; - } - - @Override - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String getValue() { - return (("Hidden".equals(getCategory()) || "Secure".equals(getCategory())) ? DBEncryptionUtil.decrypt(value) : value); - } - - public void setValue(String value) { - this.value = value; - } - - @Override - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - @Override - public String getScope() { - return scope; - } - - @Override - public boolean isDynamic() { - return dynamic; - } - - public void setDynamic(boolean dynamic) { - this.dynamic = dynamic; - } - - @Override - public String getDefaultValue() { - return defaultValue; - } - - public void setDefaultValue(String defaultValue) { - this.defaultValue = defaultValue; - } - - public void setScope(String scope) { - this.scope = scope; - } - - @Override - public Date getUpdated() { - return updated; - } - - public void setUpdated(Date updated) { - this.updated = updated; - } -} diff --git a/framework/config/src/org/apache/cloudstack/framework/config/ScopedConfigValue.java b/framework/config/src/org/apache/cloudstack/framework/config/ScopedConfigValue.java deleted file mode 100644 index 4631521b386..00000000000 --- a/framework/config/src/org/apache/cloudstack/framework/config/ScopedConfigValue.java +++ /dev/null @@ -1,43 +0,0 @@ -// 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.framework.config; - -import com.cloud.dc.DataCenter; -import com.cloud.dc.Pod; -import com.cloud.org.Cluster; -import com.cloud.org.Grouping; -import com.cloud.utils.db.EntityManager; - -public class ScopedConfigValue extends ConfigValue { - public T getValueForScope(long scopeId) { - // TODO: In order to complete this the details for zone, pod, cluster - // needs to have interfaces. Then you can use the EntityManager to - // retrieve those information. - Class scope = _config.scope(); - if (scope == DataCenter.class) { - } else if (scope == Pod.class) { - - } else if (scope == Cluster.class) { - - } - return null; - } - - protected ScopedConfigValue(EntityManager entityMgr, ConfigKey key) { - super(entityMgr, key); - } -} diff --git a/framework/config/test/org/apache/cloudstack/framework/config/ConfigDepotAdminTest.java b/framework/config/test/org/apache/cloudstack/framework/config/ConfigDepotAdminTest.java deleted file mode 100644 index 782b3c78abf..00000000000 --- a/framework/config/test/org/apache/cloudstack/framework/config/ConfigDepotAdminTest.java +++ /dev/null @@ -1,131 +0,0 @@ -// 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.framework.config; - -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import java.io.IOException; - -import javax.inject.Inject; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.ComponentScan.Filter; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.FilterType; -import org.springframework.core.type.classreading.MetadataReader; -import org.springframework.core.type.classreading.MetadataReaderFactory; -import org.springframework.core.type.filter.TypeFilter; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.support.AnnotationConfigContextLoader; - -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import org.apache.cloudstack.test.utils.SpringUtils; - -import com.cloud.utils.component.ComponentContext; -import com.cloud.utils.db.EntityManager; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(loader = AnnotationConfigContextLoader.class) -public class ConfigDepotAdminTest { - private final ConfigKey DynamicIntCK = new ConfigKey(Integer.class, "dynIntKey", "Advance", "10", "Test Key", true); - private final ConfigKey StaticIntCK = new ConfigKey(Integer.class, "statIntKey", "Advance", "10", "Test Key", false); - - @Inject - Configurable configurable; - - @Inject - ConfigDepot _configDepot; - - @Inject - ConfigDepotAdmin _depotAdmin; - - @Inject - EntityManager _entityMgr; - - @Inject - ConfigurationDao _configDao; - - /** - * @throws java.lang.Exception - */ - @Before - public void setUp() throws Exception { - ComponentContext.initComponentsLifeCycle(); // NOTE #3 - } - - @Test - public void testAutoPopulation() { - ConfigurationVO dynamicIntCV = new ConfigurationVO("UnitTestComponent", DynamicIntCK); - dynamicIntCV.setValue("100"); - ConfigurationVO staticIntCV = new ConfigurationVO("UnitTestComponent", StaticIntCK); - dynamicIntCV.setValue("200"); - - when(configurable.getConfigComponentName()).thenReturn("UnitTestComponent"); - when(configurable.getConfigKeys()).thenReturn(new ConfigKey[] {DynamicIntCK, StaticIntCK}); - when(_entityMgr.findById(org.apache.cloudstack.config.Configuration.class, DynamicIntCK.key())).thenReturn(dynamicIntCV); - when(_entityMgr.findById(org.apache.cloudstack.config.Configuration.class, StaticIntCK.key())).thenReturn(staticIntCV); - when(_configDao.findById(StaticIntCK.key())).thenReturn(null); - when(_configDao.findById(DynamicIntCK.key())).thenReturn(dynamicIntCV); - when(_configDao.persist(any(ConfigurationVO.class))).thenReturn(dynamicIntCV); - - _depotAdmin.populateConfigurations(); - - // This is once because DynamicIntCK is returned. - verify(_configDao, times(1)).persist(any(ConfigurationVO.class)); - - when(_configDao.findById(DynamicIntCK.key())).thenReturn(dynamicIntCV); - _depotAdmin.populateConfigurations(); - // This is two because DynamicIntCK also returns null. - verify(_configDao, times(2)).persist(any(ConfigurationVO.class)); - } - - @Configuration - @ComponentScan(basePackageClasses = {ConfigDepotImpl.class}, includeFilters = {@Filter(value = TestConfiguration.Library.class, type = FilterType.CUSTOM)}, useDefaultFilters = false) - static class TestConfiguration extends SpringUtils.CloudStackTestConfiguration { - @Bean - public Configurable configurable() { - return mock(Configurable.class); - } - - @Bean - public EntityManager entityMgr() { - return mock(EntityManager.class); - } - - @Bean - public ConfigurationDao configurationDao() { - return mock(ConfigurationDao.class); - } - - public static class Library implements TypeFilter { - @Override - public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException { - ComponentScan cs = TestConfiguration.class.getAnnotation(ComponentScan.class); - return SpringUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs); - } - } - } -} diff --git a/framework/db/pom.xml b/framework/db/pom.xml index 5af00a00747..77f618d1f09 100644 --- a/framework/db/pom.xml +++ b/framework/db/pom.xml @@ -25,7 +25,7 @@ net.sf.ehcache - ehcache-core + ehcache org.eclipse.persistence diff --git a/framework/db/src/com/cloud/utils/db/GenericDaoBase.java b/framework/db/src/com/cloud/utils/db/GenericDaoBase.java index 94e53748ab8..f593c38a27b 100755 --- a/framework/db/src/com/cloud/utils/db/GenericDaoBase.java +++ b/framework/db/src/com/cloud/utils/db/GenericDaoBase.java @@ -32,10 +32,8 @@ import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collection; -import java.util.Collections; import java.util.Date; import java.util.Enumeration; import java.util.HashMap; @@ -79,6 +77,9 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.Ip; import com.cloud.utils.net.NetUtils; +import edu.emory.mathcs.backport.java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Collections; + /** * GenericDaoBase is a simple way to implement DAOs. It DOES NOT * support the full EJB3 spec. It borrows some of the annotations from @@ -1265,7 +1266,6 @@ public abstract class GenericDaoBase extends Compone return update(ub, sc, rows); } - @Override @DB(txn=false) public int update(final T entity, final SearchCriteria sc) { final UpdateBuilder ub = getUpdateBuilder(entity); diff --git a/framework/jobs/pom.xml b/framework/jobs/pom.xml index f491c60dc5d..b2ef8e7ca1e 100644 --- a/framework/jobs/pom.xml +++ b/framework/jobs/pom.xml @@ -52,10 +52,5 @@ cloud-framework-cluster ${project.version} - - org.apache.cloudstack - cloud-framework-config - ${project.version} - diff --git a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java index 38377ee9202..9b12a57787d 100644 --- a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java +++ b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java @@ -20,7 +20,6 @@ package org.apache.cloudstack.framework.jobs.impl; import java.io.File; import java.io.FileInputStream; import java.util.Arrays; -import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; @@ -38,10 +37,10 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.apache.cloudstack.api.ApiErrorCode; -import org.apache.cloudstack.framework.config.ConfigDepot; -import org.apache.cloudstack.framework.config.ConfigKey; -import org.apache.cloudstack.framework.config.ConfigValue; -import org.apache.cloudstack.framework.config.Configurable; +import org.apache.cloudstack.config.ConfigDepot; +import org.apache.cloudstack.config.ConfigKey; +import org.apache.cloudstack.config.ConfigValue; +import org.apache.cloudstack.config.Configurable; import org.apache.cloudstack.framework.jobs.AsyncJob; import org.apache.cloudstack.framework.jobs.AsyncJobDispatcher; import org.apache.cloudstack.framework.jobs.AsyncJobExecutionContext; @@ -77,11 +76,13 @@ import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.ExceptionUtil; import com.cloud.utils.mgmt.JmxUtil; +import edu.emory.mathcs.backport.java.util.Collections; + public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, ClusterManagerListener, Configurable { // Advanced - private static final ConfigKey JobExpireMinutes = new ConfigKey(Long.class, "job.expire.minutes", "Advanced", "1440", + private static final ConfigKey JobExpireMinutes = new ConfigKey(Long.class, "job.expire.minutes", "Advanced", AsyncJobManager.class, "1440", "Time (in minutes) for async-jobs to be kept in system", true, null); - private static final ConfigKey JobCancelThresholdMinutes = new ConfigKey(Long.class, "job.cancel.threshold.minutes", "Advanced", + private static final ConfigKey JobCancelThresholdMinutes = new ConfigKey(Long.class, "job.cancel.threshold.minutes", "Advanced", AsyncJobManager.class, "60", "Time (in minutes) for async-jobs to be forcely cancelled if it has been in process for long", true, null); private static final Logger s_logger = Logger.getLogger(AsyncJobManagerImpl.class); @@ -113,11 +114,6 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, private final ScheduledExecutorService _heartbeatScheduler = Executors.newScheduledThreadPool(1, new NamedThreadFactory("AsyncJobMgr-Heartbeat")); private ExecutorService _executor; - @Override - public String getConfigComponentName() { - return AsyncJobManager.class.getSimpleName(); - } - @Override public ConfigKey[] getConfigKeys() { return new ConfigKey[] {JobExpireMinutes, JobCancelThresholdMinutes}; diff --git a/framework/pom.xml b/framework/pom.xml index 1764076d498..f322f7046c6 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -34,8 +34,7 @@ rest events jobs - cluster - db - config + cluster + db diff --git a/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java b/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java index 79fdef20ed9..47c615a1197 100644 --- a/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java +++ b/plugins/affinity-group-processors/host-anti-affinity/src/org/apache/cloudstack/affinity/HostAntiAffinityProcessor.java @@ -27,12 +27,11 @@ import org.apache.cloudstack.affinity.dao.AffinityGroupDao; import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao; import org.apache.cloudstack.engine.cloud.entity.api.db.VMReservationVO; import org.apache.cloudstack.engine.cloud.entity.api.db.dao.VMReservationDao; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.messagebus.MessageSubscriber; - import org.apache.log4j.Logger; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.deploy.DeployDestination; import com.cloud.deploy.DeploymentPlan; import com.cloud.deploy.DeploymentPlanner.ExcludeList; diff --git a/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/admin/ratelimit/ResetApiLimitCmd.java b/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/admin/ratelimit/ResetApiLimitCmd.java index 3d79fd55176..0fdf391e05a 100644 --- a/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/admin/ratelimit/ResetApiLimitCmd.java +++ b/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/admin/ratelimit/ResetApiLimitCmd.java @@ -27,12 +27,12 @@ import org.apache.cloudstack.api.response.AccountResponse; import org.apache.cloudstack.api.response.ApiLimitResponse; import org.apache.cloudstack.api.response.SuccessResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.ratelimit.ApiRateLimitService; import org.apache.log4j.Logger; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.user.Account; import javax.inject.Inject; diff --git a/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/user/ratelimit/GetApiLimitCmd.java b/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/user/ratelimit/GetApiLimitCmd.java index d0e177ac6bb..6add147e694 100644 --- a/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/user/ratelimit/GetApiLimitCmd.java +++ b/plugins/api/rate-limit/src/org/apache/cloudstack/api/command/user/ratelimit/GetApiLimitCmd.java @@ -37,10 +37,10 @@ import org.apache.log4j.Logger; import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.response.ListResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.ratelimit.ApiRateLimitService; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InvalidParameterValueException; diff --git a/plugins/api/rate-limit/src/org/apache/cloudstack/ratelimit/ApiRateLimitServiceImpl.java b/plugins/api/rate-limit/src/org/apache/cloudstack/ratelimit/ApiRateLimitServiceImpl.java index e257c708bed..7d1b43ae6d5 100644 --- a/plugins/api/rate-limit/src/org/apache/cloudstack/ratelimit/ApiRateLimitServiceImpl.java +++ b/plugins/api/rate-limit/src/org/apache/cloudstack/ratelimit/ApiRateLimitServiceImpl.java @@ -19,7 +19,6 @@ package org.apache.cloudstack.ratelimit; import java.util.ArrayList; import java.util.List; import java.util.Map; - import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; @@ -34,16 +33,15 @@ import org.apache.cloudstack.api.ApiConstants.LDAPParams; import org.apache.cloudstack.api.command.admin.ratelimit.ResetApiLimitCmd; import org.apache.cloudstack.api.command.user.ratelimit.GetApiLimitCmd; import org.apache.cloudstack.api.response.ApiLimitResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.RequestLimitException; import com.cloud.user.Account; import com.cloud.user.AccountService; import com.cloud.user.User; import com.cloud.utils.component.AdapterBase; - import org.springframework.stereotype.Component; @Component diff --git a/plugins/api/rate-limit/test/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java b/plugins/api/rate-limit/test/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java index 8d31b9dbb1b..3c6cadfc33c 100644 --- a/plugins/api/rate-limit/test/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java +++ b/plugins/api/rate-limit/test/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java @@ -24,14 +24,13 @@ import java.util.concurrent.Executors; import javax.naming.ConfigurationException; import org.apache.cloudstack.api.response.ApiLimitResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.ratelimit.ApiRateLimitServiceImpl; - import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.RequestLimitException; import com.cloud.user.Account; import com.cloud.user.AccountService; diff --git a/plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/DedicatedResourceManagerImpl.java b/plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/DedicatedResourceManagerImpl.java index 3314463c06d..15d553e9722 100755 --- a/plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/DedicatedResourceManagerImpl.java +++ b/plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/DedicatedResourceManagerImpl.java @@ -43,12 +43,12 @@ import org.apache.cloudstack.api.response.DedicateHostResponse; import org.apache.cloudstack.api.response.DedicatePodResponse; import org.apache.cloudstack.api.response.DedicateZoneResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenterVO; import com.cloud.dc.DedicatedResourceVO; diff --git a/plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java b/plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java index 34fdf1c8ead..72890f2c821 100644 --- a/plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java +++ b/plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java @@ -48,9 +48,9 @@ import org.springframework.test.context.support.AnnotationConfigContextLoader; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.dedicated.DedicatedResourceManagerImpl; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.test.utils.SpringUtils; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DedicatedResourceVO; import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; diff --git a/plugins/deployment-planners/implicit-dedication/test/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java b/plugins/deployment-planners/implicit-dedication/test/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java index c0ce9d06465..73fd2490c29 100644 --- a/plugins/deployment-planners/implicit-dedication/test/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java +++ b/plugins/deployment-planners/implicit-dedication/test/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java @@ -53,13 +53,13 @@ import org.springframework.test.context.support.AnnotationConfigContextLoader; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.test.utils.SpringUtils; import com.cloud.capacity.CapacityManager; import com.cloud.capacity.CapacityVO; import com.cloud.capacity.dao.CapacityDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.ClusterDao; diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java index 23eecd11c78..997d754a326 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalDiscoverer.java @@ -34,14 +34,13 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.cloudstack.api.ApiConstants; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupRoutingCommand; import com.cloud.baremetal.networkservice.BareMetalResourceBase; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.ClusterDao; diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalPlanner.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalPlanner.java index a47deddd9fe..cf3ceedfe81 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalPlanner.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BareMetalPlanner.java @@ -25,9 +25,8 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.capacity.CapacityManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.ClusterVO; diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java index a814530b2f7..5e58abf4090 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java @@ -25,14 +25,12 @@ package com.cloud.baremetal.networkservice; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; import javax.ejb.Local; import javax.naming.ConfigurationException; -import org.apache.log4j.Logger; - import org.apache.cloudstack.api.ApiConstants; +import org.apache.log4j.Logger; import com.cloud.agent.IAgentControl; import com.cloud.agent.api.Answer; @@ -68,6 +66,7 @@ import com.cloud.baremetal.manager.BaremetalManager; import com.cloud.host.Host.Type; import com.cloud.hypervisor.Hypervisor; import com.cloud.resource.ServerResource; +import com.cloud.server.ManagementServer; import com.cloud.utils.component.ComponentContext; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.exception.CloudRuntimeException; @@ -80,6 +79,8 @@ import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.dao.VMInstanceDao; +import edu.emory.mathcs.backport.java.util.concurrent.TimeUnit; + @Local(value = ServerResource.class) public class BareMetalResourceBase extends ManagerBase implements ServerResource { private static final Logger s_logger = Logger.getLogger(BareMetalResourceBase.class); @@ -133,8 +134,8 @@ public class BareMetalResourceBase extends ManagerBase implements ServerResource _cpuNum = Long.parseLong((String) params.get(ApiConstants.CPU_NUMBER)); } catch (NumberFormatException e) { throw new ConfigurationException(String.format("Unable to parse number of CPU or memory capacity " - + "or cpu capacity(cpu number = %1$s memCapacity=%2$s, cpuCapacity=%3$s", params.get(ApiConstants.CPU_NUMBER), - params.get(ApiConstants.MEMORY), params.get(ApiConstants.CPU_SPEED))); + + "or cpu capacity(cpu number = %1$s memCapacity=%2$s, cpuCapacity=%3$s", (String) params.get(ApiConstants.CPU_NUMBER), + (String) params.get(ApiConstants.MEMORY), (String) params.get(ApiConstants.CPU_SPEED))); } _zone = (String) params.get("zone"); diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java index 606ec596268..4e9a11dcf96 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java @@ -37,7 +37,6 @@ import org.apache.cloudstack.api.AddBaremetalKickStartPxeCmd; import org.apache.cloudstack.api.AddBaremetalPxeCmd; import org.apache.cloudstack.api.AddBaremetalPxePingServerCmd; import org.apache.cloudstack.api.ListBaremetalPxePingServersCmd; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; @@ -45,6 +44,7 @@ import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupPxeServerCommand; import com.cloud.agent.api.routing.VmDataCommand; import com.cloud.baremetal.database.BaremetalPxeVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.deploy.DeployDestination; import com.cloud.host.Host; diff --git a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java index ba4f3d5211b..15f618b4f65 100755 --- a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java +++ b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java @@ -39,11 +39,10 @@ import org.apache.cloudstack.api.response.ListResponse; import org.apache.cloudstack.api.response.UcsBladeResponse; import org.apache.cloudstack.api.response.UcsManagerResponse; import org.apache.cloudstack.api.response.UcsProfileResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.ClusterDao; diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java index dbc0ade2dd6..d699a1e94f5 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java @@ -28,13 +28,11 @@ import java.util.UUID; import javax.ejb.Local; import javax.inject.Inject; + import com.cloud.agent.api.storage.CreateEntityDownloadURLCommand; import com.cloud.host.Host; import com.cloud.storage.Storage; - -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.to.VolumeObjectTO; - import org.apache.log4j.Logger; import org.apache.cloudstack.storage.command.CopyCommand; @@ -55,6 +53,7 @@ import com.cloud.agent.api.to.DataTO; import com.cloud.agent.api.to.NicTO; import com.cloud.agent.api.to.VirtualMachineTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.InsufficientAddressCapacityException; import com.cloud.host.Host; import com.cloud.host.HostVO; diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java index 4a2c4e9cd91..a13e59e5cb4 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java @@ -46,7 +46,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter { private String guid; @Column(name = "name") - private String vmwareDatacenterName; + private String name; @Column(name = "vcenter_host") private String vCenterHost; @@ -73,7 +73,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter { @Override public String getVmwareDatacenterName() { - return vmwareDatacenterName; + return name; } @Override @@ -105,7 +105,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter { } public void setVmwareDatacenterName(String name) { - this.vmwareDatacenterName = name; + this.name = name; } public void setVcenterHost(String vCenterHost) { @@ -141,7 +141,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter { public VmwareDatacenterVO(String guid, String name, String vCenterHost, String user, String password) { this.uuid = UUID.randomUUID().toString(); - this.vmwareDatacenterName = name; + this.name = name; this.guid = guid; this.vCenterHost = vCenterHost; this.user = user; diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java index 1be105fccf8..0df2cd34d87 100755 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java @@ -48,7 +48,6 @@ import org.apache.cloudstack.api.command.admin.zone.ListVmwareDcsCmd; import org.apache.cloudstack.api.command.admin.zone.RemoveVmwareDcCmd; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.utils.identity.ManagementServerNode; import com.cloud.agent.AgentManager; @@ -60,6 +59,7 @@ import com.cloud.agent.api.Command; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupRoutingCommand; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.ClusterVSMMapVO; diff --git a/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java b/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java index 016c54a1bb2..d313bfac84f 100644 --- a/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java +++ b/plugins/hypervisors/vmware/test/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java @@ -51,11 +51,11 @@ import org.apache.cloudstack.api.command.admin.zone.AddVmwareDcCmd; import org.apache.cloudstack.api.command.admin.zone.RemoveVmwareDcCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.test.utils.SpringUtils; import com.cloud.agent.AgentManager; import com.cloud.cluster.ClusterManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.ClusterVO; diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java index 115f9f6e07e..fd7274d8e2b 100644 --- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java +++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java @@ -28,10 +28,9 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.api.to.LoadBalancerTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.deploy.DeployDestination; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java index 56c415a5ebc..8df0cafdffe 100644 --- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java +++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java @@ -38,7 +38,6 @@ import org.springframework.stereotype.Component; import org.apache.cloudstack.api.command.user.loadbalancer.CreateLoadBalancerRuleCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.agent.AgentManager; import com.cloud.agent.AgentManager.OnError; @@ -51,6 +50,7 @@ import com.cloud.agent.api.routing.NetworkElementCommand; import com.cloud.agent.api.to.LoadBalancerTO; import com.cloud.agent.manager.Commands; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterVO; diff --git a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java index fc2256b2a56..8ea4d61d9d9 100644 --- a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java +++ b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java @@ -27,9 +27,7 @@ import javax.ejb.Local; import javax.inject.Inject; import org.apache.cloudstack.api.response.ExternalLoadBalancerResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice; - import org.apache.log4j.Logger; import com.cloud.agent.api.to.LoadBalancerTO; @@ -45,6 +43,7 @@ import com.cloud.api.commands.ListF5LoadBalancersCmd; import com.cloud.api.response.F5LoadBalancerResponse; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.DataCenterDao; @@ -91,7 +90,6 @@ import com.cloud.vm.NicProfile; import com.cloud.vm.ReservationContext; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; - import com.google.gson.Gson; @Local(value = {NetworkElement.class, LoadBalancingServiceProvider.class, IpDeployer.class}) diff --git a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java index 6b075db889f..7f7c99605bb 100644 --- a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java +++ b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java @@ -28,7 +28,6 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.lb.ApplicationLoadBalancerRuleVO; import org.apache.cloudstack.lb.dao.ApplicationLoadBalancerRuleDao; @@ -45,6 +44,7 @@ import com.cloud.agent.api.routing.NetworkElementCommand; import com.cloud.agent.api.to.LoadBalancerTO; import com.cloud.agent.manager.Commands; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.DataCenterDao; diff --git a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/LbChildTestConfiguration.java b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/LbChildTestConfiguration.java index 52a204a6c07..4f03b27b013 100644 --- a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/LbChildTestConfiguration.java +++ b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/LbChildTestConfiguration.java @@ -18,10 +18,8 @@ package org.apache.cloudstack.internallbvmmgr; import java.io.IOException; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.lb.dao.ApplicationLoadBalancerRuleDao; import org.apache.cloudstack.test.utils.SpringUtils; - import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -33,6 +31,7 @@ import org.springframework.core.type.classreading.MetadataReaderFactory; import org.springframework.core.type.filter.TypeFilter; import com.cloud.agent.AgentManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.AccountVlanMapDaoImpl; import com.cloud.dc.dao.DataCenterDao; import com.cloud.network.NetworkManager; diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java index 7d99d4b1c8f..85d6de6817b 100644 --- a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java +++ b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java @@ -21,6 +21,7 @@ import com.cloud.api.commands.*; import com.cloud.api.response.SrxFirewallResponse; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterVO; @@ -49,16 +50,12 @@ import com.cloud.vm.NicProfile; import com.cloud.vm.ReservationContext; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; - import org.apache.cloudstack.api.response.ExternalFirewallResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice; - import org.apache.log4j.Logger; import javax.ejb.Local; import javax.inject.Inject; - import java.util.*; @Local(value = {NetworkElement.class, FirewallServiceProvider.class, diff --git a/plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java b/plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java index 85814ef5467..b02e51ddb2c 100644 --- a/plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java +++ b/plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java @@ -22,6 +22,7 @@ package com.cloud.network.element; import com.cloud.agent.api.to.FirewallRuleTO; import com.cloud.agent.api.to.PortForwardingRuleTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.deploy.DeployDestination; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; @@ -53,7 +54,6 @@ import com.cloud.vm.ReservationContext; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.NicDao; - import com.midokura.midonet.client.MidonetApi; import com.midokura.midonet.client.dto.DtoRule; import com.midokura.midonet.client.resource.Bridge; @@ -68,9 +68,6 @@ import com.midokura.midonet.client.resource.RouterPort; import com.midokura.midonet.client.resource.Rule; import com.midokura.midonet.client.resource.RuleChain; import com.sun.jersey.core.util.MultivaluedMapImpl; - -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -78,7 +75,6 @@ import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; import javax.ws.rs.core.MultivaluedMap; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java index d63b14f8a58..fa51fdcbb8b 100644 --- a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java +++ b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java @@ -28,10 +28,8 @@ import javax.ejb.Local; import javax.inject.Inject; import org.apache.cloudstack.api.ApiConstants; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice; import org.apache.cloudstack.region.gslb.GslbServiceProvider; - import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; @@ -53,6 +51,7 @@ import com.cloud.api.commands.ListNetscalerLoadBalancersCmd; import com.cloud.api.response.NetscalerLoadBalancerResponse; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterIpAddressVO; @@ -116,7 +115,6 @@ import com.cloud.vm.NicProfile; import com.cloud.vm.ReservationContext; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachineProfile; - import com.google.gson.Gson; @Local(value = {NetworkElement.class, StaticNatServiceProvider.class, LoadBalancingServiceProvider.class, GslbServiceProvider.class}) diff --git a/plugins/network-elements/nicira-nvp/test/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java b/plugins/network-elements/nicira-nvp/test/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java index 5c686c9c3ee..0e4f8fd4f84 100644 --- a/plugins/network-elements/nicira-nvp/test/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java +++ b/plugins/network-elements/nicira-nvp/test/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java @@ -59,7 +59,7 @@ import com.cloud.offerings.dao.NetworkOfferingServiceMapDao; import com.cloud.user.Account; import com.cloud.vm.ReservationContext; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; public class NiciraNvpGuestNetworkGuruTest { PhysicalNetworkDao physnetdao = mock (PhysicalNetworkDao.class); diff --git a/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java index 36a807f8e78..d3db89fb1c5 100644 --- a/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java +++ b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java @@ -30,13 +30,12 @@ import javax.persistence.EntityExistsException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; import com.cloud.agent.manager.Commands; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.deploy.DeployDestination; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.OperationTimedoutException; diff --git a/plugins/network-elements/stratosphere-ssp/src/org/apache/cloudstack/network/element/SspElement.java b/plugins/network-elements/stratosphere-ssp/src/org/apache/cloudstack/network/element/SspElement.java index 64111ab16fd..6e1461a9778 100644 --- a/plugins/network-elements/stratosphere-ssp/src/org/apache/cloudstack/network/element/SspElement.java +++ b/plugins/network-elements/stratosphere-ssp/src/org/apache/cloudstack/network/element/SspElement.java @@ -32,16 +32,15 @@ import javax.naming.ConfigurationException; import org.apache.cloudstack.api.commands.AddSspCmd; import org.apache.cloudstack.api.commands.DeleteSspCmd; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.dao.SspCredentialDao; import org.apache.cloudstack.network.dao.SspCredentialVO; import org.apache.cloudstack.network.dao.SspTenantDao; import org.apache.cloudstack.network.dao.SspTenantVO; import org.apache.cloudstack.network.dao.SspUuidDao; import org.apache.cloudstack.network.dao.SspUuidVO; - import org.apache.log4j.Logger; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.deploy.DeployDestination; import com.cloud.exception.ConcurrentOperationException; diff --git a/plugins/network-elements/stratosphere-ssp/test/org/apache/cloudstack/network/element/SspElementTest.java b/plugins/network-elements/stratosphere-ssp/test/org/apache/cloudstack/network/element/SspElementTest.java index 0fd709f86c1..950592f1c39 100644 --- a/plugins/network-elements/stratosphere-ssp/test/org/apache/cloudstack/network/element/SspElementTest.java +++ b/plugins/network-elements/stratosphere-ssp/test/org/apache/cloudstack/network/element/SspElementTest.java @@ -19,16 +19,15 @@ package org.apache.cloudstack.network.element; import java.util.Arrays; import java.util.HashMap; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.dao.SspCredentialDao; import org.apache.cloudstack.network.dao.SspCredentialVO; import org.apache.cloudstack.network.dao.SspTenantDao; import org.apache.cloudstack.network.dao.SspUuidDao; import org.apache.cloudstack.network.element.SspElement; - import org.junit.Before; import org.junit.Test; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.host.Host; import com.cloud.host.HostVO; diff --git a/plugins/pom.xml b/plugins/pom.xml index 0812642b7c0..5bde813f2bc 100755 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -75,16 +75,6 @@ cloud-api ${project.version} - - org.apache.cloudstack - cloud-utils - ${project.version} - - - org.apache.cloudstack - cloud-framework-config - ${project.version} - org.apache.cloudstack cloud-api diff --git a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java index eefa3527119..6001c548eb0 100644 --- a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java +++ b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackImageStoreDriverImpl.java @@ -26,12 +26,9 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity; import org.apache.cloudstack.storage.image.store.ImageStoreImpl; - import org.apache.log4j.Logger; - import org.apache.cloudstack.storage.image.BaseImageStoreDriverImpl; import com.cloud.agent.api.Answer; @@ -39,6 +36,7 @@ import com.cloud.agent.api.storage.CreateEntityDownloadURLCommand; import com.cloud.agent.api.to.DataStoreTO; import com.cloud.agent.api.to.NfsTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.Storage.ImageFormat; import com.cloud.utils.exception.CloudRuntimeException; diff --git a/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java b/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java index 7ca482422e3..ac681cc0206 100644 --- a/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java +++ b/plugins/storage/image/s3/src/org/apache/cloudstack/storage/datastore/driver/S3ImageStoreDriverImpl.java @@ -21,22 +21,20 @@ package org.apache.cloudstack.storage.datastore.driver; import java.net.URL; import java.util.Date; import java.util.Map; - import javax.inject.Inject; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao; import org.apache.cloudstack.storage.image.BaseImageStoreDriverImpl; import org.apache.cloudstack.storage.image.store.ImageStoreImpl; - import org.apache.log4j.Logger; import com.cloud.agent.api.to.DataStoreTO; import com.cloud.agent.api.to.S3TO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.Storage.ImageFormat; import com.cloud.utils.NumbersUtil; import com.cloud.utils.S3Utils; diff --git a/plugins/user-authenticators/ldap/src/com/cloud/server/auth/LDAPUserAuthenticator.java b/plugins/user-authenticators/ldap/src/com/cloud/server/auth/LDAPUserAuthenticator.java index 900276083c3..d928a5b9e17 100644 --- a/plugins/user-authenticators/ldap/src/com/cloud/server/auth/LDAPUserAuthenticator.java +++ b/plugins/user-authenticators/ldap/src/com/cloud/server/auth/LDAPUserAuthenticator.java @@ -32,11 +32,10 @@ import javax.naming.directory.SearchControls; import javax.naming.directory.SearchResult; import org.apache.cloudstack.api.ApiConstants.LDAPParams; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.bouncycastle.util.encoders.Base64; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.user.UserAccount; import com.cloud.user.dao.UserAccountDao; import com.cloud.utils.exception.CloudRuntimeException; diff --git a/plugins/user-authenticators/sha256salted/test/src/com/cloud/server/auth/test/AuthenticatorTest.java b/plugins/user-authenticators/sha256salted/test/src/com/cloud/server/auth/test/AuthenticatorTest.java index 4c4c152326d..0d3f883881c 100644 --- a/plugins/user-authenticators/sha256salted/test/src/com/cloud/server/auth/test/AuthenticatorTest.java +++ b/plugins/user-authenticators/sha256salted/test/src/com/cloud/server/auth/test/AuthenticatorTest.java @@ -30,6 +30,7 @@ import java.util.Map; import javax.naming.ConfigurationException; import org.bouncycastle.util.encoders.Base64; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -99,25 +100,25 @@ public class AuthenticatorTest { assertEquals("20 byte user bad password not authenticated", false, authenticator.authenticate("admin20Byte", "fake", 0L, dummyMap)); } -// @Test -// public void testTiming() throws UnsupportedEncodingException, NoSuchAlgorithmException { -// Map dummyMap = new HashMap(); -// Double threshold = (double)500000; //half a millisecond -// -// Long t1 = System.nanoTime(); -// authenticator.authenticate("admin", "password", 0L, dummyMap); -// Long t2 = System.nanoTime(); -// authenticator.authenticate("admin20Byte", "password", 0L, dummyMap); -// Long t3 = System.nanoTime(); -// authenticator.authenticate("fake", "fake", 0L, dummyMap); -// Long t4 = System.nanoTime(); -// authenticator.authenticate("admin", "fake", 0L, dummyMap); -// Long t5 = System.nanoTime(); -// Long diff1 = t2 - t1; -// Long diff2 = t3 - t2; -// Long diff3 = t4 - t3; -// Long diff4 = t5 - t4; -// Assert.assertTrue("All computation times within " + threshold / 1000000 + " milisecond", -// (diff1 <= threshold) && (diff2 <= threshold) && (diff3 <= threshold) && (diff4 <= threshold)); -// } + @Test + public void testTiming() throws UnsupportedEncodingException, NoSuchAlgorithmException { + Map dummyMap = new HashMap(); + Double threshold = (double)500000; //half a millisecond + + Long t1 = System.nanoTime(); + authenticator.authenticate("admin", "password", 0L, dummyMap); + Long t2 = System.nanoTime(); + authenticator.authenticate("admin20Byte", "password", 0L, dummyMap); + Long t3 = System.nanoTime(); + authenticator.authenticate("fake", "fake", 0L, dummyMap); + Long t4 = System.nanoTime(); + authenticator.authenticate("admin", "fake", 0L, dummyMap); + Long t5 = System.nanoTime(); + Long diff1 = t2 - t1; + Long diff2 = t3 - t2; + Long diff3 = t4 - t3; + Long diff4 = t5 - t4; + Assert.assertTrue("All computation times within " + threshold / 1000000 + " milisecond", + (diff1 <= threshold) && (diff2 <= threshold) && (diff3 <= threshold) && (diff4 <= threshold)); + } } diff --git a/pom.xml b/pom.xml index 3772735b681..ce956e34553 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ 2.0.0 1.9.0 build213-svnkit-1.3-patch - 2.6.6 + 1.5.0 1.7.1 14.0-rc1 5.6.100-1-SNAPSHOT @@ -211,7 +211,7 @@ net.sf.ehcache - ehcache-core + ehcache ${cs.ehcache.version} @@ -341,6 +341,11 @@ spring-beans ${org.springframework.version} + + javax.inject + javax.inject + 1 + com.google.code.gson gson diff --git a/server/pom.xml b/server/pom.xml index c08d76a40d8..10eb99f0f5a 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -106,11 +106,6 @@ cloud-framework-events ${project.version} - - org.apache.cloudstack - cloud-framework-config - ${project.version} - diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 05c1908ddd3..200b5d7b6ea 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -40,12 +40,11 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; +import org.apache.cloudstack.config.ConfigDepot; +import org.apache.cloudstack.config.ConfigKey; +import org.apache.cloudstack.config.ConfigValue; +import org.apache.cloudstack.config.Configurable; import org.apache.cloudstack.context.ServerContexts; -import org.apache.cloudstack.framework.config.ConfigDepot; -import org.apache.cloudstack.framework.config.ConfigKey; -import org.apache.cloudstack.framework.config.ConfigValue; -import org.apache.cloudstack.framework.config.Configurable; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.utils.identity.ManagementServerNode; import com.cloud.agent.AgentManager; @@ -73,6 +72,7 @@ import com.cloud.agent.transport.Request; import com.cloud.agent.transport.Response; import com.cloud.alert.AlertManager; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenterVO; import com.cloud.dc.HostPodVO; @@ -97,6 +97,7 @@ import com.cloud.resource.ResourceManager; import com.cloud.resource.ResourceState; import com.cloud.resource.ServerResource; import com.cloud.storage.resource.DummySecondaryStorageResource; +import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; @@ -147,6 +148,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl protected ConfigurationDao _configDao = null; @Inject protected ClusterDao _clusterDao = null; + protected int _port; @Inject protected HighAvailabilityManager _haMgr = null; @@ -178,29 +180,26 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl @Inject protected ConfigDepot _configDepot; - protected final ConfigKey Workers = new ConfigKey(Integer.class, "workers", "Advance", "5", - "Number of worker threads handling remote agent connections.", false); - protected final ConfigKey Port = new ConfigKey(Integer.class, "port", "Advance", "8250", "Port to listen on for remote agent connections.", false); - protected final ConfigKey PingInterval = new ConfigKey(Integer.class, "ping.interval", "Advance", "60", - "Interval to send application level pings to make sure the connection is still working", false); - protected final ConfigKey PingTimeout = new ConfigKey(Float.class, "ping.timeout", "Advance", "2.5", - "Multiplier to ping.interval before announcing an agent has timed out", true); - protected final ConfigKey Wait = new ConfigKey(Integer.class, "wait", "Advance", "1800", - "Time in seconds to wait for control commands to return", true); - protected final ConfigKey AlertWait = new ConfigKey(Integer.class, "alert.wait", "Advance", "1800", - "Seconds to wait before alerting on a disconnected agent", true); - protected final ConfigKey DirectAgentLoadSize = new ConfigKey(Integer.class, "direct.agent.load.size", "Advance", "16", - "The number of direct agents to load each time", false); - protected final ConfigKey DirectAgentPoolSize = new ConfigKey(Integer.class, "direct.agent.pool.size", "Advance", "500", - "Default size for DirectAgentPool", false); - - protected ConfigValue _port; + protected final ConfigKey Workers = new ConfigKey(Integer.class, "workers", "Advance", AgentManager.class, "5", + "Number of worker threads handling remote agent connections.", false, "5-Max Thread Limit"); + protected final ConfigKey Port = new ConfigKey(Integer.class, "port", "Advance", AgentManager.class, "8250", "Port to listen on for remote agent connections.", false, "Usable port range"); + protected final ConfigKey PingInterval = new ConfigKey(Integer.class, "ping.interval", "Advance", AgentManager.class, "60", "Interval to send application level pings to make sure the connection is still working", false, "Seconds"); + protected final ConfigKey PingTimeout = new ConfigKey(Float.class, "ping.timeout", "Advance", AgentManager.class, "2.5", "Multiplier to ping.interval before announcing an agent has timed out", true, null); + protected final ConfigKey Wait = new ConfigKey(Integer.class, "wait", "Advance", AgentManager.class, "1800", + "Time in seconds to wait for control commands to return", true, "Seconds"); + protected final ConfigKey AlertWait = new ConfigKey(Integer.class, "alert.wait", "Advance", AgentManager.class, "1800", + "Seconds to wait before alerting on a disconnected agent", true, "Seconds"); + protected final ConfigKey DirectAgentLoadSize = new ConfigKey(Integer.class, "direct.agent.load.size", "Advance", AgentManager.class, "16", + "The number of direct agents to load each time", false, null); + protected final ConfigKey DirectAgentPoolSize = new ConfigKey(Integer.class, "direct.agent.pool.size", "Advance", AgentManager.class, "500", + "Default size for DirectAgentPool", false, null); @Override public boolean configure(final String name, final Map params) throws ConfigurationException { - _port = _configDepot.get(Port); - ConfigValue workers = _configDepot.get(Workers); + final Map configs = _configDao.getConfiguration("AgentManager", params); + _port = NumbersUtil.parseInt(configs.get("port"), 8250); + final int workers = NumbersUtil.parseInt(configs.get("workers"), 5); _pingInterval = _configDepot.get(PingInterval); @@ -226,8 +225,8 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl //allow core threads to time out even when there are no items in the queue _connectExecutor.allowCoreThreadTimeOut(true); - _connection = new NioServer("AgentManager", _port.value(), workers.value() + 10, this); - s_logger.info("Listening on " + _port.value() + " with " + workers.value() + " workers"); + _connection = new NioServer("AgentManager", _port, workers + 10, this); + s_logger.info("Listening on " + _port + " with " + workers + " workers"); ConfigValue size = _configDepot.get(DirectAgentPoolSize); @@ -1577,11 +1576,6 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl } - @Override - public String getConfigComponentName() { - return AgentManager.class.getSimpleName(); - } - @Override public ConfigKey[] getConfigKeys() { return new ConfigKey[] {Workers, Port, PingInterval, PingTimeout, Wait, AlertWait, DirectAgentLoadSize, DirectAgentPoolSize}; diff --git a/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java index f4ed90e5b71..0c3d6e1b9a8 100755 --- a/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java @@ -23,7 +23,6 @@ import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.util.ArrayList; -import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -48,10 +47,9 @@ import org.apache.log4j.Logger; import com.google.gson.Gson; -import org.apache.cloudstack.framework.config.ConfigDepot; -import org.apache.cloudstack.framework.config.ConfigKey; -import org.apache.cloudstack.framework.config.ConfigValue; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.cloudstack.config.ConfigDepot; +import org.apache.cloudstack.config.ConfigKey; +import org.apache.cloudstack.config.ConfigValue; import org.apache.cloudstack.utils.identity.ManagementServerNode; import com.cloud.agent.AgentManager; @@ -78,12 +76,14 @@ import com.cloud.cluster.agentlb.HostTransferMapVO; import com.cloud.cluster.agentlb.HostTransferMapVO.HostTransferState; import com.cloud.cluster.agentlb.dao.HostTransferMapDao; import com.cloud.cluster.dao.ManagementServerHostDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.OperationTimedoutException; import com.cloud.host.Host; import com.cloud.host.HostVO; import com.cloud.host.Status; import com.cloud.host.Status.Event; +import com.cloud.resource.ResourceState; import com.cloud.resource.ServerResource; import com.cloud.serializer.GsonHelper; import com.cloud.storage.resource.DummySecondaryStorageResource; @@ -134,14 +134,14 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust super(); } - protected final ConfigKey EnableLB = new ConfigKey(Boolean.class, "agent.lb.enabled", "Advanced", "false", - "Enable agent load balancing between management server nodes", true); - protected final ConfigKey ConnectedAgentThreshold = new ConfigKey(Double.class, "agent.load.threshold", "Advanced", "0.7", - "What percentage of the agents can be held by one management server before load balancing happens", true); - protected final ConfigKey LoadSize = new ConfigKey(Integer.class, "direct.agent.load.size", "Advanced", "16", - "How many agents to connect to in each round", true); - protected final ConfigKey ScanInterval = new ConfigKey(Integer.class, "direct.agent.scan.interval", "Advanced", "90", - "Interval between scans to load agents", false); + protected final ConfigKey EnableLB = new ConfigKey(Boolean.class, "agent.lb.enabled", "Advanced", AgentManager.class, "false", + "Enable agent load balancing between management server nodes", true, "True/False"); + protected final ConfigKey ConnectedAgentThreshold = new ConfigKey(Double.class, "agent.load.threshold", "Advanced", AgentManager.class, "0.7", + "What percentage of the agents can be held by one management server before load balancing happens", true, "0-1"); + protected final ConfigKey LoadSize = new ConfigKey(Integer.class, "direct.agent.load.size", "Advanced", AgentManager.class, "16", + "How many agents to connect to in each round", true, ""); + protected final ConfigKey ScanInterval = new ConfigKey(Integer.class, "direct.agent.scan.interval", "Advanced", AgentManager.class, "90", + "Interval between scans to load agents", false, "Seconds"); protected ConfigValue _agentLBEnabled; @@ -508,13 +508,13 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust throw new CloudRuntimeException("Unable to resolve " + ip); } try { - ch = SocketChannel.open(new InetSocketAddress(addr, _port.value())); + ch = SocketChannel.open(new InetSocketAddress(addr, _port)); ch.configureBlocking(true); // make sure we are working at blocking mode ch.socket().setKeepAlive(true); ch.socket().setSoTimeout(60 * 1000); try { SSLContext sslContext = Link.initSSLContext(true); - sslEngine = sslContext.createSSLEngine(ip, _port.value()); + sslEngine = sslContext.createSSLEngine(ip, _port); sslEngine.setUseClientMode(true); Link.doHandshake(ch, sslEngine, true); @@ -1241,6 +1241,10 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust } + public boolean executeResourceUserRequest(long hostId, ResourceState.Event event) throws AgentUnavailableException { + return _resourceMgr.executeUserRequest(hostId, event); + } + protected class ClusterDispatcher implements ClusterManager.Dispatcher { @Override public String getName() { @@ -1313,7 +1317,7 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust boolean result = false; try { - result = _resourceMgr.executeUserRequest(cmd.getHostId(), cmd.getEvent()); + result = executeResourceUserRequest(cmd.getHostId(), cmd.getEvent()); s_logger.debug("Result is " + result); } catch (AgentUnavailableException ex) { s_logger.warn("Agent is unavailable", ex); @@ -1405,17 +1409,4 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust } profilerAgentLB.stop(); } - - @Override - public ConfigKey[] getConfigKeys() { - ConfigKey[] keys = super.getConfigKeys(); - - List> keysLst = new ArrayList>(); - keysLst.addAll(Arrays.asList(keys)); - keysLst.add(EnableLB); - keysLst.add(ConnectedAgentThreshold); - keysLst.add(LoadSize); - keysLst.add(ScanInterval); - return keysLst.toArray(new ConfigKey[keysLst.size()]); - } } diff --git a/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java b/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java index f2ccc93063a..088591fee8d 100755 --- a/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java +++ b/server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java @@ -29,10 +29,9 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.manager.allocator.HostAllocator; import com.cloud.capacity.CapacityManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.dao.ClusterDao; diff --git a/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java b/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java index 0da2c925d3b..82548c916d4 100755 --- a/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java +++ b/server/src/com/cloud/agent/manager/allocator/impl/UserConcentratedAllocator.java @@ -29,11 +29,10 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.manager.allocator.PodAllocator; import com.cloud.capacity.CapacityVO; import com.cloud.capacity.dao.CapacityDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.HostPodVO; import com.cloud.dc.Pod; diff --git a/server/src/com/cloud/agent/manager/authn/impl/BasicAgentAuthManager.java b/server/src/com/cloud/agent/manager/authn/impl/BasicAgentAuthManager.java index 1c95bdbf0b4..cd4ec8d9c7f 100644 --- a/server/src/com/cloud/agent/manager/authn/impl/BasicAgentAuthManager.java +++ b/server/src/com/cloud/agent/manager/authn/impl/BasicAgentAuthManager.java @@ -25,13 +25,12 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; import com.cloud.agent.StartupCommandProcessor; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.manager.authn.AgentAuthnException; import com.cloud.agent.manager.authn.AgentAuthorizer; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.ConnectionException; import com.cloud.host.dao.HostDao; import com.cloud.utils.component.AdapterBase; diff --git a/server/src/com/cloud/alert/AlertManagerImpl.java b/server/src/com/cloud/alert/AlertManagerImpl.java index 944b250fbee..c437a8cf54d 100755 --- a/server/src/com/cloud/alert/AlertManagerImpl.java +++ b/server/src/com/cloud/alert/AlertManagerImpl.java @@ -38,10 +38,8 @@ import javax.mail.URLName; import javax.mail.internet.InternetAddress; import javax.naming.ConfigurationException; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -55,6 +53,7 @@ import com.cloud.capacity.dao.CapacityDao; import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterVO; @@ -78,7 +77,6 @@ import com.cloud.utils.NumbersUtil; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.DB; import com.cloud.utils.db.SearchCriteria; - import com.sun.mail.smtp.SMTPMessage; import com.sun.mail.smtp.SMTPSSLTransport; import com.sun.mail.smtp.SMTPTransport; diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index b79e6772a5f..d6e0ddd960e 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -52,7 +52,6 @@ import org.apache.cloudstack.api.response.UserResponse; import org.apache.cloudstack.api.response.UserVmResponse; import org.apache.cloudstack.api.response.VolumeResponse; import org.apache.cloudstack.api.response.ZoneResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.jobs.AsyncJob; import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.framework.jobs.dao.AsyncJobDao; @@ -107,6 +106,7 @@ import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationService; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.AccountVlanMapVO; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java index d071c379f1b..094292f631b 100755 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -114,14 +114,14 @@ import org.apache.cloudstack.api.response.CreateCmdResponse; import org.apache.cloudstack.api.response.ExceptionResponse; import org.apache.cloudstack.api.response.ListResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.ConfigurationVO; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.jobs.AsyncJob; import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.framework.jobs.impl.AsyncJobVO; import com.cloud.api.response.ApiResponseSerializer; import com.cloud.configuration.Config; +import com.cloud.configuration.ConfigurationVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.domain.Domain; import com.cloud.domain.DomainVO; import com.cloud.event.ActionEventUtils; diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index 60e9c87afa0..45f1c691175 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -79,7 +79,6 @@ import org.apache.cloudstack.api.response.VolumeResponse; import org.apache.cloudstack.api.response.ZoneResponse; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateState; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.query.QueryService; import org.apache.log4j.Logger; @@ -126,6 +125,7 @@ import com.cloud.api.query.vo.TemplateJoinVO; import com.cloud.api.query.vo.UserAccountJoinVO; import com.cloud.api.query.vo.UserVmJoinVO; import com.cloud.api.query.vo.VolumeJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DedicatedResourceVO; import com.cloud.dc.dao.DedicatedResourceDao; import com.cloud.domain.Domain; diff --git a/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java index 61ce69dc7ae..8743bcb2028 100644 --- a/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java @@ -22,14 +22,13 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; + import org.apache.cloudstack.affinity.AffinityGroup; import org.apache.cloudstack.affinity.AffinityGroupResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; - import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.AffinityGroupJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; diff --git a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java index 42965bca3e7..e1724d403bf 100644 --- a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java @@ -24,13 +24,12 @@ import javax.inject.Inject; import org.apache.cloudstack.api.response.DomainRouterResponse; import org.apache.cloudstack.api.response.NicResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.DomainRouterJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.network.Networks.TrafficType; import com.cloud.network.router.VirtualRouter; import com.cloud.network.router.VirtualRouter.Role; diff --git a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java index 97f8bf92d41..c2d981cb455 100644 --- a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java @@ -30,13 +30,12 @@ import javax.inject.Inject; import org.apache.cloudstack.api.ApiConstants.HostDetails; import org.apache.cloudstack.api.response.HostResponse; import org.apache.cloudstack.api.response.HostForMigrationResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiDBUtils; import com.cloud.api.query.vo.HostJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.host.Host; import com.cloud.host.HostStats; import com.cloud.storage.StorageStats; diff --git a/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java index 80228716fb6..7810ffc16ae 100644 --- a/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java @@ -24,12 +24,11 @@ import javax.inject.Inject; import org.apache.cloudstack.api.response.ImageStoreDetailResponse; import org.apache.cloudstack.api.response.ImageStoreResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.query.vo.ImageStoreJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.ImageStore; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; diff --git a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java index 969c589319d..616f256db3a 100644 --- a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java @@ -23,8 +23,6 @@ import javax.ejb.Local; import javax.inject.Inject; import org.apache.cloudstack.api.response.ProjectResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -32,6 +30,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.query.vo.AccountJoinVO; import com.cloud.api.query.vo.ProjectJoinVO; import com.cloud.api.query.vo.ResourceTagJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.projects.Project; import com.cloud.user.Account; import com.cloud.user.dao.AccountDao; diff --git a/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java index 06821db99cd..76316577525 100644 --- a/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ResourceTagJoinDaoImpl.java @@ -23,13 +23,12 @@ import javax.ejb.Local; import javax.inject.Inject; import org.apache.cloudstack.api.response.ResourceTagResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.ResourceTagJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.server.ResourceTag; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; diff --git a/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java index 6b5a84649ef..2a6afca231e 100644 --- a/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/SecurityGroupJoinDaoImpl.java @@ -24,8 +24,6 @@ import javax.inject.Inject; import org.apache.cloudstack.api.response.SecurityGroupResponse; import org.apache.cloudstack.api.response.SecurityGroupRuleResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -33,6 +31,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.api.query.vo.SecurityGroupJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.network.security.SecurityGroup; import com.cloud.network.security.SecurityRule.SecurityRuleType; import com.cloud.user.Account; diff --git a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java index 4d2aac2049d..bd370851157 100644 --- a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java @@ -21,16 +21,14 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; - import org.apache.cloudstack.api.response.StoragePoolResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiDBUtils; import com.cloud.api.query.vo.StoragePoolJoinVO; import com.cloud.capacity.Capacity; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.ScopeType; import com.cloud.storage.StoragePool; import com.cloud.storage.StorageStats; diff --git a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java index 468fb8314c0..6fe776f9019 100644 --- a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java @@ -29,7 +29,6 @@ import org.apache.cloudstack.api.response.TemplateResponse; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateState; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -38,6 +37,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.api.query.vo.TemplateJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.Storage; import com.cloud.storage.Storage.TemplateType; import com.cloud.storage.VMTemplateHostVO; diff --git a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java index 7f169749eb4..241c0738bc0 100644 --- a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java @@ -31,14 +31,13 @@ import org.apache.cloudstack.api.ApiConstants.VMDetails; import org.apache.cloudstack.api.response.NicResponse; import org.apache.cloudstack.api.response.SecurityGroupResponse; import org.apache.cloudstack.api.response.UserVmResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiDBUtils; import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.api.query.vo.UserVmJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.user.Account; import com.cloud.uservm.UserVm; diff --git a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java index 6a5f0a8aa0f..c9dc5aad419 100644 --- a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java @@ -24,7 +24,6 @@ import javax.inject.Inject; import org.apache.cloudstack.api.response.VolumeResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -33,6 +32,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.ApiResponseHelper; import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.api.query.vo.VolumeJoinVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.offering.ServiceOffering; import com.cloud.storage.Storage; import com.cloud.storage.VMTemplateHostVO; diff --git a/server/src/com/cloud/capacity/CapacityManagerImpl.java b/server/src/com/cloud/capacity/CapacityManagerImpl.java index f4bc62d1275..4c97a9f9831 100755 --- a/server/src/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/com/cloud/capacity/CapacityManagerImpl.java @@ -30,7 +30,6 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.framework.messagebus.PublishScope; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; @@ -47,6 +46,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.capacity.dao.CapacityDao; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.ClusterVO; @@ -95,9 +95,7 @@ import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.snapshot.VMSnapshot; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; - import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java index 0329ffd337e..006c7d79da5 100755 --- a/server/src/com/cloud/configuration/Config.java +++ b/server/src/com/cloud/configuration/Config.java @@ -49,6 +49,7 @@ public enum Config { AlertSMTPPort("Alert", ManagementServer.class, Integer.class, "alert.smtp.port", "465", "Port the SMTP server is listening on.", null), AlertSMTPUseAuth("Alert", ManagementServer.class, String.class, "alert.smtp.useAuth", null, "If true, use SMTP authentication when sending emails.", null), AlertSMTPUsername("Alert", ManagementServer.class, String.class, "alert.smtp.username", null, "Username for SMTP authentication (applies only if alert.smtp.useAuth is true).", null), + AlertWait("Alert", AgentManager.class, Integer.class, "alert.wait", null, "Seconds to wait before alerting on a disconnected agent", null), CapacityCheckPeriod("Alert", ManagementServer.class, Integer.class, "capacity.check.period", "300000", "The interval in milliseconds between capacity checks", null), StorageAllocatedCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.storage.allocated.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of allocated storage utilization above which alerts will be sent about low storage available.", null, ConfigurationParameterScope.cluster.toString()), StorageCapacityThreshold("Alert", ManagementServer.class, Float.class, "cluster.storage.capacity.notificationthreshold", "0.75", "Percentage (as a value between 0 and 1) of storage utilization above which alerts will be sent about low storage available.", null, ConfigurationParameterScope.cluster.toString()), @@ -164,7 +165,10 @@ public enum Config { IntegrationAPIPort("Advanced", ManagementServer.class, Integer.class, "integration.api.port", null, "Defaul API port", null), InvestigateRetryInterval("Advanced", HighAvailabilityManager.class, Integer.class, "investigate.retry.interval", "60", "Time (in seconds) between VM pings when agent is disconnected", null), MigrateRetryInterval("Advanced", HighAvailabilityManager.class, Integer.class, "migrate.retry.interval", "120", "Time (in seconds) between migration retries", null), + PingInterval("Advanced", AgentManager.class, Integer.class, "ping.interval", "60", "Ping interval in seconds", null), + PingTimeout("Advanced", AgentManager.class, Float.class, "ping.timeout", "2.5", "Multiplier to ping.interval before announcing an agent has timed out", null), ClusterDeltaSyncInterval("Advanced", AgentManager.class, Integer.class, "sync.interval", "60", "Cluster Delta sync interval in seconds", null), + Port("Advanced", AgentManager.class, Integer.class, "port", "8250", "Port to listen on for agent connection.", null), RouterCpuMHz("Advanced", NetworkManager.class, Integer.class, "router.cpu.mhz", String.valueOf(VpcVirtualNetworkApplianceManager.DEFAULT_ROUTER_CPU_MHZ), "Default CPU speed (MHz) for router VM.", null), RestartRetryInterval("Advanced", HighAvailabilityManager.class, Integer.class, "restart.retry.interval", "600", "Time (in seconds) between retries to restart a vm", null), RouterStatsInterval("Advanced", NetworkManager.class, Integer.class, "router.stats.interval", "300", "Interval (in seconds) to report router statistics.", null), @@ -187,6 +191,7 @@ public enum Config { Wait("Advanced", AgentManager.class, Integer.class, "wait", "1800", "Time in seconds to wait for control commands to return", null), XapiWait("Advanced", AgentManager.class, Integer.class, "xapiwait", "600", "Time (in seconds) to wait for XAPI to return", null), MigrateWait("Advanced", AgentManager.class, Integer.class, "migratewait", "3600", "Time (in seconds) to wait for VM migrate finish", null), + Workers("Advanced", AgentManager.class, Integer.class, "workers", "5", "Number of worker threads.", null), HAWorkers("Advanced", AgentManager.class, Integer.class, "ha.workers", "5", "Number of ha worker threads.", null), MountParent("Advanced", ManagementServer.class, String.class, "mount.parent", "/var/cloudstack/mnt", "The mount point on the Management Server for Secondary Storage.", null), // UpgradeURL("Advanced", ManagementServer.class, String.class, "upgrade.url", "http://example.com:8080/client/agent/update.zip", "The upgrade URL is the URL of the management server that agents will connect to in order to automatically upgrade.", null), @@ -334,6 +339,7 @@ public enum Config { VmOpCancelInterval("Advanced", ManagementServer.class, Long.class, "vm.op.cancel.interval", "3600", "Time (in seconds) to wait before cancelling a operation", "Seconds"), DefaultPageSize("Advanced", ManagementServer.class, Long.class, "default.page.size", "500", "Default page size for API list* commands", null), + DirectAgentPoolSize("Advanced", ManagementServer.class, Integer.class, "direct.agent.pool.size", "500", "Default size for DirectAgentPool", null), TaskCleanupRetryInterval("Advanced", ManagementServer.class, Integer.class, "task.cleanup.retry.interval", "600", "Time (in seconds) to wait before retrying cleanup of tasks if the cleanup failed previously. 0 means to never retry.", "Seconds"), @@ -351,8 +357,11 @@ public enum Config { DefaultMaxAccountSecondaryStorage("Account Defaults", ManagementServer.class, Long.class, "max.account.secondary.storage", "400", "The default maximum secondary storage space (in GiB) that can be used for an account", null), ResourceCountCheckInterval("Advanced", ManagementServer.class, Long.class, "resourcecount.check.interval", "0", "Time (in seconds) to wait before retrying resource count check task. Default is 0 which is to never run the task", "Seconds"), + DirectAgentLoadSize("Advanced", ManagementServer.class, Integer.class, "direct.agent.load.size", "16", "The number of direct agents to load each time", null), + DirectAgentScanInterval("Advanced", ManagementServer.class, Integer.class, "direct.agent.scan.interval", "90", "Time interval (in seconds) to run the direct agent scan task", null), //disabling lb as cluster sync does not work with distributed cluster + AgentLbEnable("Advanced", ManagementServer.class, Boolean.class, "agent.lb.enabled", "false", "If agent load balancing enabled in cluster setup", null), SubDomainNetworkAccess("Advanced", NetworkManager.class, Boolean.class, "allow.subdomain.network.access", "true", "Allow subdomains to use networks dedicated to their parent domain(s)", null), UseExternalDnsServers("Advanced", NetworkManager.class, Boolean.class, "use.external.dns", "false", "Bypass internal dns, use external dns1 and dns2", null, ConfigurationParameterScope.zone.toString()), EncodeApiResponse("Advanced", ManagementServer.class, Boolean.class, "encode.api.response", "false", "Do URL encoding for the api response, false by default", null), diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index a6fc38325fc..00503c5294d 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -40,6 +40,7 @@ import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import org.apache.cloudstack.acl.SecurityChecker; import org.apache.cloudstack.api.ApiConstants.LDAPParams; @@ -68,11 +69,12 @@ import org.apache.cloudstack.api.command.admin.zone.CreateZoneCmd; import org.apache.cloudstack.api.command.admin.zone.DeleteZoneCmd; import org.apache.cloudstack.api.command.admin.zone.UpdateZoneCmd; import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd; +import org.apache.cloudstack.config.ConfigDepot; +import org.apache.cloudstack.config.ConfigKey; +import org.apache.cloudstack.config.ConfigValue; import org.apache.cloudstack.config.Configuration; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.ConfigurationVO; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.PortableIp; import org.apache.cloudstack.region.PortableIpDao; import org.apache.cloudstack.region.PortableIpRange; @@ -90,6 +92,7 @@ import com.cloud.alert.AlertManager; import com.cloud.api.ApiDBUtils; import com.cloud.capacity.dao.CapacityDao; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.AccountVlanMapVO; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; @@ -202,10 +205,11 @@ import com.cloud.vm.dao.NicIpAliasDao; import com.cloud.vm.dao.NicIpAliasVO; import com.cloud.vm.dao.NicSecondaryIpDao; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; +@Component @Local(value = { ConfigurationManager.class, ConfigurationService.class }) -public class ConfigurationManagerImpl extends ManagerBase implements ConfigurationManager, ConfigurationService { +public class ConfigurationManagerImpl extends ManagerBase implements ConfigurationManager, ConfigurationService, ConfigDepot { public static final Logger s_logger = Logger.getLogger(ConfigurationManagerImpl.class.getName()); @Inject @@ -5124,5 +5128,8 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati return false; } - + @Override + public ConfigValue get(ConfigKey config) { + return new ConfigValue(_entityMgr, config); + } } diff --git a/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java index e12def0a05e..df53e0d7d81 100755 --- a/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java +++ b/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java @@ -24,12 +24,11 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; import com.cloud.agent.api.GetVncPortAnswer; import com.cloud.agent.api.GetVncPortCommand; import com.cloud.agent.api.StartupProxyCommand; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; import com.cloud.info.ConsoleProxyInfo; diff --git a/server/src/com/cloud/consoleproxy/AgentHookBase.java b/server/src/com/cloud/consoleproxy/AgentHookBase.java index aa9e4f8a8fb..f051686e5f0 100644 --- a/server/src/com/cloud/consoleproxy/AgentHookBase.java +++ b/server/src/com/cloud/consoleproxy/AgentHookBase.java @@ -33,6 +33,7 @@ import com.cloud.agent.api.GetVncPortCommand; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupProxyCommand; import com.cloud.agent.api.proxy.StartConsoleProxyAgentHttpHandlerCommand; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.OperationTimedoutException; import com.cloud.host.Host; @@ -46,12 +47,9 @@ import com.cloud.servlet.ConsoleProxyServlet; import com.cloud.utils.Ternary; import com.cloud.vm.VirtualMachine; import com.cloud.vm.dao.VMInstanceDao; - import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - /** * Utility class to manage interactions with agent-based console access * Extracted from ConsoleProxyManagerImpl so that other console proxy managers diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyBalanceAllocator.java b/server/src/com/cloud/consoleproxy/ConsoleProxyBalanceAllocator.java index 97bc486e475..89a5f39fafd 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyBalanceAllocator.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyBalanceAllocator.java @@ -17,7 +17,6 @@ package com.cloud.consoleproxy; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; @@ -29,6 +28,8 @@ import javax.naming.ConfigurationException; import com.cloud.utils.component.AdapterBase; import com.cloud.vm.ConsoleProxy; +import edu.emory.mathcs.backport.java.util.Collections; + @Local(value={ConsoleProxyAllocator.class}) public class ConsoleProxyBalanceAllocator extends AdapterBase implements ConsoleProxyAllocator { diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index c5faccbcc29..adc7ef727d6 100755 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -34,7 +34,6 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; @@ -55,6 +54,7 @@ import com.cloud.certificate.dao.CertificateDao; import com.cloud.cluster.ClusterManager; import com.cloud.configuration.Config; import com.cloud.configuration.ZoneConfig; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterVO; diff --git a/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java index 675ff2505bb..7b59a6bf45e 100755 --- a/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java +++ b/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java @@ -27,10 +27,9 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupProxyCommand; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.host.Host.Type; import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; diff --git a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java index 33a382faa01..b896b8404a4 100644 --- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java +++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java @@ -38,7 +38,6 @@ import org.apache.cloudstack.engine.cloud.entity.api.db.VMReservationVO; import org.apache.cloudstack.engine.cloud.entity.api.db.dao.VMReservationDao; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.framework.messagebus.MessageSubscriber; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; @@ -50,11 +49,10 @@ import org.apache.log4j.Logger; - - import com.cloud.capacity.CapacityManager; import com.cloud.capacity.dao.CapacityDao; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.ClusterVO; diff --git a/server/src/com/cloud/deploy/FirstFitPlanner.java b/server/src/com/cloud/deploy/FirstFitPlanner.java index 64b1124d6b8..d2e0c14cb52 100755 --- a/server/src/com/cloud/deploy/FirstFitPlanner.java +++ b/server/src/com/cloud/deploy/FirstFitPlanner.java @@ -29,9 +29,7 @@ import javax.naming.ConfigurationException; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; - import org.apache.log4j.Logger; import com.cloud.agent.manager.allocator.HostAllocator; @@ -40,6 +38,7 @@ import com.cloud.capacity.CapacityManager; import com.cloud.capacity.CapacityVO; import com.cloud.capacity.dao.CapacityDao; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.ClusterVO; diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java index f1e0f3f5dec..ae6fe4e00b3 100644 --- a/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java @@ -27,9 +27,8 @@ import javax.naming.ConfigurationException; import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.alert.AlertManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.usage.dao.UsageJobDao; import com.cloud.utils.db.Transaction; diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java index 825e1edfac1..93de351ac2b 100755 --- a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java @@ -33,13 +33,13 @@ import org.apache.log4j.Logger; import org.apache.log4j.NDC; import org.apache.cloudstack.context.ServerContexts; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.agent.AgentManager; import com.cloud.alert.AlertManager; import com.cloud.cluster.ClusterManagerListener; import com.cloud.cluster.ManagementServerHost; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.DataCenterVO; import com.cloud.dc.HostPodVO; diff --git a/server/src/com/cloud/hypervisor/CloudZonesStartupProcessor.java b/server/src/com/cloud/hypervisor/CloudZonesStartupProcessor.java index 9e4bee029ec..24e4cc4a9e9 100755 --- a/server/src/com/cloud/hypervisor/CloudZonesStartupProcessor.java +++ b/server/src/com/cloud/hypervisor/CloudZonesStartupProcessor.java @@ -26,8 +26,6 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; import com.cloud.agent.StartupCommandProcessor; import com.cloud.agent.api.StartupCommand; @@ -36,6 +34,7 @@ import com.cloud.agent.api.StartupStorageCommand; import com.cloud.agent.manager.authn.AgentAuthnException; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.ZoneConfig; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenterVO; import com.cloud.dc.DcDetailVO; diff --git a/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java b/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java index d7b5ab8318b..f59bdf370aa 100644 --- a/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java +++ b/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java @@ -28,8 +28,6 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; import com.cloud.agent.Listener; import com.cloud.agent.api.AgentControlAnswer; @@ -40,6 +38,7 @@ import com.cloud.agent.api.ShutdownCommand; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupRoutingCommand; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.dao.ClusterDao; import com.cloud.exception.AgentUnavailableException; diff --git a/server/src/com/cloud/network/ExternalDeviceUsageManagerImpl.java b/server/src/com/cloud/network/ExternalDeviceUsageManagerImpl.java index e91dcfa7260..606586e11d8 100644 --- a/server/src/com/cloud/network/ExternalDeviceUsageManagerImpl.java +++ b/server/src/com/cloud/network/ExternalDeviceUsageManagerImpl.java @@ -32,12 +32,11 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; import com.cloud.agent.api.ExternalNetworkResourceUsageAnswer; import com.cloud.agent.api.ExternalNetworkResourceUsageCommand; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.HostPodDao; diff --git a/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java index a9340247f81..4f5a2d57abd 100644 --- a/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java +++ b/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java @@ -28,14 +28,10 @@ import javax.naming.ConfigurationException; import com.cloud.network.dao.*; import com.cloud.offerings.NetworkOfferingVO; - import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.response.ExternalFirewallResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice; - import com.cloud.utils.Pair; - import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; @@ -54,6 +50,7 @@ import com.cloud.agent.api.to.IpAddressTO; import com.cloud.agent.api.to.PortForwardingRuleTO; import com.cloud.agent.api.to.StaticNatRuleTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; import com.cloud.dc.Vlan; diff --git a/server/src/com/cloud/network/ExternalIpAddressAllocator.java b/server/src/com/cloud/network/ExternalIpAddressAllocator.java index ac8f64ec3e5..f24fa2d29b9 100644 --- a/server/src/com/cloud/network/ExternalIpAddressAllocator.java +++ b/server/src/com/cloud/network/ExternalIpAddressAllocator.java @@ -30,8 +30,7 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.VlanDao; import com.cloud.network.dao.IPAddressDao; import com.cloud.utils.component.AdapterBase; diff --git a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java index c3bc0ac351a..829ad3fdfe6 100644 --- a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java +++ b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java @@ -28,9 +28,7 @@ import javax.naming.ConfigurationException; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.response.ExternalLoadBalancerResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice; - import org.apache.log4j.Logger; import com.cloud.agent.AgentManager; @@ -47,6 +45,7 @@ import com.cloud.agent.api.routing.NetworkElementCommand; import com.cloud.agent.api.to.IpAddressTO; import com.cloud.agent.api.to.LoadBalancerTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterIpAddressVO; import com.cloud.dc.DataCenterVO; diff --git a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java index cc0b635d83a..014db59447d 100755 --- a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java +++ b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java @@ -31,13 +31,12 @@ import org.apache.cloudstack.api.command.admin.network.AddNetworkDeviceCmd; import org.apache.cloudstack.api.command.admin.network.DeleteNetworkDeviceCmd; import org.apache.cloudstack.api.command.admin.network.ListNetworkDeviceCmd; import org.apache.cloudstack.api.response.NetworkDeviceResponse; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.ExternalNetworkDeviceManager; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.agent.AgentManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.VlanDao; import com.cloud.host.Host; diff --git a/server/src/com/cloud/network/Ipv6AddressManagerImpl.java b/server/src/com/cloud/network/Ipv6AddressManagerImpl.java index 2a237b89b26..a401f9ae396 100644 --- a/server/src/com/cloud/network/Ipv6AddressManagerImpl.java +++ b/server/src/com/cloud/network/Ipv6AddressManagerImpl.java @@ -26,9 +26,8 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; import com.cloud.dc.Vlan; diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 32f997bbf8d..42e40937d64 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -40,7 +40,6 @@ import javax.naming.ConfigurationException; import org.apache.cloudstack.acl.ControlledEntity.ACLType; import org.apache.cloudstack.acl.SecurityChecker.AccessType; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.PortableIp; import org.apache.cloudstack.region.PortableIpDao; import org.apache.cloudstack.region.PortableIpVO; @@ -65,6 +64,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.AccountVlanMapVO; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; diff --git a/server/src/com/cloud/network/NetworkModelImpl.java b/server/src/com/cloud/network/NetworkModelImpl.java index 12e2128eb1e..7665f15b508 100755 --- a/server/src/com/cloud/network/NetworkModelImpl.java +++ b/server/src/com/cloud/network/NetworkModelImpl.java @@ -33,15 +33,14 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.cloudstack.acl.ControlledEntity.ACLType; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.lb.dao.ApplicationLoadBalancerRuleDao; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiDBUtils; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.PodVlanMapVO; import com.cloud.dc.Vlan; diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java index 51add2014f2..546ea5b0515 100755 --- a/server/src/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/com/cloud/network/NetworkServiceImpl.java @@ -52,12 +52,12 @@ import org.apache.cloudstack.api.command.user.network.ListNetworksCmd; import org.apache.cloudstack.api.command.user.network.RestartNetworkCmd; import org.apache.cloudstack.api.command.user.vm.ListNicsCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.network.element.InternalLoadBalancerElementService; import com.cloud.api.ApiDBUtils; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterVO; diff --git a/server/src/com/cloud/network/NetworkUsageManagerImpl.java b/server/src/com/cloud/network/NetworkUsageManagerImpl.java index 41c1bc2912b..5df35c88279 100755 --- a/server/src/com/cloud/network/NetworkUsageManagerImpl.java +++ b/server/src/com/cloud/network/NetworkUsageManagerImpl.java @@ -45,6 +45,7 @@ import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupTrafficMonitorCommand; import com.cloud.agent.manager.Commands; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.DataCenterDao; import com.cloud.event.EventTypes; @@ -73,7 +74,6 @@ import org.apache.cloudstack.api.command.admin.usage.DeleteTrafficMonitorCmd; import org.apache.cloudstack.api.command.admin.usage.ListTrafficMonitorsCmd; import org.apache.cloudstack.api.response.TrafficMonitorResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.usage.UsageIPAddressVO; import com.cloud.user.AccountManager; diff --git a/server/src/com/cloud/network/SshKeysDistriMonitor.java b/server/src/com/cloud/network/SshKeysDistriMonitor.java index 69200623788..cd92ae66377 100755 --- a/server/src/com/cloud/network/SshKeysDistriMonitor.java +++ b/server/src/com/cloud/network/SshKeysDistriMonitor.java @@ -18,8 +18,6 @@ package com.cloud.network; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; import com.cloud.agent.Listener; import com.cloud.agent.api.AgentControlAnswer; @@ -30,6 +28,7 @@ import com.cloud.agent.api.ModifySshKeysCommand; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StartupRoutingCommand; import com.cloud.agent.manager.Commands; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.ConnectionException; import com.cloud.host.Host; diff --git a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java index 97c412709f1..13e0cfb69e0 100644 --- a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java +++ b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java @@ -44,7 +44,6 @@ import org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScaleVmGroupCm import org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScaleVmProfileCmd; import org.apache.cloudstack.api.command.user.vm.DeployVMCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -53,6 +52,7 @@ import com.cloud.api.ApiDBUtils; import com.cloud.api.ApiDispatcher; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.dao.DataCenterDao; import com.cloud.event.ActionEvent; diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index eb701033200..15b7f13ee62 100755 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -28,12 +28,12 @@ import javax.inject.Inject; import org.apache.cloudstack.api.command.admin.router.ConfigureVirtualRouterElementCmd; import org.apache.cloudstack.api.command.admin.router.CreateVirtualRouterElementCmd; import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd; - import org.apache.log4j.Logger; import com.cloud.agent.api.PvlanSetupCommand; import com.cloud.agent.api.to.LoadBalancerTO; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.deploy.DeployDestination; @@ -97,19 +97,14 @@ import com.cloud.vm.VirtualMachine.Type; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.UserVmDao; - import com.google.gson.Gson; - import org.apache.cloudstack.api.command.admin.router.ConfigureVirtualRouterElementCmd; import org.apache.cloudstack.api.command.admin.router.CreateVirtualRouterElementCmd; import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import org.apache.log4j.Logger; import javax.ejb.Local; import javax.inject.Inject; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java index 126251318dd..6fb9bb66abb 100644 --- a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java +++ b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java @@ -33,12 +33,12 @@ import com.cloud.network.dao.*; import org.apache.cloudstack.api.command.user.firewall.ListFirewallRulesCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; diff --git a/server/src/com/cloud/network/guru/ControlNetworkGuru.java b/server/src/com/cloud/network/guru/ControlNetworkGuru.java index 893e140bb61..40aa4687a95 100755 --- a/server/src/com/cloud/network/guru/ControlNetworkGuru.java +++ b/server/src/com/cloud/network/guru/ControlNetworkGuru.java @@ -24,9 +24,8 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterVO; diff --git a/server/src/com/cloud/network/guru/GuestNetworkGuru.java b/server/src/com/cloud/network/guru/GuestNetworkGuru.java index 3fa0dd77cb6..f2eeb1252f7 100755 --- a/server/src/com/cloud/network/guru/GuestNetworkGuru.java +++ b/server/src/com/cloud/network/guru/GuestNetworkGuru.java @@ -32,9 +32,9 @@ import com.cloud.utils.Pair; import org.apache.log4j.Logger; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.dao.DataCenterDao; diff --git a/server/src/com/cloud/network/lb/LBHealthCheckManagerImpl.java b/server/src/com/cloud/network/lb/LBHealthCheckManagerImpl.java index 1daa3f0dc1c..62b738bb498 100644 --- a/server/src/com/cloud/network/lb/LBHealthCheckManagerImpl.java +++ b/server/src/com/cloud/network/lb/LBHealthCheckManagerImpl.java @@ -30,9 +30,8 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.rules.LoadBalancerContainer.Scheme; import com.cloud.utils.NumbersUtil; diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index 79f3cf820b2..afbcfa0831b 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -47,7 +47,6 @@ import org.apache.cloudstack.api.command.user.loadbalancer.ListLoadBalancerRules import org.apache.cloudstack.api.command.user.loadbalancer.UpdateLoadBalancerRuleCmd; import org.apache.cloudstack.api.response.ServiceResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.lb.ApplicationLoadBalancerRuleVO; import org.apache.cloudstack.lb.dao.ApplicationLoadBalancerRuleDao; @@ -57,6 +56,7 @@ import org.springframework.stereotype.Component; import com.cloud.agent.api.to.LoadBalancerTO; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.dao.DataCenterDao; diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index d2bee6af13a..ef7b0e4cab8 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -46,9 +46,7 @@ import org.springframework.stereotype.Component; import org.apache.cloudstack.api.command.admin.router.UpgradeRouterCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.context.ServerContexts; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.utils.identity.ManagementServerNode; - import com.cloud.agent.AgentManager; import com.cloud.agent.AgentManager.OnError; import com.cloud.agent.Listener; @@ -100,6 +98,7 @@ import com.cloud.cluster.dao.ManagementServerHostDao; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.ZoneConfig; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java index 50ece8958b9..ac5e076c477 100755 --- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -18,7 +18,6 @@ package com.cloud.network.security; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashMap; @@ -38,18 +37,17 @@ import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; -import org.apache.commons.codec.digest.DigestUtils; -import org.apache.log4j.Logger; - import org.apache.cloudstack.api.command.user.securitygroup.AuthorizeSecurityGroupEgressCmd; import org.apache.cloudstack.api.command.user.securitygroup.AuthorizeSecurityGroupIngressCmd; import org.apache.cloudstack.api.command.user.securitygroup.CreateSecurityGroupCmd; import org.apache.cloudstack.api.command.user.securitygroup.DeleteSecurityGroupCmd; import org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupEgressCmd; import org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupIngressCmd; -import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; -import org.apache.cloudstack.utils.identity.ManagementServerNode; + +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.log4j.Logger; + +import com.amazonaws.services.identitymanagement.model.User; import com.cloud.agent.AgentManager; import com.cloud.agent.api.NetworkRulesSystemVmCommand; @@ -60,27 +58,19 @@ import com.cloud.agent.manager.Commands; import com.cloud.api.query.dao.SecurityGroupJoinDao; import com.cloud.api.query.vo.SecurityGroupJoinVO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventUtils; -import com.cloud.exception.AgentUnavailableException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.OperationTimedoutException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.ResourceInUseException; +import com.cloud.exception.*; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.network.Network; import com.cloud.network.NetworkManager; import com.cloud.network.NetworkModel; import com.cloud.network.security.SecurityGroupWork.Step; import com.cloud.network.security.SecurityRule.SecurityRuleType; -import com.cloud.network.security.dao.SecurityGroupDao; -import com.cloud.network.security.dao.SecurityGroupRuleDao; -import com.cloud.network.security.dao.SecurityGroupRulesDao; -import com.cloud.network.security.dao.SecurityGroupVMMapDao; -import com.cloud.network.security.dao.SecurityGroupWorkDao; -import com.cloud.network.security.dao.VmRulesetLogDao; +import com.cloud.network.security.dao.*; import com.cloud.projects.ProjectManager; import com.cloud.tags.dao.ResourceTagDao; import com.cloud.user.Account; @@ -90,6 +80,7 @@ import com.cloud.user.dao.AccountDao; import com.cloud.uservm.UserVm; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; +import com.cloud.utils.component.Manager; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.DB; @@ -99,21 +90,22 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.fsm.StateListener; import com.cloud.utils.net.NetUtils; -import com.cloud.vm.Nic; -import com.cloud.vm.NicProfile; -import com.cloud.vm.NicVO; -import com.cloud.vm.UserVmManager; -import com.cloud.vm.UserVmVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; +import com.cloud.vm.*; import com.cloud.vm.VirtualMachine.Event; import com.cloud.vm.VirtualMachine.State; -import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicSecondaryIpDao; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; +import edu.emory.mathcs.backport.java.util.Collections; + +import org.apache.cloudstack.api.command.user.securitygroup.*; +import org.apache.cloudstack.context.CallContext; +import org.apache.cloudstack.utils.identity.ManagementServerNode; + +import java.util.*; + @Local(value = { SecurityGroupManager.class, SecurityGroupService.class }) public class SecurityGroupManagerImpl extends ManagerBase implements SecurityGroupManager, SecurityGroupService, StateListener { public static final Logger s_logger = Logger.getLogger(SecurityGroupManagerImpl.class); diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java index 03750e35ec5..c13866b75d1 100644 --- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java @@ -19,6 +19,7 @@ package com.cloud.network.vpc; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.Vlan.VlanType; import com.cloud.dc.VlanVO; @@ -103,7 +104,6 @@ import org.apache.cloudstack.acl.ControlledEntity.ACLType; import org.apache.cloudstack.api.command.user.vpc.ListPrivateGatewaysCmd; import org.apache.cloudstack.api.command.user.vpc.ListStaticRoutesCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; diff --git a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java index 8d497c9bdcb..401b9f48f3e 100755 --- a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java +++ b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java @@ -28,12 +28,12 @@ import javax.naming.ConfigurationException; import org.apache.cloudstack.api.command.user.vpn.ListRemoteAccessVpnsCmd; import org.apache.cloudstack.api.command.user.vpn.ListVpnUsersCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.domain.DomainVO; import com.cloud.domain.dao.DomainDao; import com.cloud.event.EventTypes; diff --git a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java index d66fd7b4fce..1a92c9b83ee 100644 --- a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java +++ b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java @@ -36,12 +36,12 @@ import org.apache.cloudstack.api.command.user.vpn.ListVpnGatewaysCmd; import org.apache.cloudstack.api.command.user.vpn.ResetVpnConnectionCmd; import org.apache.cloudstack.api.command.user.vpn.UpdateVpnCustomerGatewayCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; diff --git a/server/src/com/cloud/projects/ProjectManagerImpl.java b/server/src/com/cloud/projects/ProjectManagerImpl.java index edcdf3f1a2b..97fa4133abf 100755 --- a/server/src/com/cloud/projects/ProjectManagerImpl.java +++ b/server/src/com/cloud/projects/ProjectManagerImpl.java @@ -41,7 +41,6 @@ import javax.naming.ConfigurationException; import org.apache.cloudstack.acl.SecurityChecker.AccessType; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -53,6 +52,7 @@ import com.cloud.api.query.dao.ProjectJoinDao; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.domain.DomainVO; import com.cloud.domain.dao.DomainDao; import com.cloud.event.ActionEvent; diff --git a/server/src/com/cloud/resource/DiscovererBase.java b/server/src/com/cloud/resource/DiscovererBase.java index 0ad553e4325..0c9dd2551e5 100644 --- a/server/src/com/cloud/resource/DiscovererBase.java +++ b/server/src/com/cloud/resource/DiscovererBase.java @@ -27,9 +27,8 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.dao.ClusterDao; import com.cloud.host.HostVO; diff --git a/server/src/com/cloud/resource/ResourceManagerImpl.java b/server/src/com/cloud/resource/ResourceManagerImpl.java index f060b57a369..beb5f4e50e2 100755 --- a/server/src/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/com/cloud/resource/ResourceManagerImpl.java @@ -46,7 +46,6 @@ import org.apache.cloudstack.api.command.admin.host.ReconnectHostCmd; import org.apache.cloudstack.api.command.admin.host.UpdateHostCmd; import org.apache.cloudstack.api.command.admin.host.UpdateHostPasswordCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.dao.RegionDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; @@ -76,6 +75,7 @@ import com.cloud.capacity.dao.CapacityDao; import com.cloud.cluster.ClusterManager; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.ClusterVO; diff --git a/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java b/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java index 376e943393b..bfa6981e3fb 100755 --- a/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java +++ b/server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java @@ -31,7 +31,6 @@ import javax.naming.ConfigurationException; import org.apache.cloudstack.acl.SecurityChecker.AccessType; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; @@ -47,6 +46,7 @@ import com.cloud.configuration.ResourceCount; import com.cloud.configuration.ResourceCountVO; import com.cloud.configuration.ResourceLimit; import com.cloud.configuration.ResourceLimitVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.configuration.dao.ResourceCountDao; import com.cloud.configuration.dao.ResourceLimitDao; import com.cloud.dc.VlanVO; @@ -100,7 +100,7 @@ import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; @Component @Local(value = { ResourceLimitService.class }) diff --git a/server/src/com/cloud/server/ConfigurationServer.java b/server/src/com/cloud/server/ConfigurationServer.java index 1c8ccfec62d..c1306d5ec82 100644 --- a/server/src/com/cloud/server/ConfigurationServer.java +++ b/server/src/com/cloud/server/ConfigurationServer.java @@ -18,8 +18,7 @@ package com.cloud.server; import java.util.List; -import org.apache.cloudstack.framework.config.ConfigurationVO; - +import com.cloud.configuration.ConfigurationVO; import com.cloud.exception.InternalErrorException; /** diff --git a/server/src/com/cloud/server/ConfigurationServerImpl.java b/server/src/com/cloud/server/ConfigurationServerImpl.java index b3ead6381fe..febb6d2fe7e 100755 --- a/server/src/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/com/cloud/server/ConfigurationServerImpl.java @@ -42,23 +42,22 @@ import javax.crypto.SecretKey; import javax.inject.Inject; import javax.naming.ConfigurationException; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.io.FileUtils; -import org.apache.log4j.Logger; - -import org.apache.cloudstack.framework.config.ConfigDepotAdmin; -import org.apache.cloudstack.framework.config.ConfigurationVO; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailVO; import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.io.FileUtils; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.configuration.Config; +import com.cloud.configuration.ConfigurationVO; import com.cloud.configuration.Resource; import com.cloud.configuration.Resource.ResourceOwnerType; import com.cloud.configuration.Resource.ResourceType; import com.cloud.configuration.ResourceCountVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.configuration.dao.ResourceCountDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; @@ -121,8 +120,9 @@ import com.cloud.utils.net.NetUtils; import com.cloud.utils.script.Script; +@Component public class ConfigurationServerImpl extends ManagerBase implements ConfigurationServer { - public static final Logger s_logger = Logger.getLogger(ConfigurationServerImpl.class); + public static final Logger s_logger = Logger.getLogger(ConfigurationServerImpl.class.getName()); @Inject private ConfigurationDao _configDao; @Inject private DataCenterDao _zoneDao; @@ -143,8 +143,7 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio @Inject private ClusterDetailsDao _clusterDetailsDao; @Inject private StoragePoolDetailsDao _storagePoolDetailsDao; @Inject private AccountDetailsDao _accountDetailsDao; - @Inject - protected ConfigDepotAdmin _configDepotAdmin; + public ConfigurationServerImpl() { setRunLevel(ComponentLifecycle.RUN_LEVEL_FRAMEWORK_BOOTSTRAP); @@ -156,7 +155,6 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio try { persistDefaultValues(); - _configDepotAdmin.populateConfigurations(); } catch (InternalErrorException e) { throw new RuntimeException("Unhandled configuration exception", e); } @@ -302,8 +300,6 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio // Update the cloud identifier updateCloudIdentifier(); - _configDepotAdmin.populateConfigurations(); - // We should not update seed data UUID column here since this will be invoked in upgrade case as well. //updateUuids(); // Set init to true diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 67496de3e4b..74600841862 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -22,10 +22,8 @@ import java.net.URLDecoder; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashMap; @@ -428,8 +426,6 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; -import org.apache.cloudstack.framework.config.ConfigurationVO; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.utils.identity.ManagementServerNode; @@ -449,6 +445,8 @@ import com.cloud.capacity.dao.CapacityDao; import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; import com.cloud.cluster.ClusterManager; import com.cloud.configuration.Config; +import com.cloud.configuration.ConfigurationVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.consoleproxy.ConsoleProxyManagementState; import com.cloud.consoleproxy.ConsoleProxyManager; import com.cloud.dc.AccountVlanMapVO; @@ -586,6 +584,9 @@ import com.cloud.vm.dao.SecondaryStorageVmDao; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; +import edu.emory.mathcs.backport.java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Collections; + public class ManagementServerImpl extends ManagerBase implements ManagementServer { public static final Logger s_logger = Logger.getLogger(ManagementServerImpl.class.getName()); diff --git a/server/src/com/cloud/server/StatsCollector.java b/server/src/com/cloud/server/StatsCollector.java index 2fc423c18d6..3be74611406 100755 --- a/server/src/com/cloud/server/StatsCollector.java +++ b/server/src/com/cloud/server/StatsCollector.java @@ -36,12 +36,12 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.resource.ResourceManager; import org.apache.log4j.Logger; diff --git a/server/src/com/cloud/servlet/RegisterCompleteServlet.java b/server/src/com/cloud/servlet/RegisterCompleteServlet.java index 25ceff12053..04c5ea9c325 100644 --- a/server/src/com/cloud/servlet/RegisterCompleteServlet.java +++ b/server/src/com/cloud/servlet/RegisterCompleteServlet.java @@ -31,8 +31,8 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.support.SpringBeanAutowiringSupport; import org.apache.cloudstack.config.Configuration; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.user.Account; import com.cloud.user.AccountService; import com.cloud.user.User; diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 5c16b5ebee5..25ef70ba95d 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -74,7 +74,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.VolumeService; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeService.VolumeApiResult; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; import org.apache.cloudstack.framework.async.AsyncCallFuture; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; @@ -104,6 +103,7 @@ import com.cloud.cluster.ClusterManagerListener; import com.cloud.cluster.ManagementServerHost; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenterVO; import com.cloud.dc.Pod; diff --git a/server/src/com/cloud/storage/VolumeManagerImpl.java b/server/src/com/cloud/storage/VolumeManagerImpl.java index b076164fb62..86e6a5adc82 100644 --- a/server/src/com/cloud/storage/VolumeManagerImpl.java +++ b/server/src/com/cloud/storage/VolumeManagerImpl.java @@ -36,7 +36,6 @@ import com.cloud.utils.EnumUtils; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.UriUtils; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -67,7 +66,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeService; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeService.VolumeApiResult; import org.apache.cloudstack.framework.async.AsyncCallFuture; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.jobs.AsyncJob; import org.apache.cloudstack.framework.jobs.AsyncJobExecutionContext; import org.apache.cloudstack.framework.jobs.AsyncJobManager; @@ -97,6 +95,7 @@ import com.cloud.capacity.dao.CapacityDao; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.consoleproxy.ConsoleProxyManager; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; diff --git a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java index eb790a44f9c..0bb1a865358 100755 --- a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java +++ b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java @@ -35,7 +35,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.command.DownloadCommand; import org.apache.cloudstack.storage.command.DownloadCommand.ResourceType; import org.apache.cloudstack.storage.command.DownloadProgressCommand; @@ -47,7 +46,6 @@ import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao; import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO; import org.apache.cloudstack.storage.to.TemplateObjectTO; import org.apache.cloudstack.storage.to.VolumeObjectTO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -55,6 +53,7 @@ import com.cloud.agent.AgentManager; import com.cloud.agent.api.storage.DownloadAnswer; import com.cloud.agent.api.storage.Proxy; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.storage.RegisterVolumePayload; import com.cloud.storage.VMTemplateStorageResourceAssoc; import com.cloud.storage.Storage.ImageFormat; diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index d1c148b2cf5..b7a73933c02 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -35,7 +35,6 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; @@ -61,6 +60,7 @@ import com.cloud.capacity.dao.CapacityDao; import com.cloud.cluster.ClusterManager; import com.cloud.configuration.Config; import com.cloud.configuration.ZoneConfig; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.consoleproxy.ConsoleProxyManager; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; diff --git a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java index c5cb1133f1b..48ac1da7ad4 100755 --- a/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java +++ b/server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java @@ -42,12 +42,10 @@ import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotStrategy; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreDao; import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; - import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -59,6 +57,7 @@ import com.cloud.alert.AlertManager; import com.cloud.api.commands.ListRecurringSnapshotScheduleCmd; import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; diff --git a/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java b/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java index 52e20f02c08..35166cd74ae 100644 --- a/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java +++ b/server/src/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java @@ -34,13 +34,13 @@ import org.springframework.stereotype.Component; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.command.user.snapshot.CreateSnapshotCmd; import org.apache.cloudstack.context.ServerContexts; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.framework.jobs.dao.AsyncJobDao; import org.apache.cloudstack.framework.jobs.impl.AsyncJobVO; import com.cloud.api.ApiDispatcher; import com.cloud.api.ApiGsonHelper; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.event.ActionEventUtils; import com.cloud.event.EventTypes; import com.cloud.storage.Snapshot; diff --git a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java index 12378de870d..8c052790b28 100755 --- a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java +++ b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java @@ -39,7 +39,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; @@ -52,6 +51,7 @@ import com.cloud.agent.api.storage.DeleteEntityDownloadURLCommand; import com.cloud.agent.api.storage.UploadCommand; import com.cloud.agent.api.storage.UploadProgressCommand.RequestType; import com.cloud.api.ApiDBUtils; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.host.Host; import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; diff --git a/server/src/com/cloud/template/TemplateAdapterBase.java b/server/src/com/cloud/template/TemplateAdapterBase.java index 3e5486865dd..0e03cf4c628 100755 --- a/server/src/com/cloud/template/TemplateAdapterBase.java +++ b/server/src/com/cloud/template/TemplateAdapterBase.java @@ -30,7 +30,6 @@ import org.apache.cloudstack.api.command.user.template.RegisterTemplateCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.log4j.Logger; @@ -38,6 +37,7 @@ import org.apache.log4j.Logger; import com.cloud.api.ApiDBUtils; import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.DataCenterDao; import com.cloud.domain.dao.DomainDao; diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index ade7cba1dad..3820af0c979 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -69,7 +69,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; import org.apache.cloudstack.framework.async.AsyncCallFuture; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.storage.command.AttachCommand; import org.apache.cloudstack.storage.command.CommandResult; @@ -94,6 +93,7 @@ import com.cloud.api.query.dao.UserVmJoinDao; import com.cloud.api.query.vo.UserVmJoinVO; import com.cloud.configuration.Config; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenterVO; import com.cloud.dc.dao.ClusterDao; diff --git a/server/src/com/cloud/usage/UsageServiceImpl.java b/server/src/com/cloud/usage/UsageServiceImpl.java index 2ffb01d3bce..e6e6ab999b5 100755 --- a/server/src/com/cloud/usage/UsageServiceImpl.java +++ b/server/src/com/cloud/usage/UsageServiceImpl.java @@ -31,7 +31,6 @@ import org.apache.cloudstack.api.command.admin.usage.GenerateUsageRecordsCmd; import org.apache.cloudstack.api.command.admin.usage.GetUsageRecordsCmd; import org.apache.cloudstack.api.response.UsageTypeResponse; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.usage.UsageService; import org.apache.cloudstack.usage.UsageTypes; @@ -39,6 +38,7 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.domain.dao.DomainDao; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java index c0901603763..53e3f51f262 100755 --- a/server/src/com/cloud/user/AccountManagerImpl.java +++ b/server/src/com/cloud/user/AccountManagerImpl.java @@ -51,7 +51,6 @@ import org.apache.cloudstack.api.command.admin.user.RegisterCmd; import org.apache.cloudstack.api.command.admin.user.UpdateUserCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.context.ServerContexts; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.gslb.GlobalLoadBalancerRuleDao; import com.cloud.api.ApiDBUtils; @@ -61,6 +60,7 @@ import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceOwnerType; import com.cloud.configuration.ResourceCountVO; import com.cloud.configuration.ResourceLimit; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.configuration.dao.ResourceCountDao; import com.cloud.configuration.dao.ResourceLimitDao; import com.cloud.dc.DataCenterVO; diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 8b19a00adda..07d5f644ead 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -66,7 +66,6 @@ import org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntity; import org.apache.cloudstack.engine.service.api.OrchestrationService; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateDataFactory; import org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; @@ -95,6 +94,7 @@ import com.cloud.capacity.CapacityManager; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.DataCenter; import com.cloud.dc.DataCenter.NetworkType; import com.cloud.dc.DataCenterVO; diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index b1388a06431..15a9a825e8d 100755 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -41,7 +41,6 @@ import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; import org.apache.cloudstack.utils.identity.ManagementServerNode; @@ -84,6 +83,7 @@ import com.cloud.alert.AlertManager; import com.cloud.capacity.CapacityManager; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterDetailsVO; import com.cloud.dc.DataCenter; @@ -184,6 +184,12 @@ import com.cloud.vm.snapshot.VMSnapshot; import com.cloud.vm.snapshot.VMSnapshotManager; import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; +import org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator; +import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory; +import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; +import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; +import org.apache.log4j.Logger; @Local(value = VirtualMachineManager.class) public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMachineManager, Listener { diff --git a/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java b/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java index aa772fefa9d..734ddf1f18c 100644 --- a/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java +++ b/server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java @@ -33,7 +33,6 @@ import org.springframework.stereotype.Component; import org.apache.cloudstack.api.command.user.vmsnapshot.ListVMSnapshotCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; @@ -48,6 +47,7 @@ import com.cloud.agent.api.RevertToVMSnapshotAnswer; import com.cloud.agent.api.RevertToVMSnapshotCommand; import com.cloud.agent.api.VMSnapshotTO; import com.cloud.agent.api.to.VolumeTO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventUtils; diff --git a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java index 25a40ee9051..a16814c75c8 100644 --- a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java +++ b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java @@ -21,6 +21,7 @@ import com.cloud.agent.AgentManager; import com.cloud.agent.api.routing.GlobalLoadBalancerConfigCommand; import com.cloud.agent.api.routing.SiteLoadBalancerConfig; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.event.ActionEvent; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventUtils; @@ -43,7 +44,6 @@ import com.cloud.utils.net.NetUtils; import org.apache.cloudstack.acl.SecurityChecker; import org.apache.cloudstack.api.command.user.region.ha.gslb.*; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.Region; import org.apache.cloudstack.region.dao.RegionDao; diff --git a/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java b/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java index ca1bcfc4ef6..e2e9d68c013 100644 --- a/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java +++ b/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java @@ -19,9 +19,7 @@ package com.cloud.network.security; import java.io.IOException; -import org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl; import org.apache.cloudstack.test.utils.SpringUtils; - import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -35,6 +33,7 @@ import org.springframework.core.type.filter.TypeFilter; import com.cloud.agent.AgentManager; import com.cloud.api.query.dao.SecurityGroupJoinDaoImpl; import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl; +import com.cloud.configuration.dao.ConfigurationDaoImpl; import com.cloud.dc.dao.ClusterDaoImpl; import com.cloud.dc.dao.DataCenterDaoImpl; import com.cloud.dc.dao.DataCenterIpAddressDaoImpl; diff --git a/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java b/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java index 3544e0a547e..2256de1e465 100644 --- a/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java +++ b/server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java @@ -17,11 +17,9 @@ package com.cloud.vm; import static org.junit.Assert.*; - import java.io.IOException; import java.util.ArrayList; import java.util.List; - import javax.inject.Inject; import javax.naming.ConfigurationException; @@ -34,6 +32,7 @@ import com.cloud.storage.dao.StoragePoolHostDao; import com.cloud.storage.dao.VolumeDao; import com.cloud.capacity.CapacityManager; import com.cloud.capacity.dao.CapacityDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.deploy.DeploymentPlanner.ExcludeList; import com.cloud.agent.AgentManager; import com.cloud.dc.ClusterDetailsDao; @@ -52,17 +51,14 @@ import com.cloud.deploy.DeploymentPlanningManagerImpl; import com.cloud.deploy.FirstFitPlanner; import com.cloud.deploy.PlannerHostReservationVO; import com.cloud.deploy.dao.PlannerHostReservationDao; - import org.apache.cloudstack.affinity.AffinityGroupProcessor; import org.apache.cloudstack.affinity.dao.AffinityGroupDao; import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao; import org.apache.cloudstack.engine.cloud.entity.api.db.dao.VMReservationDao; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.test.utils.SpringUtils; - import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; diff --git a/server/test/com/cloud/vm/UserVmManagerTest.java b/server/test/com/cloud/vm/UserVmManagerTest.java index 6b87f29e4a6..a6b8daf92a8 100755 --- a/server/test/com/cloud/vm/UserVmManagerTest.java +++ b/server/test/com/cloud/vm/UserVmManagerTest.java @@ -48,10 +48,10 @@ import org.apache.cloudstack.api.command.admin.vm.AssignVMCmd; import org.apache.cloudstack.api.command.user.vm.RestoreVMCmd; import org.apache.cloudstack.api.command.user.vm.ScaleVMCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.capacity.CapacityManager; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InvalidParameterValueException; diff --git a/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java b/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java index ea2ed4f9517..9f36450c67e 100644 --- a/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java +++ b/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java @@ -37,7 +37,6 @@ import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.apache.cloudstack.api.command.user.vm.RestoreVMCmd; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; @@ -60,6 +59,7 @@ import com.cloud.agent.api.ScaleVmCommand; import com.cloud.capacity.CapacityManager; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.ClusterDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.HostPodDao; diff --git a/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java b/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java index 055b2b08984..41c9d120539 100644 --- a/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java +++ b/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java @@ -31,9 +31,7 @@ import javax.inject.Inject; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.SecurityChecker.AccessType; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; - import org.junit.Before; import org.junit.Test; import org.mockito.Mock; @@ -41,12 +39,12 @@ import org.mockito.MockitoAnnotations; import org.mockito.Spy; import com.amazonaws.services.ec2.model.HypervisorType; - import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; import com.cloud.agent.api.CreateVMSnapshotAnswer; import com.cloud.agent.api.CreateVMSnapshotCommand; import com.cloud.agent.api.to.VolumeTO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.OperationTimedoutException; diff --git a/server/test/com/cloud/vpc/VpcTest.java b/server/test/com/cloud/vpc/VpcTest.java index b2120223dcd..24c011b5cb8 100644 --- a/server/test/com/cloud/vpc/VpcTest.java +++ b/server/test/com/cloud/vpc/VpcTest.java @@ -40,10 +40,10 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.support.AnnotationConfigContextLoader; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.test.utils.SpringUtils; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.VlanDao; import com.cloud.network.NetworkManager; diff --git a/server/test/com/cloud/vpc/VpcTestConfiguration.java b/server/test/com/cloud/vpc/VpcTestConfiguration.java index 9a22587e311..7ae83f3a9c9 100644 --- a/server/test/com/cloud/vpc/VpcTestConfiguration.java +++ b/server/test/com/cloud/vpc/VpcTestConfiguration.java @@ -19,9 +19,7 @@ package com.cloud.vpc; import java.io.IOException; -import org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl; import org.apache.cloudstack.test.utils.SpringUtils; - import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -34,6 +32,7 @@ import org.springframework.core.type.filter.TypeFilter; import com.cloud.alert.AlertManager; import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl; +import com.cloud.configuration.dao.ConfigurationDaoImpl; import com.cloud.configuration.dao.ResourceCountDaoImpl; import com.cloud.configuration.dao.ResourceLimitDaoImpl; import com.cloud.dao.EntityManagerImpl; diff --git a/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java b/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java index 1ca5e9347f6..4322c323e49 100644 --- a/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java +++ b/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java @@ -21,9 +21,8 @@ import java.util.Map; import javax.ejb.Local; -import org.apache.cloudstack.framework.config.ConfigurationVO; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - +import com.cloud.configuration.ConfigurationVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.utils.db.GenericDaoBase; @Local(value={ConfigurationDao.class}) diff --git a/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java b/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java index 37bd1f7ae7c..578316c85b0 100644 --- a/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java +++ b/server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java @@ -32,7 +32,6 @@ import org.springframework.core.type.filter.TypeFilter; import org.apache.cloudstack.acl.SecurityChecker; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.PortableIpDaoImpl; import org.apache.cloudstack.region.PortableIpRangeDaoImpl; import org.apache.cloudstack.region.dao.RegionDaoImpl; @@ -44,6 +43,7 @@ import com.cloud.alert.AlertManager; import com.cloud.api.query.dao.UserAccountJoinDaoImpl; import com.cloud.capacity.dao.CapacityDaoImpl; import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.dao.AccountVlanMapDaoImpl; import com.cloud.dc.dao.ClusterDaoImpl; diff --git a/server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java b/server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java index 122cf7973c9..552703138d5 100644 --- a/server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java +++ b/server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java @@ -35,10 +35,10 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.ConfigurationVO; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.ConfigurationVO; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.Network; import com.cloud.network.Network.Provider; diff --git a/server/test/org/apache/cloudstack/privategw/AclOnPrivateGwTest.java b/server/test/org/apache/cloudstack/privategw/AclOnPrivateGwTest.java index 7b32a181093..b873472e3ee 100644 --- a/server/test/org/apache/cloudstack/privategw/AclOnPrivateGwTest.java +++ b/server/test/org/apache/cloudstack/privategw/AclOnPrivateGwTest.java @@ -17,6 +17,7 @@ package org.apache.cloudstack.privategw; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.dc.dao.DataCenterDao; import com.cloud.dc.dao.VlanDao; import com.cloud.exception.*; @@ -35,14 +36,10 @@ import com.cloud.user.AccountManager; import com.cloud.user.ResourceLimitService; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.dao.DomainRouterDao; - import junit.framework.Assert; - import org.apache.cloudstack.api.ServerApiException; import org.apache.cloudstack.api.command.admin.vpc.CreatePrivateGatewayCmd; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.test.utils.SpringUtils; - import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; @@ -60,7 +57,6 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.support.AnnotationConfigContextLoader; import javax.naming.ConfigurationException; - import java.io.IOException; @RunWith(SpringJUnit4ClassRunner.class) diff --git a/server/test/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java b/server/test/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java index d0f09513e29..2355089de25 100644 --- a/server/test/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java +++ b/server/test/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java @@ -39,11 +39,11 @@ import org.apache.cloudstack.api.command.user.region.ha.gslb.CreateGlobalLoadBal import org.apache.cloudstack.api.command.user.region.ha.gslb.DeleteGlobalLoadBalancerRuleCmd; import org.apache.cloudstack.api.command.user.region.ha.gslb.RemoveFromGlobalLoadBalancerRuleCmd; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.region.RegionVO; import org.apache.cloudstack.region.dao.RegionDao; import com.cloud.agent.AgentManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.dao.IPAddressDao; import com.cloud.network.dao.IPAddressVO; diff --git a/services/secondary-storage/src/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java b/services/secondary-storage/src/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java index c55c2361bd5..fd6e2967fe7 100644 --- a/services/secondary-storage/src/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java +++ b/services/secondary-storage/src/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java @@ -36,7 +36,6 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.amazonaws.services.s3.model.S3ObjectSummary; - import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; import com.cloud.agent.api.storage.DownloadAnswer; @@ -45,13 +44,12 @@ import com.cloud.agent.api.to.NfsTO; import com.cloud.agent.api.to.S3TO; import com.cloud.agent.api.to.SwiftTO; import com.cloud.configuration.Config; +import com.cloud.configuration.dao.ConfigurationDaoImpl; import com.cloud.storage.JavaStorageLayer; import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; -import org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl; import org.apache.cloudstack.storage.template.DownloadManagerImpl; import org.apache.cloudstack.storage.template.DownloadManagerImpl.ZfsPathParser; - import com.cloud.utils.S3Utils; import com.cloud.utils.UriUtils; import com.cloud.utils.exception.CloudRuntimeException; diff --git a/services/secondary-storage/src/org/apache/cloudstack/storage/resource/SecondaryStorageDiscoverer.java b/services/secondary-storage/src/org/apache/cloudstack/storage/resource/SecondaryStorageDiscoverer.java index 5d6d61f740a..62b98133b8d 100755 --- a/services/secondary-storage/src/org/apache/cloudstack/storage/resource/SecondaryStorageDiscoverer.java +++ b/services/secondary-storage/src/org/apache/cloudstack/storage/resource/SecondaryStorageDiscoverer.java @@ -32,9 +32,8 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - import com.cloud.agent.AgentManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.host.HostVO; import com.cloud.host.Status.Event; import com.cloud.host.dao.HostDao; diff --git a/setup/db/db/schema-420to430.sql b/setup/db/db/schema-420to430.sql index dc526659ba5..52b8391f7e5 100644 --- a/setup/db/db/schema-420to430.sql +++ b/setup/db/db/schema-420to430.sql @@ -87,10 +87,3 @@ CREATE TABLE `cloud`.`async_job_join_map` ( INDEX `i_async_job_join_map__next_wakeup`(`next_wakeup`), INDEX `i_async_job_join_map__expiration`(`expiration`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -ALTER TABLE `cloud`.`configuration` ADD COLUMN `default_value` VARCHAR(4095) COMMENT 'Default value for a configuration parameter'; -ALTER TABLE `cloud`.`configuration` ADD COLUMN `updated` datetime COMMENT 'Time this was updated by the server. null means this row is obsolete.'; -ALTER TABLE `cloud`.`configuration` ADD COLUMN `scope` VARCHAR(255) DEFAULT NULL COMMENT 'Can this parameter be scoped'; -ALTER TABLE `cloud`.`configuration` ADD COLUMN `is_dynamic` TINYINT(1) NOT NULL DEFAULT 0 COMMENT 'Can the parameter be change dynamically without restarting the server'; - -UPDATE `cloud`.`configuration` SET `default_value` = `value`; diff --git a/usage/src/com/cloud/usage/UsageAlertManagerImpl.java b/usage/src/com/cloud/usage/UsageAlertManagerImpl.java index 07867420cff..dc918b83b6d 100644 --- a/usage/src/com/cloud/usage/UsageAlertManagerImpl.java +++ b/usage/src/com/cloud/usage/UsageAlertManagerImpl.java @@ -38,6 +38,7 @@ import org.springframework.stereotype.Component; import com.cloud.alert.AlertManager; import com.cloud.alert.AlertVO; import com.cloud.alert.dao.AlertDao; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.utils.NumbersUtil; import com.cloud.utils.component.ManagerBase; @@ -45,8 +46,6 @@ import com.sun.mail.smtp.SMTPMessage; import com.sun.mail.smtp.SMTPSSLTransport; import com.sun.mail.smtp.SMTPTransport; -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; - @Component @Local(value={AlertManager.class}) public class UsageAlertManagerImpl extends ManagerBase implements AlertManager { diff --git a/usage/src/com/cloud/usage/UsageManagerImpl.java b/usage/src/com/cloud/usage/UsageManagerImpl.java index 90ce4db7635..80f1f5591ca 100644 --- a/usage/src/com/cloud/usage/UsageManagerImpl.java +++ b/usage/src/com/cloud/usage/UsageManagerImpl.java @@ -35,13 +35,11 @@ import javax.inject.Inject; import javax.naming.ConfigurationException; import org.apache.log4j.Logger; - -import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.usage.UsageTypes; - import org.springframework.stereotype.Component; import com.cloud.alert.AlertManager; +import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.event.EventTypes; import com.cloud.event.UsageEventVO; import com.cloud.event.dao.UsageEventDao; @@ -78,6 +76,7 @@ import com.cloud.user.VmDiskStatisticsVO; import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.UserStatisticsDao; import com.cloud.user.dao.VmDiskStatisticsDao; + import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.DB; diff --git a/usage/test/com/cloud/usage/UsageManagerTestConfiguration.java b/usage/test/com/cloud/usage/UsageManagerTestConfiguration.java index 8487b439e63..1a342b59ff2 100644 --- a/usage/test/com/cloud/usage/UsageManagerTestConfiguration.java +++ b/usage/test/com/cloud/usage/UsageManagerTestConfiguration.java @@ -18,6 +18,7 @@ package com.cloud.usage; import com.cloud.alert.AlertManager; +import com.cloud.configuration.dao.ConfigurationDaoImpl; import com.cloud.event.dao.UsageEventDao; import com.cloud.usage.UsageManagerTestConfiguration.Library; import com.cloud.usage.dao.*; @@ -25,9 +26,7 @@ import com.cloud.usage.parser.*; import com.cloud.user.dao.AccountDaoImpl; import com.cloud.user.dao.UserStatisticsDaoImpl; -import org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl; import org.apache.cloudstack.test.utils.SpringUtils; - import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; diff --git a/framework/config/src/org/apache/cloudstack/framework/config/ConfigDepot.java b/utils/src/org/apache/cloudstack/config/ConfigDepot.java similarity index 86% rename from framework/config/src/org/apache/cloudstack/framework/config/ConfigDepot.java rename to utils/src/org/apache/cloudstack/config/ConfigDepot.java index 98363f30c9d..f94c6da0d3f 100644 --- a/framework/config/src/org/apache/cloudstack/framework/config/ConfigDepot.java +++ b/utils/src/org/apache/cloudstack/config/ConfigDepot.java @@ -1,27 +1,25 @@ -// 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.framework.config; - -/** - * ConfigDepot is a repository of configurations. - * - */ -public interface ConfigDepot { - ConfigValue get(ConfigKey key); - - ScopedConfigValue getScopedValue(ConfigKey key); -} +// 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.config; + +/** + * ConfigDepot is a repository of configurations. + * + */ +public interface ConfigDepot { + ConfigValue get(ConfigKey key); +} diff --git a/framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java b/utils/src/org/apache/cloudstack/config/ConfigKey.java similarity index 64% rename from framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java rename to utils/src/org/apache/cloudstack/config/ConfigKey.java index cef226c74b6..f0569910fac 100644 --- a/framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java +++ b/utils/src/org/apache/cloudstack/config/ConfigKey.java @@ -1,84 +1,98 @@ -// 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.framework.config; - -import com.cloud.org.Grouping; - -/** - * ConfigKey supplants the original Config.java. It is just a class - * declaration where others can declare their config variables. - * - */ -public class ConfigKey { - - private final String _category; - - public String category() { - return _category; - } - - public Class type() { - return _type; - } - - public String key() { - return _name; - } - - public String defaultValue() { - return _defaultValue; - } - - public String description() { - return _description; - } - - public Class scope() { - return _scope; - } - - public boolean isDynamic() { - return _isDynamic; - } - - @Override - public String toString() { - return _name; - } - - private final Class _type; - private final String _name; - private final String _defaultValue; - private final String _description; - private final Class _scope; // Parameter can be at different levels (Zone/cluster/pool/account), by default every parameter is at global - private final boolean _isDynamic; - - public ConfigKey(Class type, String name, String category, String defaultValue, String description, boolean isDynamic, - Class scope) { - _category = category; - _type = type; - _name = name; - _defaultValue = defaultValue; - _description = description; - _scope = scope; - _isDynamic = isDynamic; - } - - public ConfigKey(Class type, String name, String category, String defaultValue, String description, boolean isDynamic) { - this(type, name, category, defaultValue, description, isDynamic, null); - } -} +// 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.config; + +/** + * ConfigKey supplants the original Config.java. It is just a class + * declaration where others can declare their config variables. + * + * TODO: This class should be moved to a framework project where the gathering + * of these configuration keys should be done by a config server. I + * don't have time yet to do this. Ask me about it if you want to work + * in this area. Right now, we'll just work with the actual names. + */ +public class ConfigKey { + + private final String _category; + + public String category() { + return _category; + } + + public Class component() { + return _componentClass; + } + + public Class type() { + return _type; + } + + public String key() { + return _name; + } + + public String defaultValue() { + return _defaultValue; + } + + public String description() { + return _description; + } + + public String range() { + return _range; + } + + public String scope() { + return _scope; + } + + public boolean isDynamic() { + return _isDynamic; + } + + @Override + public String toString() { + return _name; + } + + private final Class _componentClass; + private final Class _type; + private final String _name; + private final String _defaultValue; + private final String _description; + private final String _range; + private final String _scope; // Parameter can be at different levels (Zone/cluster/pool/account), by default every parameter is at global + private final boolean _isDynamic; + + public ConfigKey(Class type, String name, String category, Class componentClass, String defaultValue, String description, boolean isDynamic, String range, + String scope) { + _category = category; + _componentClass = componentClass; + _type = type; + _name = name; + _defaultValue = defaultValue; + _description = description; + _range = range; + _scope = scope; + _isDynamic = isDynamic; + } + + public ConfigKey(Class type, String name, String category, Class componentClass, String defaultValue, String description, boolean isDynamic, String range) { + this(type, name, category, componentClass, defaultValue, description, isDynamic, range, null); + } +} diff --git a/framework/config/src/org/apache/cloudstack/framework/config/ConfigValue.java b/utils/src/org/apache/cloudstack/config/ConfigValue.java similarity index 94% rename from framework/config/src/org/apache/cloudstack/framework/config/ConfigValue.java rename to utils/src/org/apache/cloudstack/config/ConfigValue.java index 0cfc61a3554..789ddd89257 100644 --- a/framework/config/src/org/apache/cloudstack/framework/config/ConfigValue.java +++ b/utils/src/org/apache/cloudstack/config/ConfigValue.java @@ -1,78 +1,76 @@ -// 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.framework.config; - -import org.apache.cloudstack.config.Configuration; - -import com.cloud.utils.db.EntityManager; -import com.cloud.utils.exception.CloudRuntimeException; - -/** - * This is a match set to ConfigKey. - * - * TODO: When we create a framework project for configuration, this should be - * moved there. - */ -public class ConfigValue { - - ConfigKey _config; - EntityManager _entityMgr; - Number _multiplier; - T _value; - - public ConfigValue(EntityManager entityMgr, ConfigKey config) { - _entityMgr = entityMgr; - _config = config; - _multiplier = 1; - } - - public ConfigKey getConfigKey() { - return _config; - } - - public ConfigValue setMultiplier(Number multiplier) { // Convience method - _multiplier = multiplier; - return this; - } - - @SuppressWarnings("unchecked") - public T value() { - if (_value == null || _config.isDynamic()) { - Configuration vo = _entityMgr.findById(Configuration.class, _config.key()); - String value = vo != null ? vo.getValue() : _config.defaultValue(); - - Class type = _config.type(); - if (type.isAssignableFrom(Boolean.class)) { - _value = (T)Boolean.valueOf(value); - } else if (type.isAssignableFrom(Integer.class)) { - _value = (T)new Integer((Integer.parseInt(value) * _multiplier.intValue())); - } else if (type.isAssignableFrom(Long.class)) { - _value = (T)new Long(Long.parseLong(value) * _multiplier.longValue()); - } else if (type.isAssignableFrom(Short.class)) { - _value = (T)new Short(Short.parseShort(value)); - } else if (type.isAssignableFrom(String.class)) { - _value = (T)value; - } else if (type.isAssignableFrom(Float.class)) { - _value = (T)new Float(Float.parseFloat(value) * _multiplier.floatValue()); - } else { - throw new CloudRuntimeException("Unsupported data type for config values: " + type); - } - } - - return _value; - } -} +// 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.config; + +import com.cloud.utils.db.EntityManager; +import com.cloud.utils.exception.CloudRuntimeException; + +/** + * This is a match set to ConfigKey. + * + * TODO: When we create a framework project for configuration, this should be + * moved there. + */ +public class ConfigValue { + + ConfigKey _config; + EntityManager _entityMgr; + Number _multiplier; + T _value; + + public ConfigValue(EntityManager entityMgr, ConfigKey config) { + _entityMgr = entityMgr; + _config = config; + _multiplier = 1; + } + + public ConfigKey getConfigKey() { + return _config; + } + + public ConfigValue setMultiplier(Number multiplier) { // Convience method + _multiplier = multiplier; + return this; + } + + @SuppressWarnings("unchecked") + public T value() { + if (_value == null || _config.isDynamic()) { + Configuration vo = _entityMgr.findById(Configuration.class, _config.key()); + String value = vo != null ? vo.getValue() : _config.defaultValue(); + + Class type = _config.type(); + if (type.isAssignableFrom(Boolean.class)) { + _value = (T)Boolean.valueOf(value); + } else if (type.isAssignableFrom(Integer.class)) { + _value = (T)new Integer((Integer.parseInt(value) * _multiplier.intValue())); + } else if (type.isAssignableFrom(Long.class)) { + _value = (T)new Long(Long.parseLong(value) * _multiplier.longValue()); + } else if (type.isAssignableFrom(Short.class)) { + _value = (T)new Short(Short.parseShort(value)); + } else if (type.isAssignableFrom(String.class)) { + _value = (T)value; + } else if (type.isAssignableFrom(Float.class)) { + _value = (T)new Float(Float.parseFloat(value) * _multiplier.floatValue()); + } else { + throw new CloudRuntimeException("Unsupported data type for config values: " + type); + } + } + + return _value; + } +} diff --git a/framework/config/src/org/apache/cloudstack/framework/config/Configurable.java b/utils/src/org/apache/cloudstack/config/Configurable.java similarity index 73% rename from framework/config/src/org/apache/cloudstack/framework/config/Configurable.java rename to utils/src/org/apache/cloudstack/config/Configurable.java index f99e8a11cfa..3c50ebac083 100644 --- a/framework/config/src/org/apache/cloudstack/framework/config/Configurable.java +++ b/utils/src/org/apache/cloudstack/config/Configurable.java @@ -14,19 +14,8 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. -package org.apache.cloudstack.framework.config; +package org.apache.cloudstack.config; -/** - * Configurable can be implemented by components to insert their own - * configuration keys. - * - * CloudStack will gather all of these configurations at startup and insert - * them into the configuration table. - * - */ public interface Configurable { - - String getConfigComponentName(); - ConfigKey[] getConfigKeys(); } diff --git a/framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotAdmin.java b/utils/src/org/apache/cloudstack/config/Configuration.java similarity index 56% rename from framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotAdmin.java rename to utils/src/org/apache/cloudstack/config/Configuration.java index b4d3773356d..86578328b24 100644 --- a/framework/config/src/org/apache/cloudstack/framework/config/ConfigDepotAdmin.java +++ b/utils/src/org/apache/cloudstack/config/Configuration.java @@ -14,23 +14,20 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. -package org.apache.cloudstack.framework.config; +package org.apache.cloudstack.config; -import java.util.List; +public interface Configuration { -/** - * Administrative interface to ConfigDepot - * - */ -public interface ConfigDepotAdmin { - /** - * Create configurations if there are new config parameters. - * Update configurations if the parameter settings have been changed. - * All configurations that have been updated/created will have the same timestamp in the updated field. - * All previous configurations that should be obsolete will have a null updated field. - * @see Configuration - */ - void populateConfigurations(); + public String getCategory(); + + public String getInstance(); + + public String getComponent(); + + public String getName(); + + public String getValue(); + + public String getDescription(); - List getComponentsInDepot(); } diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java index 7be7784ca12..04ef0f8c47b 100755 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java @@ -51,7 +51,7 @@ import com.cloud.hypervisor.vmware.util.VmwareContext; import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; // // interface. This has changed as ClusterMO no longer works as a special host anymore. Need to refactor accordingly diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java index 1844b6ad37a..cabb60abc5d 100755 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java @@ -34,7 +34,7 @@ import com.vmware.vim25.PropertySpec; import com.vmware.vim25.SelectionSpec; import com.vmware.vim25.TraversalSpec; import com.vmware.vim25.VirtualEthernetCardDistributedVirtualPortBackingInfo; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; public class DatacenterMO extends BaseMO { diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java index e8bdec2685f..2735fb03f77 100755 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostMO.java @@ -60,7 +60,7 @@ import com.vmware.vim25.VirtualMachineConfigSpec; import com.vmware.vim25.VirtualNicManagerNetConfig; import com.vmware.vim25.NasDatastoreInfo; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; public class HostMO extends BaseMO implements VmwareHypervisorHost { private static final Logger s_logger = Logger.getLogger(HostMO.class); diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/PerfManagerMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/PerfManagerMO.java index 35aa78c3c9f..bb4fb56ebbc 100644 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/PerfManagerMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/PerfManagerMO.java @@ -34,7 +34,7 @@ import com.vmware.vim25.PerfMetricId; import com.vmware.vim25.PerfProviderSummary; import com.vmware.vim25.PerfQuerySpec; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; public class PerfManagerMO extends BaseMO { public PerfManagerMO(VmwareContext context, ManagedObjectReference mor) { diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index 6c33eea496d..4da4f2f27a3 100644 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -100,7 +100,7 @@ import com.cloud.utils.Pair; import com.cloud.utils.Ternary; import com.cloud.utils.script.Script; -import java.util.Arrays; +import edu.emory.mathcs.backport.java.util.Arrays; public class VirtualMachineMO extends BaseMO { private static final Logger s_logger = Logger.getLogger(VirtualMachineMO.class);