/*
- * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
+ * Copyright (c) 2016, 2017 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
*/
package org.opendaylight.ovsdb.hwvtepsouthbound.reconciliation.configuration;
+import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION;
+import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL;
+
+import java.util.ArrayList;
+import java.util.Collection;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionInstance;
import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionManager;
import org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepSouthboundMapper;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalSwitches;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION;
-import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL;
public class HwvtepReconciliationTask extends ReconciliationTask {
-
- private static final Logger LOG = LoggerFactory.getLogger(HwvtepReconciliationTask.class);
- private HwvtepConnectionInstance connectionInstance;
- private DataBroker db;
- private Node psNode;
- private MdsalUtils mdsalUtils;
+ private final HwvtepConnectionInstance connectionInstance;
+ private final DataBroker db;
+ private final Node psNode;
+ private final MdsalUtils mdsalUtils;
public HwvtepReconciliationTask(ReconciliationManager reconciliationManager,
HwvtepConnectionManager connectionManager,
this.mdsalUtils = new MdsalUtils(db);
}
- private void transactChangesToDevice(Collection<DataTreeModification<Node>> changes) {
- HwvtepOperationalState hwvtepOperationalState = new HwvtepOperationalState(db, connectionInstance, changes);
- connectionInstance.transact(new TransactCommandAggregator(hwvtepOperationalState,changes));
+ private void transactChangesToDevice(final Collection<DataTreeModification<Node>> changes,
+ final Node globalOperNode,
+ final Node node) {
+ HwvtepOperationalState hwvtepOperationalState = new HwvtepOperationalState(db, connectionInstance, changes,
+ globalOperNode, node);
+ hwvtepOperationalState.setInReconciliation(true);
+ boolean reconcile = true;
+ connectionInstance.transact(new TransactCommandAggregator(hwvtepOperationalState,changes), reconcile);
}
@Override
public boolean reconcileConfiguration(HwvtepConnectionManager connectionManagerOfDevice) {
InstanceIdentifier<Node> psNodeIid = HwvtepSouthboundMapper.createInstanceIdentifier(psNode.getNodeId());
InstanceIdentifier<Node> nodeId = (InstanceIdentifier<Node>)nodeIid;
- ReadOnlyTransaction tx = reconciliationManager.getDb().newReadOnlyTransaction();
Node globalConfigNode = mdsalUtils.read(CONFIGURATION, nodeId);
Node globalOpNode = mdsalUtils.read(OPERATIONAL, nodeId);
}
}
}
- transactChangesToDevice(changes);
+ transactChangesToDevice(changes, globalOpNode, psNode);
return true;
}
public long retryDelayInMills() {
return 0;
}
-
}