private static IPv4Address createIpv4Address(ResultSet rs, String bootProtocol) throws SQLException { final IPv4Address iPv4Address = new IPv4Address(); iPv4Address.setBootProtocol(Ipv4BootProtocol.valueOf(bootProtocol)); iPv4Address.setAddress(rs.getString("address")); iPv4Address.setNetmask(rs.getString("netmask")); iPv4Address.setGateway(rs.getString("gateway")); return iPv4Address; }
@Override public String toString() { return ToStringBuilder.forInstance(this) .append("address", getAddress()) .append("netmask", getNetmask()) .append("gateway", getGateway()) .append("bootProtocol", getBootProtocol()) .build(); } }
public static IPv4Address createDefaultIpv4Address() { IPv4Address ipv4Address = new IPv4Address(); ipv4Address.setBootProtocol(Ipv4BootProtocol.NONE); return ipv4Address; }
private void fixBootProtocolOfMgmtNetworkIfNeeded(NetworkAttachment networkAttachment) { IPv4Address ipV4address = networkAttachment.getIpConfiguration().getIpv4PrimaryAddress(); if (networkModel.isManagement() && (ipV4address.getBootProtocol() == null || ipV4address.getBootProtocol() == Ipv4BootProtocol.NONE)) { ipV4address.setBootProtocol(Ipv4BootProtocol.DHCP); } }
@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())); }
@Override public String getIpv4Netmask() { return iPv4Address.getNetmask(); }
@Override public Ipv4BootProtocol getIpv4BootProtocol() { return iPv4Address.getBootProtocol(); }
@Override public String getIpv4Gateway() { return iPv4Address.getGateway(); }
private void initIpv4ConfigurationStaticBootProtocol(Ipv4BootProtocol networkBootProtocol) { initIpv4Configuration(); ipv4Address.setBootProtocol(networkBootProtocol); iface.setIpv4BootProtocol(networkBootProtocol); }
@Override public String getIpv4Address() { return iPv4Address.getAddress(); }
private void initIpv4ConfigurationBootProtocolGateway(Ipv4BootProtocol networkBootProtocol, boolean syncGateway) { initIpv4ConfigurationStaticBootProtocol(networkBootProtocol); ipv4Address.setGateway(IPV4_GATEWAY); iface.setIpv4Gateway(syncGateway ? IPV4_GATEWAY : null); }
private void initIpv4ConfigurationBootProtocolAddress(Ipv4BootProtocol networkBootProtocol, boolean syncAddress) { initIpv4ConfigurationStaticBootProtocol(networkBootProtocol); ipv4Address.setAddress(IPV4_ADDRESS); iface.setIpv4Address(syncAddress ? IPV4_ADDRESS : null); }
private void initIpv4ConfigurationBootProtocolNetmask(Ipv4BootProtocol networkBootProtocol, boolean syncNetmask) { initIpv4ConfigurationStaticBootProtocol(networkBootProtocol); ipv4Address.setNetmask(IPV4_NETMASK); iface.setIpv4Subnet(syncNetmask ? IPV4_NETMASK : 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())); }
public IPv4Address createPrimaryIpv4Address() { IPv4Address iPv4Address = new IPv4Address(); iPv4Address.setBootProtocol(Ipv4BootProtocol.DHCP); return iPv4Address; }
public String getIpv4Netmask() { if (primaryIpv4AddressNotSet()) { return null; } return getIpConfiguration().getIpv4PrimaryAddress().getNetmask(); }
public Ipv4BootProtocol getIpv4BootProtocol() { if (primaryIpv4AddressNotSet()) { return null; } return getIpConfiguration().getIpv4PrimaryAddress().getBootProtocol(); }
private boolean isIpv4GatewayInSync() { String gatewayDesiredValue = getIpv4PrimaryAddress().getGateway(); String gatewayActualValue = iface.getIpv4Gateway(); return Objects.equals(gatewayDesiredValue, gatewayActualValue); }
private void initIpv4ConfigurationBootProtocol(boolean sameBootProtocol) { initIpv4Configuration(); ipv4Address.setBootProtocol(IPV4_BOOT_PROTOCOL); Ipv4BootProtocol ifaceBootProtocol = sameBootProtocol ? IPV4_BOOT_PROTOCOL : Ipv4BootProtocol.forValue((IPV4_BOOT_PROTOCOL.getValue() + 1) % Ipv4BootProtocol.values().length); iface.setIpv4BootProtocol(ifaceBootProtocol); }
public String getIpv4Address() { if (primaryIpv4AddressNotSet()) { return null; } return getIpConfiguration().getIpv4PrimaryAddress().getAddress(); }