2 * Copyright © 2016 Red Hat, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.netvirt.utils.neutron.utils;
11 import java.util.ArrayList;
12 import java.util.List;
13 import org.opendaylight.neutron.spi.INeutronNetworkCRUD;
14 import org.opendaylight.neutron.spi.INeutronPortCRUD;
15 import org.opendaylight.neutron.spi.INeutronSubnetCRUD;
16 import org.opendaylight.neutron.spi.NeutronNetwork;
17 import org.opendaylight.neutron.spi.NeutronPort;
18 import org.opendaylight.neutron.spi.NeutronSecurityGroup;
19 import org.opendaylight.neutron.spi.NeutronSubnet;
20 import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper;
22 public class NeutronUtils {
23 public NeutronPort createNeutronPort(String networkId, String subnetId,
24 String id, String owner, String ipaddr, String mac) {
25 INeutronPortCRUD iNeutronPortCRUD =
26 (INeutronPortCRUD) ServiceHelper.getGlobalInstance(INeutronPortCRUD.class, this);
27 NeutronPort np = new NeutronPort();
30 np.setDeviceOwner(owner);
31 np.setMacAddress(mac);
32 np.setNetworkUUID(networkId);
33 List<org.opendaylight.neutron.spi.Neutron_IPs> srcAddressList =
35 org.opendaylight.neutron.spi.Neutron_IPs nip = new org.opendaylight.neutron.spi.Neutron_IPs();
36 nip.setIpAddress(ipaddr);
37 nip.setSubnetUUID(subnetId);
38 srcAddressList.add(nip);
39 np.setFixedIPs(srcAddressList);
40 List<NeutronSecurityGroup> nsgs = new ArrayList<>();
41 np.setSecurityGroups(nsgs);
42 iNeutronPortCRUD.add(np);
46 public boolean removeNeutronPort(String uuid) {
47 INeutronPortCRUD iNeutronPortCRUD =
48 (INeutronPortCRUD) ServiceHelper.getGlobalInstance(INeutronPortCRUD.class, this);
49 return iNeutronPortCRUD.removePort(uuid);
52 public NeutronSubnet createNeutronSubnet(String subnetId, String tenantId,
53 String networkId, String cidr) {
54 INeutronSubnetCRUD iNeutronSubnetCRUD =
55 (INeutronSubnetCRUD) ServiceHelper.getGlobalInstance(INeutronSubnetCRUD.class, this);
56 NeutronSubnet ns = new NeutronSubnet();
60 ns.setNetworkUUID(networkId);
61 ns.setTenantID(tenantId);
62 iNeutronSubnetCRUD.add(ns);
66 public boolean removeNeutronSubnet(String uuid) {
67 INeutronSubnetCRUD iNeutronSubnetCRUD =
68 (INeutronSubnetCRUD) ServiceHelper.getGlobalInstance(INeutronSubnetCRUD.class, this);
69 return iNeutronSubnetCRUD.removeSubnet(uuid);
72 public NeutronNetwork createNeutronNetwork(String uuid, String tenantID, String networkTypeVxlan, String segId) {
73 INeutronNetworkCRUD iNeutronNetworkCRUD =
74 (INeutronNetworkCRUD) ServiceHelper.getGlobalInstance(INeutronNetworkCRUD.class, this);
75 NeutronNetwork nn = new NeutronNetwork();
78 nn.setTenantID(tenantID);
79 nn.setProviderNetworkType(networkTypeVxlan);
80 nn.setProviderSegmentationID(segId);
81 iNeutronNetworkCRUD.addNetwork(nn);
85 public boolean removeNeutronNetwork(String uuid) {
86 INeutronNetworkCRUD iNeutronNetworkCRUD =
87 (INeutronNetworkCRUD) ServiceHelper.getGlobalInstance(INeutronNetworkCRUD.class, this);
88 return iNeutronNetworkCRUD.removeNetwork(uuid);