Use sudo only for non-root user

This commit is contained in:
vishesh92 2026-04-09 16:52:38 +05:30
parent b7159ba0df
commit b7d50a5d21
No known key found for this signature in database
GPG Key ID: 4E395186CBFA790B
2 changed files with 5 additions and 4 deletions

View File

@ -323,8 +323,9 @@ public class CAManagerImpl extends ManagerBase implements CAManager {
provisionCertificateViaSsh(sshConnection, hostIp, host.getName(), caProvider);
SSHCmdHelper.sshExecuteCmd(sshConnection, "sudo systemctl restart libvirtd");
SSHCmdHelper.sshExecuteCmd(sshConnection, "sudo systemctl restart cloudstack-agent");
String sudoPrefix = "root".equals(username) ? "" : "sudo ";
SSHCmdHelper.sshExecuteCmd(sshConnection, sudoPrefix + "systemctl restart libvirtd");
SSHCmdHelper.sshExecuteCmd(sshConnection, sudoPrefix + "systemctl restart cloudstack-agent");
return true;
} catch (Exception e) {

View File

@ -290,8 +290,8 @@ public class CAManagerImplTest {
Assert.assertTrue(result);
Mockito.verify(caManager, Mockito.times(1)).provisionCertificateViaSsh(Mockito.any(Connection.class), Mockito.eq("192.168.1.1"), Mockito.eq("host1"), Mockito.eq("root"));
sshCmdHelperMock.verify(() -> SSHCmdHelper.sshExecuteCmd(Mockito.any(Connection.class), Mockito.eq("sudo service libvirtd restart")), Mockito.times(1));
sshCmdHelperMock.verify(() -> SSHCmdHelper.sshExecuteCmd(Mockito.any(Connection.class), Mockito.eq("sudo service cloudstack-agent restart")), Mockito.times(1));
sshCmdHelperMock.verify(() -> SSHCmdHelper.sshExecuteCmd(Mockito.any(Connection.class), Mockito.eq("systemctl restart libvirtd")), Mockito.times(1));
sshCmdHelperMock.verify(() -> SSHCmdHelper.sshExecuteCmd(Mockito.any(Connection.class), Mockito.eq("systemctl restart cloudstack-agent")), Mockito.times(1));
}
}