}
}
- list tepsNotHostedInTransportZone {
- key zone-name;
- leaf zone-name {
- type string;
- }
- list unknown-vteps{
- key "dpn-id";
- leaf dpn-id {
- type uint64;
- }
- leaf ip-address {
- type inet:ip-address;
- }
- leaf of-tunnel {
- description "Use flow based tunnels for remote-ip";
- type boolean;
- default false;
- }
- leaf option-tunnel-tos {
- description "Value of ToS bits to be set on the encapsulating
- packet. The value of 'inherit' will copy the DSCP value
- from inner IPv4 or IPv6 packets. When ToS is given as
- a numberic value, the least significant two bits will
- be ignored.";
- type string {
- length "1..8";
- }
- }
- }
- }
+ }
+ container not-hosted-transport-zones {
+ config false;
+ list tepsInNotHostedTransportZone {
+ key zone-name;
+ leaf zone-name {
+ type string;
+ }
+ list unknown-vteps{
+ key "dpn-id";
+ leaf dpn-id {
+ type uint64;
+ }
+ leaf ip-address {
+ type inet:ip-address;
+ }
+ leaf of-tunnel {
+ description "Use flow based tunnels for remote-ip";
+ type boolean;
+ default false;
+ }
+ leaf option-tunnel-tos {
+ description "Value of ToS bits to be set on the encapsulating
+ packet. The value of 'inherit' will copy the DSCP value
+ from inner IPv4 or IPv6 packets. When ToS is given as
+ a numberic value, the least significant two bits will
+ be ignored.";
+ type string {
+ length "1..8";
+ }
+ }
+ }
+ }
}
container dc-gateway-ip-list{
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.NotHostedTransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZoneBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZone;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZoneBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVteps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVtepsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVtepsKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.tepsnothostedintransportzone.UnknownVteps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.tepsnothostedintransportzone.UnknownVtepsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.tepsnothostedintransportzone.UnknownVtepsKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.SubnetsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.SubnetsKey;
private OvsdbTepAddConfigHelper() { }
/**
- * Adds the TEP into ITM configuration Datastore in one of the following cases.
+ * Adds the TEP into ITM configuration/operational Datastore in one of the following cases.
* 1) default transport zone
* 2) Configured transport zone
* 3) Unhosted transport zone
* @param strDpnId bridge datapath ID in string
* @param tzName transport zone name in string
* @param ofTunnel boolean flag for TEP to enable/disable of-tunnel feature on it
- * @param dataBroker data broker handle to perform operations on config datastore
+ * @param dataBroker data broker handle to perform operations on config/operational datastore
* @param wrTx WriteTransaction object
*/
// Case: Add TEP into corresponding TZ created from Northbound.
tzone = ItmUtils.getTransportZoneFromConfigDS(tzName, dataBroker);
if (tzone == null) {
- // Case: TZ is not configured from Northbound, then add TEP into "teps-not-hosted-in-transport-zone"
- LOG.trace("Adding TEP with unknown TZ into teps-not-hosted-in-transport-zone.");
+ // Case: TZ is not configured from Northbound, then add TEP into "teps-in-not-hosted-transport-zone"
+ LOG.trace("Adding TEP with unknown TZ into teps-in-not-hosted-transport-zone.");
addUnknownTzTepIntoTepsNotHosted(tzName, tepIpAddress, dpnId, ofTunnel,
dataBroker, wrTx);
return;
// corresponding TZ is configured from northbound.
for (Vteps vtep: updatedVtepList) {
LOG.trace("Moving TEP (TEP IP: {} DPID: {}, of-tunnel: {})"
- + "from tepNotHosted list into transport-zone {} in ITM Config DS.",
+ + "from not-hosted-transport-zone {} into ITM Config DS.",
vtep.getIpAddress(), vtep.getDpnId(), ofTunnel, tzName);
}
}
/**
* Adds the TEP into Vtep list in the subnet list in the transport zone list
- * from ITM configuration Datastore by merge operation with write transaction.
+ * from ITM operational Datastore by merge operation with write transaction.
*
* @param tzName transport zone name in string
* @param tepIpAddress TEP IP address in IpAddress object
* @param dpid bridge datapath ID in BigInteger
* @param ofTunnel boolean flag for TEP to enable/disable of-tunnel feature on it
- * @param dataBroker data broker handle to perform operations on config datastore
+ * @param dataBroker data broker handle to perform operations on operational datastore
* @param wrTx WriteTransaction object
*/
protected static void addUnknownTzTepIntoTepsNotHosted(String tzName, IpAddress tepIpAddress,
BigInteger dpid, boolean ofTunnel, DataBroker dataBroker, WriteTransaction wrTx) {
List<UnknownVteps> vtepList = null;
- TepsNotHostedInTransportZone unknownTz =
- ItmUtils.getUnknownTransportZoneFromITMConfigDS(tzName, dataBroker);
- if (unknownTz == null) {
- LOG.trace("Unhosted TransportZone does not exist.");
+ TepsInNotHostedTransportZone tepsInNotHostedTransportZone =
+ ItmUtils.getUnknownTransportZoneFromITMOperDS(tzName, dataBroker);
+ if (tepsInNotHostedTransportZone == null) {
+ LOG.trace("Unhosted TransportZone ({}) does not exist in OperDS.", tzName);
vtepList = new ArrayList<>();
addVtepIntoTepsNotHosted(vtepList, tepIpAddress, tzName, dpid, ofTunnel, wrTx);
} else {
- vtepList = unknownTz.getUnknownVteps();
+ vtepList = tepsInNotHostedTransportZone.getUnknownVteps();
if (vtepList == null || vtepList.isEmpty()) {
// case: vtep list does not exist or it has no elements
if (vtepList == null) {
vtepList = new ArrayList<>();
}
- LOG.trace("Add TEP in unhosted TZ ({}) when no vtep-list in the TZ.", tzName);
+ LOG.trace("Add TEP into unhosted TZ ({}) when no vtep-list in the TZ.", tzName);
addVtepIntoTepsNotHosted(vtepList, tepIpAddress, tzName, dpid, ofTunnel, wrTx);
} else {
// case: vtep list has elements
/**
* Adds the TEP into Unknown Vtep list under the transport zone in the TepsNotHosted list
- * from ITM configuration Datastore by merge operation with write transaction.
+ * from ITM operational Datastore by merge operation with write transaction.
*
* @param updatedVtepList updated UnknownVteps list object which will have new TEP for addition
* into TepsNotHosted
IpAddress tepIpAddress, String tzName, BigInteger dpid, boolean ofTunnel,
WriteTransaction wrTx) {
//Create TZ node path
- InstanceIdentifier<TepsNotHostedInTransportZone> transportZonePath =
- InstanceIdentifier.builder(TransportZones.class)
- .child(TepsNotHostedInTransportZone.class,
- new TepsNotHostedInTransportZoneKey(tzName)).build();
+ InstanceIdentifier<TepsInNotHostedTransportZone> tepsInNotHostedTransportZoneIid =
+ InstanceIdentifier.builder(NotHostedTransportZones.class)
+ .child(TepsInNotHostedTransportZone.class,
+ new TepsInNotHostedTransportZoneKey(tzName)).build();
// create vtep
UnknownVtepsKey vtepkey = new UnknownVtepsKey(dpid);
updatedVtepList.add(vtepObj);
// create unknown TZ node with updated vtep list
- TepsNotHostedInTransportZone updatedTzone = new TepsNotHostedInTransportZoneBuilder()
- .setKey(new TepsNotHostedInTransportZoneKey(tzName)).setZoneName(tzName)
+ TepsInNotHostedTransportZone updatedTzone = new TepsInNotHostedTransportZoneBuilder()
+ .setKey(new TepsInNotHostedTransportZoneKey(tzName)).setZoneName(tzName)
.setUnknownVteps(updatedVtepList).build();
- LOG.trace("Adding TEP into unhosted (TZ: {}, DPID: {}, TEP IP: {}, of-tunnel: {})"
- + "in ITM Config DS.", tzName, dpid, tepIpAddress, ofTunnel);
+ LOG.trace("Adding TEP (DPID: {}, TEP IP: {}, of-tunnel: {}) into unhosted TZ: {}"
+ + "inside ITM Oper DS.", dpid, tepIpAddress, ofTunnel, tzName);
- // Update TZ in Config DS.
- wrTx.merge(LogicalDatastoreType.CONFIGURATION, transportZonePath, updatedTzone, true);
+ // Update TZ in Oper DS.
+ wrTx.merge(LogicalDatastoreType.OPERATIONAL, tepsInNotHostedTransportZoneIid, updatedTzone, true);
}
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.NotHostedTransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZone;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVteps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVtepsKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.tepsnothostedintransportzone.UnknownVteps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.tepsnothostedintransportzone.UnknownVtepsKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.SubnetsKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.Vteps;
private OvsdbTepRemoveConfigHelper() { }
/**
- * Removes the TEP from ITM configuration Datastore in one of the following cases.
+ * Removes the TEP from ITM configuration/operational Datastore in one of the following cases.
* 1) default transport zone
* 2) Configured transport zone
* 3) Unhosted transport zone
* @param tepIp TEP-IP address in string
* @param strDpnId bridge datapath ID in string
* @param tzName transport zone name in string
- * @param dataBroker data broker handle to perform operations on config datastore
+ * @param dataBroker data broker handle to perform operations on config/operational datastore
* @param wrTx WriteTransaction object
*/
transportZone = ItmUtils.getTransportZoneFromConfigDS(tzName, dataBroker);
if (transportZone == null) {
// Case: TZ is not configured from Northbound, then add TEP into
- // "teps-not-hosted-in-transport-zone"
- LOG.trace("Removing TEP from unknown TZ into teps-not-hosted-in-transport-zone.");
+ // "teps-in-not-hosted-transport-zone"
+ LOG.trace("Removing TEP from teps-in-not-hosted-transport-zone list.");
removeUnknownTzTepFromTepsNotHosted(tzName, tepIpAddress, dpnId, dataBroker, wrTx);
return;
} else {
.child(TransportZone.class, new TransportZoneKey(tzName))
.child(Subnets.class, subnetsKey).child(Vteps.class, vtepkey).build();
- LOG.trace("Removing TEP (TZ: {} Subnet: {} DPN-ID: {}) in ITM Config DS.", tzName, subnetMaskObj, dpnId);
+ LOG.trace("Removing TEP from (TZ: {} Subnet: {} DPN-ID: {}) inside ITM Config DS.",
+ tzName, subnetMaskObj, dpnId);
// remove vtep
wrTx.delete(LogicalDatastoreType.CONFIGURATION, vtepPath);
}
/**
* Removes the TEP from the not-hosted transport zone in the TepsNotHosted list
- * from ITM configuration Datastore.
+ * from ITM Operational Datastore.
*
* @param tzName transport zone name in string
* @param tepIpAddress TEP IP address in IpAddress object
* @param dpnId bridge datapath ID in BigInteger
- * @param dataBroker data broker handle to perform operations on config datastore
+ * @param dataBroker data broker handle to perform operations on operational datastore
* @param wrTx WriteTransaction object
*/
public static void removeUnknownTzTepFromTepsNotHosted(String tzName, IpAddress tepIpAddress,
WriteTransaction wrTx) {
List<UnknownVteps> vtepList = null;
- TepsNotHostedInTransportZone unknownTz =
- ItmUtils.getUnknownTransportZoneFromITMConfigDS(tzName, dataBroker);
- if (unknownTz == null) {
- LOG.trace("Unhosted TransportZone does not exist. Nothing to do for TEP removal.");
+ TepsInNotHostedTransportZone tepsInNotHostedTransportZone =
+ ItmUtils.getUnknownTransportZoneFromITMOperDS(tzName, dataBroker);
+ if (tepsInNotHostedTransportZone == null) {
+ LOG.trace("Unhosted TransportZone ({}) does not exist in OperDS. Nothing to do for TEP removal.", tzName);
return;
} else {
- vtepList = unknownTz.getUnknownVteps();
+ vtepList = tepsInNotHostedTransportZone.getUnknownVteps();
if (vtepList == null || vtepList.isEmpty()) {
// case: vtep list does not exist or it has no elements
- LOG.trace(
- "Remove TEP in unhosted TZ ({}) when no vtep-list in the TZ. Nothing to do.",
- tzName);
+ LOG.trace("Remove TEP from unhosted TZ ({}) when no vtep-list in the TZ. Nothing to do.", tzName);
} else {
// case: vtep list has elements
boolean vtepFound = false;
if (vtepFound) {
// vtep is found, update it with tep-ip
LOG.trace(
- "Remove TEP with IP ({}) from unhosted TZ ({}) in TepsNotHosted list.",
+ "Remove TEP with IP ({}) from unhosted TZ ({}) inside not-hosted-transport-zones list.",
tepIpAddress, tzName);
if (vtepList.size() == 1) {
removeTzFromTepsNotHosted(tzName, wrTx);
/**
* Removes the TEP from unknown vtep list under the transport zone in the TepsNotHosted list
- * from ITM configuration Datastore by delete operation with write transaction.
+ * from ITM operational Datastore by delete operation with write transaction.
*
* @param tzName transport zone name in string
* @param dpnId bridge datapath ID in BigInteger
WriteTransaction wrTx) {
UnknownVtepsKey unknownVtepkey = new UnknownVtepsKey(dpnId);
- InstanceIdentifier<UnknownVteps> vtepPath = InstanceIdentifier.builder(TransportZones.class)
- .child(TepsNotHostedInTransportZone.class, new TepsNotHostedInTransportZoneKey(tzName))
+ InstanceIdentifier<UnknownVteps> vtepPath = InstanceIdentifier.builder(NotHostedTransportZones.class)
+ .child(TepsInNotHostedTransportZone.class, new TepsInNotHostedTransportZoneKey(tzName))
.child(UnknownVteps.class, unknownVtepkey).build();
- LOG.trace("Removing TEP from unhosted (TZ: {}, DPID: {}) from ITM Config DS.",
+ LOG.trace("Removing TEP from unhosted (TZ: {}, DPID: {}) inside ITM Oper DS.",
tzName, dpnId);
// remove vtep
- wrTx.delete(LogicalDatastoreType.CONFIGURATION, vtepPath);
+ wrTx.delete(LogicalDatastoreType.OPERATIONAL, vtepPath);
}
/**
* Removes the transport zone in the TepsNotHosted list
- * from ITM configuration Datastore by delete operation with write transaction.
+ * from ITM operational Datastore by delete operation with write transaction.
*
* @param tzName transport zone name in string
* @param wrTx WriteTransaction object
*/
private static void removeTzFromTepsNotHosted(String tzName, WriteTransaction wrTx) {
- InstanceIdentifier<TepsNotHostedInTransportZone> tzTepsNotHostedTepPath =
- InstanceIdentifier.builder(TransportZones.class)
- .child(TepsNotHostedInTransportZone.class,
- new TepsNotHostedInTransportZoneKey(tzName)).build();
+ InstanceIdentifier<TepsInNotHostedTransportZone> tepsInNotHostedTransportZoneIid =
+ InstanceIdentifier.builder(NotHostedTransportZones.class)
+ .child(TepsInNotHostedTransportZone.class,
+ new TepsInNotHostedTransportZoneKey(tzName)).build();
- LOG.trace("Removing TZ ({})from TepsNotHosted list from ITM Config DS.", tzName);
+ LOG.trace("Removing TZ ({})from not-hosted-transport-zones list inside ITM Oper DS.", tzName);
// remove TZ from TepsNotHosted list
- wrTx.delete(LogicalDatastoreType.CONFIGURATION, tzTepsNotHostedTepPath);
+ wrTx.delete(LogicalDatastoreType.OPERATIONAL, tepsInNotHostedTransportZoneIid);
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.state.tunnel.list.DstInfoBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.state.tunnel.list.SrcInfoBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.NotHostedTransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.dc.gateway.ip.list.DcGatewayIp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZone;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZoneKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
}
/**
- * Gets the transport zone in TepsNotHosted list in the Configuration Datastore, based on transport zone name.
+ * Gets the transport zone in TepsNotHosted list in the Operational Datastore, based on transport zone name.
*
* @param unknownTz transport zone name
*
- * @param dataBroker data broker handle to perform read operations on config datastore
+ * @param dataBroker data broker handle to perform read operations on Oper datastore
*
- * @return the TepsNotHostedInTransportZone object in the TepsNotHosted list in Config DS
+ * @return the TepsInNotHostedTransportZone object in the TepsNotHosted list in Oper DS
*/
- public static TepsNotHostedInTransportZone getUnknownTransportZoneFromITMConfigDS(
+ public static TepsInNotHostedTransportZone getUnknownTransportZoneFromITMOperDS(
String unknownTz, DataBroker dataBroker) {
- InstanceIdentifier<TepsNotHostedInTransportZone> unknownTzPath =
- InstanceIdentifier.builder(TransportZones.class)
- .child(TepsNotHostedInTransportZone.class,
- new TepsNotHostedInTransportZoneKey(unknownTz)).build();
- Optional<TepsNotHostedInTransportZone> unknownTzOptional =
- ItmUtils.read(LogicalDatastoreType.CONFIGURATION, unknownTzPath, dataBroker);
+ InstanceIdentifier<TepsInNotHostedTransportZone> unknownTzPath =
+ InstanceIdentifier.builder(NotHostedTransportZones.class)
+ .child(TepsInNotHostedTransportZone.class,
+ new TepsInNotHostedTransportZoneKey(unknownTz)).build();
+ Optional<TepsInNotHostedTransportZone> unknownTzOptional =
+ ItmUtils.read(LogicalDatastoreType.OPERATIONAL, unknownTzPath, dataBroker);
if (unknownTzOptional.isPresent()) {
return unknownTzOptional.get();
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.DPNTEPsInfo;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.dpn.teps.info.TunnelEndPoints;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.dpn.teps.info.tunnel.end.points.TzMembership;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.NotHostedTransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZonesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZone;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVteps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.tepsnothostedintransportzone.UnknownVteps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.DeviceVteps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.Vteps;
List<TzMembership> zones = ItmUtils.createTransportZoneMembership(newZoneName);
Class<? extends TunnelTypeBase> tunnelType = tzNew.getTunnelType();
- TepsNotHostedInTransportZone tepNotHostedTransportZone = getNotHostedTransportZone(newZoneName).get();
- if (tepNotHostedTransportZone == null) {
+ TepsInNotHostedTransportZone tepsInNotHostedTransportZone = getNotHostedTransportZone(newZoneName).get();
+ if (tepsInNotHostedTransportZone == null) {
return notHostedDpnTepInfo;
}
- List<UnknownVteps> unVtepsLst = tepNotHostedTransportZone.getUnknownVteps();
+ List<UnknownVteps> unVtepsLst = tepsInNotHostedTransportZone.getUnknownVteps();
List<Vteps> vtepsList = new ArrayList<>();
if (unVtepsLst != null && !unVtepsLst.isEmpty()) {
for (UnknownVteps vteps : unVtepsLst) {
return isPresent;
}
- public Optional<TepsNotHostedInTransportZone> getNotHostedTransportZone(String transportZoneName) {
- InstanceIdentifier<TepsNotHostedInTransportZone> tzonePath = InstanceIdentifier.builder(TransportZones.class)
- .child(TepsNotHostedInTransportZone.class,
- new TepsNotHostedInTransportZoneKey(transportZoneName)).build();
- Optional<TepsNotHostedInTransportZone> tzNotHostedOptional =
- ItmUtils.read(LogicalDatastoreType.CONFIGURATION, tzonePath, dataBroker);
- return tzNotHostedOptional;
+ public Optional<TepsInNotHostedTransportZone> getNotHostedTransportZone(String transportZoneName) {
+ InstanceIdentifier<TepsInNotHostedTransportZone> notHostedTzPath = InstanceIdentifier
+ .builder(NotHostedTransportZones.class).child(TepsInNotHostedTransportZone.class,
+ new TepsInNotHostedTransportZoneKey(transportZoneName)).build();
+ Optional<TepsInNotHostedTransportZone> tepsInNotHostedTransportZoneOptional =
+ ItmUtils.read(LogicalDatastoreType.OPERATIONAL, notHostedTzPath, dataBroker);
+ return tepsInNotHostedTransportZoneOptional;
}
private List<DPNTEPsInfo> createDPNTepInfo(TransportZone transportZone) {
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.ItmConfigBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZonesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZone;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey;
// wait for OvsdbNodeListener to perform config DS update through transaction
Thread.sleep(1000);
- InstanceIdentifier<TepsNotHostedInTransportZone> notHostedtzPath = ItmTepAutoConfigTestUtil
+ InstanceIdentifier<TepsInNotHostedTransportZone> notHostedtzPath = ItmTepAutoConfigTestUtil
.getTepNotHostedInTZIid(ItmTestConstants.NOT_HOSTED_TZ_NAME);
Assert.assertNotNull(notHostedtzPath);
// check not hosted
assertEqualBeans(ExpectedTepNotHostedTransportZoneObjects.newTepNotHostedTransportZone(),
- dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION,
+ dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL,
notHostedtzPath).checkedGet().get());
future = OvsdbTestUtil.updateNode(connInfo, ItmTestConstants.NOT_HOSTED_TZ_TEP_IP, null,
Thread.sleep(1000);
Assert.assertEquals(Optional.absent(),dataBroker.newReadOnlyTransaction()
- .read(LogicalDatastoreType.CONFIGURATION, notHostedtzPath).get());
+ .read(LogicalDatastoreType.OPERATIONAL, notHostedtzPath).get());
}
@Test
ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
ItmTestConstants.NOT_HOSTED_TZ_TEPDPN_ID, ItmTestConstants.NOT_HOSTED_TZ_NAME, false, dataBroker);
future.get();
- InstanceIdentifier<TepsNotHostedInTransportZone> notHostedPath =
+ InstanceIdentifier<TepsInNotHostedTransportZone> notHostedPath =
ItmTepAutoConfigTestUtil.getTepNotHostedInTZIid(ItmTestConstants.NOT_HOSTED_TZ_NAME);
Assert.assertNotNull(notHostedPath);
assertEqualBeans(ExpectedTepNotHostedTransportZoneObjects.newTepNotHostedTransportZone(),
- dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, notHostedPath)
+ dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, notHostedPath)
.checkedGet().get());
}
ItmTepAutoConfigTestUtil.addTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
ItmTestConstants.NOT_HOSTED_TZ_TEPDPN_ID, ItmTestConstants.NOT_HOSTED_TZ_NAME, false, dataBroker);
future.get();
- InstanceIdentifier<TepsNotHostedInTransportZone> notHostedPath =
+ InstanceIdentifier<TepsInNotHostedTransportZone> notHostedPath =
ItmTepAutoConfigTestUtil.getTepNotHostedInTZIid(ItmTestConstants.NOT_HOSTED_TZ_NAME);
Assert.assertNotNull(notHostedPath);
assertEqualBeans(ExpectedTepNotHostedTransportZoneObjects.newTepNotHostedTransportZone(),
dataBroker.newReadOnlyTransaction()
- .read(LogicalDatastoreType.CONFIGURATION, notHostedPath).checkedGet().get());
+ .read(LogicalDatastoreType.OPERATIONAL, notHostedPath).checkedGet().get());
//delete from not hosted list
future = ItmTepAutoConfigTestUtil.deleteTep(ItmTestConstants.NOT_HOSTED_TZ_TEP_IP,
Assert.assertEquals(Optional.absent(),
dataBroker.newReadOnlyTransaction()
- .read(LogicalDatastoreType.CONFIGURATION, notHostedPath).get());
+ .read(LogicalDatastoreType.OPERATIONAL, notHostedPath).get());
}
@Test
ItmTestConstants.NOT_HOSTED_TZ_TEPDPN_ID, ItmTestConstants.NOT_HOSTED_TZ_NAME, false,
dataBroker);
future.get();
- InstanceIdentifier<TepsNotHostedInTransportZone> notHostedPath =
+ InstanceIdentifier<TepsInNotHostedTransportZone> notHostedPath =
ItmTepAutoConfigTestUtil.getTepNotHostedInTZIid(ItmTestConstants.NOT_HOSTED_TZ_NAME);
Assert.assertNotNull(notHostedPath);
assertEqualBeans(ExpectedTepNotHostedTransportZoneObjects.newTepNotHostedTransportZone(),
dataBroker.newReadOnlyTransaction()
- .read(LogicalDatastoreType.CONFIGURATION, notHostedPath).checkedGet().get());
+ .read(LogicalDatastoreType.OPERATIONAL, notHostedPath).checkedGet().get());
// create the same TZ
TransportZone transportZoneNorth = new TransportZoneBuilder().setZoneName(ItmTestConstants.NOT_HOSTED_TZ_NAME)
// check TZ is removed
Assert.assertEquals(Optional.absent(), dataBroker.newReadOnlyTransaction()
- .read(LogicalDatastoreType.CONFIGURATION, notHostedPath).get());
+ .read(LogicalDatastoreType.OPERATIONAL, notHostedPath).get());
}
}
import org.opendaylight.genius.itm.confighelpers.OvsdbTepRemoveConfigHelper;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.ItmConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.NotHostedTransportZones;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZoneKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZone;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZoneKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
return vtepIid;
}
- public static InstanceIdentifier<TepsNotHostedInTransportZone> getTepNotHostedInTZIid(String tzName) {
- InstanceIdentifier<TepsNotHostedInTransportZone> tzonePath =
- InstanceIdentifier.builder(TransportZones.class)
- .child(TepsNotHostedInTransportZone.class,
- new TepsNotHostedInTransportZoneKey(tzName)).build();
+ public static InstanceIdentifier<TepsInNotHostedTransportZone> getTepNotHostedInTZIid(String tzName) {
+ InstanceIdentifier<TepsInNotHostedTransportZone> tzonePath =
+ InstanceIdentifier.builder(NotHostedTransportZones.class)
+ .child(TepsInNotHostedTransportZone.class,
+ new TepsInNotHostedTransportZoneKey(tzName)).build();
return tzonePath;
}
package org.opendaylight.genius.itm.tests.xtend;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.tepsnothostedintransportzone.UnknownVtepsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TepsNotHostedInTransportZoneBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.tepsinnothostedtransportzone.UnknownVtepsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.not.hosted.transport.zones.TepsInNotHostedTransportZoneBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
import org.opendaylight.genius.itm.tests.ItmTestConstants;
class ExpectedTepNotHostedTransportZoneObjects {
static def newTepNotHostedTransportZone() {
- new TepsNotHostedInTransportZoneBuilder >> [
+ new TepsInNotHostedTransportZoneBuilder >> [
zoneName = ItmTestConstants.NOT_HOSTED_TZ_NAME
unknownVteps = #[
new UnknownVtepsBuilder >> [