Skip to content
This repository has been archived by the owner on Aug 9, 2024. It is now read-only.

Commit

Permalink
services.ec2: Create a utility method to create get the image_name
Browse files Browse the repository at this point in the history
Signed-off-by: Sayan Chowdhury <[email protected]>
  • Loading branch information
sayanchowdhury committed Aug 24, 2017
1 parent 580759f commit 150a475
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 8 deletions.
6 changes: 6 additions & 0 deletions fedimg/services/ec2/ec2imguploader.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,12 @@ def __init__(self, *args, **kwargs):
for (prop, default) in defaults.iteritems():
setattr(self, prop, kwargs.get(prop, default))

def set_image_virt_type(self, virt_type):
self.image_virtualization_type = virt_type

def set_image_name(self, image_name):
self.image_name = image_name

def _determine_root_device_name(self):
root_device_name = '/dev/sda'
if self.image_virt_type == 'hvm':
Expand Down
20 changes: 13 additions & 7 deletions fedimg/services/ec2/ec2initiate.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@

import fedimg.messenger

from fedimg.services.ec2.config import AWS_VOLUME_TYPES, BASE_REGION
from fedimg.services.ec2.config import AWS_VOLUME_TYPES, AWS_BASE_REGION
from fedimg.services.ec2.ec2imguploader import EC2ImageUploader
from fedimg.services.ec2.ec2imgpublisher import EC2ImagePublisher
from fedimg.utils import get_virt_types_from_url, get_source_for_image
from fedimg.utils import get_image_name_for_image
from fedimg.utils import get_virt_types_from_url, get_source_from_image
from fedimg.utils import get_image_name_from_image

LOG = logging.getLogger("fedmsg")

Expand Down Expand Up @@ -71,7 +71,7 @@ def main(image_urls, access_id, secret_key, regions, volume_types=None,
volume_types = AWS_VOLUME_TYPES

if regions is None:
regions = [BASE_REGION]
regions = [AWS_BASE_REGION]

for image_url in image_urls:

Expand All @@ -82,11 +82,9 @@ def main(image_urls, access_id, secret_key, regions, volume_types=None,
else:
virt_types = ex_virt_types

source = get_source_for_image(image_url)
image_name = get_image_name_for_image(image_url)
source = get_source_from_image(image_url)

uploader = EC2ImageUploader(
image_name=image_name,
access_key=access_id,
secret_key=secret_key,
volume_via_s3=volume_via_s3,
Expand All @@ -108,6 +106,14 @@ def main(image_urls, access_id, secret_key, regions, volume_types=None,
LOG.debug('(uploader) Virtualization type '
'is set to: %r' % virt_type)

image_name = get_image_name_from_image(
image_url=image_url,
virt_type=virt_type,
region=region,
volume_type=volume_type
)
uploader.set_image_name(image_name)

uploader.set_image_volume_type(volume_type)
LOG.debug('(uploader) Volume type is set to: %r' % volume_type)

Expand Down
21 changes: 20 additions & 1 deletion fedimg/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,11 @@ def get_item_from_regex(regex, output):
raise NotImplementedError


def get_source_for_image(image_url):
def get_file_name_image(image_url):
return image_url.split('/')[-1]


def get_source_from_image(image_url):
tmpdir = tempfile.mkdtemp()
log.info(" Preparing temporary directory for download: %r" % tmpdir)
output, error = external_run_command(
Expand All @@ -125,3 +129,18 @@ def get_source_for_image(image_url):
)

return output, error


def get_image_name_from_image(image_url, virt_type='', region='', respin='0',
volume_type=''):

file_name = get_file_name_image(image_url)
build_name = file_name.replace('.raw.xz', '')

return '-'.join(filter(lambda x: x, [
build_name,
virt_type,
region,
volume_type,
respin]
))

0 comments on commit 150a475

Please sign in to comment.