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