mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-01 02:57:49 +00:00
Adding /closeSession for static and cloud GW. Registering Equipment with GW.
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -9,4 +9,6 @@ public interface ConnectusOvsdbClientInterface {
|
||||
String changeRedirectorAddress(String apId, String newRedirectorAddress);
|
||||
|
||||
void processConfigChanged(String apId);
|
||||
|
||||
String closeSession(String apId);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -13,5 +13,5 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.telecominfraproject.wlan.opensync.experiment.OpenSyncProcess"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="opensync-gateway-static-process"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED -Dssl.props=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${connectus_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${connectus_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dconnectus.ovsdb.managerAddr=${local_server_address} -Dconnectus.ovsdb.listenPort=6640 -Dconnectus.ovsdb.redirector.listenPort=6643 -Dconnectus.ovsdb.timeoutSec=30 -Dconnectus.ovsdb.trustStore=${connectus_certs}/truststore.jks -Dconnectus.ovsdb.keyStore=${connectus_certs}/server.pkcs12 -Dconnectus.ovsdb.configFileName=${project_loc:opensync-ext-static}/src/main/resources/config_2_ssids.json -Dconnectus.mqttBroker.address=${local_server_address} -Dconnectus.mqttBroker.listenPort=1883 -Dspring.profiles.include=mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="--add-opens java.base/java.lang=ALL-UNNAMED -Dssl.props=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/ssl.properties -Dtip.wlan.httpClientConfig=file://${project_loc:opensync-gateway-static-process}/src/main/resources/app/certs/httpClientConfig.json -Djavax.net.ssl.keyStore=${connectus_certs}/client_keystore.jks -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=${connectus_certs}/truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword -Dconnectus.ovsdb.managerAddr=${local_server_address} -Dconnectus.ovsdb.listenPort=6640 -Dconnectus.ovsdb.redirector.listenPort=6643 -Dconnectus.ovsdb.timeoutSec=30 -Dconnectus.ovsdb.trustStore=${connectus_certs}/truststore.jks -Dconnectus.ovsdb.keyStore=${connectus_certs}/server.pkcs12 -Dconnectus.ovsdb.configFileName=${project_loc:opensync-ext-static}/src/main/resources/config_2_ssids.json -Dconnectus.mqttBroker.address=${local_server_address} -Dconnectus.mqttBroker.listenPort=1883 -Dspring.profiles.include=use_ssl,use_webtoken_auth,use_single_ds,RestTemplateConfiguration_X509_client_cert_auth,opensync_static_config,mqtt_receiver,ovsdb_redirector,ovsdb_manager"/>
|
||||
</launchConfiguration>
|
||||
|
||||
@@ -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<String> getConnectedClients()
|
||||
{
|
||||
List<String> ret = new ArrayList<String>(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<String> getConnectedClients() {
|
||||
List<String> ret = new ArrayList<String>(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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user