public static bool CanActivate(Host host)
 {
     //This check used to be "_expiresText != Messages.LICENSE_NEVER" but I've swapped it for
     //"!host.isOEM" according to the ticket CA-37336 where this 3rd part of the check was added
     //OEM licenses (< XS ver 5.5) have perpetual (2036) expiry dates
     return host.IsFreeLicense() && host.IsFloodgateOrLater() && !host.isOEM && !Helpers.ClearwaterOrGreater(host);
 }
Exemple #2
0
        private static bool PaidHostFreeMaster(Host slave, Host master)
        {
            if (slave == null || master == null)
                return false;

            // Is using per socket generation licenses?
            if (Helpers.ClearwaterOrGreater(slave) && Helpers.ClearwaterOrGreater(master))
                return !slave.IsFreeLicense() && master.IsFreeLicense();

            return (!Host.RestrictHA(slave) && Host.RestrictHA(master));
        }
Exemple #3
0
        public static bool FreeHostPaidMaster(Host slave, Host master, bool allowLicenseUpgrade)
        {
            if (slave == null || master == null)
                return false;

            // Is using per socket generation licenses?
            if (Helpers.ClearwaterOrGreater(slave) && Helpers.ClearwaterOrGreater(master))
                return slave.IsFreeLicense() && !master.IsFreeLicense() && !allowLicenseUpgrade;

            if (Host.RestrictHA(slave) && !Host.RestrictHA(master))
            {
                // See http://scale.ad.xensource.com/confluence/display/engp/v6+licensing+for+XenServer+Essentials, req R21a.
                // That section implies that we should downgrade a paid host to join a free pool, but that can't be the intention
                // (confirmed by Carl Fischer). Carl's also not concerned about fixing up Enterprise/Platinum mismatches.
                if (allowLicenseUpgrade)
                    return false;
                return true;
            }
            return false;
        }
 public static bool CanActivate(Host host)
 {
     return host.IsFreeLicense() && !Helpers.ClearwaterOrGreater(host);
 }