From 8575291412d87c4344e44079e33d2aeff9e417a3 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 6 Jul 2020 14:20:44 +0200 Subject: [ldap/systemctl] Wrapper script, systemd-ize ldadp handling --- .../org/openslx/taskmanager/tasks/LdadpLauncher.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/main/java/org/openslx/taskmanager/tasks/LdadpLauncher.java') diff --git a/src/main/java/org/openslx/taskmanager/tasks/LdadpLauncher.java b/src/main/java/org/openslx/taskmanager/tasks/LdadpLauncher.java index cb648b9..d1550c5 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/LdadpLauncher.java +++ b/src/main/java/org/openslx/taskmanager/tasks/LdadpLauncher.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.concurrent.atomic.AtomicReference; import org.openslx.satserver.util.Constants; +import org.openslx.satserver.util.Util; import org.openslx.taskmanager.api.SystemCommandTask; import com.google.gson.annotations.Expose; @@ -14,6 +15,9 @@ public class LdadpLauncher extends SystemCommandTask { @Expose private int[] ids = null; + + @Expose + private String command; private Output status = new Output(); @@ -27,13 +31,16 @@ public class LdadpLauncher extends SystemCommandTask status.addMessage( "No ids passed to task." ); return false; } + if ( Util.isEmpty( command ) ) { + command = "start"; + } return true; } @Override protected String[] initCommandLine() { - if ( !isRunning.compareAndSet( null, this ) ) { + if ( !command.equals( "check" ) && !isRunning.compareAndSet( null, this ) ) { LdadpLauncher other = isRunning.get(); if ( other != null && !Arrays.equals( this.ids, other.ids ) ) { status.addMessage( "Another operation is already in progress." ); @@ -44,14 +51,14 @@ public class LdadpLauncher extends SystemCommandTask args.addAll( Arrays.asList( new String[] { "/usr/bin/sudo", "-n", - "-u", "ldadp", Constants.BASEDIR + "/scripts/ldadp-launcher", - "/opt/ldadp", + "-u", "root", Constants.BASEDIR + "/scripts/ldadp-launcher", + "--" + command, "--" } ) ); for ( int i = 0; i < ids.length; ++i ) { args.add( Integer.toString( this.ids[i] ) ); } - this.timeoutSeconds = 8; + this.timeoutSeconds = 16; return args.toArray( new String[ args.size() ] ); } @@ -65,7 +72,7 @@ public class LdadpLauncher extends SystemCommandTask @Override protected void processStdOut( String line ) { - //status.addMessage( line ); + status.addMessage( line ); } @Override -- cgit v1.2.3-55-g7522