mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 11:52:28 +01:00
minor fix
This commit is contained in:
parent
9b51886850
commit
b20808d223
@ -1433,7 +1433,7 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx
|
||||
DataCenter dc = dest.getDataCenter();
|
||||
List<NicProfile> nics = profile.getNics();
|
||||
for (NicProfile nic : nics) {
|
||||
if ((nic.getTrafficType() == TrafficType.Public && dc.getNetworkType() == NetworkType.Advanced) || (nic.getTrafficType() == TrafficType.Guest && dc.getNetworkType() == NetworkType.Basic)) {
|
||||
if ((nic.getTrafficType() == TrafficType.Public && dc.getNetworkType() == NetworkType.Advanced) || (nic.getTrafficType() == TrafficType.Guest && (dc.getNetworkType() == NetworkType.Basic || dc.isSecurityGroupEnabled()))) {
|
||||
proxy.setPublicIpAddress(nic.getIp4Address());
|
||||
proxy.setPublicNetmask(nic.getNetmask());
|
||||
proxy.setPublicMacAddress(nic.getMacAddress());
|
||||
|
||||
@ -45,4 +45,6 @@ public interface SecurityGroupManager {
|
||||
public String getSecurityGroupsNamesForVm(long vmId);
|
||||
|
||||
public List<SecurityGroupVO> getSecurityGroupsForVm(long vmId);
|
||||
|
||||
public boolean isVmSecurityGroupEnabled(Long vmId);
|
||||
}
|
||||
|
||||
@ -57,6 +57,10 @@ 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.network.Network;
|
||||
import com.cloud.network.NetworkManager;
|
||||
import com.cloud.network.dao.NetworkDao;
|
||||
import com.cloud.network.security.SecurityGroupWorkVO.Step;
|
||||
import com.cloud.network.security.dao.IngressRuleDao;
|
||||
import com.cloud.network.security.dao.SecurityGroupDao;
|
||||
@ -84,6 +88,8 @@ 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.NicProfile;
|
||||
import com.cloud.vm.NicVO;
|
||||
import com.cloud.vm.UserVmManager;
|
||||
import com.cloud.vm.UserVmVO;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
@ -91,7 +97,9 @@ import com.cloud.vm.VirtualMachine;
|
||||
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.UserVmDao;
|
||||
import com.cloud.vm.dao.VMInstanceDao;
|
||||
|
||||
@Local(value={SecurityGroupManager.class, SecurityGroupService.class})
|
||||
public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityGroupService, Manager, StateListener<State, VirtualMachine.Event, VirtualMachine> {
|
||||
@ -110,6 +118,8 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG
|
||||
@Inject AgentManager _agentMgr;
|
||||
@Inject VirtualMachineManager _itMgr;
|
||||
@Inject UserVmManager _userVmMgr;
|
||||
@Inject VMInstanceDao _vmDao;
|
||||
@Inject NetworkManager _networkMgr;
|
||||
ScheduledExecutorService _executorPool;
|
||||
ScheduledExecutorService _cleanupExecutor;
|
||||
|
||||
@ -1307,8 +1317,16 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isVmSecurityGroupEnabled(Long vmId) {
|
||||
return _userVmMgr.isVmSecurityGroupEnabled(vmId);
|
||||
|
||||
@Override
|
||||
public boolean isVmSecurityGroupEnabled(Long vmId) {
|
||||
VirtualMachine vm = _vmDao.findById(vmId);
|
||||
List<NicProfile> nics = _networkMgr.getNicProfiles(vm);
|
||||
for (NicProfile nic : nics) {
|
||||
if (nic.isSecurityGroupEnabled() && vm.getHypervisorType() != HypervisorType.VMware) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1043,7 +1043,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
|
||||
List<NicProfile> nics = profile.getNics();
|
||||
for (NicProfile nic : nics) {
|
||||
if ((nic.getTrafficType() == TrafficType.Public && dc.getNetworkType() == NetworkType.Advanced)
|
||||
|| (nic.getTrafficType() == TrafficType.Guest && dc.getNetworkType() == NetworkType.Basic)) {
|
||||
|| (nic.getTrafficType() == TrafficType.Guest && (dc.getNetworkType() == NetworkType.Basic || dc.isSecurityGroupEnabled()))) {
|
||||
secVm.setPublicIpAddress(nic.getIp4Address());
|
||||
secVm.setPublicNetmask(nic.getNetmask());
|
||||
secVm.setPublicMacAddress(nic.getMacAddress());
|
||||
|
||||
@ -87,9 +87,4 @@ public interface UserVmManager extends VirtualMachineGuru<UserVmVO>{
|
||||
* @return List of UserVMs.
|
||||
*/
|
||||
List<UserVmVO> searchForUserVMs(Criteria c);
|
||||
|
||||
boolean isVmSecurityGroupEnabled(Long vmId);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -2678,16 +2678,5 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
|
||||
return _vmDao.search(sc, searchFilter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVmSecurityGroupEnabled(Long vmId) {
|
||||
List<NicVO> nics = _nicDao.listByVmId(vmId);
|
||||
UserVmVO vm = _vmDao.findById(vmId);
|
||||
for (NicVO nic : nics) {
|
||||
Network network = _networkDao.findById(nic.getNetworkId());
|
||||
if (network != null && network.isSecurityGroupEnabled() && vm.getHypervisorType() != HypervisorType.VMware) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user