Introduce trivial helpers to manage image_files and names

This is a trivial re-factor but subsequent patches will increase
complexity of these helpers without clogging up callers with this logic.

Blueprint: multiarch-support
Change-Id: If9b115880e9755f2753a2e53a5869e12a17722a3
This commit is contained in:
Tony Breeds 2018-01-10 17:02:37 +11:00
parent e5ce9a836e
commit 9db478bf0f
5 changed files with 78 additions and 12 deletions

View File

@ -142,6 +142,7 @@ stevedore==1.20.0
Tempita==0.5.2
tenacity==4.9.0
testrepository==0.0.18
testscenarios===0.4
testtools==2.2.0
tooz==1.58.0
traceback2==1.4.0

View File

@ -10,3 +10,4 @@ mock>=2.0.0 # BSD
testrepository>=0.0.18 # Apache-2.0/BSD
testtools>=2.2.0 # MIT
requests-mock>=1.2.0 # Apache-2.0
testscenarios>=0.4 # Apache-2.0/BSD

View File

@ -24,6 +24,7 @@ from heatclient import exc as hc_exc
from uuid import uuid4
from testscenarios import TestWithScenarios
from unittest import TestCase
import yaml
@ -767,3 +768,41 @@ class GetTripleoAnsibleInventory(TestCase):
ssh_user='heat_admin',
stack='foo-overcloud'
)
class TestOvercloudNameScenarios(TestWithScenarios):
scenarios = [
('kernel_default',
dict(func=utils.overcloud_kernel,
basename='overcloud-full',
expected=('overcloud-full-vmlinuz', '.vmlinuz'))),
('ramdisk_default',
dict(func=utils.overcloud_ramdisk,
basename='overcloud-full',
expected=('overcloud-full-initrd', '.initrd'))),
('image_default',
dict(func=utils.overcloud_image,
basename='overcloud-full',
expected=('overcloud-full', '.qcow2'))),
]
def test_overcloud_params(self):
observed = self.func(self.basename)
self.assertEqual(self.expected, observed)
class TestDeployNameScenarios(TestWithScenarios):
scenarios = [
('kernel_default',
dict(func=utils.deploy_kernel,
expected=('bm-deploy-kernel', '.kernel'))),
('ramdisk_default',
dict(func=utils.deploy_ramdisk,
expected=('bm-deploy-ramdisk', '.initramfs'))),
]
def test_deploy_params(self):
observed = self.func()
self.assertEqual(self.expected, observed)

View File

@ -1184,3 +1184,28 @@ def configure_logging(log, level, log_file):
fhandler.setFormatter(formatter)
log.addHandler(fhandler)
def overcloud_kernel(basename):
return ('%s-vmlinuz' % basename,
'.vmlinuz')
def overcloud_ramdisk(basename):
return ('%s-initrd' % basename,
'.initrd')
def overcloud_image(basename):
return (basename,
'.qcow2')
def deploy_kernel():
return ('bm-deploy-kernel',
'.kernel')
def deploy_ramdisk():
return ('bm-deploy-ramdisk',
'.initramfs')

View File

@ -307,8 +307,8 @@ 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_extension = '.vmlinuz'
(oc_vmlinuz_name,
oc_vmlinuz_extension) = plugin_utils.overcloud_kernel(image_name)
oc_vmlinuz_file = os.path.join(parsed_args.image_path,
image_name +
oc_vmlinuz_extension)
@ -323,8 +323,8 @@ class UploadOvercloudImage(command.Command):
parsed_args.image_path, oc_vmlinuz_file)
))
oc_initrd_name = '%s-initrd' % image_name
oc_initrd_extension = '.initrd'
(oc_initrd_name,
oc_initrd_extension) = plugin_utils.overcloud_ramdisk(image_name)
oc_initrd_file = os.path.join(parsed_args.image_path,
image_name +
oc_initrd_extension)
@ -339,8 +339,8 @@ class UploadOvercloudImage(command.Command):
parsed_args.image_path, oc_initrd_file)
))
oc_name = image_name
oc_extension = '.qcow2'
(oc_name,
oc_extension) = plugin_utils.overcloud_image(image_name)
oc_file = os.path.join(parsed_args.image_path,
image_name +
oc_extension)
@ -368,8 +368,8 @@ class UploadOvercloudImage(command.Command):
'image. You can keep it or fix it manually.')
else:
oc_name = image_name
oc_extension = '.qcow2'
(oc_name,
oc_extension) = plugin_utils.overcloud_image(image_name)
oc_file = os.path.join(parsed_args.image_path,
image_name +
oc_extension)
@ -387,8 +387,8 @@ class UploadOvercloudImage(command.Command):
self.log.debug("uploading bm images to glance")
deploy_kernel_name = 'bm-deploy-kernel'
deploy_kernel_extension = '.kernel'
(deploy_kernel_name,
deploy_kernel_extension) = plugin_utils.deploy_kernel()
deploy_kernel_file = os.path.join(parsed_args.image_path,
parsed_args.ipa_name +
deploy_kernel_extension)
@ -402,8 +402,8 @@ class UploadOvercloudImage(command.Command):
parsed_args.image_path,
deploy_kernel_file))
deploy_ramdisk_name = 'bm-deploy-ramdisk'
deploy_ramdisk_extension = '.initramfs'
(deploy_ramdisk_name,
deploy_ramdisk_extension) = plugin_utils.deploy_ramdisk()
deploy_ramdisk_file = os.path.join(parsed_args.image_path,
parsed_args.ipa_name +
deploy_ramdisk_extension)