package org.opendaylight.ovsdb.hwvtepsouthbound;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
if (tables != null) {
List<MonitorRequest> monitorRequests = Lists.newArrayList();
for (String tableName : tables) {
- LOG.debug("HwvtepSouthbound monitoring table {} in {}", tableName, dbSchema.getName());
- GenericTableSchema tableSchema = dbSchema.table(tableName, GenericTableSchema.class);
- Set<String> columns = tableSchema.getColumns();
- monitorRequests.add(new MonitorRequestBuilder<>(tableSchema)
- .addColumns(columns)
- .with(new MonitorSelect(true, true, true, true)).build());
+ if (!HwvtepSouthboundConstants.SKIP_HWVTEP_TABLE.containsKey(tableName)) {
+ LOG.info("HwvtepSouthbound monitoring Hwvtep schema table {}", tableName);
+ GenericTableSchema tableSchema = dbSchema.table(tableName, GenericTableSchema.class);
+ Set<String> columns = new HashSet<>(tableSchema.getColumns());
+ List<String> skipColumns = HwvtepSouthboundConstants.SKIP_COLUMN_FROM_HWVTEP_TABLE.get(tableName);
+ if (skipColumns != null) {
+ LOG.info("HwvtepSouthbound NOT monitoring columns {} in table {}", skipColumns, tableName);
+ columns.removeAll(skipColumns);
+ }
+ monitorRequests.add(new MonitorRequestBuilder<>(tableSchema)
+ .addColumns(columns)
+ .with(new MonitorSelect(true, true, true, true)).build());
+ }
}
- this.callback.update(monitor(dbSchema, monitorRequests, callback),dbSchema);
+ this.callback.update(monitor(dbSchema, monitorRequests, callback), dbSchema);
} else {
LOG.warn("No tables for schema {} for database {} for key {}",dbSchema,database,connectionInfo);
}
package org.opendaylight.ovsdb.hwvtepsouthbound;
+import java.util.Arrays;
+import java.util.List;
+
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.EncapsulationTypeBase;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
import com.google.common.collect.ImmutableBiMap;
+import com.google.common.collect.ImmutableMap;
public class HwvtepSouthboundConstants {
public static final String HWVTEP_URI_PREFIX = "hwvtep";
public static final String PSWITCH_URI_PREFIX = "physicalswitch";
public static final String LOGICALSWITCH_UUID_PREFIX = "LogicalSwitch_";
+ public static final ImmutableMap<String,String> SKIP_HWVTEP_TABLE
+ = new ImmutableMap.Builder<String,String>()
+ .put("Logical_Binding_Stats", "Update callback registration for Logical_Binding_Stats Table is skipped")
+ .build();
+
+ public static final ImmutableMap<String,List<String>> SKIP_COLUMN_FROM_HWVTEP_TABLE
+ = new ImmutableMap.Builder<String,List<String>>()
+ .put("Manager", Arrays.asList(new String[]{"_version", "status"}))
+ .build();
}