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);
 }
示例#2
0
 private static bool PaidHostFreeMaster(Host slave, Host master)
 {
     return (slave.IsFloodgateOrLater() && master.IsFloodgateOrLater() &&
         !Host.RestrictHAFloodgate(slave) && Host.RestrictHAFloodgate(master));
 }
示例#3
0
 public static bool FreeHostPaidMaster(Host slave, Host master, bool allowLicenseUpgrade)
 {
     if (slave != null && master != null &&
         slave.IsFloodgateOrLater() && master.IsFloodgateOrLater() &&
         Host.RestrictHAFloodgate(slave) && !Host.RestrictHAFloodgate(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 && Helpers.MidnightRideOrGreater(master))
             return false;
         return true;
     }
     return false;
 }
示例#4
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 (slave.IsFloodgateOrLater() && master.IsFloodgateOrLater() &&
                !Host.RestrictHAFloodgate(slave) && Host.RestrictHAFloodgate(master));
        }