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); }
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)); }
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); }