Nsx policy: Allow 'bare' protocol in classifier

Allow tcp/udp classifier without ports

Change-Id: I7b3edea67cac67f980458adca9c8cdf06eadc4c2
This commit is contained in:
Anna Khmelnitsky
2017-09-12 15:36:09 -07:00
committed by Sumit Naiksatam
parent 0ccc027fcb
commit d0f68b42c0
2 changed files with 20 additions and 4 deletions

View File

@@ -396,10 +396,12 @@ class NsxPolicyMappingDriver(api.ResourceMappingDriver):
description=classifier['description'])
return
port_range = classifier['port_range'].split(':', 1)
lower = int(port_range[0])
upper = int(port_range[-1]) + 1
ports = [str(p) for p in range(lower, upper)]
ports = []
if classifier['port_range']:
port_range = classifier['port_range'].split(':', 1)
lower = int(port_range[0])
upper = int(port_range[-1]) + 1
ports = [str(p) for p in range(lower, upper)]
# service entry in nsx policy has single direction
# directions will be enforced on communication profile level

View File

@@ -220,6 +220,20 @@ class TestPolicyClassifier(NsxPolicyMappingTestCase):
dest_ports=port_list,
service_id=mock.ANY)
def test_create_without_ports(self):
with self._mock_service_create() as service_create_call:
self.create_policy_classifier(name='test',
protocol='TCP',
direction='in')
service_create_call.assert_called_with(
name=mock.ANY,
description=mock.ANY,
protocol='tcp',
dest_ports=[],
service_id=mock.ANY)
def test_icmp_lifecycle(self):
with self._mock_icmp_service_create() as service_create_call, \
self._mock_icmp_service_delete() as service_delete_call: