Fix use of urlparse.urljoin

This method only joins the first two parameters, the 3rd parameter
is a bool "allow_fragments". Passing in "object_name" as the third
param resulted in it getting lost. Use os.path.join instead.

Change-Id: I49506b2671465bf43ae346225919d4a0e6767b20
This commit is contained in:
Derek Higgins 2019-12-12 15:09:46 +00:00
parent 8a0b1a39f2
commit 59e766b3fd
3 changed files with 8 additions and 3 deletions

View File

@ -291,7 +291,7 @@ class RedfishVirtualMediaBoot(base.BootInterface):
shutil.copyfile(image_file, published_file)
image_url = urlparse.urljoin(
image_url = os.path.join(
CONF.deploy.http_url, cls.IMAGE_SUBDIR, object_name)
image_url = cls._append_filename_param(

View File

@ -250,7 +250,7 @@ class RedfishVirtualMediaBootTestCase(db_base.DbTestCase):
url = task.driver.boot._publish_image('file.iso', 'boot.iso')
self.assertEqual(
'http://localhost/redfish?filename=file.iso', url)
'http://localhost/redfish/boot.iso?filename=file.iso', url)
mock_mkdir.assert_called_once_with('/httpboot/redfish', 0x755)
mock_link.assert_called_once_with(
@ -272,7 +272,7 @@ class RedfishVirtualMediaBootTestCase(db_base.DbTestCase):
url = task.driver.boot._publish_image('file.iso', 'boot.iso')
self.assertEqual(
'http://localhost/redfish?filename=file.iso', url)
'http://localhost/redfish/boot.iso?filename=file.iso', url)
mock_mkdir.assert_called_once_with('/httpboot/redfish', 0x755)

View File

@ -0,0 +1,5 @@
---
fixes:
- |
Fix path used to virtual media iso, when served over
local HTTP server([redfish]use_swift=false).