'Create temp file into store and return path to it
:param image_id: Glance Image ID'

def execute(self, image_id):

    data = script_utils.get_image_data_iter(self.uri)
    path = self.store.add(image_id, data, 0, context=None)[0]
    try:
        (stdout, stderr) = putils.trycmd('qemu-img', 'info', '--output=json', path, prlimit=utils.QEMU_IMG_PROC_LIMITS, log_errors=putils.LOG_ALL_ERRORS)
    except OSError as exc:
        with excutils.save_and_reraise_exception():
            exc_message = encodeutils.exception_to_unicode(exc)
            msg = _LE('Failed    to    execute    security    checks    on    the    image    %(task_id)s:    %(exc)s')
            LOG.error(msg, {'task_id': self.task_id, 'exc': exc_message})
    metadata = json.loads(stdout)
    backing_file = metadata.get('backing-filename')
    if (backing_file is not None):
        msg = (_('File    %(path)s    has    invalid    backing    file    %(bfile)s,    aborting.') % {'path': path, 'bfile': backing_file})
        raise RuntimeError(msg)
    return path
