]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Set IPset hash type to 'net' instead of 'ip'
authorKevin Benton <blak111@gmail.com>
Tue, 31 Mar 2015 06:52:56 +0000 (23:52 -0700)
committerKevin Benton <kevinbenton@buttewifi.com>
Fri, 17 Apr 2015 01:16:41 +0000 (01:16 +0000)
commita38b5df5cd3c47672705aad4c30e789ae11ec958
tree34a66ae0da27fc6295b98dd9d0c5e8e8c3c14133
parentaf0197456477939f738cf24527ff4edda6e5e9e2
Set IPset hash type to 'net' instead of 'ip'

The previous hash type was 'ip' and this caused a major
issue with the allowed address pairs extension since it
results in CIDRs being passed to ipset. When the hash type
is 'ip', a CIDR is completely enumerated into all of its
addresses so 10.100.0.0/16 results in ~65k entries. This
meant a single allowed_address_pairs entry could easily
exhaust an entire set.

This patch changes the hash type to 'net', which is designed
to handle a CIDRs as a single entry.

This patch also changes the names of the ipsets because
creating an ipset with different parameters will cause an
error and our ipset manager code isn't robust enough to handle
that at this time. There is another ongoing patch to fix
that but it won't be ready in time.[1]

The related bug was closed by increasing the set limit, which
did alleviate the problem. However, this change would also
address the issue because the gate tests run an allowed address
pairs extension test with the CIDR mentioned above.

1. I59e2e1c090cb95ee1bd14dbb53b6ff2c5e2713fd

Related-Bug: #1439817
Closes-Bug: #1444397
Change-Id: I8177699b157cd3eac46e2f481f47b5d966c49b07
neutron/agent/linux/ipset_manager.py
neutron/tests/unit/agent/linux/test_ipset_manager.py
neutron/tests/unit/agent/test_securitygroups_rpc.py