def test_image_compression(self): # Testing for nova.conf, too low, negative, and a correct value. self.assertEqual(vm_utils.get_compression_level(), None) self.flags(xenapi_image_compression_level=0) self.assertEqual(vm_utils.get_compression_level(), None) self.flags(xenapi_image_compression_level=-6) self.assertEqual(vm_utils.get_compression_level(), None) self.flags(xenapi_image_compression_level=6) self.assertEqual(vm_utils.get_compression_level(), 6)
def upload_image(self, context, session, instance, image_id, vdi_uuids): try: host_url = CONF.xenserver.connection_url level = vm_utils.get_compression_level() metadata = self._get_metadata(context, instance, image_id) image_chunks = xenapi_image.stream_from_vdis( context, session, instance, host_url, vdi_uuids, compresslevel=level) image_stream = utils.IterableToFileAdapter(image_chunks) IMAGE_API.update(context, image_id, metadata, data=image_stream) except xenapi_exception.OsXenApiException as e: LOG.error("Image upload failed with exception: %s", e) raise exception.CouldNotUploadImage(image_id=image_id)
def upload_image(self, context, session, instance, image_id, vdi_uuids): try: host_url = CONF.xenserver.connection_url level = vm_utils.get_compression_level() metadata = self._get_metadata(context, instance, image_id) image_chunks = xenapi_image.stream_from_vdis(context, session, instance, host_url, vdi_uuids, compresslevel=level) image_stream = utils.IterableToFileAdapter(image_chunks) IMAGE_API.update(context, image_id, metadata, data=image_stream) except xenapi_exception.OsXenApiException as e: LOG.error("Image upload failed with exception: %s", e) raise exception.CouldNotUploadImage(image_id=image_id)
def upload_image(self, context, session, instance, vdi_uuids, image_id): params = self._make_params(context, session, image_id) params['vdi_uuids'] = vdi_uuids props = params['properties'] = {} props['auto_disk_config'] = instance['auto_disk_config'] props['os_type'] = instance['os_type'] or CONF.default_os_type compression_level = vm_utils.get_compression_level() if compression_level: props['xenapi_image_compression_level'] = compression_level try: self._call_glance_plugin(session, 'upload_vhd', params) except exception.PluginRetriesExceeded: raise exception.CouldNotUploadImage(image_id=image_id)
def upload_image(self, context, session, instance, image_id, vdi_uuids): params = self._make_params(context, session, image_id) params["vdi_uuids"] = vdi_uuids props = params["properties"] = {} props["auto_disk_config"] = instance["auto_disk_config"] props["os_type"] = instance.get("os_type", None) or (CONF.xenserver.default_os_type) compression_level = vm_utils.get_compression_level() if compression_level: props["xenapi_image_compression_level"] = compression_level auto_disk_config = utils.get_auto_disk_config_from_instance(instance) if utils.is_auto_disk_config_disabled(auto_disk_config): props["auto_disk_config"] = "disabled" try: self._call_glance_plugin(context, instance, session, "upload_vhd2", params) except exception.PluginRetriesExceeded: raise exception.CouldNotUploadImage(image_id=image_id)
def upload_image(self, context, session, instance, image_id, vdi_uuids): params = {'vdi_uuids': vdi_uuids} props = params['properties'] = {} props['auto_disk_config'] = instance['auto_disk_config'] props['os_type'] = instance.get( 'os_type', None) or (CONF.xenserver.default_os_type) compression_level = vm_utils.get_compression_level() if compression_level: props['xenapi_image_compression_level'] = compression_level auto_disk_config = utils.get_auto_disk_config_from_instance(instance) if utils.is_auto_disk_config_disabled(auto_disk_config): props["auto_disk_config"] = "disabled" try: self._call_glance_plugin(context, instance, session, host_glance.upload_vhd, image_id, params) except xenapi_exception.PluginRetriesExceeded: raise exception.CouldNotUploadImage(image_id=image_id)
def upload_image(self, context, session, instance, image_id, vdi_uuids): params = {'vdi_uuids': vdi_uuids} props = params['properties'] = {} props['auto_disk_config'] = instance['auto_disk_config'] props['os_type'] = instance.get('os_type', None) or ( CONF.xenserver.default_os_type) compression_level = vm_utils.get_compression_level() if compression_level: props['xenapi_image_compression_level'] = compression_level auto_disk_config = utils.get_auto_disk_config_from_instance(instance) if utils.is_auto_disk_config_disabled(auto_disk_config): props["auto_disk_config"] = "disabled" try: self._call_glance_plugin(context, instance, session, host_glance.upload_vhd, image_id, params) except xenapi_exception.PluginRetriesExceeded: raise exception.CouldNotUploadImage(image_id=image_id) except xenapi_exception.PluginImageNotFound: raise exception.ImageNotFound(image_id=image_id)