From 3f7333ad07eed674a824bad2f193c040972c092e Mon Sep 17 00:00:00 2001 From: Naorem Khogendro Singh Date: Mon, 14 Oct 2024 09:39:19 -0700 Subject: [PATCH] [PLAT-15713] Do not run background node-agent installer for onprem non-manual providers Summary: Check provider flag for node-agent for onprem non-manual providers to decide whether to run background job or not. Test Plan: Minor change. No regression should happen (itests). Reviewers: amalyshev, cwang, sanketh Reviewed By: cwang Subscribers: yugaware Differential Revision: https://phorge.dev.yugabyte.com/D39019 --- .../yw/commissioner/NodeAgentEnabler.java | 15 +++++++++------ .../yw/commissioner/NodeAgentEnablerTest.java | 1 + 2 files changed, 10 insertions(+), 6 deletions(-) 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(