This is an automated email from the ASF dual-hosted git repository. gabriel pushed a commit to branch cloud0-cidr-412 in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 10dff010ab50359a4ffa6997e72be54bc2ba5066 Author: Wido den Hollander <w...@widodh.nl> AuthorDate: Tue Jul 16 12:32:52 2019 +0200 Move some logic to NetUtils and add Tests for this Signed-off-by: Wido den Hollander <w...@widodh.nl> --- .../com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java | 14 +++++++------- utils/src/main/java/com/cloud/utils/net/NetUtils.java | 10 ++++++++++ utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java | 5 ++++- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java index c229154..8466514 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java @@ -52,9 +52,9 @@ public class BridgeVifDriver extends VifDriverBase { private String _modifyVlanPath; private String _modifyVxlanPath; private String _controlCidr = NetUtils.getLinkLocalCIDR(); - private String _linkLocalGateway = NetUtils.getLinkLocalGateway(); - private String _linkLocalNetmask = NetUtils.getLinkLocalNetMask(); - private String _linkLocalAddress = _linkLocalGateway + "/" + _linkLocalNetmask; + private String _linkLocalGateway; + private String _linkLocalNetmask; + private String _linkLocalAddress; private String bridgeNameSchema; private Long libvirtVersion; @@ -78,12 +78,12 @@ public class BridgeVifDriver extends VifDriverBase { String controlCidr = (String)params.get("control.cidr"); if (StringUtils.isNotBlank(controlCidr)) { _controlCidr = controlCidr; - SubnetUtils subnetUtils = new SubnetUtils(_controlCidr); - _linkLocalGateway = subnetUtils.getInfo().getLowAddress(); - _linkLocalNetmask = subnetUtils.getInfo().getNetmask(); - _linkLocalAddress = _linkLocalGateway + "/" + _linkLocalNetmask; } + _linkLocalGateway = NetUtils.getLinkLocalGatewayFromCIDR(_controlCidr); + _linkLocalNetmask = NetUtils.getLinkLocalNetmaskFromCIDR(_controlCidr); + _linkLocalAddress = _linkLocalGateway + "/" + _linkLocalNetmask; + String value = (String)params.get("scripts.timeout"); _timeout = NumbersUtil.parseInt(value, 30 * 60) * 1000; diff --git a/utils/src/main/java/com/cloud/utils/net/NetUtils.java b/utils/src/main/java/com/cloud/utils/net/NetUtils.java index e9d15e2..653e446 100644 --- a/utils/src/main/java/com/cloud/utils/net/NetUtils.java +++ b/utils/src/main/java/com/cloud/utils/net/NetUtils.java @@ -967,6 +967,16 @@ public class NetUtils { return "169.254.0.0/16"; } + public static String getLinkLocalGatewayFromCIDR(final String cidr) { + SubnetUtils subnetUtils = new SubnetUtils(cidr); + return subnetUtils.getInfo().getLowAddress(); + } + + public static String getLinkLocalNetmaskFromCIDR(final String cidr) { + SubnetUtils subnetUtils = new SubnetUtils(cidr); + return subnetUtils.getInfo().getNetmask(); + } + public static String[] getLinkLocalIPRange(final String cidr) { final SubnetUtils subnetUtils = new SubnetUtils(cidr); final String[] addresses = subnetUtils.getInfo().getAllAddresses(); diff --git a/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java b/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java index 4d20df72..afb0b6d 100644 --- a/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java +++ b/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java @@ -712,9 +712,12 @@ public class NetUtilsTest { @Test public void testLinkLocal() { + final String cidr = NetUtils.getLinkLocalCIDR(); assertEquals("255.255.0.0", NetUtils.getLinkLocalNetMask()); assertEquals("169.254.0.1", NetUtils.getLinkLocalGateway()); - assertEquals("169.254.0.0/16", NetUtils.getLinkLocalCIDR()); + assertEquals("169.254.0.0/16", cidr); + assertEquals("169.254.0.1", NetUtils.getLinkLocalGatewayFromCIDR(cidr)); + assertEquals("255.255.0.0", NetUtils.getLinkLocalNetmaskFromCIDR(cidr)); String[] range = NetUtils.getLinkLocalIPRange("169.254.0.0/16"); assertEquals("169.254.0.2", range[0]);