openstack and routing app OSGi property migration
Change-Id: I855020959456f059911284bb7d8ade376cbc20c5
diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
index f3645d7..9f3d220 100644
--- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
+++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
@@ -90,6 +90,10 @@
import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.CONTROLLER;
import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.GATEWAY;
import static org.onosproject.openstacknode.api.OpenstackNodeService.APP_ID;
+import static org.onosproject.openstacknode.impl.OsgiPropertyConstants.AUTO_RECOVERY;
+import static org.onosproject.openstacknode.impl.OsgiPropertyConstants.AUTO_RECOVERY_DEFAULT;
+import static org.onosproject.openstacknode.impl.OsgiPropertyConstants.OVSDB_PORT;
+import static org.onosproject.openstacknode.impl.OsgiPropertyConstants.OVSDB_PORT_NUM_DEFAULT;
import static org.onosproject.openstacknode.util.OpenstackNodeUtil.addOrRemoveDpdkInterface;
import static org.onosproject.openstacknode.util.OpenstackNodeUtil.addOrRemoveSystemInterface;
import static org.onosproject.openstacknode.util.OpenstackNodeUtil.getBooleanProperty;
@@ -101,17 +105,18 @@
/**
* Service bootstraps openstack node based on its type.
*/
-@Component(immediate = true)
+@Component(immediate = true,
+ property = {
+ OVSDB_PORT + ":Integer=" + OVSDB_PORT_NUM_DEFAULT,
+ AUTO_RECOVERY + ":Boolean=" + AUTO_RECOVERY_DEFAULT
+ }
+)
public class DefaultOpenstackNodeHandler implements OpenstackNodeHandler {
private final Logger log = getLogger(getClass());
- private static final String OVSDB_PORT = "ovsdbPortNum";
- private static final String AUTO_RECOVERY = "autoRecovery";
private static final String DEFAULT_OF_PROTO = "tcp";
- private static final int DEFAULT_OVSDB_PORT = 6640;
private static final int DEFAULT_OFPORT = 6653;
- private static final boolean DEFAULT_AUTO_RECOVERY = true;
private static final int DPID_BEGIN = 3;
@Reference(cardinality = ReferenceCardinality.MANDATORY)
@@ -141,14 +146,11 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected ComponentConfigService componentConfigService;
- //@Property(name = OVSDB_PORT, intValue = DEFAULT_OVSDB_PORT,
- // label = "OVSDB server listen port")
- private int ovsdbPort = DEFAULT_OVSDB_PORT;
+ /** OVSDB server listen port. */
+ private int ovsdbPortNum = OVSDB_PORT_NUM_DEFAULT;
- //@Property(name = AUTO_RECOVERY, boolValue = DEFAULT_AUTO_RECOVERY,
- // label = "A flag which indicates whether auto-recover openstack " +
- // "node status at the receiving of switch reconnecting event.")
- private boolean autoRecovery = DEFAULT_AUTO_RECOVERY;
+ /** A flag which indicates whether auto-recover openstack node status on switch reconnecting event. */
+ private boolean autoRecovery = AUTO_RECOVERY_DEFAULT;
private final ExecutorService eventExecutor = newSingleThreadExecutor(
groupedThreads(this.getClass().getSimpleName(), "event-handler", log));
@@ -195,8 +197,8 @@
@Override
public void processInitState(OpenstackNode osNode) {
- if (!isOvsdbConnected(osNode, ovsdbPort, ovsdbController, deviceService)) {
- ovsdbController.connect(osNode.managementIp(), tpPort(ovsdbPort));
+ if (!isOvsdbConnected(osNode, ovsdbPortNum, ovsdbController, deviceService)) {
+ ovsdbController.connect(osNode.managementIp(), tpPort(ovsdbPortNum));
return;
}
if (!deviceService.isAvailable(osNode.intgBridge())) {
@@ -210,8 +212,8 @@
@Override
public void processDeviceCreatedState(OpenstackNode osNode) {
try {
- if (!isOvsdbConnected(osNode, ovsdbPort, ovsdbController, deviceService)) {
- ovsdbController.connect(osNode.managementIp(), tpPort(ovsdbPort));
+ if (!isOvsdbConnected(osNode, ovsdbPortNum, ovsdbController, deviceService)) {
+ ovsdbController.connect(osNode.managementIp(), tpPort(ovsdbPortNum));
return;
}
@@ -229,12 +231,12 @@
osNode.dpdkConfig().dpdkIntfs().stream()
.filter(dpdkInterface -> dpdkInterface.deviceName().equals(TUNNEL_BRIDGE))
.forEach(dpdkInterface -> addOrRemoveDpdkInterface(
- osNode, dpdkInterface, ovsdbPort, ovsdbController, true));
+ osNode, dpdkInterface, ovsdbPortNum, ovsdbController, true));
osNode.dpdkConfig().dpdkIntfs().stream()
.filter(dpdkInterface -> dpdkInterface.deviceName().equals(INTEGRATION_BRIDGE))
.forEach(dpdkInterface -> addOrRemoveDpdkInterface(
- osNode, dpdkInterface, ovsdbPort, ovsdbController, true));
+ osNode, dpdkInterface, ovsdbPortNum, ovsdbController, true));
}
osNode.phyIntfs().forEach(i -> {
@@ -274,7 +276,7 @@
private boolean dpdkTunnelBridgeCreated(OpenstackNode osNode) {
- OvsdbClientService client = getOvsdbClient(osNode, ovsdbPort, ovsdbController);
+ OvsdbClientService client = getOvsdbClient(osNode, ovsdbPortNum, ovsdbController);
if (client == null) {
log.info("Failed to get ovsdb client");
return false;
@@ -388,7 +390,7 @@
private boolean isCurrentStateDone(OpenstackNode osNode) {
switch (osNode.state()) {
case INIT:
- if (!isOvsdbConnected(osNode, ovsdbPort, ovsdbController, deviceService)) {
+ if (!isOvsdbConnected(osNode, ovsdbPortNum, ovsdbController, deviceService)) {
return false;
}
@@ -434,7 +436,7 @@
}
private boolean isDpdkIntfsCreated(OpenstackNode osNode, Collection<DpdkInterface> dpdkInterfaces) {
- OvsdbClientService client = getOvsdbClient(osNode, ovsdbPort, ovsdbController);
+ OvsdbClientService client = getOvsdbClient(osNode, ovsdbPortNum, ovsdbController);
if (client == null) {
log.info("Failed to get ovsdb client");
return false;
@@ -537,7 +539,7 @@
String intfName,
Optional<DpdkInterface> dpdkInterface) {
if (dpdkInterface.isPresent()) {
- addOrRemoveDpdkInterface(osNode, dpdkInterface.get(), ovsdbPort,
+ addOrRemoveDpdkInterface(osNode, dpdkInterface.get(), ovsdbPortNum,
ovsdbController, false);
} else {
addOrRemoveSystemInterface(osNode, INTEGRATION_BRIDGE, intfName, deviceService,
@@ -546,7 +548,7 @@
}
private void processOpenstackNodeRemoved(OpenstackNode osNode) {
- OvsdbClientService client = getOvsdbClient(osNode, ovsdbPort, ovsdbController);
+ OvsdbClientService client = getOvsdbClient(osNode, ovsdbPortNum, ovsdbController);
if (client == null) {
log.info("Failed to get ovsdb client");
return;
@@ -562,7 +564,7 @@
if (osNode.dpdkConfig() != null) {
osNode.dpdkConfig().dpdkIntfs().forEach(dpdkInterface -> {
if (isDpdkIntfsCreated(osNode, Lists.newArrayList(dpdkInterface))) {
- addOrRemoveDpdkInterface(osNode, dpdkInterface, ovsdbPort, ovsdbController, false);
+ addOrRemoveDpdkInterface(osNode, dpdkInterface, ovsdbPortNum, ovsdbController, false);
}
});
}
@@ -611,17 +613,17 @@
Integer ovsdbPortConfigured = Tools.getIntegerProperty(properties, OVSDB_PORT);
if (ovsdbPortConfigured == null) {
- ovsdbPort = DEFAULT_OVSDB_PORT;
- log.info("OVSDB port is NOT configured, default value is {}", ovsdbPort);
+ ovsdbPortNum = OVSDB_PORT_NUM_DEFAULT;
+ log.info("OVSDB port is NOT configured, default value is {}", ovsdbPortNum);
} else {
- ovsdbPort = ovsdbPortConfigured;
- log.info("Configured. OVSDB port is {}", ovsdbPort);
+ ovsdbPortNum = ovsdbPortConfigured;
+ log.info("Configured. OVSDB port is {}", ovsdbPortNum);
}
Boolean autoRecoveryConfigured =
getBooleanProperty(properties, AUTO_RECOVERY);
if (autoRecoveryConfigured == null) {
- autoRecovery = DEFAULT_AUTO_RECOVERY;
+ autoRecovery = AUTO_RECOVERY_DEFAULT;
log.info("Auto recovery flag is NOT " +
"configured, default value is {}", autoRecovery);
} else {
diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java
index 846f44e..d990fae 100644
--- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java
+++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OpenstackNodeManager.java
@@ -61,6 +61,8 @@
import static org.onosproject.openstacknode.api.Constants.INTEGRATION_BRIDGE;
import static org.onosproject.openstacknode.api.NodeState.COMPLETE;
import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.CONTROLLER;
+import static org.onosproject.openstacknode.impl.OsgiPropertyConstants.OVSDB_PORT;
+import static org.onosproject.openstacknode.impl.OsgiPropertyConstants.OVSDB_PORT_NUM_DEFAULT;
import static org.onosproject.openstacknode.util.OpenstackNodeUtil.addOrRemoveSystemInterface;
import static org.onosproject.openstacknode.util.OpenstackNodeUtil.genDpid;
import static org.onosproject.openstacknode.util.OpenstackNodeUtil.isOvsdbConnected;
@@ -69,7 +71,13 @@
/**
* Service administering the inventory of openstack nodes.
*/
-@Component(immediate = true, service = { OpenstackNodeService.class, OpenstackNodeAdminService.class })
+@Component(
+ immediate = true,
+ service = { OpenstackNodeService.class, OpenstackNodeAdminService.class },
+ property = {
+ OVSDB_PORT + ":Integer=" + OVSDB_PORT_NUM_DEFAULT
+ }
+)
public class OpenstackNodeManager extends ListenerRegistry<OpenstackNodeEvent, OpenstackNodeListener>
implements OpenstackNodeService, OpenstackNodeAdminService {
@@ -79,8 +87,6 @@
private static final String MSG_CREATED = "created";
private static final String MSG_UPDATED = "updated";
private static final String MSG_REMOVED = "removed";
- private static final String OVSDB_PORT = "ovsdbPortNum";
- private static final int DEFAULT_OVSDB_PORT = 6640;
private static final String DEVICE_ID_COUNTER_NAME = "device-id-counter";
@@ -111,9 +117,8 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected DeviceService deviceService;
- //@Property(name = OVSDB_PORT, intValue = DEFAULT_OVSDB_PORT,
- // label = "OVSDB server listen port")
- private int ovsdbPort = DEFAULT_OVSDB_PORT;
+ /** OVSDB server listen port. */
+ private int ovsdbPortNum = OVSDB_PORT_NUM_DEFAULT;
private final ExecutorService eventExecutor = newSingleThreadExecutor(
groupedThreads(this.getClass().getSimpleName(), "event-handler", log));
@@ -150,8 +155,8 @@
protected void modified(ComponentContext context) {
Dictionary<?, ?> properties = context.getProperties();
int updatedOvsdbPort = Tools.getIntegerProperty(properties, OVSDB_PORT);
- if (!Objects.equals(updatedOvsdbPort, ovsdbPort)) {
- ovsdbPort = updatedOvsdbPort;
+ if (!Objects.equals(updatedOvsdbPort, ovsdbPortNum)) {
+ ovsdbPortNum = updatedOvsdbPort;
}
log.info("Modified");
@@ -336,11 +341,11 @@
}
private void connectSwitch(OpenstackNode osNode) {
- if (!isOvsdbConnected(osNode, ovsdbPort, ovsdbController, deviceService)) {
+ if (!isOvsdbConnected(osNode, ovsdbPortNum, ovsdbController, deviceService)) {
log.warn("There's no ovsdb connection with the device {}. Try to connect the device...",
osNode.ovsdb().toString());
try {
- ovsdbController.connect(osNode.managementIp(), tpPort(ovsdbPort));
+ ovsdbController.connect(osNode.managementIp(), tpPort(ovsdbPortNum));
} catch (Exception e) {
log.error("Failed to connect to the openstackNode via ovsdb protocol because of exception {}",
e.toString());
diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OsgiPropertyConstants.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OsgiPropertyConstants.java
new file mode 100644
index 0000000..9f22f27
--- /dev/null
+++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/OsgiPropertyConstants.java
@@ -0,0 +1,31 @@
+/*
+ * 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.openstacknode.impl;
+
+/**
+ * Name/Value constants for properties.
+ */
+public final class OsgiPropertyConstants {
+ private OsgiPropertyConstants() {
+ }
+
+ static final String OVSDB_PORT = "ovsdbPortNum";
+ static final int OVSDB_PORT_NUM_DEFAULT = 6640;
+
+ static final String AUTO_RECOVERY = "autoRecovery";
+ static final boolean AUTO_RECOVERY_DEFAULT = true;
+}