You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ga...@apache.org on 2019/07/16 14:17:25 UTC
[cloudstack] 06/09: Move some logic to NetUtils and add Tests for
this
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 <wi...@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 <wi...@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]);