import java.util.List;
import java.util.UUID;
-import org.opendaylight.neutron.spi.INeutronNetworkCRUD;
-import org.opendaylight.neutron.spi.INeutronPortCRUD;
-import org.opendaylight.neutron.spi.INeutronSecurityGroupCRUD;
-import org.opendaylight.neutron.spi.INeutronSecurityRuleCRUD;
-import org.opendaylight.neutron.spi.INeutronSubnetCRUD;
-import org.opendaylight.neutron.spi.NeutronNetwork;
-import org.opendaylight.neutron.spi.NeutronPort;
-import org.opendaylight.neutron.spi.NeutronSecurityGroup;
-import org.opendaylight.neutron.spi.NeutronSecurityRule;
-import org.opendaylight.neutron.spi.NeutronSubnet;
+import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork;
+import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronPort;
+import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup;
+import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityRule;
+import org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSubnet;
+import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronNetworkCRUD;
+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.INeutronSecurityRuleCRUD;
+import org.opendaylight.netvirt.openstack.netvirt.translator.crud.INeutronSubnetCRUD;
import org.opendaylight.netvirt.utils.servicehelper.ServiceHelper;
public class NeutronUtils {
np.setDeviceOwner(owner);
np.setMacAddress(mac);
np.setNetworkUUID(networkId);
- List<org.opendaylight.neutron.spi.Neutron_IPs> srcAddressList =
+ List<org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs> srcAddressList =
new ArrayList<>();
- org.opendaylight.neutron.spi.Neutron_IPs nip = new org.opendaylight.neutron.spi.Neutron_IPs();
+ org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs nip = new org.opendaylight.netvirt.openstack.netvirt.translator.Neutron_IPs();
nip.setIpAddress(ipaddr);
nip.setSubnetUUID(subnetId);
srcAddressList.add(nip);
np.setFixedIPs(srcAddressList);
List<NeutronSecurityGroup> nsgs = Arrays.asList(secGroups);
np.setSecurityGroups(nsgs);
- iNeutronPortCRUD.add(np);
+ iNeutronPortCRUD.addPort(np);
return np;
}
ns.initDefaults();
ns.setNetworkUUID(networkId);
ns.setTenantID(tenantId);
- iNeutronSubnetCRUD.add(ns);
+ iNeutronSubnetCRUD.addSubnet(ns);
return ns;
}
public NeutronSecurityRule buildNeutronSecurityRule(String direction, String ethertype, String protocol,
String ipPrefix, Integer portMin, Integer portMax) {
NeutronSecurityRule rule = new NeutronSecurityRule();
- rule.setSecurityRuleUUID(UUID.randomUUID().toString());
+ rule.setID(UUID.randomUUID().toString());
rule.setSecurityRemoteGroupID(null);
rule.setSecurityRuleDirection(direction);
rule.setSecurityRuleEthertype(ethertype);
String id = UUID.randomUUID().toString();
NeutronSecurityGroup sg = new NeutronSecurityGroup();
sg.setSecurityGroupName("SG-" + id);
- sg.setSecurityGroupUUID(id);
- sg.setTenantID(tenantId);
+ sg.setID(id);
+ sg.setSecurityGroupTenantID(tenantId);
List<NeutronSecurityRule> ruleList = new ArrayList<>(rules.length);
for (NeutronSecurityRule rule : rules) {
- rule.setTenantID(tenantId);
+ rule.setSecurityRuleTenantID(tenantId);
rule.setSecurityRuleGroupID(id);
ruleList.add(rule);
ruleCRUD.addNeutronSecurityRule(rule);
}
- sg.setSecurityRules(ruleList);
- groupCRUD.add(sg);
+ groupCRUD.addNeutronSecurityGroup(sg);
return sg;
}
public void removeNeutronSecurityGroupAndRules(NeutronSecurityGroup sg) {
INeutronSecurityGroupCRUD groupCRUD =
(INeutronSecurityGroupCRUD) ServiceHelper.getGlobalInstance(INeutronSecurityGroupCRUD.class, this);
+
+ groupCRUD.removeNeutronSecurityGroup(sg.getID());
+ }
+
+ /**
+ * Get the NeutronSecurityRule and its associated NeutronSecurityGroup
+ * @param sg NeutronSecurityGroup to to get the rules for
+ * @return List of NeutronSecurityRule
+ */
+ public List<NeutronSecurityRule> getNeutronSecurityGroupRules(NeutronSecurityGroup sg) {
INeutronSecurityRuleCRUD ruleCRUD =
(INeutronSecurityRuleCRUD) ServiceHelper.getGlobalInstance(INeutronSecurityRuleCRUD.class, this);
- for (NeutronSecurityRule rule : sg.getSecurityRules()) {
- ruleCRUD.removeNeutronSecurityRule(rule.getSecurityRuleUUID());
+ List<NeutronSecurityRule> rules = new ArrayList<>();
+ List<NeutronSecurityRule> securityRules = ruleCRUD.getAllNeutronSecurityRules();
+ for (NeutronSecurityRule securityRule : securityRules) {
+ if (sg.getID().equals(securityRule.getSecurityRuleGroupID())) {
+ rules.add(securityRule);
+ }
}
- groupCRUD.removeNeutronSecurityGroup(sg.getID());
+ return rules;
}
}