<type>xml</type>
<classifier>features</classifier>
</dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>features-restconf</artifactId>
+ <type>xml</type>
+ <classifier>features</classifier>
+ </dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>features-aaa</artifactId>
<artifactId>northbound-api</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>transcriber</artifactId>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
<repository>mvn:org.opendaylight.aaa/features-aaa/${aaa.version}/xml/features</repository>
+ <repository>mvn:org.opendaylight.yangtools/features-yangtools/${yangtools.version}/xml/features</repository>
+ <repository>mvn:org.opendaylight.controller/features-mdsal/${mdsal.version}/xml/features</repository>
+ <repository>mvn:org.opendaylight.controller/features-restconf/${mdsal.version}/xml/features</repository>
<feature name='odl-neutron-service' version='${project.version}' description="OpenDaylight :: Neutron :: API">
<feature version='${project.version}'>odl-neutron-spi</feature>
<feature version='${project.version}'>odl-neutron-northbound-api</feature>
<bundle>mvn:org.osgi/org.osgi.core/${osgi.core.version}</bundle>
</feature>
<feature name='odl-neutron-transcriber' version='${project.version}' description="OpenDaylight :: Neutron :: Implementation">
- <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
<feature version='${project.version}'>odl-neutron-spi</feature>
<feature>war</feature>
+ <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
<bundle>mvn:org.opendaylight.neutron/transcriber/${project.version}</bundle>
+ <bundle>mvn:org.opendaylight.neutron/model/${project.version}</bundle>
<bundle>mvn:org.osgi/org.osgi.core/${osgi.core.version}</bundle>
- <configfile finalname="etc/opendaylight/karaf/neutron-transriber-default-config.xml">mvn:org.opendaylight.neutron/transcriber/${project.version}/xml/config</configfile>
+ <configfile finalname="etc/opendaylight/karaf/neutron-transcriber-default-config.xml">mvn:org.opendaylight.neutron/transcriber/${project.version}/xml/config</configfile>
</feature>
</features>
<groupId>org.opendaylight.neutron</groupId>
<artifactId>model</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>0.5.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
<dependencies>
<dependency>
<tag>HEAD</tag>
<url>https://wiki.opendaylight.org/view/NeutronNorthBound:Main</url>
</scm>
-</project>
\ No newline at end of file
+</project>
description "This YANG module defines binding attributes that are used by Openstack
Juno Port YANG modules.";
+
+ revision "2014-10-02" {
+ description
+ "Initial version";
+ }
grouping binding-attrs {
leaf host-id {
contact "R. Moats <rmoats@us.ibm.com>";
description "This YANG module defines Openstack Juno House Neutron VPNaaS model";
+
+ revision "2014-10-02" {
+ description
+ "Initial version";
+ }
grouping firewall-attrs {
leaf descr {
contact "R. Moats <rmoats@us.ibm.com>";
description "This YANG module defines Openstack Juno House Neutron VPNaaS model";
+
+ revision "2014-10-02" {
+ description
+ "Initial version";
+ }
grouping vpnservices-attrs {
leaf descr {
yang-version 1;
- namespace "urn:opendaylight:neutron-L3";
+ namespace "urn:opendaylight:neutron";
prefix neutron-L3;
<artifactId>neutron-spi</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.opendaylight.neutron</groupId>
+ <artifactId>model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
package org.opendaylight.neutron.transcriber;
+import java.util.concurrent.ExecutionException;
+
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Preconditions;
+import com.google.common.base.Predicates;
+import com.google.common.util.concurrent.CheckedFuture;
-public abstract class AbstractNeutronInterface implements AutoCloseable {
+public abstract class AbstractNeutronInterface<T extends DataObject,S> implements AutoCloseable {
+ private static final Logger logger = LoggerFactory.getLogger(AbstractNeutronInterface.class);
private ProviderContext providerContext;
private DataBroker db;
return db;
}
+ protected abstract InstanceIdentifier<T> createInstanceIdentifier(T item);
+
+ protected abstract T toMd(S neutronObject);
+
+ protected abstract T toMd(String uuid);
+
+ protected boolean addMd(S neutronObject) {
+ // TODO think about adding existence logic
+ WriteTransaction transaction = getDataBroker().newWriteOnlyTransaction();
+ T item = toMd(neutronObject);
+ InstanceIdentifier<T> iid = createInstanceIdentifier(item);
+ transaction.put(LogicalDatastoreType.CONFIGURATION, iid, item,true);
+ CheckedFuture<Void, TransactionCommitFailedException> future = transaction.submit();
+ try {
+ future.get();
+ } catch (InterruptedException | ExecutionException e) {
+ logger.warn("Transation failed ",e);
+ return false;
+ }
+ return true;
+ }
+
+ protected boolean updateMd(S neutronObject) {
+ WriteTransaction transaction = getDataBroker().newWriteOnlyTransaction();
+ T item = toMd(neutronObject);
+ InstanceIdentifier<T> iid = createInstanceIdentifier(item);
+ transaction.put(LogicalDatastoreType.CONFIGURATION, iid, item,true);
+ CheckedFuture<Void, TransactionCommitFailedException> future = transaction.submit();
+ try {
+ future.get();
+ } catch (InterruptedException | ExecutionException e) {
+ logger.warn("Transation failed ",e);
+ return false;
+ }
+ return true;
+ }
+
+ protected boolean removeMd(T item) {
+ WriteTransaction transaction = getDataBroker().newWriteOnlyTransaction();
+ InstanceIdentifier<T> iid = createInstanceIdentifier(item);
+ transaction.delete(LogicalDatastoreType.CONFIGURATION, iid);
+ CheckedFuture<Void, TransactionCommitFailedException> future = transaction.submit();
+ return true;
+ }
+
+ protected Uuid toUuid(String uuid) {
+ Preconditions.checkNotNull(uuid);
+ Uuid result;
+ try {
+ result = new Uuid(uuid);
+ } catch(IllegalArgumentException e) {
+ // OK... someone didn't follow RFC 4122... lets try this the hard way
+ String dedashed = uuid.replace("-", "");
+ if(dedashed.length() == 32) {
+ String redashed = dedashed.substring(0, 8) // 8 chars
+ + "-"
+ + dedashed.substring(8, 12) // 4 chars
+ + "-"
+ + dedashed.substring(12, 16) // 4 chars
+ + "-"
+ + dedashed.substring(16, 20) // 4 chars
+ + "-"
+ + dedashed.substring(20, 32); // 12 chars
+ result = new Uuid(redashed);
+ } else {
+ throw e;
+ }
+ }
+ return result;
+ }
+
@Override
public void close() throws Exception {
// TODO Auto-generated method stub
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronFirewallCRUD;
import org.opendaylight.neutron.spi.NeutronFirewall;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronFirewallExists(firewallUUID);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronFirewallPolicyCRUD;
import org.opendaylight.neutron.spi.NeutronFirewallPolicy;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronFirewallPolicyExists(firewallPolicyUUID);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronFirewallRuleCRUD;
import org.opendaylight.neutron.spi.NeutronFirewallRule;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronFirewallRuleExists(firewallRuleUUID);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.neutron.spi.NeutronFloatingIP;
import org.opendaylight.neutron.spi.NeutronPort;
import org.opendaylight.neutron.spi.NeutronSubnet;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
target.setFixedIPAddress(delta.getFixedIPAddress());
return true;
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronLoadBalancerHealthMonitorCRUD;
import org.opendaylight.neutron.spi.NeutronLoadBalancerHealthMonitor;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public boolean neutronLoadBalancerHealthMonitorInUse(String loadBalancerHealthMonitorUUID) {
return !neutronLoadBalancerHealthMonitorExists(loadBalancerHealthMonitorUUID);
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronLoadBalancerCRUD;
import org.opendaylight.neutron.spi.NeutronLoadBalancer;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronLoadBalancerExists(loadBalancerUUID);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronLoadBalancerListenerCRUD;
import org.opendaylight.neutron.spi.NeutronLoadBalancerListener;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public boolean neutronLoadBalancerListenerInUse(String loadBalancerListenerUUID) {
return !neutronLoadBalancerListenerExists(loadBalancerListenerUUID);
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolCRUD;
import org.opendaylight.neutron.spi.NeutronLoadBalancerPool;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronLoadBalancerPoolExists(loadBalancerPoolUUID);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolMemberCRUD;
import org.opendaylight.neutron.spi.NeutronLoadBalancerPoolMember;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public boolean neutronLoadBalancerPoolMemberInUse(String loadBalancerPoolMemberID) {
return !neutronLoadBalancerPoolMemberExists(loadBalancerPoolMemberID);
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronMeteringLabelCRUD;
import org.opendaylight.neutron.spi.NeutronMeteringLabel;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
return false;
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronMeteringLabelRuleCRUD;
import org.opendaylight.neutron.spi.NeutronMeteringLabelRule;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
return false;
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronNetworkCRUD;
import org.opendaylight.neutron.spi.NeutronNetwork;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev141002.networks.attributes.Networks;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev141002.networks.attributes.networks.Network;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev141002.networks.attributes.networks.NetworkBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150325.Neutron;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class NeutronNetworkInterface extends AbstractNeutronInterface implements INeutronNetworkCRUD {
+public class NeutronNetworkInterface extends AbstractNeutronInterface<Network,NeutronNetwork> implements INeutronNetworkCRUD {
private static final Logger logger = LoggerFactory.getLogger(NeutronNetworkInterface.class);
private ConcurrentMap<String, NeutronNetwork> networkDB = new ConcurrentHashMap<String, NeutronNetwork>();
return false;
}
networkDB.putIfAbsent(input.getID(), input);
+ addMd(input);
//TODO: add code to find INeutronNetworkAware services and call newtorkCreated on them
return true;
}
return false;
}
networkDB.remove(uuid);
+ removeMd(toMd(uuid));
//TODO: add code to find INeutronNetworkAware services and call newtorkDeleted on them
return true;
}
return false;
}
NeutronNetwork target = networkDB.get(uuid);
+ updateMd(delta);
return overwrite(target, delta);
}
}
return false;
}
+
+ protected Network toMd(NeutronNetwork network) {
+ NetworkBuilder networkBuilder = new NetworkBuilder();
+ networkBuilder.setAdminStateUp(network.getAdminStateUp());
+ if (network.getNetworkName() != null) {
+ networkBuilder.setName(network.getNetworkName());
+ }
+ if (network.getShared() != null) {
+ networkBuilder.setShared(network.getShared());
+ }
+ if (network.getStatus() != null) {
+ networkBuilder.setStatus(network.getStatus());
+ }
+ if (network.getSubnets() != null) {
+ List<Uuid> subnets = new ArrayList<Uuid>();
+ for( String subnet : network.getSubnets()) {
+ subnets.add(toUuid(subnet));
+ }
+ networkBuilder.setSubnets(subnets);
+ }
+ if (network.getTenantID() != null) {
+ networkBuilder.setTenantId(toUuid(network.getTenantID()));
+ }
+ if (network.getNetworkUUID() != null) {
+ networkBuilder.setUuid(toUuid(network.getNetworkUUID()));
+ } else {
+ logger.warn("Attempting to write neutron network without UUID");
+ }
+ return networkBuilder.build();
+ }
+
+ protected Network toMd(String uuid) {
+ NetworkBuilder networkBuilder = new NetworkBuilder();
+ networkBuilder.setUuid(toUuid(uuid));
+ return networkBuilder.build();
+ }
+
+ @Override
+ protected InstanceIdentifier<Network> createInstanceIdentifier(Network network) {
+ return InstanceIdentifier.create(Neutron.class)
+ .child(Networks.class)
+ .child(Network.class,network.getKey());
+ }
}
import org.opendaylight.neutron.spi.NeutronPort;
import org.opendaylight.neutron.spi.NeutronSubnet;
import org.opendaylight.neutron.spi.Neutron_IPs;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
return null;
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronRouterCRUD;
import org.opendaylight.neutron.spi.NeutronRouter;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return (target.getInterfaces().size() > 0);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronSecurityGroupCRUD;
import org.opendaylight.neutron.spi.NeutronSecurityGroup;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronSecurityGroupExists(securityGroupUUID);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronSecurityRuleCRUD;
import org.opendaylight.neutron.spi.NeutronSecurityRule;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronSecurityRuleExists(securityRuleUUID);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
import org.opendaylight.neutron.spi.NeutronCRUDInterfaces;
import org.opendaylight.neutron.spi.NeutronNetwork;
import org.opendaylight.neutron.spi.NeutronSubnet;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
NeutronSubnet target = subnetDB.get(subnetUUID);
return (target.getPortsInSubnet().size() > 0);
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronVPNIKEPolicyCRUD;
import org.opendaylight.neutron.spi.NeutronVPNIKEPolicy;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
return false;
}
+
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronVPNIPSECSiteConnectionsCRUD;
import org.opendaylight.neutron.spi.NeutronVPNIPSECSiteConnection;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
return false;
}
+
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
\ No newline at end of file
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
import org.opendaylight.neutron.spi.INeutronVPNServiceCRUD;
import org.opendaylight.neutron.spi.NeutronVPNService;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
return !neutronVPNServiceExists(uuid);
}
+ @Override
+ protected InstanceIdentifier createInstanceIdentifier(DataObject item) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(Object neutronObject) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected DataObject toMd(String uuid) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}