final DataCenterDeployment plan = new DataCenterDeployment(zone.getId(), null, null, null, null, null); final NetworkVO userNetwork = new NetworkVO(); broadcastDomainType = BroadcastDomainType.LinkLocal; } else if (offering.getTrafficType() == TrafficType.Public) { if (zone.getNetworkType() == NetworkType.Advanced && !zone.isSecurityGroupEnabled() || zone.getNetworkType() == NetworkType.Basic) { broadcastDomainType = BroadcastDomainType.Vlan; } else {
@Override public void updateMetrics() { final List<Item> latestMetricsItems = new ArrayList<Item>(); try { for (final DataCenterVO dc : dcDao.listAll()) { final String zoneName = dc.getName(); final String zoneUuid = dc.getUuid(); alertManager.recalculateCapacity(); addHostMetrics(latestMetricsItems, dc.getId(), zoneName, zoneUuid); addVMMetrics(latestMetricsItems, dc.getId(), zoneName, zoneUuid); addVolumeMetrics(latestMetricsItems, dc.getId(), zoneName, zoneUuid); addStorageMetrics(latestMetricsItems, dc.getId(), zoneName, zoneUuid); addIpAddressMetrics(latestMetricsItems, dc.getId(), zoneName, zoneUuid); addVlanMetrics(latestMetricsItems, dc.getId(), zoneName, zoneUuid); } addDomainLimits(latestMetricsItems); } catch (Exception e) { LOG.warn("Getting metrics failed ", e); } metricsItems = latestMetricsItems; }
zoneName = zone.getName(); final String oldZoneName = zone.getName(); dns1 = zone.getDns1(); dns2 = zone.getDns2(); ip6Dns1 = zone.getIp6Dns1(); ip6Dns2 = zone.getIp6Dns2(); internalDns1 = zone.getInternalDns1(); internalDns2 = zone.getInternalDns2(); guestCidr = zone.getGuestNetworkCidr(); zone.setName(zoneName); zone.setDns1(dns1); zone.setDns2(dns2); zone.setIp6Dns1(ip6Dns1); zone.setIp6Dns2(ip6Dns2); zone.setInternalDns1(internalDns1); zone.setInternalDns2(internalDns2); zone.setGuestNetworkCidr(guestCidr); if (localStorageEnabled != null) { zone.setLocalStorageEnabled(localStorageEnabled.booleanValue());
@Override public void loadDetails(DataCenterVO zone) { Map<String, String> details = _detailsDao.listDetailsKeyPairs(zone.getId()); zone.setDetails(details); }
@Override public void saveDetails(DataCenterVO zone) { Map<String, String> details = zone.getDetails(); if (details == null) { return; } List<DataCenterDetailVO> resourceDetails = new ArrayList<DataCenterDetailVO>(); for (String key : details.keySet()) { resourceDetails.add(new DataCenterDetailVO(zone.getId(), key, details.get(key), true)); } _detailsDao.saveDetails(resourceDetails); }
public List<String> getDnsDetails(long dataCenterId) { Boolean configureDns = Boolean.valueOf(_configDao.getValue(NuageVspManager.NuageVspConfigDns.key())); if (!configureDns) { return Lists.newArrayList(); } Boolean configureExternalDns = Boolean.valueOf(_configDao.getValue(NuageVspManager.NuageVspDnsExternal.key())); DataCenterVO dc = _dataCenterDao.findById(dataCenterId); List<String> dnsServers = new ArrayList<String>(); if (configureExternalDns) { if (!Strings.isNullOrEmpty(dc.getDns1())) { dnsServers.add(dc.getDns1()); } if (!Strings.isNullOrEmpty(dc.getDns2())) { dnsServers.add(dc.getDns2()); } } else { if (!Strings.isNullOrEmpty(dc.getInternalDns1())) { dnsServers.add(dc.getInternalDns1()); } if (!Strings.isNullOrEmpty(dc.getInternalDns2())) { dnsServers.add(dc.getInternalDns2()); } } return dnsServers; }
long zoneId = zone.getId(); long accountId = 1L; Long domainId = zone.getDomainId(); broadcastDomainType = BroadcastDomainType.LinkLocal; } else if (offering.getTrafficType() == TrafficType.Public) { if ((zone.getNetworkType() == NetworkType.Advanced && !zone.isSecurityGroupEnabled()) || zone.getNetworkType() == NetworkType.Basic) { specifyIpRanges = true; broadcastDomainType = BroadcastDomainType.Vlan; Network.GuestType.Shared, zoneId, null, null, specifyIpRanges, null, offering.isRedundantRouter()); network.setGuruName(guruNames.get(network.getTrafficType())); network.setDns1(zone.getDns1()); network.setDns2(zone.getDns2()); network.setState(State.Implemented); _networkDao.persist(network, false, getServicesAndProvidersForNetwork(networkOfferingId));
if (!_privateIPAddressDao.mark(dc.getId(), pod.getId(), serverPrivateIP)) { final List<DataCenterIpAddressVO> existingPrivateIPs = _privateIPAddressDao.listByPodIdDcIdIpAddress(pod.getId(), dc.getId(), serverPrivateIP); " and zone: " + dc.getName()); if (vo.getInstanceId() != null) { throw new IllegalArgumentException("The private ip address of the server (" + serverPrivateIP + ") is already in use in pod: " + pod.getName() + " and zone: " + dc.getName()); if (serverPublicIP != null && !_publicIPAddressDao.mark(dc.getId(), new Ip(serverPublicIP))) { final List<IPAddressVO> existingPublicIPs = _publicIPAddressDao.listByDcIdIpAddress(dc.getId(), serverPublicIP); if (existingPublicIPs.size() > 0) { throw new IllegalArgumentException("The public ip address of the server (" + serverPublicIP + ") is already in use in zone: " + dc.getName());
private String getZoneName(final long zoneId) { final DataCenterVO zone = _zoneDao.findById(new Long(zoneId)); if (zone != null) { return zone.getName(); } else { return null; } }
public void createDhcpEntryCommandsForVMs(final DomainRouterVO router, final Commands cmds, final long guestNetworkId) { final List<UserVmVO> vms = _userVmDao.listByNetworkIdAndStates(guestNetworkId, VirtualMachine.State.Running, VirtualMachine.State.Migrating, VirtualMachine.State.Stopping); final DataCenterVO dc = _dcDao.findById(router.getDataCenterId()); String dnsBasicZoneUpdates = _configDao.getValue(Config.DnsBasicZoneUpdates.key()); for (final UserVmVO vm : vms) { if (dc.getNetworkType() == NetworkType.Basic && router.getPodIdToDeployIn().longValue() != vm.getPodIdToDeployIn().longValue() && dnsBasicZoneUpdates.equalsIgnoreCase("pod")) { continue; } final NicVO nic = _nicDao.findByNtwkIdAndInstanceId(guestNetworkId, vm.getId()); if (nic != null) { s_logger.debug("Creating dhcp entry for vm " + vm + " on domR " + router + "."); createDhcpEntryCommand(router, vm, nic, cmds); } } }
@Override public Long[] getScannablePools() { List<DataCenterVO> zones = _dcDao.listEnabledZones(); Long[] dcIdList = new Long[zones.size()]; int i = 0; for (DataCenterVO dc : zones) { dcIdList[i++] = dc.getId(); } return dcIdList; }
private String zoneIdToUuid(Long zoneId) { DataCenterVO vo = dcDao.findById(zoneId); return vo.getUuid(); }
if (zone.getNetworkType() == NetworkType.Basic) { final List<NetworkVO> guestNetworks = _networksDao.listByZoneAndTrafficType(zone.getId(), TrafficType.Guest); if (!guestNetworks.isEmpty()) { throw new InvalidParameterValueException("Can't have more than one Guest network in zone with network type " + NetworkType.Basic); } else if (zone.getNetworkType() == NetworkType.Advanced) { if (zone.isSecurityGroupEnabled()) { if (isolatedPvlan != null) { throw new InvalidParameterValueException("Isolated Private VLAN is not supported with security group!"); + zone.getName()); final boolean cidrRequired = zone.getNetworkType() == NetworkType.Advanced && ntwkOff.getTrafficType() == TrafficType.Guest && (ntwkOff.getGuestType() == GuestType.Shared || (ntwkOff.getGuestType() == GuestType.Isolated if (zone.getNetworkType() == NetworkType.Basic && cidr != null) { throw new InvalidParameterValueException("StartIp/endIp/gateway/netmask can't be specified for zone of type " + NetworkType.Basic);
final Map<String, String> updatedDetails = new HashMap<String, String>(); _zoneDao.loadDetails(zone); if (zone.getDetails() != null) { updatedDetails.putAll(zone.getDetails()); zone.setDetails(updatedDetails); if (NetworkType.Advanced == zone.getNetworkType() && !zone.isSecurityGroupEnabled()) { zone.setAllocationState(allocationState); zone.setDhcpProvider(dhcpProvider); zone.setDomainId(null); zone.setDomain(null);
@Override public DataCenterVO doInTransaction(final TransactionStatus status) { final DataCenterVO zone = _zoneDao.persist(zoneFinal); CallContext.current().putContextParameter(DataCenter.class, zone.getUuid()); if (domainId != null) { // zone is explicitly dedicated to this domain // create affinity group associated and dedicate the zone. final AffinityGroup group = createDedicatedAffinityGroup(null, domainId, null); final DedicatedResourceVO dedicatedResource = new DedicatedResourceVO(zone.getId(), null, null, null, domainId, null, group.getId()); _dedicatedDao.persist(dedicatedResource); } // Create default system networks createDefaultSystemNetworks(zone.getId()); return zone; } });
if (Grouping.AllocationState.Disabled == zone.getAllocationState() && !_accountMgr.isRootAdmin(account.getId())) { final PermissionDeniedException ex = new PermissionDeniedException("Cannot perform this operation, Zone with specified id is currently disabled"); ex.addProxyObject(zone.getUuid(), "dcId"); throw ex; final InvalidParameterValueException ex = new InvalidParameterValueException("Pod with specified id doesn't belong to the zone " + dcId); ex.addProxyObject(pod.getUuid(), "podId"); ex.addProxyObject(zone.getUuid(), "dcId"); throw ex; if (zone.isSecurityGroupEnabled() && zone.getNetworkType().equals(NetworkType.Advanced)) { if (hypervisorType != HypervisorType.KVM && hypervisorType != HypervisorType.XenServer && hypervisorType != HypervisorType.LXC && hypervisorType != HypervisorType.Simulator) { ex.addProxyObject(zone.getUuid(), "dcId"); throw ex;
if (Grouping.AllocationState.Disabled == zone.getAllocationState() && !_accountMgr.isRootAdmin(account.getId())) { PermissionDeniedException ex = new PermissionDeniedException("Cannot perform this operation, Zone with specified id is currently disabled"); ex.addProxyObject(zone.getUuid(), "dcId"); throw ex;
if (Grouping.AllocationState.Enabled == zone.getAllocationState()) { NetworkType zoneType = zone.getNetworkType(); if (zoneType == NetworkType.Basic || (zoneType == NetworkType.Advanced && zone.isSecurityGroupEnabled())) { throw new InvalidParameterValueException( "Can't add vnet range to the physical network in the zone that supports " + zoneType + " network, Security Group enabled: " + zone.isSecurityGroupEnabled());
/** * Verifies ConfigDrive entries on a zone and adds disabled ConfigDrive provider if missing. */ protected void addDisabledConfigDriveEntriesOnZone(DataCenterVO zone) { if (zone.getNetworkType() == DataCenter.NetworkType.Advanced) { List<PhysicalNetworkVO> physicalNetworks = _physicalNetworkDao.listByZoneAndTrafficType( zone.getId(), TrafficType.Guest); for (PhysicalNetworkVO physicalNetworkVO : physicalNetworks) { PhysicalNetworkServiceProviderVO provider = _pNSPDao.findByServiceProvider( physicalNetworkVO.getId(), Provider.ConfigDrive.getName()); if (provider == null) { _networkService.addProviderToPhysicalNetwork( physicalNetworkVO.getId(), Provider.ConfigDrive.getName(), null, null); } } } }
@Override public DedicateZoneResponse createDedicateZoneResponse(DedicatedResources resource) { DedicateZoneResponse dedicateZoneResponse = new DedicateZoneResponse(); DataCenterVO dc = _zoneDao.findById(resource.getDataCenterId()); DomainVO domain = _domainDao.findById(resource.getDomainId()); AccountVO account = _accountDao.findById(resource.getAccountId()); AffinityGroup group = _affinityGroupDao.findById(resource.getAffinityGroupId()); dedicateZoneResponse.setId(resource.getUuid()); dedicateZoneResponse.setZoneId(dc.getUuid()); dedicateZoneResponse.setZoneName(dc.getName()); dedicateZoneResponse.setDomainId(domain.getUuid()); dedicateZoneResponse.setAffinityGroupId(group.getUuid()); if (account != null) { dedicateZoneResponse.setAccountId(account.getUuid()); } dedicateZoneResponse.setObjectName("dedicatedzone"); return dedicateZoneResponse; }