From a1f596590235d7b76be1d6184a2f6d44857f5eb0 Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Wed, 24 Feb 2021 13:32:44 +0100 Subject: [PATCH] Enable swift temporary URLs in grenade and provide a good error message The fixed configdrive_use_object_store requires them. Change-Id: Ie7323ae107c7f801be010353c7c4f3b8a43c3a1a (cherry picked from commit 5533077c7d3c7afafe365173476e5580ea4b4ba0) --- ironic/common/swift.py | 7 ++++++- zuul.d/ironic-jobs.yaml | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ironic/common/swift.py b/ironic/common/swift.py index 7340912d6e..8a98c32d21 100644 --- a/ironic/common/swift.py +++ b/ironic/common/swift.py @@ -131,7 +131,12 @@ class SwiftAPI(object): parse_result = urlparse.urlparse(self.connection.url) swift_object_path = '/'.join((parse_result.path, container, obj)) - temp_url_key = account_info['x-account-meta-temp-url-key'] + temp_url_key = account_info.get('x-account-meta-temp-url-key') + if not temp_url_key: + raise exception.MissingParameterValue(_( + 'Swift temporary URLs require a shared secret to be ' + 'created. You must provide pre-generate the key on ' + 'the project used to access Swift.')) url_path = swift_utils.generate_temp_url(swift_object_path, timeout, temp_url_key, 'GET') return urlparse.urlunparse( diff --git a/zuul.d/ironic-jobs.yaml b/zuul.d/ironic-jobs.yaml index d61a3405ab..3508e4de0b 100644 --- a/zuul.d/ironic-jobs.yaml +++ b/zuul.d/ironic-jobs.yaml @@ -788,6 +788,8 @@ IRONIC_AUTOMATED_CLEAN_ENABLED: False Q_AGENT: openvswitch Q_ML2_TENANT_NETWORK_TYPE: vxlan + SWIFT_ENABLE_TEMPURLS: True + SWIFT_TEMPURL_KEY: secretkey EBTABLES_RACE_FIX: True LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images old: