Browse Source

Update security acknowledgement messages for basic (#41776)

When applying a license update, we provide "acknowledgement messages"
that indicate which features will be affected by the change in license.

This commit updates the messages that are provided when installing a
basic license, so that they reflect the changes made to the security
features that are included in that license type.
Tim Vernum 6 years ago
parent
commit
db7bfea7ad

+ 9 - 4
x-pack/plugin/core/src/main/java/org/elasticsearch/license/XPackLicenseState.java

@@ -95,13 +95,18 @@ public class XPackLicenseState {
         switch (newMode) {
             case BASIC:
                 switch (currentMode) {
-                    case TRIAL:
                     case STANDARD:
+                        return new String[] {
+                            "Security will default to disabled (set " + XPackSettings.SECURITY_ENABLED.getKey() + " to enable security).",
+                        };
+                    case TRIAL:
                     case GOLD:
                     case PLATINUM:
                         return new String[] {
-                            "The following X-Pack security functionality will be disabled: authentication, authorization, " +
-                                "ip filtering, and auditing. Please restart your node after applying the license.",
+                            "Security will default to disabled (set " + XPackSettings.SECURITY_ENABLED.getKey() + " to enable security).",
+                            "Authentication will be limited to the native and file realms.",
+                            "Security tokens and API keys will not be supported.",
+                            "IP filtering and auditing will be disabled.",
                             "Field and document level access control will be disabled.",
                             "Custom realms will be ignored.",
                             "A custom authorization engine will be ignored."
@@ -125,7 +130,7 @@ public class XPackLicenseState {
             case STANDARD:
                 switch (currentMode) {
                     case BASIC:
-                        // ^^ though technically it was already disabled, it's not bad to remind them
+                        // ^^ though technically it doesn't change the feature set, it's not bad to remind them
                     case GOLD:
                     case PLATINUM:
                     case TRIAL:

+ 10 - 2
x-pack/plugin/core/src/test/java/org/elasticsearch/license/XPackLicenseStateTests.java

@@ -62,6 +62,10 @@ public class XPackLicenseStateTests extends ESTestCase {
         return randomFrom(TRIAL, PLATINUM);
     }
 
+    public static OperationMode randomTrialGoldOrPlatinumMode() {
+        return randomFrom(TRIAL, GOLD, PLATINUM);
+    }
+
     public static OperationMode randomTrialBasicStandardGoldOrPlatinumMode() {
         return randomFrom(TRIAL, BASIC, STANDARD, GOLD, PLATINUM);
     }
@@ -263,8 +267,12 @@ public class XPackLicenseStateTests extends ESTestCase {
         assertAckMesssages(XPackField.SECURITY, randomMode(), randomTrialOrPlatinumMode(), 0);
     }
 
-    public void testSecurityAckTrialStandardGoldOrPlatinumToBasic() {
-        assertAckMesssages(XPackField.SECURITY, randomTrialStandardGoldOrPlatinumMode(), BASIC, 4);
+    public void testSecurityAckTrialGoldOrPlatinumToBasic() {
+        assertAckMesssages(XPackField.SECURITY, randomTrialGoldOrPlatinumMode(), BASIC, 7);
+    }
+
+    public void testSecurityAckStandardToBasic() {
+        assertAckMesssages(XPackField.SECURITY, STANDARD, BASIC, 1);
     }
 
     public void testSecurityAckAnyToStandard() {