'Reads the passed location from xenstore for the given vm. Missing
paths are ignored, unless explicitly stated not to, which causes
xenstore to raise an exception. A XenAPIPlugin.PluginError is raised
if any error is encountered in the read process.'

def _read_from_xenstore(self, instance, path, ignore_missing_path=True, vm_ref=None):

    dom_id = self._get_dom_id(instance, vm_ref)
    try:
        return host_xenstore.read_record(self._session, dom_id, path, ignore_missing_path=ignore_missing_path)
    except XenAPI.Failure as e:
        return self._process_plugin_exception(e, 'read_record', instance)
