@Override public Ipv4BootProtocol getIpv4BootProtocol() { return iPv4Address.getBootProtocol(); }
private void fixBootProtocolOfMgmtNetworkIfNeeded(NetworkAttachment networkAttachment) { IPv4Address ipV4address = networkAttachment.getIpConfiguration().getIpv4PrimaryAddress(); if (networkModel.isManagement() && (ipV4address.getBootProtocol() == null || ipV4address.getBootProtocol() == Ipv4BootProtocol.NONE)) { ipV4address.setBootProtocol(Ipv4BootProtocol.DHCP); } }
public Ipv4BootProtocol getIpv4BootProtocol() { if (primaryIpv4AddressNotSet()) { return null; } return getIpConfiguration().getIpv4PrimaryAddress().getBootProtocol(); }
@Override public String toString() { return ToStringBuilder.forInstance(this) .append("address", getAddress()) .append("netmask", getNetmask()) .append("gateway", getGateway()) .append("bootProtocol", getBootProtocol()) .build(); } }
@Test public void testReportConfigurationsOnHostWhenIpv4BootProtocolNotStatic() { initIpv4ConfigurationBootProtocolAddress(Ipv4BootProtocol.NONE, false); initIpv4ConfigurationBootProtocolNetmask(Ipv4BootProtocol.NONE, false); initIpv4ConfigurationBootProtocolGateway(Ipv4BootProtocol.NONE, false); NetworkInSyncWithVdsNetworkInterface testedInstanceWithSameNonQosValues = createTestedInstanceWithSameNonQosValues(); List<ReportedConfiguration> reportedConfigurationList = testedInstanceWithSameNonQosValues.reportConfigurationsOnHost().getReportedConfigurationList(); IPv4Address primaryAddress = this.testedNetworkAttachment.getIpConfiguration().getIpv4PrimaryAddress(); List<ReportedConfiguration> expectedReportedConfigurations = addReportedConfigurations( createBasicAndQosReportedConfigurations(), defaultRouteReportedConfiguration(false), new ReportedConfiguration(ReportedConfigurationType.IPV4_BOOT_PROTOCOL, iface.getIpv4BootProtocol().name(), primaryAddress.getBootProtocol().name(), true) ); assertThat(reportedConfigurationList.containsAll(expectedReportedConfigurations), is(true)); assertThat(reportedConfigurationList.size(), is(expectedReportedConfigurations.size())); }
@Test public void testReportConfigurationsOnHostWhenDefaultRouteDiffers() { //cannot use initIpv4ConfigurationBootProtocol because of 'randomized tests' technique. iface.setIpv4BootProtocol(Ipv4BootProtocol.DHCP); IPv4Address address = new IPv4Address(); address.setBootProtocol(Ipv4BootProtocol.DHCP); testedNetworkAttachment.getIpConfiguration().setIPv4Addresses(Collections.singletonList(address)); //network has default route role NetworkInSyncWithVdsNetworkInterface testedInstance = createTestedInstanceWithSameNonQosValues(true); ReportedConfigurations reportedConfigurations = testedInstance.reportConfigurationsOnHost(); assertThat(reportedConfigurations.isNetworkInSync(), is(false)); List<ReportedConfiguration> reportedConfigurationList = reportedConfigurations.getReportedConfigurationList(); List<ReportedConfiguration> expectedReportedConfigurations = addReportedConfigurations( combineReportedConfigurations(createBasicReportedConfigurations(), reportQos(true)), new ReportedConfiguration(ReportedConfigurationType.IPV4_BOOT_PROTOCOL, iface.getIpv4BootProtocol().name(), /*ipv4Address*/address.getBootProtocol().name(), true), new ReportedConfiguration(ReportedConfigurationType.DNS_CONFIGURATION, addressesAsString(sampleDnsResolverConfiguration.getNameServers()), "192.168.1.1,2001:0db8:85a3:0000:0000:8a2e:0370:7334", true), new ReportedConfiguration(ReportedConfigurationType.DEFAULT_ROUTE, false, true, false) ); assertThat(reportedConfigurationList.containsAll(expectedReportedConfigurations), is(true)); assertThat(reportedConfigurationList.size(), is(expectedReportedConfigurations.size())); }
private void mapIpv4Configuration(MapSqlParameterSource mapper, IpConfiguration ipConfiguration) { if (ipConfiguration.hasIpv4PrimaryAddressSet()) { final IPv4Address primaryIpv4Address = ipConfiguration.getIpv4PrimaryAddress(); mapper.addValue("boot_protocol", EnumUtils.nameOrNull(primaryIpv4Address.getBootProtocol())) .addValue("address", primaryIpv4Address.getAddress()) .addValue("netmask", primaryIpv4Address.getNetmask()) .addValue("gateway", primaryIpv4Address.getGateway()); } else { mapper.addValue("boot_protocol", null) .addValue("address", null) .addValue("netmask", null) .addValue("gateway", null); } }
@Test public void testReportConfigurationsOnHostWhenDnsConfigurationResolverOutOfSync() { iface.setIpv4DefaultRoute(true); //cannot use initIpv4ConfigurationBootProtocol because of 'randomized tests' technique. iface.setIpv4BootProtocol(Ipv4BootProtocol.DHCP); IPv4Address address = new IPv4Address(); address.setBootProtocol(Ipv4BootProtocol.DHCP); testedNetworkAttachment.getIpConfiguration().setIPv4Addresses(Collections.singletonList(address)); network.setDnsResolverConfiguration(sampleDnsResolverConfiguration2); ReportedConfigurations reportedConfigurations = createTestedInstanceWithSameNonQosValues(true).reportConfigurationsOnHost(); assertThat(reportedConfigurations.isNetworkInSync(), is(false)); List<ReportedConfiguration> reportedConfigurationList = reportedConfigurations.getReportedConfigurationList(); List<ReportedConfiguration> expectedReportedConfigurations = addReportedConfigurations( combineReportedConfigurations(createBasicReportedConfigurations(), reportQos(true)), new ReportedConfiguration(ReportedConfigurationType.IPV4_BOOT_PROTOCOL, iface.getIpv4BootProtocol().name(), /*ipv4Address*/address.getBootProtocol().name(), true), new ReportedConfiguration(ReportedConfigurationType.DNS_CONFIGURATION, addressesAsString(sampleDnsResolverConfiguration.getNameServers()), addressesAsString(network.getDnsResolverConfiguration().getNameServers()), false), new ReportedConfiguration(ReportedConfigurationType.DEFAULT_ROUTE, true, true, true) ); assertThat(reportedConfigurationList.containsAll(expectedReportedConfigurations), is(true)); assertThat(reportedConfigurationList.size(), is(expectedReportedConfigurations.size())); }
private static IpAddressAssignment mapIpv4Address(IPv4Address iPv4Address) { IpAddressAssignment ipAddressAssignment = new IpAddressAssignment(); Ip ip = new Ip(); ip.setVersion(IpVersion.V4); if (iPv4Address.getAddress() != null) { ip.setAddress(iPv4Address.getAddress()); } if (iPv4Address.getGateway() != null) { ip.setGateway(iPv4Address.getGateway()); } if (iPv4Address.getNetmask() != null) { ip.setNetmask(iPv4Address.getNetmask()); } ipAddressAssignment.setIp(ip); BootProtocol assignmentMethod = Ipv4BootProtocolMapper.map(iPv4Address.getBootProtocol()); ipAddressAssignment.setAssignmentMethod(assignmentMethod == null ? null : assignmentMethod); return ipAddressAssignment; }
primaryAddress.getBootProtocol().name(), true), new ReportedConfiguration(ReportedConfigurationType.IPV4_NETMASK,
private void addReportedIpv4Configuration(ReportedConfigurations result) { if (!isIpv4PrimaryAddressExist()) { return; } Ipv4BootProtocol definedIpv4BootProtocol = getIpv4PrimaryAddress().getBootProtocol(); result.add(ReportedConfigurationType.IPV4_BOOT_PROTOCOL, iface.getIpv4BootProtocol(), definedIpv4BootProtocol); if (definedIpv4BootProtocol == Ipv4BootProtocol.STATIC_IP && iface.getIpv4BootProtocol() == definedIpv4BootProtocol) { result.add(ReportedConfigurationType.IPV4_NETMASK, iface.getIpv4Subnet(), getIpv4PrimaryAddress().getNetmask(), isIpv4NetworkSubnetInSync()); result.add(ReportedConfigurationType.IPV4_ADDRESS, iface.getIpv4Address(), getIpv4PrimaryAddress().getAddress()); result.add(ReportedConfigurationType.IPV4_GATEWAY, iface.getIpv4Gateway(), getIpv4PrimaryAddress().getGateway(), isIpv4GatewayInSync()); } }
private void storeAttachmentParamsBeforeDetach() { NetworkAttachment networkAttachment = networkModel.getNetworkAttachment(); if (networkAttachment == null) { return; } NetworkParameters netParams = new NetworkParameters(); IPv4Address ipv4Address = networkAttachment.getIpConfiguration().getIpv4PrimaryAddress(); if (ipv4Address != null) { netParams.setIpv4BootProtocol(ipv4Address.getBootProtocol()); netParams.setIpv4Address(ipv4Address.getAddress()); netParams.setIpv4Netmask(ipv4Address.getNetmask()); netParams.setIpv4Gateway(ipv4Address.getGateway()); } IpV6Address ipv6Address = networkAttachment.getIpConfiguration().getIpv6PrimaryAddress(); if (ipv6Address != null) { netParams.setIpv6BootProtocol(ipv6Address.getBootProtocol()); netParams.setIpv6Address(ipv6Address.getAddress()); netParams.setIpv6Prefix(ipv6Address.getPrefix()); netParams.setIpv6Gateway(ipv6Address.getGateway()); } netParams.setHostNetworkQos(HostNetworkQos.fromAnonymousHostNetworkQos(networkAttachment.getHostNetworkQos())); netParams.setQosOverridden(networkAttachment.isQosOverridden()); netParams.setCustomProperties(networkAttachment.getProperties()); netParams.setDnsResolverConfiguration(networkAttachment.getDnsResolverConfiguration()); networkModel.getSetupModel().getNetworkToLastDetachParams().put(networkModel.getName(), netParams); }