def _upload_image_to_glance( self, context, src_file_name, image_id, instance): vm_task_state = instance.task_state file_size = os.path.getsize(src_file_name) read_file_handle = fileutils.file_open(src_file_name, "rb") metadata = IMAGE_API.get(context, image_id) # The properties and other fields that we need to set for the image. image_metadata = {"disk_format": "qcow2", "is_public": "false", "name": metadata['name'], "status": "active", "container_format": "bare", "size": file_size, "properties": {"owner_id": instance['project_id']}} util.start_transfer(context, read_file_handle, file_size, image_id=metadata['id'], image_meta=image_metadata, task_state=task_states.IMAGE_UPLOADING, instance=instance) self._update_vm_task_state(instance, task_state=vm_task_state)
def _download_vmdk_from_vcloud(self, context, src_url, dst_file_name): # local_file_handle = open(dst_file_name, "wb") local_file_handle = fileutils.file_open(dst_file_name, "wb") remote_file_handle = urllib2.urlopen(src_url) file_size = remote_file_handle.headers['content-length'] util.start_transfer(context, remote_file_handle, file_size, write_file_handle=local_file_handle)