openstack and routing app OSGi property migration
Change-Id: I855020959456f059911284bb7d8ade376cbc20c5
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java
index 7f34ad7..51990d1 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingArpHandler.java
@@ -88,13 +88,14 @@
import static org.onlab.util.Tools.groupedThreads;
import static org.onosproject.openstacknetworking.api.Constants.ARP_BROADCAST_MODE;
import static org.onosproject.openstacknetworking.api.Constants.ARP_PROXY_MODE;
-import static org.onosproject.openstacknetworking.api.Constants.DEFAULT_ARP_MODE_STR;
-import static org.onosproject.openstacknetworking.api.Constants.DEFAULT_GATEWAY_MAC_STR;
import static org.onosproject.openstacknetworking.api.Constants.GW_COMMON_TABLE;
import static org.onosproject.openstacknetworking.api.Constants.OPENSTACK_NETWORKING_APP_ID;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ARP_CONTROL_RULE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ARP_GATEWAY_RULE;
import static org.onosproject.openstacknetworking.api.OpenstackNetworkEvent.Type.OPENSTACK_PORT_PRE_REMOVE;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.ARP_MODE;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.ARP_MODE_DEFAULT;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.GATEWAY_MAC_DEFAULT;
import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.associatedFloatingIp;
import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getGwByComputeDevId;
import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getGwByInstancePort;
@@ -109,7 +110,12 @@
/**
* Handle ARP requests from gateway nodes.
*/
-@Component(immediate = true)
+@Component(
+ immediate = true,
+ property = {
+ ARP_MODE + "=" + ARP_MODE_DEFAULT
+ }
+)
public class OpenstackRoutingArpHandler {
private final Logger log = getLogger(getClass());
@@ -154,11 +160,10 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected PreCommitPortService preCommitPortService;
- //@Property(name = ARP_MODE, value = DEFAULT_ARP_MODE_STR,
- // label = "ARP processing mode, broadcast | proxy (default)")
- protected String arpMode = DEFAULT_ARP_MODE_STR;
+ /** ARP processing mode, broadcast | proxy (default). **/
+ protected String arpMode = ARP_MODE_DEFAULT;
- protected String gatewayMac = DEFAULT_GATEWAY_MAC_STR;
+ protected String gatewayMac = GATEWAY_MAC_DEFAULT;
private final OpenstackRouterListener osRouterListener = new InternalRouterEventListener();
private final OpenstackNodeListener osNodeListener = new InternalNodeEventListener();
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
index c7b0ac1..1a9de18 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
@@ -97,6 +97,8 @@
import static org.onosproject.openstacknetworking.api.Constants.ROUTING_TABLE;
import static org.onosproject.openstacknetworking.api.Constants.STAT_OUTBOUND_TABLE;
import static org.onosproject.openstacknetworking.api.InstancePort.State.ACTIVE;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.USE_STATEFUL_SNAT;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.USE_STATEFUL_SNAT_DEFAULT;
import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.buildExtension;
import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.COMPUTE;
import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.GATEWAY;
@@ -104,7 +106,12 @@
/**
* Handles OpenStack router events.
*/
-@Component(immediate = true)
+@Component(
+ immediate = true,
+ property = {
+ USE_STATEFUL_SNAT + ":Boolean=" + USE_STATEFUL_SNAT_DEFAULT
+ }
+)
public class OpenstackRoutingHandler {
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -112,11 +119,9 @@
private static final String MSG_ENABLED = "Enabled ";
private static final String MSG_DISABLED = "Disabled ";
private static final String ERR_UNSUPPORTED_NET_TYPE = "Unsupported network type";
- private static final boolean USE_STATEFUL_SNAT = false;
- //@Property(name = "useStatefulSnat", boolValue = USE_STATEFUL_SNAT,
- // label = "Use Stateful SNAT for source NATing")
- private boolean useStatefulSnat = USE_STATEFUL_SNAT;
+ /** Use Stateful SNAT for source NATing. */
+ private boolean useStatefulSnat = USE_STATEFUL_SNAT_DEFAULT;
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected CoreService coreService;
@@ -193,7 +198,7 @@
Dictionary<?, ?> properties = context.getProperties();
Boolean flag;
- flag = Tools.isPropertyEnabled(properties, "useStatefulSnat");
+ flag = Tools.isPropertyEnabled(properties, USE_STATEFUL_SNAT);
if (flag == null) {
log.info("useStatefulSnat is not configured, " +
"using current value of {}", useStatefulSnat);
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
index 4701d9c..e9577bf 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
@@ -101,6 +101,8 @@
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_CT_DROP_RULE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_CT_HOOK_RULE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_CT_RULE;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.USE_SECURITY_GROUP;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.USE_SECURITY_GROUP_DEFAULT;
import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.swapStaleLocation;
import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.computeCtMaskFlag;
import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.computeCtStateFlag;
@@ -111,16 +113,18 @@
/**
* Populates flow rules to handle OpenStack SecurityGroups.
*/
-@Component(immediate = true)
+@Component(
+ immediate = true,
+ property = {
+ USE_SECURITY_GROUP + ":Boolean=" + USE_SECURITY_GROUP_DEFAULT
+ }
+)
public class OpenstackSecurityGroupHandler {
private final Logger log = getLogger(getClass());
- private static final boolean USE_SECURITY_GROUP = false;
-
- //@Property(name = "useSecurityGroup", boolValue = USE_SECURITY_GROUP,
- // label = "Apply OpenStack security group rule for VM traffic")
- private boolean useSecurityGroup = USE_SECURITY_GROUP;
+ /** Apply OpenStack security group rule for VM traffic. */
+ private boolean useSecurityGroup = USE_SECURITY_GROUP_DEFAULT;
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected CoreService coreService;
@@ -247,7 +251,7 @@
Dictionary<?, ?> properties = context.getProperties();
Boolean flag;
- flag = Tools.isPropertyEnabled(properties, "useSecurityGroup");
+ flag = Tools.isPropertyEnabled(properties, USE_SECURITY_GROUP);
if (flag == null) {
log.info("useSecurityGroup is not configured, " +
"using current value of {}", useSecurityGroup);
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
index c78134d..e2f8f92 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
@@ -75,8 +75,6 @@
import static org.onosproject.openstacknetworking.api.Constants.ARP_BROADCAST_MODE;
import static org.onosproject.openstacknetworking.api.Constants.ARP_PROXY_MODE;
import static org.onosproject.openstacknetworking.api.Constants.ARP_TABLE;
-import static org.onosproject.openstacknetworking.api.Constants.DEFAULT_ARP_MODE_STR;
-import static org.onosproject.openstacknetworking.api.Constants.DEFAULT_GATEWAY_MAC_STR;
import static org.onosproject.openstacknetworking.api.Constants.OPENSTACK_NETWORKING_APP_ID;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ARP_CONTROL_RULE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ARP_FLOOD_RULE;
@@ -84,6 +82,10 @@
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ARP_REPLY_RULE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ARP_REQUEST_RULE;
import static org.onosproject.openstacknetworking.api.InstancePort.State.ACTIVE;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.ARP_MODE;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.ARP_MODE_DEFAULT;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.GATEWAY_MAC;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.GATEWAY_MAC_DEFAULT;
import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getPropertyValue;
import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.swapStaleLocation;
import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.buildExtension;
@@ -92,14 +94,17 @@
/**
* Handles ARP packet from VMs.
*/
-@Component(immediate = true)
+@Component(
+ immediate = true,
+ property = {
+ GATEWAY_MAC + "=" + GATEWAY_MAC_DEFAULT,
+ ARP_MODE + "=" + ARP_MODE_DEFAULT,
+ }
+)
public final class OpenstackSwitchingArpHandler {
private final Logger log = LoggerFactory.getLogger(getClass());
- private static final String GATEWAY_MAC = "gatewayMac";
- private static final String ARP_MODE = "arpMode";
-
@Reference(cardinality = ReferenceCardinality.MANDATORY)
CoreService coreService;
@@ -133,13 +138,11 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected OpenstackNodeService osNodeService;
- //@Property(name = GATEWAY_MAC, value = DEFAULT_GATEWAY_MAC_STR,
- // label = "Fake MAC address for virtual network subnet gateway")
- private String gatewayMac = DEFAULT_GATEWAY_MAC_STR;
+ /** Fake MAC address for virtual network subnet gateway. */
+ private String gatewayMac = GATEWAY_MAC_DEFAULT;
- //@Property(name = ARP_MODE, value = DEFAULT_ARP_MODE_STR,
- // label = "ARP processing mode, broadcast | proxy (default)")
- protected String arpMode = DEFAULT_ARP_MODE_STR;
+ /** ARP processing mode, broadcast | proxy (default). */
+ protected String arpMode = ARP_MODE_DEFAULT;
private final InternalPacketProcessor packetProcessor = new InternalPacketProcessor();
private final InternalOpenstackNetworkListener osNetworkListener =
@@ -519,7 +522,7 @@
Dictionary<?, ?> properties = context.getProperties();
String updatedMac = Tools.get(properties, GATEWAY_MAC);
- gatewayMac = updatedMac != null ? updatedMac : DEFAULT_GATEWAY_MAC_STR;
+ gatewayMac = updatedMac != null ? updatedMac : GATEWAY_MAC_DEFAULT;
log.info("Configured. Gateway MAC is {}", gatewayMac);
}
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java
index ca322ea..71fa4d1 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingDhcpHandler.java
@@ -84,20 +84,25 @@
import static org.onlab.packet.DHCP.DHCPOptionCode.OptionCode_SubnetMask;
import static org.onlab.packet.DHCP.MsgType.DHCPACK;
import static org.onlab.packet.DHCP.MsgType.DHCPOFFER;
-import static org.onosproject.openstacknetworking.api.Constants.DEFAULT_GATEWAY_MAC_STR;
import static org.onosproject.openstacknetworking.api.Constants.DHCP_TABLE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_DHCP_RULE;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.DHCP_SERVER_MAC;
+import static org.onosproject.openstacknetworking.impl.OsgiPropertyConstants.DHCP_SERVER_MAC_DEFAULT;
import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.COMPUTE;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Handles DHCP requests for the virtual instances.
*/
-@Component(immediate = true)
+@Component(
+ immediate = true,
+ property = {
+ DHCP_SERVER_MAC + "=" + DHCP_SERVER_MAC_DEFAULT
+ }
+)
public class OpenstackSwitchingDhcpHandler {
protected final Logger log = getLogger(getClass());
- private static final String DHCP_SERVER_MAC = "dhcpServerMac";
private static final Ip4Address DEFAULT_PRIMARY_DNS = Ip4Address.valueOf("8.8.8.8");
private static final Ip4Address DEFAULT_SECONDARY_DNS = Ip4Address.valueOf("8.8.4.4");
private static final byte PACKET_TTL = (byte) 127;
@@ -140,9 +145,8 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected LeadershipService leadershipService;
- //@Property(name = DHCP_SERVER_MAC, value = DEFAULT_GATEWAY_MAC_STR,
- // label = "Fake MAC address for virtual network subnet gateway")
- private String dhcpServerMac = DEFAULT_GATEWAY_MAC_STR;
+ /** Fake MAC address for virtual network subnet gateway. */
+ private String dhcpServerMac = DHCP_SERVER_MAC_DEFAULT;
private int dhcpDataMtu = DHCP_DATA_MTU_DEFAULT;
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OsgiPropertyConstants.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OsgiPropertyConstants.java
new file mode 100644
index 0000000..154fe79
--- /dev/null
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OsgiPropertyConstants.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2018-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.openstacknetworking.impl;
+
+/**
+ * Name/Value constants for properties.
+ */
+public final class OsgiPropertyConstants {
+ private OsgiPropertyConstants() {
+ }
+
+ static final String GATEWAY_MAC = "gatewayMac";
+ static final String GATEWAY_MAC_DEFAULT = "fe:00:00:00:00:02";
+
+ static final String ARP_MODE = "arpMode";
+ static final String ARP_MODE_DEFAULT = "proxy";
+
+ static final String USE_STATEFUL_SNAT = "useStatefulSnat";
+ static final boolean USE_STATEFUL_SNAT_DEFAULT = false;
+
+ static final String USE_SECURITY_GROUP = "useSecurityGroup";
+ static final boolean USE_SECURITY_GROUP_DEFAULT = false;
+
+ static final String DHCP_SERVER_MAC = "dhcpServerMac";
+ static final String DHCP_SERVER_MAC_DEFAULT = "fe:00:00:00:00:02";
+}