Imported vpnservice as a subtree
[netvirt.git] / utils / neutron-utils / src / main / java / org / opendaylight / netvirt / utils / neutron / utils / NeutronUtils.java
1 /*
2  * Copyright © 2016 Red Hat, Inc. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.netvirt.utils.neutron.utils;
10
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;
21
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();
28         np.initDefaults();
29         np.setID(id);
30         np.setDeviceOwner(owner);
31         np.setMacAddress(mac);
32         np.setNetworkUUID(networkId);
33         List<org.opendaylight.neutron.spi.Neutron_IPs> srcAddressList =
34                 new ArrayList<>();
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);
43         return np;
44     }
45
46     public boolean removeNeutronPort(String uuid) {
47         INeutronPortCRUD iNeutronPortCRUD =
48                 (INeutronPortCRUD) ServiceHelper.getGlobalInstance(INeutronPortCRUD.class, this);
49         return iNeutronPortCRUD.removePort(uuid);
50     }
51
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();
57         ns.setID(subnetId);
58         ns.setCidr(cidr);
59         ns.initDefaults();
60         ns.setNetworkUUID(networkId);
61         ns.setTenantID(tenantId);
62         iNeutronSubnetCRUD.add(ns);
63         return ns;
64     }
65
66     public boolean removeNeutronSubnet(String uuid) {
67         INeutronSubnetCRUD iNeutronSubnetCRUD =
68                 (INeutronSubnetCRUD) ServiceHelper.getGlobalInstance(INeutronSubnetCRUD.class, this);
69         return iNeutronSubnetCRUD.removeSubnet(uuid);
70     }
71
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();
76         nn.setID(uuid);
77         nn.initDefaults();
78         nn.setTenantID(tenantID);
79         nn.setProviderNetworkType(networkTypeVxlan);
80         nn.setProviderSegmentationID(segId);
81         iNeutronNetworkCRUD.addNetwork(nn);
82         return nn;
83     }
84
85     public boolean removeNeutronNetwork(String uuid) {
86         INeutronNetworkCRUD iNeutronNetworkCRUD =
87                 (INeutronNetworkCRUD) ServiceHelper.getGlobalInstance(INeutronNetworkCRUD.class, this);
88         return iNeutronNetworkCRUD.removeNetwork(uuid);
89
90     }
91 }