ACL: VM IP address failures and ID Pool issues 08/82908/2
authorShashidhar Raja <shashidharr@altencalsoftlabs.com>
Wed, 20 Feb 2019 15:21:01 +0000 (20:51 +0530)
committerFaseela K <faseela.k@ericsson.com>
Fri, 5 Jul 2019 07:18:07 +0000 (07:18 +0000)
commit0d87e1f4598ecff9b37f987632eee86f487b6afc
tree5299d69073d3e4a97f0f8e4a5c0b14a61732b4b3
parent6827c9074d8de6171bdc9c68652ed28aee1976ab
ACL: VM IP address failures and ID Pool issues

Below ACL issues are fixed:

(a) Issue: Tenant VM IP address failures

    Fix: Cache was not updated properly in AclInterfaceStateListener. This was
           resulting in wrong lport and dpnid in cache. Updated to rectify this
           problem in AclInterfaceStateListener.

(b) Issue: Ids exhausted for pool : ACL-TAG-POOL

    Fix: In Event listener there was wrong check for SecurityRule in
         add(), remove() and update() methods. The check in remove() some times
         was resulting in releaseId of ACL-TAG-POOL not being called. This was
         resulting in Ids exhausted when large number of ACLs were created and
         deleted. Check for SecurityRule in add(), remove() and update() is
         removed to fix the problem.

(b) Issue: ACL-TAG-POOL error with releaseId

    Fix: In the current code, releaseId of ACL-TAG-POOL is called on all
         the nodes of cluster. On one node releaseId would have succeeded and
         on other two nodes, error reported would be observed. Code is updated
         now to invoke releaseId with Entirty check so that it gets executed on
         only one node instead of all the nodes.

Change-Id: Iba0e6486795cfd867db03487b24c069ac06f35eb
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/AbstractAclServiceImpl.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclEventListener.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclInterfaceStateListener.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclDataUtil.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java
aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclDataUtilTest.java