+ private void updateManager(ReadWriteTransaction transaction, Manager manager) {
+ final InstanceIdentifier<Node> connectionIId = getOvsdbConnectionInstance().getInstanceIdentifier();
+ Optional<Node> connection = HwvtepSouthboundUtil.readNode(transaction, connectionIId);
+ if (connection.isPresent()) {
+ LOG.debug("Connection {} is present", connection.get());
+ Node connectionNode = buildConnectionNode(manager);
+ transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
+ // TODO: Delete entries that are no longer needed
+ }
+ }
+
+ private Node buildConnectionNode(Manager manager) {
+ // Update node with Manager reference
+ NodeBuilder connectionNode = new NodeBuilder();
+ connectionNode.setNodeId(getOvsdbConnectionInstance().getNodeId());
+ ManagersBuilder managersBuilder = new ManagersBuilder();
+ if (manager.getTargetColumn().getData() != null && !manager.getTargetColumn().getData().isEmpty()) {
+ managersBuilder.setTarget(new Uri(manager.getTargetColumn().getData()));
+ }
+ if (manager.getIsConnectedColumn().getData() != null) {
+ managersBuilder.setIsConnected(manager.getIsConnectedColumn().getData());
+ }
+ ManagerOtherConfigsBuilder mocBuilder = new ManagerOtherConfigsBuilder();
+ if (manager.getOtherConfigColumn().getData() != null && !manager.getOtherConfigColumn().getData().isEmpty()) {
+ List<ManagerOtherConfigs> mocList = new ArrayList<>();
+ Map<String, String> ocList = manager.getOtherConfigColumn().getData();
+ for (Entry<String, String> otherConfigEntry : ocList.entrySet()) {
+ mocBuilder.setOtherConfigKey(otherConfigEntry.getKey());
+ mocBuilder.setOtherConfigValue(otherConfigEntry.getValue());
+ mocList.add(mocBuilder.build());
+ }
+ managersBuilder.setManagerOtherConfigs(mocList);
+ }
+ managersBuilder.setManagerUuid(new Uuid(manager.getUuid().toString()));
+ List<Managers> managersList = new ArrayList<>();
+ managersList.add(managersBuilder.build());
+
+ HwvtepGlobalAugmentationBuilder hgAugmentationBuilder = new HwvtepGlobalAugmentationBuilder();
+ hgAugmentationBuilder.setManagers(managersList);
+ connectionNode.addAugmentation(HwvtepGlobalAugmentation.class, hgAugmentationBuilder.build());
+ return connectionNode.build();
+ // TODO Deletion of other config
+ }