Updated Branches: refs/heads/vmsync e31e33ccd -> d0a7ca082
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d0a7ca08/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java index a3846ca..254c965 100644 --- a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java +++ b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java @@ -29,7 +29,6 @@ import java.util.Map; import javax.annotation.PostConstruct; import javax.ejb.Local; import javax.inject.Inject; -import javax.persistence.Entity; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; @@ -630,7 +629,8 @@ public class VMInstanceDaoImpl extends GenericDaoBase<VMInstanceVO, Long> implem } @Override @DB - public void updatePowerState(long instanceId, long powerHostId, VirtualMachine.PowerState powerState) { + public boolean updatePowerState(long instanceId, long powerHostId, VirtualMachine.PowerState powerState) { + boolean needToUpdate = false; Transaction txn = Transaction.currentTxn(); txn.start(); @@ -642,20 +642,21 @@ public class VMInstanceDaoImpl extends GenericDaoBase<VMInstanceVO, Long> implem instance.setPowerHostId(powerHostId); instance.setPowerStateUpdateCount(1); instance.setPowerStateUpdateTime(DateUtil.currentGMTTime()); - + needToUpdate = true; update(instanceId, instance); } else { // to reduce DB updates, consecutive same state update for more than 3 times if(instance.getPowerStateUpdateCount() < MAX_CONSECUTIVE_SAME_STATE_UPDATE_COUNT) { instance.setPowerStateUpdateCount(instance.getPowerStateUpdateCount() + 1); instance.setPowerStateUpdateTime(DateUtil.currentGMTTime()); - + needToUpdate = true; update(instanceId, instance); } } } txn.commit(); + return needToUpdate; } @Override @DB http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d0a7ca08/server/src/org/apache/cloudstack/messagebus/SubjectConstants.java ---------------------------------------------------------------------- diff --git a/server/src/org/apache/cloudstack/messagebus/SubjectConstants.java b/server/src/org/apache/cloudstack/messagebus/SubjectConstants.java new file mode 100644 index 0000000..16a9bee --- /dev/null +++ b/server/src/org/apache/cloudstack/messagebus/SubjectConstants.java @@ -0,0 +1,21 @@ +// 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.messagebus; + +public interface SubjectConstants { + public static final String VM_POWER_STATE = "vm.powerstate"; +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d0a7ca08/server/test/com/cloud/vm/MockVirtualMachineManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/test/com/cloud/vm/MockVirtualMachineManagerImpl.java b/server/test/com/cloud/vm/MockVirtualMachineManagerImpl.java deleted file mode 100755 index 4917e77..0000000 --- a/server/test/com/cloud/vm/MockVirtualMachineManagerImpl.java +++ /dev/null @@ -1,312 +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 com.cloud.vm; - -import java.net.URI; -import java.util.List; -import java.util.Map; - -import javax.ejb.Local; -import javax.naming.ConfigurationException; - -import org.springframework.stereotype.Component; - -import com.cloud.agent.api.to.NicTO; -import com.cloud.agent.api.to.VirtualMachineTO; -import com.cloud.deploy.DeployDestination; -import com.cloud.deploy.DeploymentPlan; -import com.cloud.exception.AgentUnavailableException; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InsufficientServerCapacityException; -import com.cloud.exception.ManagementServerException; -import com.cloud.exception.OperationTimedoutException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.exception.VirtualMachineMigrationException; -import com.cloud.hypervisor.Hypervisor.HypervisorType; -import com.cloud.network.Network; -import com.cloud.network.dao.NetworkVO; -import com.cloud.offering.ServiceOffering; -import com.cloud.service.ServiceOfferingVO; -import com.cloud.storage.DiskOfferingVO; -import com.cloud.storage.StoragePool; -import com.cloud.storage.VMTemplateVO; -import com.cloud.user.Account; -import com.cloud.user.User; -import com.cloud.utils.Pair; -import com.cloud.utils.component.ManagerBase; -import com.cloud.utils.fsm.NoTransitionException; -import com.cloud.vm.VirtualMachine.Event; -import com.cloud.vm.VirtualMachine.Type; -import com.cloud.vm.VirtualMachineProfile.Param; - -@Component -@Local(value = VirtualMachineManager.class) -public class MockVirtualMachineManagerImpl extends ManagerBase implements VirtualMachineManager { - - @Override - public boolean configure(String name, Map<String, Object> params) throws ConfigurationException { - return true; - } - - @Override - public boolean start() { - return true; - } - - @Override - public boolean stop() { - // TODO Auto-generated method stub - return false; - } - - @Override - public String getName() { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> boolean stop(T vm, User caller, Account account) throws ResourceUnavailableException { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> boolean expunge(T vm, User caller, Account account) throws ResourceUnavailableException { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> void registerGuru(Type type, VirtualMachineGuru<T> guru) { - // TODO Auto-generated method stub - - } - - @Override - public boolean stateTransitTo(VMInstanceVO vm, Event e, Long hostId) throws NoTransitionException { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> boolean advanceStop(T vm, boolean forced, User caller, Account account) throws ResourceUnavailableException, OperationTimedoutException, - ConcurrentOperationException { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> boolean advanceExpunge(T vm, User caller, Account account) throws ResourceUnavailableException, OperationTimedoutException, ConcurrentOperationException { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> boolean remove(T vm, User caller, Account account) { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> boolean destroy(T vm, User caller, Account account) throws AgentUnavailableException, OperationTimedoutException, ConcurrentOperationException { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean migrateAway(Type type, long vmid, long hostId) throws InsufficientServerCapacityException, VirtualMachineMigrationException { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> T migrate(T vm, long srcHostId, DeployDestination dest) throws ResourceUnavailableException, ConcurrentOperationException, ManagementServerException, - VirtualMachineMigrationException { - // TODO Auto-generated method stub - return null; - } - - @Override - public VMInstanceVO findByIdAndType(Type type, long vmId) { - // TODO Auto-generated method stub - return null; - } - - @Override - public boolean isVirtualMachineUpgradable(VirtualMachine vm, ServiceOffering offering) { - // TODO Auto-generated method stub - return false; - } - - @Override - public <T extends VMInstanceVO> T allocate(T vm, VMTemplateVO template, ServiceOfferingVO serviceOffering, Pair<? extends DiskOfferingVO, Long> rootDiskOffering, - List<Pair<DiskOfferingVO, Long>> dataDiskOfferings, List<Pair<NetworkVO, NicProfile>> networks, Map<Param, Object> params, DeploymentPlan plan, HypervisorType hyperType, Account owner) - throws InsufficientCapacityException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T allocate(T vm, VMTemplateVO template, ServiceOfferingVO serviceOffering, Long rootSize, Pair<DiskOfferingVO, Long> dataDiskOffering, - List<Pair<NetworkVO, NicProfile>> networks, DeploymentPlan plan, HypervisorType hyperType, Account owner) throws InsufficientCapacityException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T allocate(T vm, VMTemplateVO template, ServiceOfferingVO serviceOffering, List<Pair<NetworkVO, NicProfile>> networkProfiles, DeploymentPlan plan, - HypervisorType hyperType, Account owner) throws InsufficientCapacityException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T start(T vm, Map<Param, Object> params, User caller, Account account) throws InsufficientCapacityException, ResourceUnavailableException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T start(T vm, Map<Param, Object> params, User caller, Account account, DeploymentPlan planToDeploy) throws InsufficientCapacityException, - ResourceUnavailableException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T advanceStart(T vm, Map<Param, Object> params, User caller, Account account) throws InsufficientCapacityException, ResourceUnavailableException, - ConcurrentOperationException, OperationTimedoutException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T advanceStart(T vm, Map<Param, Object> params, User caller, Account account, DeploymentPlan planToDeploy) throws InsufficientCapacityException, - ResourceUnavailableException, ConcurrentOperationException, OperationTimedoutException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T reboot(T vm, Map<Param, Object> params, User caller, Account account) throws InsufficientCapacityException, ResourceUnavailableException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T advanceReboot(T vm, Map<Param, Object> params, User caller, Account account) throws InsufficientCapacityException, ResourceUnavailableException, - ConcurrentOperationException, OperationTimedoutException { - // TODO Auto-generated method stub - return null; - } - - @Override - public <T extends VMInstanceVO> T storageMigration(T vm, - StoragePool storagePoolId) { - // TODO Auto-generated method stub - return null; - } - - @Override - public VMInstanceVO findById(long vmId) { - // TODO Auto-generated method stub - return null; - } - - /* (non-Javadoc) - * @see com.cloud.vm.VirtualMachineManager#checkIfCanUpgrade(com.cloud.vm.VirtualMachine, long) - */ - @Override - public void checkIfCanUpgrade(VirtualMachine vmInstance, long newServiceOfferingId) { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see com.cloud.vm.VirtualMachineManager#upgradeVmDb(long, long) - */ - @Override - public boolean upgradeVmDb(long vmId, long serviceOfferingId) { - // TODO Auto-generated method stub - return false; - } - - /* (non-Javadoc) - * @see com.cloud.vm.VirtualMachineManager#toNicTO(com.cloud.vm.NicProfile, com.cloud.hypervisor.Hypervisor.HypervisorType) - */ - @Override - public NicTO toNicTO(NicProfile nic, HypervisorType hypervisorType) { - // TODO Auto-generated method stub - return null; - } - - /* (non-Javadoc) - * @see com.cloud.vm.VirtualMachineManager#toVmTO(com.cloud.vm.VirtualMachineProfile) - */ - @Override - public VirtualMachineTO toVmTO(VirtualMachineProfile<? extends VMInstanceVO> profile) { - // TODO Auto-generated method stub - return null; - } - - @Override - public VMInstanceVO reConfigureVm(VMInstanceVO vm, ServiceOffering newServiceOffering, boolean sameHost) throws ResourceUnavailableException, ConcurrentOperationException { - return null; //To change body of implemented methods use File | Settings | File Templates. - } - - @Override - public VMInstanceVO findHostAndMigrate(VirtualMachine.Type vmType, VMInstanceVO vm, Long newSvcOfferingId) throws InsufficientCapacityException, - ConcurrentOperationException, ResourceUnavailableException, - VirtualMachineMigrationException, ManagementServerException{ - return null; - } - - @Override - public <T extends VMInstanceVO> T migrateForScale(T vm, long srcHostId, DeployDestination dest, Long newSvcOfferingId) throws ResourceUnavailableException, ConcurrentOperationException, ManagementServerException, VirtualMachineMigrationException { - return null; //To change body of implemented methods use File | Settings | File Templates. - } - - /* (non-Javadoc) - * @see com.cloud.vm.VirtualMachineManager#addVmToNetwork(com.cloud.vm.VirtualMachine, com.cloud.network.Network, com.cloud.vm.NicProfile) - */ - @Override - public NicProfile addVmToNetwork(VirtualMachine vm, Network network, NicProfile requested) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException { - // TODO Auto-generated method stub - return null; - } - - /* (non-Javadoc) - * @see com.cloud.vm.VirtualMachineManager#removeVmFromNetwork(com.cloud.vm.VirtualMachine, com.cloud.network.Network, java.net.URI) - */ - @Override - public boolean removeNicFromVm(VirtualMachine vm, NicVO nic) throws ConcurrentOperationException, ResourceUnavailableException { - // TODO Auto-generated method stub - return false; - } - - /* (non-Javadoc) - * @see com.cloud.vm.VirtualMachineManager#removeVmFromNetwork(com.cloud.vm.VirtualMachine, com.cloud.network.Network, java.net.URI) - */ - @Override - public boolean removeVmFromNetwork(VirtualMachine vm, Network network, URI broadcastUri) throws ConcurrentOperationException, ResourceUnavailableException { - // TODO Auto-generated method stub - return false; - } - -}
