diff --git a/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java b/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java
index 61eb729..1ec9e32 100644
--- a/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java
+++ b/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/OpensyncExternalIntegrationCloud.java
@@ -139,19 +139,24 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
Equipment ce = null;
try {
ce = getCustomerEquipment(apId);
- LOG.debug("Got Equipment {} for apId {}", ce.toPrettyString());
} catch (Exception e) {
- LOG.error("Caught exception getting equipment for Id {} for apId {}", apId, apId, e);
+ LOG.error("Caught exception getting equipment for Id {}", apId, e);
}
try {
+
if (ce == null) {
+
ce = new Equipment();
ce.setCustomerId(autoProvisionedCustomerId);
ce.setInventoryId(apId);
ce.setEquipmentType(EquipmentType.AP);
+ ce.setName(apId);
+
ce.setSerial(connectNodeInfo.serialNumber);
- ce.setDetails(ApElementConfiguration.createWithDefaults());
+ ApElementConfiguration apElementConfig = ApElementConfiguration.createWithDefaults();
+ apElementConfig.setDeviceName(apId);
+ ce.setDetails(apElementConfig);
ce.setLocationId(autoProvisionedLocationId);
ce.setProfileId(autoProvisionedProfileId);
@@ -196,6 +201,9 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
equipmentRoutingRecord.setCustomerId(ce.getCustomerId());
equipmentRoutingRecord.setEquipmentId(ce.getId());
equipmentRoutingRecord = routingServiceInterface.create(equipmentRoutingRecord);
+
+
+ gatewayController.registerCustomerEquipment(ce.getName(), ce.getCustomerId(), ce.getId());
OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(apId);
ovsdbSession.setRoutingId(equipmentRoutingRecord.getId());
diff --git a/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/controller/OpensyncCloudGatewayController.java b/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/controller/OpensyncCloudGatewayController.java
index 0f6eb8b..a45c34e 100644
--- a/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/controller/OpensyncCloudGatewayController.java
+++ b/opensync-ext-cloud/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/controller/OpensyncCloudGatewayController.java
@@ -119,9 +119,17 @@ public class OpensyncCloudGatewayController {
}
switch (command.getCommandType()) {
-
+
case ConfigChangeNotification:
- return sendConfigChangeNotification(session, (CEGWConfigChangeNotification)command);
+ return sendConfigChangeNotification(session, (CEGWConfigChangeNotification) command);
+ case CloseSessionRequest:
+ return closeSession(session, (CEGWCloseSessionRequest) command);
+ case CheckRouting:
+ return checkEquipmentRouting(session, (CEGWRouteCheck) command);
+ case BlinkRequest:
+ return processBlinkRequest(session, (CEGWBlinkRequest) command);
+ case StartDebugEngine:
+ return processChangeRedirector(session, (CEGWStartDebugEngine) command);
default:
LOG.warn("[{}] Failed to deliver command {}, unsupported command type", qrCode, command);
@@ -265,7 +273,7 @@ public class OpensyncCloudGatewayController {
try {
- EquipmentGatewayRecord result = this.eqRoutingSvc.registerGateway(gwRecord);
+ EquipmentGatewayRecord result = this.eqRoutingSvc.registerGateway(gwRecord);
this.registeredGwId = result.getId();
LOG.info("Successfully registered (name={}, id={}) with Routing Service", result.getHostname(),
registeredGwId);
@@ -330,7 +338,7 @@ public class OpensyncCloudGatewayController {
routingRecord.setEquipmentId(equipmentId);
routingRecord.setGatewayId(this.registeredGwId);
try {
- routingRecord = eqRoutingSvc.create(routingRecord);
+ routingRecord = eqRoutingSvc.create(routingRecord);
LOG.debug("Registered customer equipment (name={},id={}) with route id={}", equipmentName, equipmentId,
routingRecord.getId());
diff --git a/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/ConnectusOvsdbClientInterface.java b/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/ConnectusOvsdbClientInterface.java
index ae6077b..791da81 100644
--- a/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/ConnectusOvsdbClientInterface.java
+++ b/opensync-ext-interface/src/main/java/com/telecominfraproject/wlan/opensync/external/integration/ConnectusOvsdbClientInterface.java
@@ -9,4 +9,6 @@ public interface ConnectusOvsdbClientInterface {
String changeRedirectorAddress(String apId, String newRedirectorAddress);
void processConfigChanged(String apId);
+
+ String closeSession(String apId);
}
diff --git a/opensync-gateway-cloud-process/src/main/resources/application.properties b/opensync-gateway-cloud-process/src/main/resources/application.properties
index c6694f0..6f2ccfb 100644
--- a/opensync-gateway-cloud-process/src/main/resources/application.properties
+++ b/opensync-gateway-cloud-process/src/main/resources/application.properties
@@ -74,7 +74,7 @@ app.name=OpenSyncManager
#spring.profiles.include=use_ssl,http_digest_auth,customer-credential-datastore-inmemory
#spring.profiles.include=no_ssl,no_auth
#spring.profiles.include=use_ssl,client_certificate_auth
-spring.profiles.include=use_ssl_with_client_cert_and_basic_auth,client_certificate_and_basic_auth,RestTemplateConfiguration_X509_client_cert_auth,use_single_ds,opensync_static_config
+spring.profiles.include=use_ssl_with_client_cert_and_basic_auth,client_certificate_and_basic_auth,RestTemplateConfiguration_X509_client_cert_auth,use_single_ds,opensync_cloud_config
#used by *-remote client classes when they authenticate their requests
diff --git a/opensync-gateway-static-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) static.launch b/opensync-gateway-static-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) static.launch
index 2b4510c..b97c3bf 100644
--- a/opensync-gateway-static-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) static.launch
+++ b/opensync-gateway-static-process/src/main/resources/launchers/OpenSyncProcess (local, KDC certs) static.launch
@@ -13,5 +13,5 @@
-
+
diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/experiment/OpenSyncConnectusController.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/experiment/OpenSyncConnectusController.java
index a2eae7f..753adb3 100644
--- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/experiment/OpenSyncConnectusController.java
+++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/experiment/OpenSyncConnectusController.java
@@ -18,27 +18,32 @@ import com.telecominfraproject.wlan.opensync.external.integration.ConnectusOvsdb
@RestController
public class OpenSyncConnectusController {
- private static final Logger LOG = LoggerFactory.getLogger(OpenSyncConnectusController.class);
-
- @Autowired
- ConnectusOvsdbClientInterface connectusOvsdbClient;
-
- @RequestMapping(value = "/connectedClients", method = RequestMethod.GET)
- public List getConnectedClients()
- {
- List ret = new ArrayList(connectusOvsdbClient.getConnectedClientIds());
- LOG.info("Returning connected clients {}", ret);
- return ret;
- }
+ private static final Logger LOG = LoggerFactory.getLogger(OpenSyncConnectusController.class);
- @RequestMapping(value = "/changeRedirectorAddress", method = RequestMethod.POST)
- public String changeRedirectorAddress(@RequestParam String apId, @RequestParam String newRedirectorAddress)
- {
- LOG.info("Changing redirector address for AP {} to {}", apId, newRedirectorAddress);
- String ret = connectusOvsdbClient.changeRedirectorAddress(apId, newRedirectorAddress);
- LOG.info("Changed redirector address for AP {} to {}", apId, ret);
- return ret;
- }
+ @Autowired
+ ConnectusOvsdbClientInterface connectusOvsdbClient;
+
+ @RequestMapping(value = "/connectedClients", method = RequestMethod.GET)
+ public List getConnectedClients() {
+ List ret = new ArrayList(connectusOvsdbClient.getConnectedClientIds());
+ LOG.info("Returning connected clients {}", ret);
+ return ret;
+ }
+
+ @RequestMapping(value = "/changeRedirectorAddress", method = RequestMethod.POST)
+ public String changeRedirectorAddress(@RequestParam String apId, @RequestParam String newRedirectorAddress) {
+ LOG.info("Changing redirector address for AP {} to {}", apId, newRedirectorAddress);
+ String ret = connectusOvsdbClient.changeRedirectorAddress(apId, newRedirectorAddress);
+ LOG.info("Changed redirector address for AP {} to {}", apId, ret);
+ return ret;
+ }
+
+ @RequestMapping(value = "/closeSession", method = RequestMethod.POST)
+ public String closeSession(@RequestParam String apId) {
+ LOG.info("Closing session for AP {} ", apId);
+ String ret = connectusOvsdbClient.closeSession(apId);
+ LOG.info("Closed session for AP {} ", apId);
+ return ret;
+ }
-
}
diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java
index 0e15399..a7567ef 100644
--- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java
+++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/ConnectusOvsdbClient.java
@@ -391,4 +391,18 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
key);
}
+
+ @Override
+ public String closeSession(String apId) {
+ OvsdbSession session = ovsdbSessionMapInterface.getSession(apId);
+ try {
+ session.getOvsdbClient().shutdown();
+ } catch (Exception e) {
+ LOG.error("Failed to close session to " + apId + " " + e.getLocalizedMessage());
+ return "Failed to close session to " + apId + " " + e.getLocalizedMessage();
+
+ }
+ LOG.debug("Closed session to " + apId);
+ return "Closed session to " + apId;
+ }
}