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 0f8cc92683..ff252f9d96 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: