diff --git a/managed/src/main/java/com/yugabyte/yw/commissioner/NodeAgentEnabler.java b/managed/src/main/java/com/yugabyte/yw/commissioner/NodeAgentEnabler.java index 6bd7893f5c64..75f9af26bb60 100644 --- a/managed/src/main/java/com/yugabyte/yw/commissioner/NodeAgentEnabler.java +++ b/managed/src/main/java/com/yugabyte/yw/commissioner/NodeAgentEnabler.java @@ -231,20 +231,23 @@ public boolean isNodeAgentClientEnabled(Provider provider, @Nullable Universe un * For 1 and 2, provider flag must not be checked. */ private boolean isBackgroundInstallNodeAgentEnabled(Universe universe) { + Cluster primaryCluster = universe.getUniverseDetails().getPrimaryCluster(); + if (primaryCluster.userIntent.useSystemd == false) { + log.info( + "Unsupported universe {} for background node-agent installation as systemd is disabled", + universe.getUniverseUUID()); + return false; + } return isNodeAgentEnabled( universe, p -> { - Cluster primaryCluster = universe.getUniverseDetails().getPrimaryCluster(); - if (primaryCluster.userIntent.useSystemd == false) { - return false; - } if (p.getCloudCode() != CloudType.onprem || p.getDetails().isSkipProvisioning()) { // Do not include provider flag for cloud and fully manual onprem providers when the // enabler is on. return !isEnabled(); } - // Onprem non-manual provider for which the provider flag is also checked. - return false; + // Always check provider flag for onprem non-manual providers. + return true; }) .orElse(false); } diff --git a/managed/src/test/java/com/yugabyte/yw/commissioner/NodeAgentEnablerTest.java b/managed/src/test/java/com/yugabyte/yw/commissioner/NodeAgentEnablerTest.java index 089de3493fb6..905c814c777f 100644 --- a/managed/src/test/java/com/yugabyte/yw/commissioner/NodeAgentEnablerTest.java +++ b/managed/src/test/java/com/yugabyte/yw/commissioner/NodeAgentEnablerTest.java @@ -149,6 +149,7 @@ private Universe createAwsUniverse( userIntent.provider = provider.getUuid().toString(); userIntent.universeName = name; userIntent.deviceInfo = ApiUtils.getDummyDeviceInfo(1, 100); + userIntent.useSystemd = true; Universe universe = ModelFactory.createUniverse(name, customer.getId(), providerType); universe = Universe.saveDetails(