Remove old NetVirt
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / netvirt / openstack / netvirt / translator / crud / impl / NeutronPortInterface.java
diff --git a/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/crud/impl/NeutronPortInterface.java b/openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/translator/crud/impl/NeutronPortInterface.java
deleted file mode 100644 (file)
index e2fe6c9..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * Copyright (c) 2013, 2015 IBM Corporation 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,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort;
-import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_AllowedAddressPairs;
-import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort_ExtraDHCPOption;
-import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup;
-import org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs;
-import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronPortCRUD;
-import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronSecurityGroupCRUD;
-import org.opendaylight.netvirt.openstack.netvirt.translator.crud.NeutronCRUDInterfaces;
-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.yang.types.rev130715.MacAddress;
-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.binding.rev150712.PortBindingExtension;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.binding.rev150712.PortBindingExtensionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.binding.rev150712.binding.attributes.VifDetails;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.binding.rev150712.binding.attributes.VifDetailsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.ExtraDhcpOpts;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.ExtraDhcpOptsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIpsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.Ports;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.PortBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.portsecurity.rev150712.PortSecurityExtension;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.portsecurity.rev150712.PortSecurityExtensionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NeutronPortInterface extends AbstractNeutronInterface<Port, NeutronPort> implements INeutronPortCRUD {
-    private static final Logger LOG = LoggerFactory.getLogger(NeutronPortInterface.class);
-
-    NeutronPortInterface(final DataBroker dataBroker) {
-        super(dataBroker);
-    }
-
-    // IfNBPortCRUD methods
-
-    @Override
-    public boolean portExists(String uuid) {
-        Port port = readMd(createInstanceIdentifier(toMd(uuid)));
-        return port != null;
-    }
-
-    @Override
-    public NeutronPort getPort(String uuid) {
-        Port port = readMd(createInstanceIdentifier(toMd(uuid)));
-        if (port == null) {
-            return null;
-        }
-        return fromMd(port);
-    }
-
-    @Override
-    public List<NeutronPort> getAllPorts() {
-        Set<NeutronPort> allPorts = new HashSet<>();
-        Ports ports = readMd(createInstanceIdentifier());
-        if (ports != null) {
-            for (Port port : ports.getPort()) {
-                allPorts.add(fromMd(port));
-            }
-        }
-        LOG.debug("Exiting getAllPorts, Found {} OpenStackPorts", allPorts.size());
-        List<NeutronPort> ans = new ArrayList<>();
-        ans.addAll(allPorts);
-        return ans;
-    }
-
-    @Override
-    public boolean addPort(NeutronPort input) {
-        if (portExists(input.getID())) {
-            return false;
-        }
-        addMd(input);
-        return true;
-    }
-
-    @Override
-    public boolean removePort(String uuid) {
-        if (!portExists(uuid)) {
-            return false;
-        }
-        return removeMd(toMd(uuid));
-    }
-
-    @Override
-    public boolean updatePort(String uuid, NeutronPort delta) {
-        if (!portExists(uuid)) {
-            return false;
-        }
-        updateMd(delta);
-        return true;
-    }
-
-    // @deprecated, will be removed in Boron
-    @Override
-    public boolean macInUse(String macAddress) {
-        return false;
-    }
-
-    // @deprecated, will be removed in Boron
-    @Override
-    public NeutronPort getGatewayPort(String subnetUUID) {
-        return null;
-    }
-
-    @Override
-    protected InstanceIdentifier<Port> createInstanceIdentifier(Port port) {
-        return InstanceIdentifier.create(Neutron.class)
-                .child(Ports.class)
-                .child(Port.class, port.getKey());
-    }
-
-    protected InstanceIdentifier<Ports> createInstanceIdentifier() {
-        return InstanceIdentifier.create(Neutron.class)
-                .child(Ports.class);
-    }
-
-    protected void addExtensions(Port port, NeutronPort result) {
-        PortBindingExtension binding = port.getAugmentation(PortBindingExtension.class);
-        result.setBindinghostID(binding.getHostId());
-        if (binding.getVifDetails() != null) {
-            final Map<String, String> details = new HashMap<>(binding.getVifDetails().size());
-            for (final VifDetails vifDetail : binding.getVifDetails()) {
-                details.put(vifDetail.getDetailsKey(), vifDetail.getValue());
-            }
-            result.setVIFDetails(details);
-        }
-        result.setBindingvifType(binding.getVifType());
-        result.setBindingvnicType(binding.getVnicType());
-    }
-
-    private void portSecurityExtension(Port port, NeutronPort result) {
-        PortSecurityExtension portSecurity = port.getAugmentation(PortSecurityExtension.class);
-        if(portSecurity != null && portSecurity.isPortSecurityEnabled() != null) {
-            result.setPortSecurityEnabled(portSecurity.isPortSecurityEnabled());
-        }
-    }
-
-    protected NeutronPort fromMd(Port port) {
-        NeutronPort result = new NeutronPort();
-        result.setAdminStateUp(port.isAdminStateUp());
-        if (port.getAllowedAddressPairs() != null) {
-            List<NeutronPort_AllowedAddressPairs> pairs = new ArrayList<>();
-            for (AllowedAddressPairs mdPair : port.getAllowedAddressPairs()) {
-                NeutronPort_AllowedAddressPairs pair = new NeutronPort_AllowedAddressPairs();
-                pair.setIpAddress(String.valueOf(mdPair.getIpAddress().getValue()));
-                pair.setMacAddress(mdPair.getMacAddress().getValue());
-                pairs.add(pair);
-            }
-            result.setAllowedAddressPairs(pairs);
-        }
-        result.setDeviceID(port.getDeviceId());
-        result.setDeviceOwner(port.getDeviceOwner());
-        if (port.getExtraDhcpOpts() != null) {
-            List<NeutronPort_ExtraDHCPOption> options = new ArrayList<>();
-            for (ExtraDhcpOpts opt : port.getExtraDhcpOpts()) {
-                NeutronPort_ExtraDHCPOption arg = new NeutronPort_ExtraDHCPOption();
-                arg.setName(opt.getOptName());
-                arg.setValue(opt.getOptValue());
-                options.add(arg);
-            }
-            result.setExtraDHCPOptions(options);
-        }
-        if (port.getFixedIps() != null) {
-            List<Neutron_IPs> ips = new ArrayList<>();
-            for (FixedIps mdIP : port.getFixedIps()) {
-                Neutron_IPs ip = new Neutron_IPs();
-                ip.setIpAddress(String.valueOf(mdIP.getIpAddress().getValue()));
-                ip.setSubnetUUID(mdIP.getSubnetId().getValue());
-                ips.add(ip);
-            }
-            result.setFixedIPs(ips);
-        }
-        result.setMacAddress(port.getMacAddress().getValue());
-        result.setName(port.getName());
-        result.setNetworkUUID(String.valueOf(port.getNetworkId().getValue()));
-        if (port.getSecurityGroups() != null) {
-            Set<NeutronSecurityGroup> allGroups = new HashSet<>();
-            NeutronCRUDInterfaces interfaces = new NeutronCRUDInterfaces().fetchINeutronSecurityGroupCRUD(this);
-            INeutronSecurityGroupCRUD sgIf = interfaces.getSecurityGroupInterface();
-            for (Uuid sgUuid : port.getSecurityGroups()) {
-                NeutronSecurityGroup secGroup = sgIf.getNeutronSecurityGroup(sgUuid.getValue());
-                if (secGroup != null) {
-                    allGroups.add(sgIf.getNeutronSecurityGroup(sgUuid.getValue()));
-                }
-            }
-            List<NeutronSecurityGroup> groups = new ArrayList<>();
-            groups.addAll(allGroups);
-            result.setSecurityGroups(groups);
-        }
-        result.setStatus(port.getStatus());
-        if (port.getTenantId() != null) {
-            result.setTenantID(String.valueOf(port.getTenantId().getValue()).replace("-", ""));
-        }
-        result.setPortUUID(String.valueOf(port.getUuid().getValue()));
-        addExtensions(port, result);
-        portSecurityExtension(port, result);
-        return result;
-    }
-
-    @Override
-    protected Port toMd(NeutronPort neutronPort) {
-        PortBindingExtensionBuilder bindingBuilder = new PortBindingExtensionBuilder();
-        if (neutronPort.getBindinghostID() != null) {
-            bindingBuilder.setHostId(neutronPort.getBindinghostID());
-        }
-        if (neutronPort.getVIFDetails() != null) {
-            final Map<String, String> vifDetails = neutronPort.getVIFDetails();
-            final List<VifDetails> listVifDetail = new ArrayList<>(vifDetails.size());
-            for (final Map.Entry<String, String> vifDetail : vifDetails.entrySet()) {
-                final VifDetailsBuilder vifDetailsBuilder = new VifDetailsBuilder();
-                if (vifDetail.getKey() != null) {
-                    vifDetailsBuilder.setDetailsKey(vifDetail.getKey());
-                }
-                if (vifDetail.getValue() != null) {
-                    vifDetailsBuilder.setValue(vifDetail.getValue());
-                }
-                listVifDetail.add(vifDetailsBuilder.build());
-            }
-            bindingBuilder.setVifDetails(listVifDetail);
-        }
-        if (neutronPort.getBindingvifType() != null) {
-            bindingBuilder.setVifType(neutronPort.getBindingvifType());
-        }
-        if (neutronPort.getBindingvnicType() != null) {
-            bindingBuilder.setVnicType(neutronPort.getBindingvnicType());
-        }
-
-        PortSecurityExtensionBuilder portSecurityBuilder = new PortSecurityExtensionBuilder();
-        if (neutronPort.getPortSecurityEnabled() != null) {
-            portSecurityBuilder.setPortSecurityEnabled(neutronPort.getPortSecurityEnabled());
-        }
-        PortBuilder portBuilder = new PortBuilder();
-        portBuilder.addAugmentation(PortBindingExtension.class,
-                                    bindingBuilder.build());
-        portBuilder.addAugmentation(PortSecurityExtension.class, portSecurityBuilder.build());
-        portBuilder.setAdminStateUp(neutronPort.isAdminStateUp());
-        if(neutronPort.getAllowedAddressPairs() != null) {
-            List<AllowedAddressPairs> listAllowedAddressPairs = new ArrayList<>();
-            for (NeutronPort_AllowedAddressPairs allowedAddressPairs : neutronPort.getAllowedAddressPairs()) {
-                    AllowedAddressPairsBuilder allowedAddressPairsBuilder = new AllowedAddressPairsBuilder();
-                    allowedAddressPairsBuilder.setIpAddress(new IpPrefixOrAddress(allowedAddressPairs.getIpAddress().toCharArray()));
-                    allowedAddressPairsBuilder.setMacAddress(new MacAddress(allowedAddressPairs.getMacAddress()));
-                    listAllowedAddressPairs.add(allowedAddressPairsBuilder.build());
-            }
-            portBuilder.setAllowedAddressPairs(listAllowedAddressPairs);
-        }
-        if (neutronPort.getDeviceID() != null) {
-            portBuilder.setDeviceId(neutronPort.getDeviceID());
-        }
-        if (neutronPort.getDeviceOwner() != null) {
-        portBuilder.setDeviceOwner(neutronPort.getDeviceOwner());
-        }
-        if (neutronPort.getExtraDHCPOptions() != null) {
-            List<ExtraDhcpOpts> listExtraDHCPOptions = new ArrayList<>();
-            for (NeutronPort_ExtraDHCPOption extraDHCPOption : neutronPort.getExtraDHCPOptions()) {
-                ExtraDhcpOptsBuilder extraDHCPOptsBuilder = new ExtraDhcpOptsBuilder();
-                extraDHCPOptsBuilder.setOptName(extraDHCPOption.getName());
-                extraDHCPOptsBuilder.setOptValue(extraDHCPOption.getValue());
-                listExtraDHCPOptions.add(extraDHCPOptsBuilder.build());
-            }
-            portBuilder.setExtraDhcpOpts(listExtraDHCPOptions);
-        }
-        if (neutronPort.getFixedIPs() != null) {
-            List<FixedIps> listNeutronIPs = new ArrayList<>();
-            for (Neutron_IPs neutron_IPs : neutronPort.getFixedIPs()) {
-                FixedIpsBuilder fixedIpsBuilder = new FixedIpsBuilder();
-                fixedIpsBuilder.setIpAddress(new IpAddress(neutron_IPs.getIpAddress().toCharArray()));
-                fixedIpsBuilder.setSubnetId(toUuid(neutron_IPs.getSubnetUUID()));
-                listNeutronIPs.add(fixedIpsBuilder.build());
-            }
-            portBuilder.setFixedIps(listNeutronIPs);
-        }
-        if (neutronPort.getMacAddress() != null) {
-            portBuilder.setMacAddress(new MacAddress(neutronPort.getMacAddress()));
-        }
-        if (neutronPort.getName() != null) {
-        portBuilder.setName(neutronPort.getName());
-        }
-        if (neutronPort.getNetworkUUID() != null) {
-        portBuilder.setNetworkId(toUuid(neutronPort.getNetworkUUID()));
-        }
-        if (neutronPort.getSecurityGroups() != null) {
-            List<Uuid> listSecurityGroups = new ArrayList<>();
-            for (NeutronSecurityGroup neutronSecurityGroup : neutronPort.getSecurityGroups()) {
-                listSecurityGroups.add(toUuid(neutronSecurityGroup.getID()));
-            }
-            portBuilder.setSecurityGroups(listSecurityGroups);
-        }
-        if (neutronPort.getStatus() != null) {
-            portBuilder.setStatus(neutronPort.getStatus());
-        }
-        if (neutronPort.getTenantID() != null) {
-            portBuilder.setTenantId(toUuid(neutronPort.getTenantID()));
-        }
-        if (neutronPort.getPortUUID() != null) {
-            portBuilder.setUuid(toUuid(neutronPort.getPortUUID()));
-        } else {
-            LOG.warn("Attempting to write neutron port without UUID");
-        }
-        return portBuilder.build();
-    }
-
-    @Override
-    protected Port toMd(String uuid) {
-        PortBuilder portBuilder = new PortBuilder();
-        portBuilder.setUuid(toUuid(uuid));
-        return portBuilder.build();
-    }
-
-    public static void registerNewInterface(BundleContext context,
-                                            final DataBroker dataBroker,
-                                            List<ServiceRegistration<?>> registrations) {
-        NeutronPortInterface neutronPortInterface = new NeutronPortInterface(dataBroker);
-        ServiceRegistration<INeutronPortCRUD> neutronPortInterfaceRegistration = context.registerService(INeutronPortCRUD.class, neutronPortInterface, null);
-        if(neutronPortInterfaceRegistration != null) {
-            registrations.add(neutronPortInterfaceRegistration);
-        }
-    }
-}