}
NeutronPort neutronPort = neutronPortCache.getPort(neutronPortId);
if (neutronPort == null) {
- return false;
+ neutronPort = neutronL3Adapter.getPortFromCleanupCache(neutronPortId);
+ if (neutronPort == null) {
+ LOG.error("isPortSecurityReady for {}", terminationPointAugmentation.getName()
+ + "not found");
+ return false;
+ }
}
String deviceOwner = neutronPort.getDeviceOwner();
if (!deviceOwner.contains("compute")) {
LOG.error("neutron port is null");
return neutronSecurityGroups;
}
- LOG.trace("isPortSecurityReady for {}", terminationPointAugmentation.getName());
+ LOG.trace("getSecurityGroupInPortList for {}", terminationPointAugmentation.getName());
String neutronPortId = southbound.getInterfaceExternalIdsValue(terminationPointAugmentation,
Constants.EXTERNAL_ID_INTERFACE_ID);
if (neutronPortId == null) {
}
NeutronPort neutronPort = neutronPortCache.getPort(neutronPortId);
if (neutronPort == null) {
- return neutronSecurityGroups;
+ neutronPort = neutronL3Adapter.getPortFromCleanupCache(neutronPortId);
+ if (neutronPort == null) {
+ LOG.error("getSecurityGroupInPortList for {}", terminationPointAugmentation.getName()
+ + "not found.");
+ return neutronSecurityGroups;
+ }
}
neutronSecurityGroups = neutronPort.getSecurityGroups();
return neutronSecurityGroups;
neutronPort = neutronPortCache.getPort(neutronPortId);
}
- if (neutronPort == null ){
+ if (neutronPort == null){
neutronPort = neutronL3Adapter.getPortFromCleanupCache(neutronPortId);
if (neutronPort == null)
{
- LOG.info("getDHCPServerPort: neutron port of {} is not found", neutronPortId);
+ LOG.error("getDHCPServerPort: neutron port of {} is not found", neutronPortId);
return null;
}
LOG.info("getDHCPServerPort: neutron port of {} got from cleanupcache", neutronPortId);
}
NeutronPort neutronPort = neutronPortCache.getPort(neutronPortId);
if (neutronPort == null) {
- LOG.error("getNeutronPortFromDhcpIntf: neutron port of {} is not found", neutronPortId);
- return null;
+ neutronPort = neutronL3Adapter.getPortFromCleanupCache(neutronPortId);
+ if (neutronPort == null) {
+ LOG.error("getNeutronPortFromDhcpIntf: neutron port of {} is not found", neutronPortId);
+ return null;
+ }
}
/* if the current port is a DHCP port, return true*/
if (neutronPort.getDeviceOwner().contains("dhcp")) {
neutronPort = neutronPortCache.getPort(neutronPortId);
}
- if (neutronPort == null ){
+ if (neutronPort == null) {
LOG.trace("getNeutronPortFromCache: neutron port of {} search in cleanupcache", neutronPortId);
neutronPort = neutronL3Adapter.getPortFromCleanupCache(neutronPortId);
if (neutronPort == null)
{
- LOG.info("getNeutronPortFromCache: neutron port of {} is not found", neutronPortId);
+ LOG.error("getNeutronPortFromCache: neutron port of {} is not found", neutronPortId);
return null;
}
LOG.trace("getNeutronPortFromCache: neutron port of {} got from cleanupcache", neutronPortId);
}
- }catch (Exception e) {
+ } catch (Exception e) {
LOG.warn("getNeutronPortFromCache:getNeutronPortFromCache failed due to ", e);
return null;
}
@Override
public boolean isComputePort(OvsdbTerminationPointAugmentation terminationPointAugmentation) {
if (neutronPortCache == null) {
- LOG.warn("neutronPortCache null");
+ LOG.warn("neutronPortCache null");
}
NeutronPort neutronPort = null;
LOG.trace("isComputePort for {}", terminationPointAugmentation.getName());
}
if (neutronPort == null) {
neutronPort = getNeutronPortFromCache(terminationPointAugmentation);
- if (neutronPort == null)
- return false;
+ if (neutronPort == null) {
+ return false;
+ }
}
/*Check the device owner and if it contains compute to identify
* whether it is a compute port.*/
/*For every port check whether security grouplist contains the current
* security group.*/
try {
- for (NeutronPort neutronPort:neutronPortCache.getAllPorts()) {
+ for (NeutronPort neutronPort:neutronL3Adapter.getPortCleanupCache()) {
if (!neutronPort.getDeviceOwner().contains("compute")) {
LOG.debug("getVMListForSecurityGroup : the port {} is not "
+ "compute port belongs to {}", neutronPort.getID(), neutronPort.getDeviceOwner());
import java.lang.reflect.Field;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import org.junit.Before;
@Mock OvsdbTerminationPointAugmentation tp;
@Mock IngressAclProvider ingressAclService;
@Mock EgressAclProvider egressAclService;
+ @Mock NeutronL3Adapter neutronL3Adapter;
private static final String NEUTRON_PORT_ID_VM_1 = "neutronID_VM_1";
private static final String NEUTRON_PORT_ID_VM_2 = "neutronID_VM_2";
portList.add(neutronPort_Vm2);
portList.add(neutronPort_Vm3);
portList.add(neutronPort_Dhcp);
- when(neutronPortCache.getAllPorts()).thenReturn(portList);
+ when(neutronL3Adapter.getPortCleanupCache()).thenReturn(new HashSet<NeutronPort>(portList));
List<Neutron_IPs> ipList = securityServicesImpl.getVmListForSecurityGroup(NEUTRON_PORT_ID_VM_1, SECURITY_GROUP_ID_2);
assertEquals(ipList,neutron_IPs_2);
}