From 2752c49fa72a1bfa50b6886c2249d493a0e235a9 Mon Sep 17 00:00:00 2001 From: dahn Date: Fri, 7 Jul 2023 19:27:58 +0200 Subject: [PATCH] agent: get the right controll cidr (#7580) Fixes: #7574 --- .../java/com/cloud/agent/properties/AgentProperties.java | 7 +++++++ .../com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java | 5 +---- .../com/cloud/hypervisor/kvm/resource/IvsVifDriver.java | 6 +----- .../com/cloud/hypervisor/kvm/resource/OvsVifDriver.java | 5 +---- .../com/cloud/hypervisor/kvm/resource/VifDriverBase.java | 7 +++++++ 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java b/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java index 9a031e001fa..5c7f4ed4b23 100644 --- a/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java +++ b/agent/src/main/java/com/cloud/agent/properties/AgentProperties.java @@ -721,6 +721,13 @@ public class AgentProperties{ */ public static final Property IOTHREADS = new Property<>("iothreads", 1); + /** + * BGP controll CIDR + * Data type: String.
+ * Default value: 169.254.0.0/16 + */ + public static final Property CONTROL_CIDR = new Property<>("control.cidr", "169.254.0.0/16"); + public static class Property { private String name; private T defaultValue; 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 8d8271a2fbe..39ecc9182f0 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 @@ -65,10 +65,7 @@ public class BridgeVifDriver extends VifDriverBase { String networkScriptsDir = AgentPropertiesFileHandler.getPropertyValue(AgentProperties.NETWORK_SCRIPTS_DIR); - String controlCidr = (String)params.get("control.cidr"); - if (StringUtils.isNotBlank(controlCidr)) { - _controlCidr = controlCidr; - } + _controlCidr = getControlCidr(_controlCidr); String value = (String)params.get("scripts.timeout"); _timeout = NumbersUtil.parseInt(value, 30 * 60) * 1000; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java index c0dceb3832d..178728b7f96 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java @@ -26,7 +26,6 @@ import java.util.regex.Pattern; import javax.naming.ConfigurationException; -import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.libvirt.LibvirtException; @@ -71,10 +70,7 @@ public class IvsVifDriver extends VifDriverBase { } _ivsIfUpPath = Script.findScript(utilScriptsDir, "qemu-ivs-ifup"); - String controlCidr = (String)params.get("control.cidr"); - if (StringUtils.isNotBlank(controlCidr)) { - _controlCidr = controlCidr; - } + _controlCidr = getControlCidr(_controlCidr); } @Override diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java index c6867b3c146..3c4c9d48c9d 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java @@ -60,10 +60,7 @@ public class OvsVifDriver extends VifDriverBase { dpdkDriver = new DpdkDriverImpl(); } - String controlCidr = (String)params.get("control.cidr"); - if (StringUtils.isNotBlank(controlCidr)) { - _controlCidr = controlCidr; - } + _controlCidr = getControlCidr(_controlCidr); String value = (String)params.get("scripts.timeout"); _timeout = NumbersUtil.parseInt(value, 30 * 60) * 1000; diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/VifDriverBase.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/VifDriverBase.java index 77aeec55459..b3ae4c1d704 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/VifDriverBase.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/VifDriverBase.java @@ -23,6 +23,8 @@ import java.util.Map; import javax.naming.ConfigurationException; +import com.cloud.agent.properties.AgentProperties; +import com.cloud.agent.properties.AgentPropertiesFileHandler; import org.libvirt.LibvirtException; import com.cloud.agent.api.to.NicTO; @@ -41,6 +43,11 @@ public abstract class VifDriverBase implements VifDriver { _pifs = (Map)params.get("libvirt.host.pifs"); } + protected String getControlCidr(String defaultValue) { + String controlCidr = AgentPropertiesFileHandler.getPropertyValue(AgentProperties.CONTROL_CIDR); + return controlCidr; + } + @Override public abstract LibvirtVMDef.InterfaceDef plug(NicTO nic, String guestOsType, String nicAdapter, Map extraConfig) throws InternalErrorException, LibvirtException;