Merge "Make overcloud image upload honor --image-path" into stable/ocata

This commit is contained in:
Jenkins 2017-02-28 06:53:17 +00:00 committed by Gerrit Code Review
commit f8f2972120
2 changed files with 51 additions and 6 deletions

View File

@ -560,6 +560,33 @@ class TestUploadOvercloudImage(TestPluginV1):
'"/httpboot/agent.ramdisk"', shell=True)
])
@mock.patch('os.path.isfile')
@mock.patch('subprocess.check_call', autospec=True)
def test_overcloud_create_images_image_path(self, mock_subprocess_call,
mock_isfile):
parsed_args = self.check_parser(self.cmd,
['--image-path', '/foo'],
[])
self.cmd._image_try_update = mock.Mock()
mock_isfile.return_value = False
self.cmd.take_action(parsed_args)
expected = [
mock.call('overcloud-full-vmlinuz', '/foo/overcloud-full.vmlinuz',
mock.ANY),
mock.call('overcloud-full-initrd', '/foo/overcloud-full.initrd',
mock.ANY),
mock.call('overcloud-full', '/foo/overcloud-full.qcow2',
mock.ANY),
mock.call('bm-deploy-kernel', '/foo/ironic-python-agent.kernel',
mock.ANY),
mock.call('bm-deploy-ramdisk',
'/foo/ironic-python-agent.initramfs',
mock.ANY),
]
self.assertEqual(expected, self.cmd._image_try_update.mock_calls)
@mock.patch('subprocess.check_call', autospec=True)
def test_overcloud_create_noupdate_images(self, mock_subprocess_call):
parsed_args = self.check_parser(self.cmd, [], [])

View File

@ -813,7 +813,10 @@ class UploadOvercloudImage(command.Command):
# vmlinuz and initrd only need to be uploaded for a partition image
if not parsed_args.whole_disk:
oc_vmlinuz_name = '%s-vmlinuz' % image_name
oc_vmlinuz_file = '%s.vmlinuz' % image_name
oc_vmlinuz_extension = '.vmlinuz'
oc_vmlinuz_file = os.path.join(parsed_args.image_path,
image_name +
oc_vmlinuz_extension)
kernel = (self._image_try_update(oc_vmlinuz_name,
oc_vmlinuz_file,
parsed_args) or
@ -826,7 +829,10 @@ class UploadOvercloudImage(command.Command):
))
oc_initrd_name = '%s-initrd' % image_name
oc_initrd_file = '%s.initrd' % image_name
oc_initrd_extension = '.initrd'
oc_initrd_file = os.path.join(parsed_args.image_path,
image_name +
oc_initrd_extension)
ramdisk = (self._image_try_update(oc_initrd_name,
oc_initrd_file,
parsed_args) or
@ -839,7 +845,10 @@ class UploadOvercloudImage(command.Command):
))
oc_name = image_name
oc_file = '%s.qcow2' % image_name
oc_extension = '.qcow2'
oc_file = os.path.join(parsed_args.image_path,
image_name +
oc_extension)
overcloud_image = (self._image_try_update(oc_name, oc_file,
parsed_args) or
glance_client_adaptor.upload_image(
@ -865,7 +874,10 @@ class UploadOvercloudImage(command.Command):
else:
oc_name = image_name
oc_file = '%s.qcow2' % image_name
oc_extension = '.qcow2'
oc_file = os.path.join(parsed_args.image_path,
image_name +
oc_extension)
overcloud_image = (self._image_try_update(oc_name, oc_file,
parsed_args) or
glance_client_adaptor.upload_image(
@ -881,7 +893,10 @@ class UploadOvercloudImage(command.Command):
self.log.debug("uploading bm images to glance")
deploy_kernel_name = 'bm-deploy-kernel'
deploy_kernel_file = '%s.kernel' % os.environ['AGENT_NAME']
deploy_kernel_extension = '.kernel'
deploy_kernel_file = os.path.join(parsed_args.image_path,
os.environ['AGENT_NAME'] +
deploy_kernel_extension)
self._image_try_update(deploy_kernel_name, deploy_kernel_file,
parsed_args) or \
glance_client_adaptor.upload_image(
@ -893,7 +908,10 @@ class UploadOvercloudImage(command.Command):
deploy_kernel_file))
deploy_ramdisk_name = 'bm-deploy-ramdisk'
deploy_ramdisk_file = '%s.initramfs' % os.environ['AGENT_NAME']
deploy_ramdisk_extension = '.initramfs'
deploy_ramdisk_file = os.path.join(parsed_args.image_path,
os.environ['AGENT_NAME'] +
deploy_ramdisk_extension)
self._image_try_update(deploy_ramdisk_name, deploy_ramdisk_file,
parsed_args) or \
glance_client_adaptor.upload_image(