Merge "Do not append filename parameter to image URL when using local file"

This commit is contained in:
Zuul 2021-10-08 19:36:02 +00:00 committed by Gerrit Code Review
commit dfee830d01
3 changed files with 15 additions and 6 deletions

View File

@ -193,6 +193,8 @@ class ImageHandler(object):
object_headers=object_headers)
image_url = swift_api.get_temp_url(container, object_name, timeout)
image_url = self._append_filename_param(
image_url, os.path.basename(image_file))
else:
public_dir = os.path.join(CONF.deploy.http_root,
@ -221,9 +223,6 @@ class ImageHandler(object):
http_url = CONF.deploy.external_http_url or CONF.deploy.http_url
image_url = os.path.join(http_url, self._image_subdir, object_name)
image_url = self._append_filename_param(
image_url, os.path.basename(image_file))
return image_url

View File

@ -118,7 +118,7 @@ class RedfishImageHandlerTestCase(db_base.DbTestCase):
url = img_handler_obj.publish_image('file.iso', 'boot.iso')
self.assertEqual(
'http://localhost/redfish/boot.iso?filename=file.iso', url)
'http://localhost/redfish/boot.iso', url)
mock_mkdir.assert_called_once_with('/httpboot/redfish', 0o755)
mock_link.assert_called_once_with(
@ -140,7 +140,7 @@ class RedfishImageHandlerTestCase(db_base.DbTestCase):
url = img_handler_obj.publish_image('file.iso', 'boot.iso')
self.assertEqual(
'http://non-local.host/redfish/boot.iso?filename=file.iso', url)
'http://non-local.host/redfish/boot.iso', url)
mock_mkdir.assert_called_once_with('/httpboot/redfish', 0o755)
mock_link.assert_called_once_with(
@ -162,7 +162,7 @@ class RedfishImageHandlerTestCase(db_base.DbTestCase):
url = img_handler_obj.publish_image('file.iso', 'boot.iso')
self.assertEqual(
'http://localhost/redfish/boot.iso?filename=file.iso', url)
'http://localhost/redfish/boot.iso', url)
mock_mkdir.assert_called_once_with('/httpboot/redfish', 0o755)

View File

@ -0,0 +1,10 @@
---
fixes:
- |
Removing `?filename=file.iso` suffix from the virtual media image URL
when the image is a regular file due to incompatibility with SuperMicro
X12 machines which do not accept special characters such as `=` or `?`
in the URL. Historically, this suffix was being added to improve
compatibility with those BMCs which require `.iso` suffix in the URL
while using swift as the image store. Old behaviour will remain for swift
backed images.