Merge "Do not append filename parameter to image URL when using local file"
This commit is contained in:
commit
dfee830d01
|
@ -193,6 +193,8 @@ class ImageHandler(object):
|
||||||
object_headers=object_headers)
|
object_headers=object_headers)
|
||||||
|
|
||||||
image_url = swift_api.get_temp_url(container, object_name, timeout)
|
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:
|
else:
|
||||||
public_dir = os.path.join(CONF.deploy.http_root,
|
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
|
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 = 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
|
return image_url
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@ class RedfishImageHandlerTestCase(db_base.DbTestCase):
|
||||||
url = img_handler_obj.publish_image('file.iso', 'boot.iso')
|
url = img_handler_obj.publish_image('file.iso', 'boot.iso')
|
||||||
|
|
||||||
self.assertEqual(
|
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_mkdir.assert_called_once_with('/httpboot/redfish', 0o755)
|
||||||
mock_link.assert_called_once_with(
|
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')
|
url = img_handler_obj.publish_image('file.iso', 'boot.iso')
|
||||||
|
|
||||||
self.assertEqual(
|
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_mkdir.assert_called_once_with('/httpboot/redfish', 0o755)
|
||||||
mock_link.assert_called_once_with(
|
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')
|
url = img_handler_obj.publish_image('file.iso', 'boot.iso')
|
||||||
|
|
||||||
self.assertEqual(
|
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_mkdir.assert_called_once_with('/httpboot/redfish', 0o755)
|
||||||
|
|
||||||
|
|
|
@ -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.
|
Loading…
Reference in New Issue