From: J. Eric Ivancich Date: Tue, 21 Apr 2020 15:28:58 +0000 (+0000) Subject: qa/rgw: allow the rgw teuthology task to capture/set dns names X-Git-Tag: v16.1.0~2428^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=89654d0477a25592fafbc438aacce12988dc23c1;p=ceph.git qa/rgw: allow the rgw teuthology task to capture/set dns names A teuthology workunit might want to use the rgw task, setting the rgw-dns-name and/or rgw-dns-s3website-name configuration options to the fully-qualified domain name. Existing code implies that setting these configuration options to the empty string will do that. However the current logic does not support that given it has Python conditionals that treat the empty string as false. This fixes that. Now the following teuthology tasks YAML will work as expected: tasks: - rgw: client.0: dns-name: '' dns-s3website-name: '' Signed-off-by: J. Eric Ivancich --- diff --git a/qa/tasks/rgw.py b/qa/tasks/rgw.py index 70bc9f88cfa6..75004c87a459 100644 --- a/qa/tasks/rgw.py +++ b/qa/tasks/rgw.py @@ -104,9 +104,9 @@ def start_rgw(ctx, config, clients): ]) - if client_config.get('dns-name'): + if client_config.get('dns-name') is not None: rgw_cmd.extend(['--rgw-dns-name', endpoint.dns_name]) - if client_config.get('dns-s3website-name'): + if client_config.get('dns-s3website-name') is not None: rgw_cmd.extend(['--rgw-dns-s3website-name', endpoint.website_dns_name]) @@ -223,9 +223,8 @@ def assign_endpoints(ctx, config, default_cert): dns_name += remote.hostname website_dns_name = client_config.get('dns-s3website-name') - if website_dns_name: - if len(website_dns_name) == 0 or website_dns_name.endswith('.'): - website_dns_name += remote.hostname + if website_dns_name is not None and (len(website_dns_name) == 0 or website_dns_name.endswith('.')): + website_dns_name += remote.hostname role_endpoints[role] = RGWEndpoint(remote.hostname, port, ssl_certificate, dns_name, website_dns_name)