def METHOD_NAME(self, sessionref):
    # type: (str) -> None
    """
    In a pool, Citrix Hypervisors must have the same product version, so the version
    of the master hypervisors is also the version of the current hypervisor.
    https://docs.citrix.com/en-us/xencenter/current-release/pools-requirements.html
    """
    try:
        host = self.xenserver.session.get_this_host(sessionref, sessionref)
        if host.get('Status') != 'Success':
            self.log.warning('get_this_host call failed: %s', str(host))
        software_version = self.xenserver.host.get_software_version(sessionref, host['Value'])
        if software_version.get('Status') != 'Success':
            self.log.warning('get_software_version call failed: %s', str(software_version))
        product_version = software_version['Value'].get('product_version')
        if product_version:
            self.set_metadata('version', product_version)
    except Exception as e:
        self.log.warning("Couldn't get product version: %s", str(e))