Got everything running through testing

This commit is contained in:
Alex Huang 2013-08-07 15:22:30 -07:00
parent 5161ded69c
commit 5287f4c9ec
26 changed files with 124 additions and 103 deletions

View File

@ -16,25 +16,26 @@
// under the License. // under the License.
package org.apache.cloudstack.api.command.test; package org.apache.cloudstack.api.command.test;
import java.util.Arrays;
import junit.framework.Assert; import junit.framework.Assert;
import junit.framework.TestCase; 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.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.rules.ExpectedException; import org.junit.rules.ExpectedException;
import org.mockito.Mockito; 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.DiscoveryException;
import com.cloud.exception.ResourceInUseException; import com.cloud.exception.ResourceInUseException;
import com.cloud.org.Cluster; import com.cloud.org.Cluster;
import com.cloud.resource.ResourceService; import com.cloud.resource.ResourceService;
import edu.emory.mathcs.backport.java.util.Arrays;
public class AddClusterCmdTest extends TestCase { public class AddClusterCmdTest extends TestCase {
private AddClusterCmd addClusterCmd; private AddClusterCmd addClusterCmd;
@ -44,6 +45,7 @@ public class AddClusterCmdTest extends TestCase {
@Rule @Rule
public ExpectedException expectedException = ExpectedException.none(); public ExpectedException expectedException = ExpectedException.none();
@Override
@Before @Before
public void setUp() { public void setUp() {
/* /*
@ -110,8 +112,7 @@ public class AddClusterCmdTest extends TestCase {
Cluster cluster = Mockito.mock(Cluster.class); Cluster cluster = Mockito.mock(Cluster.class);
Cluster[] clusterArray = new Cluster[] { cluster }; Cluster[] clusterArray = new Cluster[] { cluster };
Mockito.when(resourceService.discoverCluster(addClusterCmd)) Mockito.doReturn(Arrays.asList(clusterArray)).when(resourceService.discoverCluster(addClusterCmd));
.thenReturn(Arrays.asList(clusterArray));
addClusterCmd.execute(); addClusterCmd.execute();

View File

@ -16,27 +16,28 @@
// under the License. // under the License.
package org.apache.cloudstack.api.command.test; package org.apache.cloudstack.api.command.test;
import java.util.Arrays;
import junit.framework.Assert; import junit.framework.Assert;
import junit.framework.TestCase; import junit.framework.TestCase;
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.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.rules.ExpectedException; import org.junit.rules.ExpectedException;
import org.mockito.Mockito; 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 com.cloud.exception.DiscoveryException; import com.cloud.exception.DiscoveryException;
import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.InvalidParameterValueException;
import com.cloud.host.Host; import com.cloud.host.Host;
import com.cloud.resource.ResourceService; import com.cloud.resource.ResourceService;
import edu.emory.mathcs.backport.java.util.Arrays;
public class AddHostCmdTest extends TestCase { public class AddHostCmdTest extends TestCase {
private AddHostCmd addHostCmd; private AddHostCmd addHostCmd;
@ -46,6 +47,7 @@ public class AddHostCmdTest extends TestCase {
@Rule @Rule
public ExpectedException expectedException = ExpectedException.none(); public ExpectedException expectedException = ExpectedException.none();
@Override
@Before @Before
public void setUp() { public void setUp() {
resourceService = Mockito.mock(ResourceService.class); resourceService = Mockito.mock(ResourceService.class);
@ -125,14 +127,13 @@ public class AddHostCmdTest extends TestCase {
HostResponse responseHost = new HostResponse(); HostResponse responseHost = new HostResponse();
responseHost.setName("Test"); responseHost.setName("Test");
Mockito.when(resourceService.discoverHosts(addHostCmd)).thenReturn( Mockito.doReturn(Arrays.asList(mockArray)).when(resourceService.discoverHosts(addHostCmd));
Arrays.asList(mockArray));
Mockito.when(responseGenerator.createHostResponse(host)).thenReturn( Mockito.when(responseGenerator.createHostResponse(host)).thenReturn(
responseHost); responseHost);
addHostCmd.execute(); addHostCmd.execute();
Mockito.verify(responseGenerator).createHostResponse(host); Mockito.verify(responseGenerator).createHostResponse(host);
ListResponse<HostResponse> actualResponse = ((ListResponse<HostResponse>) addHostCmd @SuppressWarnings("unchecked")
.getResponseObject()); ListResponse<HostResponse> actualResponse = ((ListResponse<HostResponse>)addHostCmd.getResponseObject());
Assert.assertEquals(responseHost, actualResponse.getResponses().get(0)); Assert.assertEquals(responseHost, actualResponse.getResponses().get(0));
Assert.assertEquals("addhostresponse", actualResponse.getResponseName()); Assert.assertEquals("addhostresponse", actualResponse.getResponseName());
@ -144,8 +145,7 @@ public class AddHostCmdTest extends TestCase {
addHostCmd._resourceService = resourceService; addHostCmd._resourceService = resourceService;
try { try {
Mockito.when(resourceService.discoverHosts(addHostCmd)).thenThrow( Mockito.when(resourceService.discoverHosts(addHostCmd)).thenThrow(DiscoveryException.class);
DiscoveryException.class);
} catch (InvalidParameterValueException e) { } catch (InvalidParameterValueException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {

View File

@ -17,6 +17,7 @@
package com.cloud.keystore; package com.cloud.keystore;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
@ -32,8 +33,6 @@ import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.db.Transaction; import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.CloudRuntimeException;
import edu.emory.mathcs.backport.java.util.Collections;
@Component @Component
@Local(value={KeystoreDao.class}) @Local(value={KeystoreDao.class})
public class KeystoreDaoImpl extends GenericDaoBase<KeystoreVO, Long> implements KeystoreDao { public class KeystoreDaoImpl extends GenericDaoBase<KeystoreVO, Long> implements KeystoreDao {
@ -54,7 +53,8 @@ public class KeystoreDaoImpl extends GenericDaoBase<KeystoreVO, Long> implements
public List<KeystoreVO> findCertChain() { public List<KeystoreVO> findCertChain() {
SearchCriteria<KeystoreVO> sc = CertChainSearch.create(); SearchCriteria<KeystoreVO> sc = CertChainSearch.create();
List<KeystoreVO> ks = listBy(sc); List<KeystoreVO> ks = listBy(sc);
Collections.sort(ks, new Comparator() { public int compare(Object o1, Object o2) { Collections.sort(ks, new Comparator() { @Override
public int compare(Object o1, Object o2) {
Integer seq1 = ((KeystoreVO)o1).getIndex(); Integer seq1 = ((KeystoreVO)o1).getIndex();
Integer seq2 = ((KeystoreVO)o2).getIndex(); Integer seq2 = ((KeystoreVO)o2).getIndex();
return seq1.compareTo(seq2); return seq1.compareTo(seq2);
@ -99,7 +99,7 @@ public class KeystoreDaoImpl extends GenericDaoBase<KeystoreVO, Long> implements
@Override @Override
@DB @DB
public void save(String alias, String certificate, Integer index, String domainSuffix) { public void save(String alias, String certificate, Integer index, String domainSuffix) {
KeystoreVO ks = this.findByName(alias); KeystoreVO ks = findByName(alias);
if (ks != null) { if (ks != null) {
ks.setCertificate(certificate); ks.setCertificate(certificate);
ks.setName(alias); ks.setName(alias);
@ -112,7 +112,7 @@ public class KeystoreDaoImpl extends GenericDaoBase<KeystoreVO, Long> implements
newks.setName(alias); newks.setName(alias);
newks.setIndex(index); newks.setIndex(index);
newks.setDomainSuffix(domainSuffix); newks.setDomainSuffix(domainSuffix);
this.persist(newks); persist(newks);
} }
} }
} }

View File

@ -18,18 +18,21 @@
*/ */
package org.apache.cloudstack.storage.datastore; package org.apache.cloudstack.storage.datastore;
import com.cloud.storage.DataStoreRole; import java.util.Collections;
import com.cloud.utils.exception.CloudRuntimeException; import java.util.List;
import edu.emory.mathcs.backport.java.util.Collections;
import javax.inject.Inject;
import org.springframework.stereotype.Component;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; 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.DataStoreManager;
import org.apache.cloudstack.engine.subsystem.api.storage.Scope; import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
import org.apache.cloudstack.storage.image.datastore.ImageStoreProviderManager; import org.apache.cloudstack.storage.image.datastore.ImageStoreProviderManager;
import org.springframework.stereotype.Component;
import javax.inject.Inject; import com.cloud.storage.DataStoreRole;
import java.util.List; import com.cloud.utils.exception.CloudRuntimeException;
@Component @Component
public class DataStoreManagerImpl implements DataStoreManager { public class DataStoreManagerImpl implements DataStoreManager {

View File

@ -17,6 +17,7 @@
package org.apache.cloudstack.storage.image.db; package org.apache.cloudstack.storage.image.db;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -24,6 +25,9 @@ import java.util.Map;
import javax.inject.Inject; import javax.inject.Inject;
import javax.naming.ConfigurationException; 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.DataObjectInStore;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; 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.DataStoreManager;
@ -32,20 +36,16 @@ import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreState
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope; import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; 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.DataStoreRole;
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status; import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.db.SearchCriteria.Op; import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.db.UpdateBuilder; import com.cloud.utils.db.UpdateBuilder;
import edu.emory.mathcs.backport.java.util.Collections;
@Component @Component
public class TemplateDataStoreDaoImpl extends GenericDaoBase<TemplateDataStoreVO, Long> implements TemplateDataStoreDao { public class TemplateDataStoreDaoImpl extends GenericDaoBase<TemplateDataStoreVO, Long> implements TemplateDataStoreDao {
private static final Logger s_logger = Logger.getLogger(TemplateDataStoreDaoImpl.class); private static final Logger s_logger = Logger.getLogger(TemplateDataStoreDaoImpl.class);
@ -250,11 +250,11 @@ public class TemplateDataStoreDaoImpl extends GenericDaoBase<TemplateDataStoreVO
@Override @Override
public List<TemplateDataStoreVO> listByTemplateZoneDownloadStatus(long templateId, Long zoneId, Status... status) { public List<TemplateDataStoreVO> listByTemplateZoneDownloadStatus(long templateId, Long zoneId, Status... status) {
// get all elgible image stores // get all elgible image stores
List<DataStore> imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); List<DataStore> imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
if (imgStores != null) { if (imgStores != null) {
List<TemplateDataStoreVO> result = new ArrayList<TemplateDataStoreVO>(); List<TemplateDataStoreVO> result = new ArrayList<TemplateDataStoreVO>();
for (DataStore store : imgStores) { for (DataStore store : imgStores) {
List<TemplateDataStoreVO> sRes = this.listByTemplateStoreDownloadStatus(templateId, store.getId(), List<TemplateDataStoreVO> sRes = listByTemplateStoreDownloadStatus(templateId, store.getId(),
status); status);
if (sRes != null && sRes.size() > 0) { if (sRes != null && sRes.size() > 0) {
result.addAll(sRes); result.addAll(sRes);
@ -268,10 +268,10 @@ public class TemplateDataStoreDaoImpl extends GenericDaoBase<TemplateDataStoreVO
@Override @Override
public TemplateDataStoreVO findByTemplateZoneDownloadStatus(long templateId, Long zoneId, Status... status) { public TemplateDataStoreVO findByTemplateZoneDownloadStatus(long templateId, Long zoneId, Status... status) {
// get all elgible image stores // get all elgible image stores
List<DataStore> imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); List<DataStore> imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
if (imgStores != null) { if (imgStores != null) {
for (DataStore store : imgStores) { for (DataStore store : imgStores) {
List<TemplateDataStoreVO> sRes = this.listByTemplateStoreDownloadStatus(templateId, store.getId(), List<TemplateDataStoreVO> sRes = listByTemplateStoreDownloadStatus(templateId, store.getId(),
status); status);
if (sRes != null && sRes.size() > 0) { if (sRes != null && sRes.size() > 0) {
Collections.shuffle(sRes); Collections.shuffle(sRes);
@ -326,13 +326,13 @@ public class TemplateDataStoreDaoImpl extends GenericDaoBase<TemplateDataStoreVO
// get all elgible image stores // get all elgible image stores
List<DataStore> imgStores = null; List<DataStore> imgStores = null;
if (role == DataStoreRole.Image) { if (role == DataStoreRole.Image) {
imgStores = this._storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); imgStores = _storeMgr.getImageStoresByScope(new ZoneScope(zoneId));
} else if (role == DataStoreRole.ImageCache) { } else if (role == DataStoreRole.ImageCache) {
imgStores = this._storeMgr.getImageCacheStores(new ZoneScope(zoneId)); imgStores = _storeMgr.getImageCacheStores(new ZoneScope(zoneId));
} }
if (imgStores != null) { if (imgStores != null) {
for (DataStore store : imgStores) { for (DataStore store : imgStores) {
List<TemplateDataStoreVO> sRes = this.listByTemplateStore(templateId, store.getId()); List<TemplateDataStoreVO> sRes = listByTemplateStore(templateId, store.getId());
if (sRes != null && sRes.size() > 0) { if (sRes != null && sRes.size() > 0) {
return sRes.get(0); return sRes.get(0);
} }

View File

@ -48,6 +48,7 @@ import org.apache.log4j.Logger;
import org.apache.cloudstack.framework.config.ConfigDepot; import org.apache.cloudstack.framework.config.ConfigDepot;
import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.ConfigKey;
import org.apache.cloudstack.framework.config.ConfigValue; import org.apache.cloudstack.framework.config.ConfigValue;
import org.apache.cloudstack.framework.config.Configurable;
import org.apache.cloudstack.utils.identity.ManagementServerNode; import org.apache.cloudstack.utils.identity.ManagementServerNode;
import com.cloud.cluster.dao.ManagementServerHostDao; import com.cloud.cluster.dao.ManagementServerHostDao;
@ -68,7 +69,7 @@ import com.cloud.utils.mgmt.JmxUtil;
import com.cloud.utils.net.NetUtils; import com.cloud.utils.net.NetUtils;
@Local(value = { ClusterManager.class }) @Local(value = { ClusterManager.class })
public class ClusterManagerImpl extends ManagerBase implements ClusterManager { public class ClusterManagerImpl extends ManagerBase implements ClusterManager, Configurable {
private static final Logger s_logger = Logger.getLogger(ClusterManagerImpl.class); private static final Logger s_logger = Logger.getLogger(ClusterManagerImpl.class);
private static final int EXECUTOR_SHUTDOWN_TIMEOUT = 1000; // 1 second private static final int EXECUTOR_SHUTDOWN_TIMEOUT = 1000; // 1 second
@ -1111,6 +1112,16 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager {
return pingManagementNode(mshost); 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) { private boolean pingManagementNode(ManagementServerHostVO mshost) {
String targetIp = mshost.getServiceIP(); String targetIp = mshost.getServiceIP();

View File

@ -25,7 +25,7 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sf.ehcache</groupId> <groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId> <artifactId>ehcache-core</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.eclipse.persistence</groupId> <groupId>org.eclipse.persistence</groupId>

View File

@ -32,8 +32,10 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.HashMap; import java.util.HashMap;
@ -77,9 +79,6 @@ import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.net.Ip; import com.cloud.utils.net.Ip;
import com.cloud.utils.net.NetUtils; 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 * GenericDaoBase is a simple way to implement DAOs. It DOES NOT
* support the full EJB3 spec. It borrows some of the annotations from * support the full EJB3 spec. It borrows some of the annotations from
@ -1266,6 +1265,7 @@ public abstract class GenericDaoBase<T, ID extends Serializable> extends Compone
return update(ub, sc, rows); return update(ub, sc, rows);
} }
@Override
@DB(txn=false) @DB(txn=false)
public int update(final T entity, final SearchCriteria<T> sc) { public int update(final T entity, final SearchCriteria<T> sc) {
final UpdateBuilder ub = getUpdateBuilder(entity); final UpdateBuilder ub = getUpdateBuilder(entity);

View File

@ -20,6 +20,7 @@ package org.apache.cloudstack.framework.jobs.impl;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -76,8 +77,6 @@ import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.exception.ExceptionUtil; import com.cloud.utils.exception.ExceptionUtil;
import com.cloud.utils.mgmt.JmxUtil; import com.cloud.utils.mgmt.JmxUtil;
import edu.emory.mathcs.backport.java.util.Collections;
public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, ClusterManagerListener, Configurable { public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, ClusterManagerListener, Configurable {
// Advanced // Advanced
private static final ConfigKey<Long> JobExpireMinutes = new ConfigKey<Long>(Long.class, "job.expire.minutes", "Advanced", "1440", private static final ConfigKey<Long> JobExpireMinutes = new ConfigKey<Long>(Long.class, "job.expire.minutes", "Advanced", "1440",
@ -116,7 +115,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager,
@Override @Override
public String getConfigComponentName() { public String getConfigComponentName() {
return AsyncJobManager.class.getName(); return AsyncJobManager.class.getSimpleName();
} }
@Override @Override

View File

@ -5,33 +5,35 @@
// to you under the Apache License, Version 2.0 (the // to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance // "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at // with the License. You may obtain a copy of the License at
// //
// http://www.apache.org/licenses/LICENSE-2.0 // http://www.apache.org/licenses/LICENSE-2.0
// //
// Unless required by applicable law or agreed to in writing, // Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an // software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the // KIND, either express or implied. See the License for the
// specific language governing permissions and limitations // specific language governing permissions and limitations
// under the License. // under the License.
// //
// Automatically generated by addcopyright.py at 01/29/2013 // Automatically generated by addcopyright.py at 01/29/2013
// Apache License, Version 2.0 (the "License"); you may not use this // Apache License, Version 2.0 (the "License"); you may not use this
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// //
// Automatically generated by addcopyright.py at 04/03/2012 // Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.baremetal.networkservice; package com.cloud.baremetal.networkservice;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.ejb.Local; import javax.ejb.Local;
import javax.naming.ConfigurationException; import javax.naming.ConfigurationException;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.apache.cloudstack.api.ApiConstants;
import com.cloud.agent.IAgentControl; import com.cloud.agent.IAgentControl;
import com.cloud.agent.api.Answer; import com.cloud.agent.api.Answer;
import com.cloud.agent.api.CheckNetworkAnswer; import com.cloud.agent.api.CheckNetworkAnswer;
@ -66,7 +68,6 @@ import com.cloud.baremetal.manager.BaremetalManager;
import com.cloud.host.Host.Type; import com.cloud.host.Host.Type;
import com.cloud.hypervisor.Hypervisor; import com.cloud.hypervisor.Hypervisor;
import com.cloud.resource.ServerResource; import com.cloud.resource.ServerResource;
import com.cloud.server.ManagementServer;
import com.cloud.utils.component.ComponentContext; import com.cloud.utils.component.ComponentContext;
import com.cloud.utils.component.ManagerBase; import com.cloud.utils.component.ManagerBase;
import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.CloudRuntimeException;
@ -79,8 +80,6 @@ import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.dao.VMInstanceDao;
import edu.emory.mathcs.backport.java.util.concurrent.TimeUnit;
@Local(value = ServerResource.class) @Local(value = ServerResource.class)
public class BareMetalResourceBase extends ManagerBase implements ServerResource { public class BareMetalResourceBase extends ManagerBase implements ServerResource {
private static final Logger s_logger = Logger.getLogger(BareMetalResourceBase.class); private static final Logger s_logger = Logger.getLogger(BareMetalResourceBase.class);
@ -134,8 +133,8 @@ public class BareMetalResourceBase extends ManagerBase implements ServerResource
_cpuNum = Long.parseLong((String) params.get(ApiConstants.CPU_NUMBER)); _cpuNum = Long.parseLong((String) params.get(ApiConstants.CPU_NUMBER));
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
throw new ConfigurationException(String.format("Unable to parse number of CPU or memory capacity " 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", (String) params.get(ApiConstants.CPU_NUMBER), + "or cpu capacity(cpu number = %1$s memCapacity=%2$s, cpuCapacity=%3$s", params.get(ApiConstants.CPU_NUMBER),
(String) params.get(ApiConstants.MEMORY), (String) params.get(ApiConstants.CPU_SPEED))); params.get(ApiConstants.MEMORY), params.get(ApiConstants.CPU_SPEED)));
} }
_zone = (String) params.get("zone"); _zone = (String) params.get("zone");

View File

@ -46,7 +46,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
private String guid; private String guid;
@Column(name = "name") @Column(name = "name")
private String name; private String vmwareDatacenterName;
@Column(name = "vcenter_host") @Column(name = "vcenter_host")
private String vCenterHost; private String vCenterHost;
@ -73,7 +73,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
@Override @Override
public String getVmwareDatacenterName() { public String getVmwareDatacenterName() {
return name; return vmwareDatacenterName;
} }
@Override @Override
@ -105,7 +105,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
} }
public void setVmwareDatacenterName(String name) { public void setVmwareDatacenterName(String name) {
this.name = name; this.vmwareDatacenterName = name;
} }
public void setVcenterHost(String vCenterHost) { 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) { public VmwareDatacenterVO(String guid, String name, String vCenterHost, String user, String password) {
this.uuid = UUID.randomUUID().toString(); this.uuid = UUID.randomUUID().toString();
this.name = name; this.vmwareDatacenterName = name;
this.guid = guid; this.guid = guid;
this.vCenterHost = vCenterHost; this.vCenterHost = vCenterHost;
this.user = user; this.user = user;

View File

@ -59,7 +59,7 @@ import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
import com.cloud.user.Account; import com.cloud.user.Account;
import com.cloud.vm.ReservationContext; import com.cloud.vm.ReservationContext;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
public class NiciraNvpGuestNetworkGuruTest { public class NiciraNvpGuestNetworkGuruTest {
PhysicalNetworkDao physnetdao = mock (PhysicalNetworkDao.class); PhysicalNetworkDao physnetdao = mock (PhysicalNetworkDao.class);

View File

@ -54,7 +54,7 @@
<cs.jpa.version>2.0.0</cs.jpa.version> <cs.jpa.version>2.0.0</cs.jpa.version>
<cs.jasypt.version>1.9.0</cs.jasypt.version> <cs.jasypt.version>1.9.0</cs.jasypt.version>
<cs.trilead.version>build213-svnkit-1.3-patch</cs.trilead.version> <cs.trilead.version>build213-svnkit-1.3-patch</cs.trilead.version>
<cs.ehcache.version>1.5.0</cs.ehcache.version> <cs.ehcache.version>2.6.6</cs.ehcache.version>
<cs.gson.version>1.7.1</cs.gson.version> <cs.gson.version>1.7.1</cs.gson.version>
<cs.guava.version>14.0-rc1</cs.guava.version> <cs.guava.version>14.0-rc1</cs.guava.version>
<cs.xapi.version>5.6.100-1-SNAPSHOT</cs.xapi.version> <cs.xapi.version>5.6.100-1-SNAPSHOT</cs.xapi.version>
@ -211,7 +211,7 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sf.ehcache</groupId> <groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId> <artifactId>ehcache-core</artifactId>
<version>${cs.ehcache.version}</version> <version>${cs.ehcache.version}</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -1579,7 +1579,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl
@Override @Override
public String getConfigComponentName() { public String getConfigComponentName() {
return AgentManager.class.getName(); return AgentManager.class.getSimpleName();
} }
@Override @Override

View File

@ -23,6 +23,7 @@ import java.net.UnknownHostException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel; import java.nio.channels.SocketChannel;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
@ -45,8 +46,6 @@ import javax.net.ssl.SSLEngine;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import edu.emory.mathcs.backport.java.util.Arrays;
import com.google.gson.Gson; import com.google.gson.Gson;
import org.apache.cloudstack.framework.config.ConfigDepot; import org.apache.cloudstack.framework.config.ConfigDepot;
@ -1410,8 +1409,9 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust
@Override @Override
public ConfigKey<?>[] getConfigKeys() { public ConfigKey<?>[] getConfigKeys() {
ConfigKey<?>[] keys = super.getConfigKeys(); ConfigKey<?>[] keys = super.getConfigKeys();
@SuppressWarnings("unchecked")
List<ConfigKey<?>> keysLst = Arrays.asList(keys); List<ConfigKey<?>> keysLst = new ArrayList<ConfigKey<?>>();
keysLst.addAll(Arrays.asList(keys));
keysLst.add(EnableLB); keysLst.add(EnableLB);
keysLst.add(ConnectedAgentThreshold); keysLst.add(ConnectedAgentThreshold);
keysLst.add(LoadSize); keysLst.add(LoadSize);

View File

@ -202,7 +202,7 @@ import com.cloud.vm.dao.NicIpAliasDao;
import com.cloud.vm.dao.NicIpAliasVO; import com.cloud.vm.dao.NicIpAliasVO;
import com.cloud.vm.dao.NicSecondaryIpDao; import com.cloud.vm.dao.NicSecondaryIpDao;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
@Local(value = { ConfigurationManager.class, ConfigurationService.class }) @Local(value = { ConfigurationManager.class, ConfigurationService.class })
public class ConfigurationManagerImpl extends ManagerBase implements ConfigurationManager, ConfigurationService { public class ConfigurationManagerImpl extends ManagerBase implements ConfigurationManager, ConfigurationService {

View File

@ -17,6 +17,7 @@
package com.cloud.consoleproxy; package com.cloud.consoleproxy;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -28,8 +29,6 @@ import javax.naming.ConfigurationException;
import com.cloud.utils.component.AdapterBase; import com.cloud.utils.component.AdapterBase;
import com.cloud.vm.ConsoleProxy; import com.cloud.vm.ConsoleProxy;
import edu.emory.mathcs.backport.java.util.Collections;
@Local(value={ConsoleProxyAllocator.class}) @Local(value={ConsoleProxyAllocator.class})
public class ConsoleProxyBalanceAllocator extends AdapterBase implements ConsoleProxyAllocator { public class ConsoleProxyBalanceAllocator extends AdapterBase implements ConsoleProxyAllocator {

View File

@ -18,6 +18,7 @@ package com.cloud.network.security;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@ -37,17 +38,18 @@ import javax.ejb.Local;
import javax.inject.Inject; import javax.inject.Inject;
import javax.naming.ConfigurationException; 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.AuthorizeSecurityGroupEgressCmd;
import org.apache.cloudstack.api.command.user.securitygroup.AuthorizeSecurityGroupIngressCmd; 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.CreateSecurityGroupCmd;
import org.apache.cloudstack.api.command.user.securitygroup.DeleteSecurityGroupCmd; 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.RevokeSecurityGroupEgressCmd;
import org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupIngressCmd; import org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupIngressCmd;
import org.apache.cloudstack.context.CallContext;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.log4j.Logger; import org.apache.cloudstack.utils.identity.ManagementServerNode;
import com.amazonaws.services.identitymanagement.model.User;
import com.cloud.agent.AgentManager; import com.cloud.agent.AgentManager;
import com.cloud.agent.api.NetworkRulesSystemVmCommand; import com.cloud.agent.api.NetworkRulesSystemVmCommand;
@ -62,14 +64,23 @@ import com.cloud.domain.dao.DomainDao;
import com.cloud.event.ActionEvent; import com.cloud.event.ActionEvent;
import com.cloud.event.EventTypes; import com.cloud.event.EventTypes;
import com.cloud.event.UsageEventUtils; import com.cloud.event.UsageEventUtils;
import com.cloud.exception.*; 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.hypervisor.Hypervisor.HypervisorType; import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.network.Network; import com.cloud.network.Network;
import com.cloud.network.NetworkManager; import com.cloud.network.NetworkManager;
import com.cloud.network.NetworkModel; import com.cloud.network.NetworkModel;
import com.cloud.network.security.SecurityGroupWork.Step; import com.cloud.network.security.SecurityGroupWork.Step;
import com.cloud.network.security.SecurityRule.SecurityRuleType; import com.cloud.network.security.SecurityRule.SecurityRuleType;
import com.cloud.network.security.dao.*; 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.projects.ProjectManager; import com.cloud.projects.ProjectManager;
import com.cloud.tags.dao.ResourceTagDao; import com.cloud.tags.dao.ResourceTagDao;
import com.cloud.user.Account; import com.cloud.user.Account;
@ -79,7 +90,6 @@ import com.cloud.user.dao.AccountDao;
import com.cloud.uservm.UserVm; import com.cloud.uservm.UserVm;
import com.cloud.utils.NumbersUtil; import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair; import com.cloud.utils.Pair;
import com.cloud.utils.component.Manager;
import com.cloud.utils.component.ManagerBase; import com.cloud.utils.component.ManagerBase;
import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.DB; import com.cloud.utils.db.DB;
@ -89,23 +99,21 @@ import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.fsm.StateListener; import com.cloud.utils.fsm.StateListener;
import com.cloud.utils.net.NetUtils; import com.cloud.utils.net.NetUtils;
import com.cloud.vm.*; 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.VirtualMachine.Event; import com.cloud.vm.VirtualMachine.Event;
import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.VirtualMachineManager;
import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicDao;
import com.cloud.vm.dao.NicSecondaryIpDao; import com.cloud.vm.dao.NicSecondaryIpDao;
import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.VMInstanceDao; 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.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.utils.identity.ManagementServerNode;
import java.util.*;
@Local(value = { SecurityGroupManager.class, SecurityGroupService.class }) @Local(value = { SecurityGroupManager.class, SecurityGroupService.class })
public class SecurityGroupManagerImpl extends ManagerBase implements SecurityGroupManager, SecurityGroupService, StateListener<State, VirtualMachine.Event, VirtualMachine> { public class SecurityGroupManagerImpl extends ManagerBase implements SecurityGroupManager, SecurityGroupService, StateListener<State, VirtualMachine.Event, VirtualMachine> {
public static final Logger s_logger = Logger.getLogger(SecurityGroupManagerImpl.class); public static final Logger s_logger = Logger.getLogger(SecurityGroupManagerImpl.class);

View File

@ -100,7 +100,7 @@ import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.VMInstanceDao; import com.cloud.vm.dao.VMInstanceDao;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
@Component @Component
@Local(value = { ResourceLimitService.class }) @Local(value = { ResourceLimitService.class })

View File

@ -302,6 +302,8 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio
// Update the cloud identifier // Update the cloud identifier
updateCloudIdentifier(); updateCloudIdentifier();
_configDepotAdmin.populateConfigurations();
// We should not update seed data UUID column here since this will be invoked in upgrade case as well. // We should not update seed data UUID column here since this will be invoked in upgrade case as well.
//updateUuids(); //updateUuids();
// Set init to true // Set init to true

View File

@ -22,8 +22,10 @@ import java.net.URLDecoder;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@ -584,9 +586,6 @@ import com.cloud.vm.dao.SecondaryStorageVmDao;
import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.UserVmDao;
import com.cloud.vm.dao.VMInstanceDao; 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 class ManagementServerImpl extends ManagerBase implements ManagementServer {
public static final Logger s_logger = Logger.getLogger(ManagementServerImpl.class.getName()); public static final Logger s_logger = Logger.getLogger(ManagementServerImpl.class.getName());

View File

@ -51,7 +51,7 @@ import com.cloud.hypervisor.vmware.util.VmwareContext;
import com.cloud.utils.Pair; import com.cloud.utils.Pair;
import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.CloudRuntimeException;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
// //
// interface. This has changed as ClusterMO no longer works as a special host anymore. Need to refactor accordingly // interface. This has changed as ClusterMO no longer works as a special host anymore. Need to refactor accordingly

View File

@ -34,7 +34,7 @@ import com.vmware.vim25.PropertySpec;
import com.vmware.vim25.SelectionSpec; import com.vmware.vim25.SelectionSpec;
import com.vmware.vim25.TraversalSpec; import com.vmware.vim25.TraversalSpec;
import com.vmware.vim25.VirtualEthernetCardDistributedVirtualPortBackingInfo; import com.vmware.vim25.VirtualEthernetCardDistributedVirtualPortBackingInfo;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
public class DatacenterMO extends BaseMO { public class DatacenterMO extends BaseMO {

View File

@ -60,7 +60,7 @@ import com.vmware.vim25.VirtualMachineConfigSpec;
import com.vmware.vim25.VirtualNicManagerNetConfig; import com.vmware.vim25.VirtualNicManagerNetConfig;
import com.vmware.vim25.NasDatastoreInfo; import com.vmware.vim25.NasDatastoreInfo;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
public class HostMO extends BaseMO implements VmwareHypervisorHost { public class HostMO extends BaseMO implements VmwareHypervisorHost {
private static final Logger s_logger = Logger.getLogger(HostMO.class); private static final Logger s_logger = Logger.getLogger(HostMO.class);

View File

@ -34,7 +34,7 @@ import com.vmware.vim25.PerfMetricId;
import com.vmware.vim25.PerfProviderSummary; import com.vmware.vim25.PerfProviderSummary;
import com.vmware.vim25.PerfQuerySpec; import com.vmware.vim25.PerfQuerySpec;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
public class PerfManagerMO extends BaseMO { public class PerfManagerMO extends BaseMO {
public PerfManagerMO(VmwareContext context, ManagedObjectReference mor) { public PerfManagerMO(VmwareContext context, ManagedObjectReference mor) {

View File

@ -100,7 +100,7 @@ import com.cloud.utils.Pair;
import com.cloud.utils.Ternary; import com.cloud.utils.Ternary;
import com.cloud.utils.script.Script; import com.cloud.utils.script.Script;
import edu.emory.mathcs.backport.java.util.Arrays; import java.util.Arrays;
public class VirtualMachineMO extends BaseMO { public class VirtualMachineMO extends BaseMO {
private static final Logger s_logger = Logger.getLogger(VirtualMachineMO.class); private static final Logger s_logger = Logger.getLogger(VirtualMachineMO.class);