From ed8564ef2ae1a1218fddf130b6c77646d4acdc51 Mon Sep 17 00:00:00 2001 From: Gregory Thiemonge Date: Wed, 18 Nov 2020 15:12:59 +0100 Subject: [PATCH] Add tls_enabled param for Octavia Pools tls_enabled parameter allows the user to enable TLS communication between a load balancer and its members. Story 2008368 Task 41278 Change-Id: If0a2e0c98403baa5fcb2352fc99239106d27ffc6 --- openstack/load_balancer/v2/pool.py | 5 ++++- openstack/tests/unit/load_balancer/test_pool.py | 4 ++++ ...enabled-parameter-for-octavia-pools-f0a23436d826b313.yaml | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/add-tls_enabled-parameter-for-octavia-pools-f0a23436d826b313.yaml diff --git a/openstack/load_balancer/v2/pool.py b/openstack/load_balancer/v2/pool.py index 8ba1385d7..dfc0642d1 100644 --- a/openstack/load_balancer/v2/pool.py +++ b/openstack/load_balancer/v2/pool.py @@ -29,7 +29,8 @@ class Pool(resource.Resource, resource.TagMixin): 'health_monitor_id', 'lb_algorithm', 'listener_id', 'loadbalancer_id', 'description', 'name', 'project_id', 'protocol', 'created_at', 'updated_at', 'provisioning_status', 'operating_status', - 'tls_ciphers', 'tls_versions', is_admin_state_up='admin_state_up', + 'tls_enabled', 'tls_ciphers', 'tls_versions', + is_admin_state_up='admin_state_up', **resource.TagMixin._tag_query_parameters ) @@ -72,3 +73,5 @@ class Pool(resource.Resource, resource.TagMixin): tls_versions = resource.Body('tls_versions', type=list) #: Timestamp when the pool was updated updated_at = resource.Body('updated_at') + #: Use TLS for connections to backend member servers *Type: bool* + tls_enabled = resource.Body('tls_enabled', type=bool) diff --git a/openstack/tests/unit/load_balancer/test_pool.py b/openstack/tests/unit/load_balancer/test_pool.py index 93773490c..34b313f6b 100644 --- a/openstack/tests/unit/load_balancer/test_pool.py +++ b/openstack/tests/unit/load_balancer/test_pool.py @@ -35,6 +35,7 @@ EXAMPLE = { 'health_monitor': 'healthmonitor', 'health_monitor_id': uuid.uuid4(), 'members': [{'id': uuid.uuid4()}], + 'tls_enabled': True, 'tls_ciphers': 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256', 'tls_versions': ['TLSv1.1', 'TLSv1.2'], } @@ -83,6 +84,8 @@ class TestPool(base.TestCase): self.assertEqual(EXAMPLE['health_monitor_id'], test_pool.health_monitor_id) self.assertEqual(EXAMPLE['members'], test_pool.members) + self.assertEqual(EXAMPLE['tls_enabled'], + test_pool.tls_enabled) self.assertEqual(EXAMPLE['tls_ciphers'], test_pool.tls_ciphers) self.assertEqual(EXAMPLE['tls_versions'], @@ -109,6 +112,7 @@ class TestPool(base.TestCase): 'listener_id': 'listener_id', 'loadbalancer_id': 'loadbalancer_id', 'protocol': 'protocol', + 'tls_enabled': 'tls_enabled', 'tls_ciphers': 'tls_ciphers', 'tls_versions': 'tls_versions', }, diff --git a/releasenotes/notes/add-tls_enabled-parameter-for-octavia-pools-f0a23436d826b313.yaml b/releasenotes/notes/add-tls_enabled-parameter-for-octavia-pools-f0a23436d826b313.yaml new file mode 100644 index 000000000..e3cc8675a --- /dev/null +++ b/releasenotes/notes/add-tls_enabled-parameter-for-octavia-pools-f0a23436d826b313.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Add ``tls_enabled`` parameter for Octavia pools, it can be used to enable + TLS communications between a load balancer and its member servers.