mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2025-11-02 19:47:52 +00:00
Network: AP Equipment Profile: SKU and Country Code should not be left empty.
This commit is contained in:
@@ -985,8 +985,11 @@ public class OpensyncExternalIntegrationCloud implements OpensyncExternalIntegra
|
||||
|
||||
Status activeBssidsStatus = statusServiceInterface.getOrNull(customerId, equipmentId,
|
||||
StatusDataType.ACTIVE_BSSIDS);
|
||||
if (activeBssidsStatus != null && activeBssidsStatus.getDetails() != null) {
|
||||
updateClientDetailsStatus(customerId, equipmentId, (ActiveBSSIDs) activeBssidsStatus.getDetails());
|
||||
|
||||
ActiveBSSIDs bssidStatusDetails = (ActiveBSSIDs) activeBssidsStatus.getDetails();
|
||||
|
||||
if (activeBssidsStatus != null && bssidStatusDetails != null && bssidStatusDetails.getActiveBSSIDs() != null) {
|
||||
updateClientDetailsStatus(customerId, equipmentId, bssidStatusDetails);
|
||||
}
|
||||
|
||||
LOG.info("Finished wifiVIFStateDbTableUpdate updated {}", activeBssidsStatus);
|
||||
|
||||
@@ -32,7 +32,6 @@ import com.telecominfraproject.wlan.opensync.external.integration.models.Opensyn
|
||||
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
|
||||
import com.telecominfraproject.wlan.opensync.util.OvsdbStringConstants;
|
||||
import com.telecominfraproject.wlan.opensync.util.SslUtil;
|
||||
import com.telecominfraproject.wlan.profile.network.models.ApNetworkConfiguration;
|
||||
import com.vmware.ovsdb.callback.ConnectionCallback;
|
||||
import com.vmware.ovsdb.callback.MonitorCallback;
|
||||
import com.vmware.ovsdb.exception.OvsdbClientException;
|
||||
@@ -532,7 +531,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
private void monitorAwlanNodeDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||
CompletableFuture<TableUpdates> awCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
||||
OvsdbDao.awlanNodeDbTable + "_" + key,
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))),
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.awlanNodeDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||
new MonitorCallback() {
|
||||
|
||||
@Override
|
||||
@@ -549,8 +548,8 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
|
||||
});
|
||||
|
||||
awCf.join();
|
||||
|
||||
extIntegrationInterface.awlanNodeDbTableUpdate(
|
||||
ovsdbDao.getOpensyncAWLANNode(awCf.join(), key, ovsdbClient), key);
|
||||
}
|
||||
|
||||
private void monitorWifiAssociatedClientsDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||
@@ -559,44 +558,47 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiAssociatedClientsDbTable, new MonitorRequest())),
|
||||
new MonitorCallback() {
|
||||
|
||||
@Override
|
||||
public void update(TableUpdates tableUpdates) {
|
||||
@Override
|
||||
public void update(TableUpdates tableUpdates) {
|
||||
|
||||
try {
|
||||
LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}",
|
||||
tableUpdates);
|
||||
try {
|
||||
LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + key + " monitor callback received {}",
|
||||
tableUpdates);
|
||||
|
||||
List<OpensyncWifiAssociatedClients> associatedClients = new ArrayList<>();
|
||||
List<OpensyncWifiAssociatedClients> associatedClients = new ArrayList<>();
|
||||
|
||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||
|
||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||
if ((rowUpdate.getOld() != null) && (rowUpdate.getNew() == null)) {
|
||||
Row row = rowUpdate.getOld();
|
||||
String deletedClientMac = row.getStringColumn("mac");
|
||||
// take care of the deletes as we go through
|
||||
// the updates, as we want to delete before
|
||||
// adding anyway.
|
||||
extIntegrationInterface.wifiAssociatedClientsDbTableDelete(deletedClientMac, key);
|
||||
} else {
|
||||
associatedClients.addAll(
|
||||
ovsdbDao.getOpensyncWifiAssociatedClients(rowUpdate, key, ovsdbClient));
|
||||
}
|
||||
}
|
||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||
|
||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||
if ((rowUpdate.getOld() != null) && (rowUpdate.getNew() == null)) {
|
||||
Row row = rowUpdate.getOld();
|
||||
String deletedClientMac = row.getStringColumn("mac");
|
||||
// take care of the deletes as we go through
|
||||
// the updates, as we want to delete before
|
||||
// adding anyway.
|
||||
extIntegrationInterface.wifiAssociatedClientsDbTableDelete(deletedClientMac, key);
|
||||
} else {
|
||||
associatedClients.addAll(
|
||||
ovsdbDao.getOpensyncWifiAssociatedClients(rowUpdate, key, ovsdbClient));
|
||||
}
|
||||
|
||||
// now address the update/add
|
||||
extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key);
|
||||
} catch (Exception e) {
|
||||
LOG.error("wifiAssociatedClientsDbTableUpdate failed", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
// now address the update/add
|
||||
extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(associatedClients, key);
|
||||
} catch (Exception e) {
|
||||
LOG.error("wifiAssociatedClientsDbTableUpdate failed", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
extIntegrationInterface.wifiAssociatedClientsDbTableUpdate(ovsdbDao.getInitialOpensyncWifiAssociatedClients(acCf.join(), key, ovsdbClient), key);
|
||||
|
||||
acCf.join();
|
||||
|
||||
}
|
||||
|
||||
@@ -644,7 +646,8 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
}
|
||||
|
||||
});
|
||||
isCf.join();
|
||||
|
||||
extIntegrationInterface.wifiInetStateDbTableUpdate(ovsdbDao.getInitialOpensyncApInetStateForRowUpdate(isCf.join(), key, ovsdbClient), key);
|
||||
|
||||
}
|
||||
|
||||
@@ -652,7 +655,7 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
|
||||
CompletableFuture<TableUpdates> rsCf = ovsdbClient.monitor(OvsdbDao.ovsdbName,
|
||||
OvsdbDao.wifiRadioStateDbTable + "_" + key,
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest(new MonitorSelect(true, false, false, true)))),
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiRadioStateDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||
new MonitorCallback() {
|
||||
|
||||
@Override
|
||||
@@ -669,8 +672,8 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
}
|
||||
|
||||
});
|
||||
rsCf.join();
|
||||
|
||||
extIntegrationInterface.wifiRadioStatusDbTableUpdate(
|
||||
ovsdbDao.getOpensyncAPRadioState(rsCf.join(), key, ovsdbClient), key);
|
||||
}
|
||||
|
||||
private void monitorWifiVifStateDbTable(OvsdbClient ovsdbClient, String key) throws OvsdbClientException {
|
||||
@@ -680,51 +683,50 @@ public class TipWlanOvsdbClient implements OvsdbClientInterface {
|
||||
new MonitorRequests(ImmutableMap.of(OvsdbDao.wifiVifStateDbTable, new MonitorRequest(new MonitorSelect(true, true, true, true)))),
|
||||
new MonitorCallback() {
|
||||
|
||||
@Override
|
||||
public void update(TableUpdates tableUpdates) {
|
||||
try {
|
||||
LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}",
|
||||
tableUpdates);
|
||||
@Override
|
||||
public void update(TableUpdates tableUpdates) {
|
||||
try {
|
||||
LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + key + " monitor callback received {}",
|
||||
tableUpdates);
|
||||
|
||||
List<OpensyncAPVIFState> vifsToDelete = new ArrayList<>();
|
||||
List<OpensyncAPVIFState> vifsToInsertOrUpdate = new ArrayList<>();
|
||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||
List<OpensyncAPVIFState> vifsToDelete = new ArrayList<>();
|
||||
List<OpensyncAPVIFState> vifsToInsertOrUpdate = new ArrayList<>();
|
||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||
|
||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||
|
||||
if (rowUpdate.getNew() == null) {
|
||||
// this is a deletion
|
||||
vifsToDelete.addAll(
|
||||
ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||
if (rowUpdate.getNew() == null) {
|
||||
// this is a deletion
|
||||
vifsToDelete.addAll(
|
||||
ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||
|
||||
} else {
|
||||
// either an insert or
|
||||
// mutuate/update
|
||||
vifsToInsertOrUpdate.addAll(
|
||||
ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// delete first, if required
|
||||
if (!vifsToDelete.isEmpty()) {
|
||||
extIntegrationInterface.wifiVIFStateDbTableDelete(vifsToDelete, key);
|
||||
}
|
||||
if (!vifsToInsertOrUpdate.isEmpty()) {
|
||||
extIntegrationInterface.wifiVIFStateDbTableUpdate(vifsToInsertOrUpdate, key);
|
||||
}
|
||||
} else {
|
||||
// either an insert or
|
||||
// mutuate/update
|
||||
vifsToInsertOrUpdate.addAll(
|
||||
ovsdbDao.getOpensyncApVifStateForRowUpdate(rowUpdate, key, ovsdbClient));
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOG.error("wifiVIFStateDbTableUpdate failed", e);
|
||||
|
||||
}
|
||||
|
||||
// delete first, if required
|
||||
if (!vifsToDelete.isEmpty()) {
|
||||
extIntegrationInterface.wifiVIFStateDbTableDelete(vifsToDelete, key);
|
||||
}
|
||||
if (!vifsToInsertOrUpdate.isEmpty()) {
|
||||
extIntegrationInterface.wifiVIFStateDbTableUpdate(vifsToInsertOrUpdate, key);
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOG.error("wifiVIFStateDbTableUpdate failed", e);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
vsCf.join();
|
||||
});
|
||||
extIntegrationInterface.wifiVIFStateDbTableUpdate(ovsdbDao.getInitialOpensyncApVifStateForTableUpdates(vsCf.join(), key, ovsdbClient),key);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -688,17 +688,16 @@ public class OvsdbDao {
|
||||
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
|
||||
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
|
||||
|
||||
LOG.debug("Updated {}:", wifiStatsConfigDbTable);
|
||||
LOG.debug("Updated {}:", wifiStatsConfigDbTable);
|
||||
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("Op Result {}", res);
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("updateDeviceStatsReportingInterval insert new row result {}", ((InsertResult)res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiStatsConfigDbTable);
|
||||
}
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("Op Result {}", res);
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("updateDeviceStatsReportingInterval insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiStatsConfigDbTable);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -730,8 +729,8 @@ public class OvsdbDao {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
|
||||
for (OperationResult res : result) {
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("enableNetworkProbeForSyntheticClient insert new row result {}", ((InsertResult)res));
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("enableNetworkProbeForSyntheticClient insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiStatsConfigDbTable);
|
||||
} else if (res instanceof ErrorResult) {
|
||||
@@ -1262,73 +1261,73 @@ public class OvsdbDao {
|
||||
.equals(com.vmware.ovsdb.protocol.operation.notation.Atom.class)) {
|
||||
wifiVifConfigInfo.macListType = row.getStringColumn("mac_list_type");
|
||||
}
|
||||
|
||||
|
||||
wifiVifConfigInfo.customOptions = row.getMapColumn("custom_options");
|
||||
wifiVifConfigInfo.captiveAllowlist = row.getSetColumn("captive_allowlist");
|
||||
wifiVifConfigInfo.captivePortal = row.getMapColumn("captive_portal");
|
||||
|
||||
|
||||
Boolean wpsPbc = getSingleValueFromSet(row, "wps_pbc");
|
||||
if (wpsPbc != null) {
|
||||
wifiVifConfigInfo.wpsPbc = wpsPbc;
|
||||
} else {
|
||||
wifiVifConfigInfo.wpsPbc = false;
|
||||
}
|
||||
|
||||
|
||||
Boolean wps = getSingleValueFromSet(row, "wps");
|
||||
if (wps != null) {
|
||||
wifiVifConfigInfo.wps = wps;
|
||||
} else {
|
||||
wifiVifConfigInfo.wps = false;
|
||||
}
|
||||
|
||||
|
||||
Boolean wds = getSingleValueFromSet(row, "wds");
|
||||
if (wds != null) {
|
||||
wifiVifConfigInfo.wds = wds;
|
||||
} else {
|
||||
wifiVifConfigInfo.wds = false;
|
||||
}
|
||||
|
||||
|
||||
wifiVifConfigInfo.wpsPbcKeyId = row.getStringColumn("wps_pbc_key_id");
|
||||
|
||||
|
||||
Boolean mcast2ucast = getSingleValueFromSet(row, "mcast2ucast");
|
||||
if (mcast2ucast != null) {
|
||||
wifiVifConfigInfo.mcast2ucast = mcast2ucast;
|
||||
} else {
|
||||
wifiVifConfigInfo.mcast2ucast = false;
|
||||
}
|
||||
|
||||
|
||||
Boolean dynamicBeacon = getSingleValueFromSet(row, "dynamic_beacon");
|
||||
if (dynamicBeacon != null) {
|
||||
wifiVifConfigInfo.dynamicBeacon = dynamicBeacon;
|
||||
} else {
|
||||
wifiVifConfigInfo.dynamicBeacon = false;
|
||||
}
|
||||
|
||||
|
||||
Long vifDbgLvl = getSingleValueFromSet(row, "vif_dbg_lvl");
|
||||
if (vifDbgLvl != null) {
|
||||
wifiVifConfigInfo.vifDbgLvl = vifDbgLvl.intValue();
|
||||
} else {
|
||||
wifiVifConfigInfo.vifDbgLvl = 0;
|
||||
}
|
||||
|
||||
|
||||
if (row.getColumns().containsKey("mesh_options")) {
|
||||
wifiVifConfigInfo.meshOptions = row.getMapColumn("mesh_options");
|
||||
}
|
||||
|
||||
|
||||
wifiVifConfigInfo.credentialConfigs = row.getSetColumn("credential_configs");
|
||||
|
||||
|
||||
String parent = getSingleValueFromSet(row, "parent");
|
||||
if (parent != null) {
|
||||
wifiVifConfigInfo.parent = parent;
|
||||
}
|
||||
|
||||
|
||||
String multiAp = getSingleValueFromSet(row, "multi_ap");
|
||||
if (multiAp != null) {
|
||||
wifiVifConfigInfo.multiAp = multiAp;
|
||||
}
|
||||
|
||||
|
||||
ret.put(wifiVifConfigInfo.ifName + '_' + wifiVifConfigInfo.ssid, wifiVifConfigInfo);
|
||||
|
||||
|
||||
}
|
||||
|
||||
LOG.debug("Retrieved WifiVifConfigs: {}", ret);
|
||||
@@ -1787,26 +1786,26 @@ public class OvsdbDao {
|
||||
for (OperationResult res : result) {
|
||||
LOG.info("Op Result {}", res);
|
||||
}
|
||||
|
||||
provisionedWifiInetConfigs = getProvisionedWifiInetConfigs(ovsdbClient)
|
||||
.values();
|
||||
|
||||
provisionedWifiInetConfigs = getProvisionedWifiInetConfigs(ovsdbClient).values();
|
||||
|
||||
for (WifiInetConfigInfo inetConfigInfo : provisionedWifiInetConfigs) {
|
||||
if (inetConfigInfo.ifType.equals("vif") || inetConfigInfo.ifType.equals("gre")) {
|
||||
throw new RuntimeException("Failed to remove all vif and gre interface configurations from Wifi_Inet_Config dbTable, still has " + provisionedWifiInetConfigs.stream().filter(new Predicate<WifiInetConfigInfo>() {
|
||||
throw new RuntimeException(
|
||||
"Failed to remove all vif and gre interface configurations from Wifi_Inet_Config dbTable, still has "
|
||||
+ provisionedWifiInetConfigs.stream().filter(new Predicate<WifiInetConfigInfo>() {
|
||||
|
||||
@Override
|
||||
public boolean test(WifiInetConfigInfo t) {
|
||||
if ((t.ifType.equals("vif")) || (t.ifType.equals("gre"))) return true;
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean test(WifiInetConfigInfo t) {
|
||||
if ((t.ifType.equals("vif")) || (t.ifType.equals("gre")))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
}).collect(Collectors.toList()) );
|
||||
}).collect(Collectors.toList()));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||
LOG.error("Error in removeAllInetConfigs", e);
|
||||
@@ -1826,22 +1825,25 @@ public class OvsdbDao {
|
||||
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
|
||||
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
|
||||
|
||||
|
||||
for (OperationResult res : result) {
|
||||
LOG.info("Op Result {}", res);
|
||||
if (res instanceof UpdateResult) {
|
||||
LOG.info("removeAllSsids:result {}", ((UpdateResult)res).toString());
|
||||
LOG.info("removeAllSsids:result {}", ((UpdateResult) res).toString());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("removeAllSsids:result error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("removeAllSsids " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
LOG.error("removeAllSsids:result error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("removeAllSsids " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, WifiVifConfigInfo> provisionedVifConfigs = getProvisionedWifiVifConfigs(ovsdbClient);
|
||||
// this should be empty
|
||||
if (!provisionedVifConfigs.isEmpty()) {
|
||||
throw new RuntimeException("Failed to remove all vif configurations from Wifi_VIF_Config dbTable, still has " + provisionedVifConfigs.values() );
|
||||
};
|
||||
throw new RuntimeException(
|
||||
"Failed to remove all vif configurations from Wifi_VIF_Config dbTable, still has "
|
||||
+ provisionedVifConfigs.values());
|
||||
}
|
||||
;
|
||||
|
||||
LOG.info("Removed all ssids");
|
||||
|
||||
@@ -2035,10 +2037,11 @@ public class OvsdbDao {
|
||||
|
||||
for (OperationResult res : result) {
|
||||
if (res instanceof UpdateResult) {
|
||||
LOG.info("configureLanInterfacesForDhcpSniffing {}", ((UpdateResult)res).toString());
|
||||
LOG.info("configureLanInterfacesForDhcpSniffing {}", ((UpdateResult) res).toString());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureLanInterfacesForDhcpSniffing error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("configureLanInterfacesForDhcpSniffing " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
LOG.error("configureLanInterfacesForDhcpSniffing error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("configureLanInterfacesForDhcpSniffing " + ((ErrorResult) res).getError()
|
||||
+ " " + ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
} catch (OvsdbClientException | InterruptedException | ExecutionException | TimeoutException e) {
|
||||
@@ -2067,11 +2070,13 @@ public class OvsdbDao {
|
||||
|
||||
for (OperationResult res : result) {
|
||||
if (res instanceof UpdateResult) {
|
||||
LOG.info("configureWanInterfacesForDhcpSniffing {}", ((UpdateResult)res).toString());
|
||||
LOG.info("configureWanInterfacesForDhcpSniffing {}", ((UpdateResult) res).toString());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureWanInterfacesForDhcpSniffing error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("configureWanInterfacesForDhcpSniffing " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
} }
|
||||
LOG.error("configureWanInterfacesForDhcpSniffing error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("configureWanInterfacesForDhcpSniffing " + ((ErrorResult) res).getError()
|
||||
+ " " + ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
} catch (OvsdbClientException | InterruptedException | ExecutionException | TimeoutException e) {
|
||||
LOG.error("OvsdbDao::configureWanInterfaces failed.", e);
|
||||
throw new RuntimeException(e);
|
||||
@@ -2199,6 +2204,31 @@ public class OvsdbDao {
|
||||
return ret;
|
||||
}
|
||||
|
||||
public List<OpensyncAPInetState> getInitialOpensyncApInetStateForRowUpdate(TableUpdates tableUpdates, String apId,
|
||||
OvsdbClient ovsdbClient) {
|
||||
|
||||
LOG.info("getInitialOpensyncApInetStateForRowUpdate:");
|
||||
List<OpensyncAPInetState> ret = new ArrayList<>();
|
||||
try {
|
||||
LOG.info(OvsdbDao.wifiInetStateDbTable + "_" + apId + " initial monitor table state received {}",
|
||||
tableUpdates);
|
||||
|
||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||
|
||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||
|
||||
if (rowUpdate.getNew() != null)
|
||||
ret.addAll(getOpensyncApInetStateForRowUpdate(rowUpdate, apId, ovsdbClient));
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw (e);
|
||||
}
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
public List<OpensyncAPInetState> getOpensyncApInetStateForRowUpdate(RowUpdate rowUpdate, String apId,
|
||||
OvsdbClient ovsdbClient) {
|
||||
List<OpensyncAPInetState> ret = new ArrayList<>();
|
||||
@@ -2299,14 +2329,43 @@ public class OvsdbDao {
|
||||
return ret;
|
||||
}
|
||||
|
||||
public List<OpensyncAPVIFState> getInitialOpensyncApVifStateForTableUpdates(TableUpdates tableUpdates, String apId,
|
||||
OvsdbClient ovsdbClient) {
|
||||
|
||||
LOG.info("getInitialOpensyncApVifStateForTableUpdates:");
|
||||
List<OpensyncAPVIFState> ret = new ArrayList<>();
|
||||
try {
|
||||
LOG.info(OvsdbDao.wifiVifStateDbTable + "_" + apId + " initial monitor table state received {}",
|
||||
tableUpdates);
|
||||
|
||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||
|
||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||
|
||||
if (rowUpdate.getNew() != null) {
|
||||
OpensyncAPVIFState tableState = processWifiVIFStateColumn(ovsdbClient, rowUpdate.getNew());
|
||||
|
||||
ret.add(tableState);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw (e);
|
||||
}
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
public List<OpensyncAPVIFState> getOpensyncApVifStateForRowUpdate(RowUpdate rowUpdate, String apId,
|
||||
OvsdbClient ovsdbClient) {
|
||||
List<OpensyncAPVIFState> ret = new ArrayList<>();
|
||||
try {
|
||||
|
||||
Row row = rowUpdate.getNew(); // add/modify
|
||||
Row row = rowUpdate.getNew(); // add/modify/init
|
||||
if (row == null) {
|
||||
row = rowUpdate.getOld(); // delete
|
||||
row = rowUpdate.getOld(); // delete/modify
|
||||
}
|
||||
|
||||
OpensyncAPVIFState tableState = processWifiVIFStateColumn(ovsdbClient, row);
|
||||
@@ -2320,6 +2379,35 @@ public class OvsdbDao {
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
public List<OpensyncWifiAssociatedClients> getInitialOpensyncWifiAssociatedClients(TableUpdates tableUpdates, String apId,
|
||||
OvsdbClient ovsdbClient) {
|
||||
|
||||
LOG.info("getInitialOpensyncWifiAssociatedClients:");
|
||||
List<OpensyncWifiAssociatedClients> ret = new ArrayList<>();
|
||||
try {
|
||||
LOG.info(OvsdbDao.wifiAssociatedClientsDbTable + "_" + apId + " initial monitor table state received {}",
|
||||
tableUpdates);
|
||||
|
||||
for (TableUpdate tableUpdate : tableUpdates.getTableUpdates().values()) {
|
||||
|
||||
for (RowUpdate rowUpdate : tableUpdate.getRowUpdates().values()) {
|
||||
|
||||
if (rowUpdate.getNew() != null)
|
||||
ret.addAll(getOpensyncWifiAssociatedClients(rowUpdate, apId, ovsdbClient));
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw (e);
|
||||
}
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public List<OpensyncWifiAssociatedClients> getOpensyncWifiAssociatedClients(RowUpdate rowUpdate, String apId,
|
||||
OvsdbClient ovsdbClient) {
|
||||
@@ -2589,7 +2677,8 @@ public class OvsdbDao {
|
||||
String ipAssignScheme, List<MacAddress> macBlockList, boolean rateLimitEnable, int ssidDlLimit,
|
||||
int ssidUlLimit, int clientDlLimit, int clientUlLimit, int rtsCtsThreshold, int fragThresholdBytes,
|
||||
int dtimPeriod, Map<String, String> captiveMap, List<String> walledGardenAllowlist,
|
||||
Map<Short, Set<String>> bonjourServiceMap, String radiusNasId, String radiusNasIp, String radiusOperatorName) {
|
||||
Map<Short, Set<String>> bonjourServiceMap, String radiusNasId, String radiusNasIp,
|
||||
String radiusOperatorName) {
|
||||
|
||||
List<Operation> operations = new ArrayList<>();
|
||||
Map<String, Value> updateColumns = new HashMap<>();
|
||||
@@ -2716,9 +2805,10 @@ public class OvsdbDao {
|
||||
insertResult = (InsertResult) res;
|
||||
LOG.info("configureSingleSsid:InsertResult {}", insertResult);
|
||||
vifConfigUuid = ((InsertResult) res).getUuid();
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureSingleSsid: error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("configureSingleSsid " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureSingleSsid: error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("configureSingleSsid " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
if (vifConfigUuid == null) {
|
||||
@@ -2738,7 +2828,7 @@ public class OvsdbDao {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void confirmRowExistsInTable(OvsdbClient ovsdbClient, Uuid rowUuid, String table) {
|
||||
try {
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
@@ -2754,8 +2844,9 @@ public class OvsdbDao {
|
||||
LOG.info("Select Result for confirmRowExistsInTable {} with Uuid {} {}", table, rowUuid,
|
||||
((SelectResult) res).getRows());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("confirmRowExistsInTable error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("confirmRowExistsInTable " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
LOG.error("confirmRowExistsInTable error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("confirmRowExistsInTable " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
} catch (OvsdbClientException | InterruptedException | ExecutionException | TimeoutException e) {
|
||||
@@ -2844,8 +2935,9 @@ public class OvsdbDao {
|
||||
if (res instanceof UpdateResult) {
|
||||
LOG.debug("updateVifConfigsSetForRadio:result {}", (UpdateResult) res);
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("updateVifConfigsSetForRadio error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("updateVifConfigsSetForRadio " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
LOG.error("updateVifConfigsSetForRadio error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("updateVifConfigsSetForRadio " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2864,8 +2956,9 @@ public class OvsdbDao {
|
||||
+ "vif_configs table was not updated {} for new Wifi_VIF_Config " + vifConfigUuid);
|
||||
}
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("updateVifConfigsSetForRadio error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("updateVifConfigsSetForRadio " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
LOG.error("updateVifConfigsSetForRadio error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("updateVifConfigsSetForRadio " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
LOG.info("Updated WifiRadioConfig {} for SSID {}:", radioFreqBand, ssid);
|
||||
@@ -3049,13 +3142,14 @@ public class OvsdbDao {
|
||||
String radiusNasId = null;
|
||||
String radiusNasIp = null;
|
||||
String radiusOperName = null;
|
||||
|
||||
|
||||
opensyncSecurityMode = getOpensyncSecurityMode(ssidSecurityMode, opensyncSecurityMode);
|
||||
populateSecurityMap(opensyncApConfig, ssidConfig, security, ssidSecurityMode, opensyncSecurityMode);
|
||||
|
||||
|
||||
if (opensyncSecurityMode.endsWith("EAP")) {
|
||||
radiusNasId = ssidConfig.getRadiusNasId();
|
||||
radiusNasIp = ssidConfig.getRadiusNasIp() != null ? ssidConfig.getRadiusNasIp().getHostAddress() : null;
|
||||
radiusNasIp = ssidConfig.getRadiusNasIp() != null ? ssidConfig.getRadiusNasIp().getHostAddress()
|
||||
: null;
|
||||
radiusOperName = ssidConfig.getRadiusOperName();
|
||||
}
|
||||
|
||||
@@ -3152,7 +3246,8 @@ public class OvsdbDao {
|
||||
if (ssidConfig.getRadiusAccountingServiceName() != null) {
|
||||
getRadiusAccountingConfiguration(opensyncApConfig, ssidConfig, security);
|
||||
}
|
||||
} else if (ssidSecurityMode.equals("wpa2EAP") || ssidSecurityMode.equals("wpa2Radius") || ssidSecurityMode.equals("wpa3MixedEAP")) {
|
||||
} else if (ssidSecurityMode.equals("wpa2EAP") || ssidSecurityMode.equals("wpa2Radius")
|
||||
|| ssidSecurityMode.equals("wpa3MixedEAP")) {
|
||||
security.put("mode", "mixed");
|
||||
getRadiusConfiguration(opensyncApConfig, ssidConfig, security);
|
||||
if (ssidConfig.getRadiusAccountingServiceName() != null) {
|
||||
@@ -3185,7 +3280,7 @@ public class OvsdbDao {
|
||||
opensyncSecurityMode = "WPA-EAP";
|
||||
} else if (ssidSecurityMode.equals("wpa3OnlySAE") || ssidSecurityMode.equals("wpa3MixedSAE")) {
|
||||
opensyncSecurityMode = "WPA-SAE";
|
||||
}else if (ssidSecurityMode.equals("wpa3OnlyEAP") || ssidSecurityMode.equals("wpa3MixedEAP")) {
|
||||
} else if (ssidSecurityMode.equals("wpa3OnlyEAP") || ssidSecurityMode.equals("wpa3MixedEAP")) {
|
||||
opensyncSecurityMode = "WPA3-EAP";
|
||||
}
|
||||
return opensyncSecurityMode;
|
||||
@@ -3210,9 +3305,6 @@ public class OvsdbDao {
|
||||
|
||||
private void configureGreTunnel(OvsdbClient ovsdbClient, Profile apNetworkConfiguration) {
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
LOG.debug("Configure Gre Tunnel {}", apNetworkConfiguration);
|
||||
List<Operation> operations = new ArrayList<>();
|
||||
@@ -3223,7 +3315,7 @@ public class OvsdbDao {
|
||||
if (greTunnelConfiguration.getGreParentIfName() == null) {
|
||||
LOG.info("Cannot configure GRE profile without gre_ifname");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (greTunnelConfiguration.getGreRemoteInetAddr() == null) {
|
||||
LOG.info("Cannot configure GRE profile without gre_remote_inet_addr");
|
||||
@@ -3234,20 +3326,23 @@ public class OvsdbDao {
|
||||
LOG.info("Cannot configure GRE profile without if_name");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
Map<String, Value> tableColumns = new HashMap<>();
|
||||
tableColumns.put("gre_ifname", new Atom<>(greTunnelConfiguration.getGreParentIfName()));
|
||||
tableColumns.put("gre_remote_inet_addr", new Atom<>(greTunnelConfiguration.getGreRemoteInetAddr().getHostAddress()));
|
||||
tableColumns.put("gre_ifname", new Atom<>(greTunnelConfiguration.getGreParentIfName()));
|
||||
tableColumns.put("gre_remote_inet_addr",
|
||||
new Atom<>(greTunnelConfiguration.getGreRemoteInetAddr().getHostAddress()));
|
||||
tableColumns.put("if_name", new Atom<>(greTunnelConfiguration.getGreTunnelName()));
|
||||
|
||||
|
||||
// optional
|
||||
if (greTunnelConfiguration.getGreLocalInetAddr() != null) {
|
||||
tableColumns.put("gre_local_inet_addr", new Atom<>(greTunnelConfiguration.getGreLocalInetAddr().getHostAddress()));
|
||||
tableColumns.put("gre_local_inet_addr",
|
||||
new Atom<>(greTunnelConfiguration.getGreLocalInetAddr().getHostAddress()));
|
||||
}
|
||||
|
||||
// optional
|
||||
if (greTunnelConfiguration.getGreRemoteMacAddr() != null) {
|
||||
tableColumns.put("gre_remote_mac_addr", new Atom<>(greTunnelConfiguration.getGreRemoteMacAddr().getAddressAsString()));
|
||||
tableColumns.put("gre_remote_mac_addr",
|
||||
new Atom<>(greTunnelConfiguration.getGreRemoteMacAddr().getAddressAsString()));
|
||||
}
|
||||
|
||||
tableColumns.put("if_type", new Atom<>("gre"));
|
||||
@@ -3273,10 +3368,10 @@ public class OvsdbDao {
|
||||
LOG.info("configureGreTunnel {}", ((UpdateResult) res).toString());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureGreTunnel error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("configureGreTunnel " + ((ErrorResult) res).getError()
|
||||
+ " " + ((ErrorResult) res).getDetails());
|
||||
throw new RuntimeException("configureGreTunnel " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (OvsdbClientException | InterruptedException | ExecutionException | TimeoutException e) {
|
||||
LOG.error("Couldn't configure Gre Tunnel {}", apNetworkConfiguration, e);
|
||||
throw new RuntimeException(e);
|
||||
@@ -3293,22 +3388,23 @@ public class OvsdbDao {
|
||||
}
|
||||
for (Integer vlanId : vlans) {
|
||||
|
||||
Optional<GreTunnelConfiguration> tunnelConfiguration = ((ApNetworkConfiguration) opensyncApConfig
|
||||
.getApProfile().getDetails()).getGreTunnelConfigurations().stream()
|
||||
.filter(new Predicate<GreTunnelConfiguration>() {
|
||||
|
||||
Optional<GreTunnelConfiguration> tunnelConfiguration = ((ApNetworkConfiguration)opensyncApConfig.getApProfile().getDetails()).getGreTunnelConfigurations().stream().filter(new Predicate<GreTunnelConfiguration>() {
|
||||
@Override
|
||||
public boolean test(GreTunnelConfiguration t) {
|
||||
|
||||
@Override
|
||||
public boolean test(GreTunnelConfiguration t) {
|
||||
return t.getVlanIdsInGreTunnel().contains(vlanId);
|
||||
}
|
||||
|
||||
return t.getVlanIdsInGreTunnel().contains(vlanId);
|
||||
}
|
||||
|
||||
}).findFirst();
|
||||
}).findFirst();
|
||||
|
||||
if (tunnelConfiguration.isPresent()) {
|
||||
createVlanInterfaceInGreTunnel(ovsdbClient,vlanId, tunnelConfiguration.get().getGreTunnelName());
|
||||
createVlanInterfaceInGreTunnel(ovsdbClient, vlanId, tunnelConfiguration.get().getGreTunnelName());
|
||||
} else {
|
||||
createVlanNetworkInterfaces(ovsdbClient, vlanId);
|
||||
}
|
||||
createVlanNetworkInterfaces(ovsdbClient, vlanId);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3321,11 +3417,9 @@ public class OvsdbDao {
|
||||
|
||||
Map<String, WifiInetConfigInfo> inetConfigMap = getProvisionedWifiInetConfigs(ovsdbClient);
|
||||
|
||||
|
||||
WifiInetConfigInfo parentTunnel = inetConfigMap.get(greTunnel);
|
||||
WifiInetConfigInfo parentTunnel = inetConfigMap.get(greTunnel);
|
||||
if (parentTunnel == null)
|
||||
throw new RuntimeException(
|
||||
"Cannot get tunnel interface " + parentTunnel + " for vlan " + vlanId);
|
||||
throw new RuntimeException("Cannot get tunnel interface " + parentTunnel + " for vlan " + vlanId);
|
||||
|
||||
tableColumns = new HashMap<>();
|
||||
|
||||
@@ -3363,8 +3457,8 @@ public class OvsdbDao {
|
||||
LOG.info("createVlanNetworkInterfaces {}", ((UpdateResult) res).toString());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("createVlanNetworkInterfaces error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("createVlanNetworkInterfaces " + ((ErrorResult) res).getError()
|
||||
+ " " + ((ErrorResult) res).getDetails());
|
||||
throw new RuntimeException("createVlanNetworkInterfaces " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3379,7 +3473,7 @@ public class OvsdbDao {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void createVlanNetworkInterfaces(OvsdbClient ovsdbClient, int vlanId) {
|
||||
try {
|
||||
|
||||
@@ -3464,8 +3558,8 @@ public class OvsdbDao {
|
||||
LOG.info("createVlanNetworkInterfaces {}", ((UpdateResult) res).toString());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("createVlanNetworkInterfaces error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("createVlanNetworkInterfaces " + ((ErrorResult) res).getError()
|
||||
+ " " + ((ErrorResult) res).getDetails());
|
||||
throw new RuntimeException("createVlanNetworkInterfaces " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3721,18 +3815,19 @@ public class OvsdbDao {
|
||||
LOG.debug("Updated Inet {}", ifName);
|
||||
|
||||
for (OperationResult res : result) {
|
||||
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("configureInetInterface insert new row result {}", ((InsertResult)res));
|
||||
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("configureInetInterface insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiInetConfigDbTable);
|
||||
} else if (res instanceof UpdateResult) {
|
||||
LOG.info("configureInetInterface update new row result {}", ((UpdateResult)res));
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureInetInterface error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("configureInetInterface " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
LOG.info("configureInetInterface update new row result {}", ((UpdateResult) res));
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureInetInterface error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException("configureInetInterface " + ((ErrorResult) res).getError() + " "
|
||||
+ ((ErrorResult) res).getDetails());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||
@@ -3776,8 +3871,8 @@ public class OvsdbDao {
|
||||
return t.getId() == hs2Profile.getPasspointVenueProfileId();
|
||||
}
|
||||
|
||||
}).findFirst().get();
|
||||
|
||||
}).findFirst().get();
|
||||
|
||||
PasspointVenueProfile passpointVenueProfile = (PasspointVenueProfile) venue.getDetails();
|
||||
|
||||
Map<String, Value> rowColumns = new HashMap<>();
|
||||
@@ -3791,8 +3886,7 @@ public class OvsdbDao {
|
||||
.of(domainNames);
|
||||
rowColumns.put("domain_name", domainNameSet);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Map<String, Hotspot20OsuProviders> osuProviders = getProvisionedHotspot20OsuProviders(
|
||||
ovsdbClient);
|
||||
List<Profile> providerList = new ArrayList<>();
|
||||
@@ -3809,7 +3903,7 @@ public class OvsdbDao {
|
||||
|
||||
Set<Uuid> osuProvidersUuids = new HashSet<>();
|
||||
Set<Uuid> osuIconUuids = new HashSet<>();
|
||||
|
||||
|
||||
StringBuffer mccMncBuffer = new StringBuffer();
|
||||
Set<Atom<String>> naiRealms = new HashSet<>();
|
||||
Set<Atom<String>> roamingOis = new HashSet<>();
|
||||
@@ -3862,8 +3956,6 @@ public class OvsdbDao {
|
||||
rowColumns.put("operator_icons", iconUuids);
|
||||
}
|
||||
|
||||
|
||||
|
||||
hs2Profile.getIpAddressTypeAvailability();
|
||||
rowColumns.put("deauth_request_timeout", new Atom<>(hs2Profile.getDeauthRequestTimeout()));
|
||||
rowColumns.put("osen",
|
||||
@@ -3992,9 +4084,10 @@ public class OvsdbDao {
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("provisionHotspot20Config Op Result {}", res);
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("provisionHotspot20Config insert new row result {}", ((InsertResult)res));
|
||||
LOG.info("provisionHotspot20Config insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), hotspot20ConfigDbTable);
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(),
|
||||
hotspot20ConfigDbTable);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4070,11 +4163,12 @@ public class OvsdbDao {
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("provisionHotspot20OsuProviders Op Result {}", res);
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("provisionHotspot20OsuProviders insert new row result {}", ((InsertResult)res));
|
||||
LOG.info("provisionHotspot20OsuProviders insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), hotspot20OsuProvidersDbTable);
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(),
|
||||
hotspot20OsuProvidersDbTable);
|
||||
} else if (res instanceof UpdateResult) {
|
||||
LOG.info("provisionHotspot20OsuProviders update row result {}", ((UpdateResult)res));
|
||||
LOG.info("provisionHotspot20OsuProviders update row result {}", ((UpdateResult) res));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -4282,11 +4376,12 @@ public class OvsdbDao {
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("provisionHotspot20Config Op Result {}", res);
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("provisionHotspot20Config insert new row result {}", ((InsertResult)res));
|
||||
LOG.info("provisionHotspot20Config insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), hotspot20IconConfigDbTable);
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(),
|
||||
hotspot20IconConfigDbTable);
|
||||
} else if (res instanceof UpdateResult) {
|
||||
LOG.info("provisionHotspot20Config update row result {}", ((UpdateResult)res));
|
||||
LOG.info("provisionHotspot20Config update row result {}", ((UpdateResult) res));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -4810,24 +4905,23 @@ public class OvsdbDao {
|
||||
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
|
||||
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
|
||||
|
||||
for (OperationResult res : result) {
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("provisionVideoVoiceStats insert new row result {}", ((InsertResult)res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiStatsConfigDbTable);
|
||||
} else if (res instanceof UpdateResult) {
|
||||
LOG.info("provisionVideoVoiceStats update row result {}", ((UpdateResult)res));
|
||||
for (OperationResult res : result) {
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("provisionVideoVoiceStats insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiStatsConfigDbTable);
|
||||
} else if (res instanceof UpdateResult) {
|
||||
LOG.info("provisionVideoVoiceStats update row result {}", ((UpdateResult) res));
|
||||
|
||||
}else if (res instanceof ErrorResult) {
|
||||
LOG.error("Could not update {}:", wifiStatsConfigDbTable);
|
||||
LOG.error("Error: {} Details: {}", ((ErrorResult) res).getError(),
|
||||
((ErrorResult) res).getDetails());
|
||||
} else {
|
||||
LOG.debug("Updated {}:", wifiStatsConfigDbTable);
|
||||
LOG.debug("Op Result {}", res);
|
||||
}
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("Could not update {}:", wifiStatsConfigDbTable);
|
||||
LOG.error("Error: {} Details: {}", ((ErrorResult) res).getError(),
|
||||
((ErrorResult) res).getDetails());
|
||||
} else {
|
||||
LOG.debug("Updated {}:", wifiStatsConfigDbTable);
|
||||
LOG.debug("Op Result {}", res);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -4868,11 +4962,11 @@ public class OvsdbDao {
|
||||
|
||||
for (OperationResult res : result) {
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("provisionEventReporting insert new row result {}", ((InsertResult)res));
|
||||
LOG.info("provisionEventReporting insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiStatsConfigDbTable);
|
||||
} else if (res instanceof UpdateResult) {
|
||||
LOG.info("provisionEventReporting update row result {}", ((UpdateResult)res));
|
||||
LOG.info("provisionEventReporting update row result {}", ((UpdateResult) res));
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("Could not update {}:", wifiStatsConfigDbTable);
|
||||
LOG.error("Error: {} Details: {}", ((ErrorResult) res).getError(),
|
||||
@@ -4884,9 +4978,6 @@ public class OvsdbDao {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
@@ -4981,7 +5072,7 @@ public class OvsdbDao {
|
||||
public void rebootOrResetAp(OvsdbClient ovsdbClient, String desiredApAction) {
|
||||
try {
|
||||
LOG.debug("rebootOrResetAp on AP perform {}, setting timer for {} seconds.", desiredApAction,
|
||||
rebootOrResetTimerSeconds);
|
||||
rebootOrResetTimerSeconds);
|
||||
List<Operation> operations = new ArrayList<>();
|
||||
Map<String, Value> updateColumns = new HashMap<>();
|
||||
updateColumns.put("firmware_url", new Atom<>(desiredApAction));
|
||||
@@ -5013,12 +5104,11 @@ public class OvsdbDao {
|
||||
CompletableFuture<OperationResult[]> fResult = ovsdbClient.transact(ovsdbName, operations);
|
||||
OperationResult[] result = fResult.get(ovsdbTimeoutSec, TimeUnit.SECONDS);
|
||||
|
||||
LOG.info("Removed all existing config from {}:", wifiStatsConfigDbTable);
|
||||
LOG.info("Removed all existing config from {}:", wifiStatsConfigDbTable);
|
||||
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("Op Result {}", res);
|
||||
}
|
||||
|
||||
for (OperationResult res : result) {
|
||||
LOG.debug("Op Result {}", res);
|
||||
}
|
||||
|
||||
} catch (OvsdbClientException | TimeoutException | ExecutionException | InterruptedException e) {
|
||||
LOG.error("Error in removeAllStatsConfigs", e);
|
||||
@@ -5204,14 +5294,15 @@ public class OvsdbDao {
|
||||
LOG.debug("Op Result {}", res);
|
||||
|
||||
if (res instanceof InsertResult) {
|
||||
LOG.info("configureWifiRrm insert new row result {}", ((InsertResult)res));
|
||||
LOG.info("configureWifiRrm insert new row result {}", ((InsertResult) res));
|
||||
// for insert, make sure it is actually in the table
|
||||
confirmRowExistsInTable(ovsdbClient, ((InsertResult) res).getUuid(), wifiRrmConfigDbTable);
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureWifiRrm error {}", ((ErrorResult)res));
|
||||
throw new RuntimeException("configureWifiRrm " + ((ErrorResult)res).getError() + " " + ((ErrorResult)res).getDetails());
|
||||
} else if (res instanceof ErrorResult) {
|
||||
LOG.error("configureWifiRrm error {}", ((ErrorResult) res));
|
||||
throw new RuntimeException(
|
||||
"configureWifiRrm " + ((ErrorResult) res).getError() + " " + ((ErrorResult) res).getDetails());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user