diff options
| author | Jenkins <jenkins@review.openstack.org> | 2011-11-08 16:00:46 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2011-11-08 16:00:46 +0000 |
| commit | 53ea6a8e09c20e520f8cabc9c686b2363efe45cc (patch) | |
| tree | 56820d2571eedf60c24097c02d4f51ffafbb79ac /nova/api | |
| parent | ab633ec05494a8bde82a4a6d90ab057f1a4f9bbd (diff) | |
| parent | 77e1684332cfc6e2cad1f1fc93ab5fa6caf231b9 (diff) | |
| download | nova-53ea6a8e09c20e520f8cabc9c686b2363efe45cc.tar.gz nova-53ea6a8e09c20e520f8cabc9c686b2363efe45cc.tar.xz nova-53ea6a8e09c20e520f8cabc9c686b2363efe45cc.zip | |
Merge "Removing duplicate kernel/ramdisk check in OSAPI"
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/servers.py | 52 |
1 files changed, 1 insertions, 51 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index 949a33f43..a9b5af653 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -191,45 +191,6 @@ class Controller(object): msg = _("Server name is an empty string") raise exc.HTTPBadRequest(explanation=msg) - def _get_kernel_ramdisk_from_image(self, req, image_service, image_id): - """Fetch an image from the ImageService, then if present, return the - associated kernel and ramdisk image IDs. - """ - context = req.environ['nova.context'] - image_meta = image_service.show(context, image_id) - # NOTE(sirp): extracted to a separate method to aid unit-testing, the - # new method doesn't need a request obj or an ImageService stub - kernel_id, ramdisk_id = self._do_get_kernel_ramdisk_from_image( - image_meta) - return kernel_id, ramdisk_id - - @staticmethod - def _do_get_kernel_ramdisk_from_image(image_meta): - """Given an ImageService image_meta, return kernel and ramdisk image - ids if present. - - This is only valid for `ami` style images. - """ - image_id = image_meta['id'] - if image_meta['status'] != 'active': - raise exception.ImageUnacceptable(image_id=image_id, - reason=_("status is not active")) - - if image_meta.get('container_format') != 'ami': - return None, None - - try: - kernel_id = image_meta['properties']['kernel_id'] - except KeyError: - raise exception.KernelNotFoundForImage(image_id=image_id) - - try: - ramdisk_id = image_meta['properties']['ramdisk_id'] - except KeyError: - ramdisk_id = None - - return kernel_id, ramdisk_id - def _get_injected_files(self, personality): """ Create a list of injected files from the personality attribute @@ -363,15 +324,6 @@ class Controller(object): if str(image_href).startswith(req.application_url): image_href = image_href.split('/').pop() - try: - image_service, image_id = image.get_image_service(context, - image_href) - kernel_id, ramdisk_id = self._get_kernel_ramdisk_from_image( - req, image_service, image_id) - except Exception, e: - msg = _("Cannot find requested image %(image_href)s: %(e)s" % - locals()) - raise exc.HTTPBadRequest(explanation=msg) personality = server_dict.get('personality') config_drive = server_dict.get('config_drive') @@ -440,9 +392,7 @@ class Controller(object): (instances, resv_id) = self.compute_api.create(context, inst_type, - image_id, - kernel_id=kernel_id, - ramdisk_id=ramdisk_id, + image_href, display_name=name, display_description=name, key_name=key_name, |
