From f4417cb97dab2cdc4cadab47f06660ce55c8609c Mon Sep 17 00:00:00 2001 From: Jesper Schmitz Mouridsen Date: Wed, 30 Sep 2020 22:06:13 +0200 Subject: [PATCH] Add textarea field for allowed_cidrs in the listener api Change-Id: I5af4b0735bafca3e541558974140502454ce39db --- octavia_dashboard/api/rest/lbaasv2.py | 2 ++ .../project/lbaasv2/listeners/details/detail.html | 2 +- .../project/lbaasv2/listeners/details/drawer.html | 2 +- .../project/lbaasv2/listeners/listeners.module.js | 4 ++++ .../lbaasv2/workflow/listener/listener.help.html | 7 +++++++ .../project/lbaasv2/workflow/listener/listener.html | 11 +++++++++++ .../project/lbaasv2/workflow/model.service.js | 4 +++- .../project/lbaasv2/workflow/model.service.spec.js | 2 +- .../notes/add-allowed-cidrs-ad205b1524da3d2c.yaml | 4 ++++ 9 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 releasenotes/notes/add-allowed-cidrs-ad205b1524da3d2c.yaml diff --git a/octavia_dashboard/api/rest/lbaasv2.py b/octavia_dashboard/api/rest/lbaasv2.py index e3113022..ff1349c1 100644 --- a/octavia_dashboard/api/rest/lbaasv2.py +++ b/octavia_dashboard/api/rest/lbaasv2.py @@ -185,6 +185,7 @@ def create_listener(request, **kwargs): timeout_member_connect=data['listener'].get('timeout_member_connect'), timeout_member_data=data['listener'].get('timeout_member_data'), timeout_tcp_inspect=data['listener'].get('timeout_tcp_inspect'), + allowed_cidrs=data['listener'].get('allowed_cidrs') ) if data.get('pool'): @@ -457,6 +458,7 @@ def update_listener(request, **kwargs): timeout_member_connect=data['listener'].get('timeout_member_connect'), timeout_member_data=data['listener'].get('timeout_member_data'), timeout_tcp_inspect=data['listener'].get('timeout_tcp_inspect'), + allowed_cidrs=data['listener'].get('allowed_cidrs') ) if data.get('pool'): diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/detail.html b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/detail.html index c396c9ac..522ba568 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/detail.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/detail.html @@ -53,7 +53,7 @@ 'id', 'name', 'description', 'project_id', 'created_at', 'updated_at', 'connection_limit', 'insert_headers', 'default_pool_id', 'timeout_client_data', 'timeout_member_connect', - 'timeout_member_data', 'timeout_tcp_inspect' + 'timeout_member_data', 'timeout_tcp_inspect', 'allowed_cidrs' ]]"> diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/drawer.html b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/drawer.html index c72d1ae4..21aa9c4c 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/drawer.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/details/drawer.html @@ -6,6 +6,6 @@ ['created_at', 'updated_at', 'description'], ['protocol', 'protocol_port', 'connection_limit'], ['insert_headers', 'default_pool_id', 'timeout_client_data'], - ['timeout_member_connect', 'timeout_member_data', 'timeout_tcp_inspect'] + ['timeout_member_connect', 'timeout_member_data', 'timeout_tcp_inspect', 'allowed_cidrs'] ]"> diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/listeners.module.js b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/listeners.module.js index 78792f77..fb9be478 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/listeners.module.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/listeners.module.js @@ -177,6 +177,10 @@ loadBalancerService.nullFilter ] }, + allowed_cidrs: { + label: gettext('Allowed Cidrs'), + filters: ['noValue'] + }, timeout_client_data: gettext('Client Data Timeout'), timeout_member_connect: gettext('Member Connect Timeout'), timeout_member_data: gettext('Member Data Timeout'), diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.help.html b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.help.html index 4ffe70b9..862d9606 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.help.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.help.html @@ -62,3 +62,10 @@ Backend member inactivity timeout in milliseconds. Default: 50000.

+

+ Allowed Cidrs: + + A newline separated list of cidrs to be allowed to connect to the listener. + An empty list means allow from any. + +

diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.html b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.html index 87ce38c2..9f658ac3 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/listener/listener.html @@ -154,6 +154,17 @@ +
+
+ + + +
+

Insert Headers

diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js index b85dca3f..1d7466e7 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js @@ -169,7 +169,8 @@ timeout_client_data: 50000, timeout_member_connect: 5000, timeout_member_data: 50000, - timeout_tcp_inspect: 0 + timeout_tcp_inspect: 0, + allowed_cidrs: null }, l7policy: { id: null, @@ -801,6 +802,7 @@ spec.timeout_member_connect = listener.timeout_member_connect; spec.timeout_member_data = listener.timeout_member_data; spec.timeout_tcp_inspect = listener.timeout_tcp_inspect; + spec.allowed_cidrs = listener.allowed_cidrs; } function setL7PolicySpec(l7policy) { diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.spec.js index 6070ff88..ec6621cf 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.spec.js @@ -1298,7 +1298,7 @@ it('has the right number of properties', function() { expect(Object.keys(model.spec).length).toBe(11); expect(Object.keys(model.spec.loadbalancer).length).toBe(7); - expect(Object.keys(model.spec.listener).length).toBe(14); + expect(Object.keys(model.spec.listener).length).toBe(15); expect(Object.keys(model.spec.l7policy).length).toBe(8); expect(Object.keys(model.spec.l7rule).length).toBe(7); expect(Object.keys(model.spec.pool).length).toBe(7); diff --git a/releasenotes/notes/add-allowed-cidrs-ad205b1524da3d2c.yaml b/releasenotes/notes/add-allowed-cidrs-ad205b1524da3d2c.yaml new file mode 100644 index 00000000..eeb600a1 --- /dev/null +++ b/releasenotes/notes/add-allowed-cidrs-ad205b1524da3d2c.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Add the ability to set allowed_cidrs on the listeners