hudson.plugins.sshslaves
Class SSHLauncher

java.lang.Object
  extended by hudson.model.AbstractDescribableImpl<hudson.slaves.ComputerLauncher>
      extended by hudson.slaves.ComputerLauncher
          extended by hudson.plugins.sshslaves.SSHLauncher
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.slaves.ComputerLauncher>

public class SSHLauncher
extends hudson.slaves.ComputerLauncher

A computer launcher that tries to start a linux slave by opening an SSH connection and trying to find java.


Nested Class Summary
static class SSHLauncher.DefaultJavaProvider
           
static class SSHLauncher.DescriptorImpl
           
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Field Summary
 
Fields inherited from class hudson.slaves.ComputerLauncher
LIST
 
Constructor Summary
SSHLauncher(java.lang.String host, int port, java.lang.String username, java.lang.String password, java.lang.String privatekey, java.lang.String jvmOptions)
          Constructor SSHLauncher creates a new SSHLauncher instance.
 
Method Summary
 void afterDisconnect(hudson.slaves.SlaveComputer slaveComputer, hudson.model.TaskListener listener)
          
protected  java.lang.String checkJavaVersion(java.io.PrintStream logger, java.lang.String javaCommand, java.io.BufferedReader r, java.io.StringWriter output)
          Given the output of "java -version" in r, determine if this version of Java is supported.
 com.trilead.ssh2.Connection getConnection()
           
 java.lang.String getHost()
          Getter for property 'host'.
 java.lang.String getJvmOptions()
          Gets the JVM Options used to launch the slave JVM.
 java.lang.String getPassword()
          Getter for property 'password'.
 int getPort()
          Getter for property 'port'.
 java.lang.String getPrivatekey()
          Getter for property 'privatekey'.
protected  java.lang.String getTimestamp()
          Gets the formatted current time stamp.
 java.lang.String getUsername()
          Getter for property 'username'.
 boolean isLaunchSupported()
          
 void launch(hudson.slaves.SlaveComputer computer, hudson.model.TaskListener listener)
          
protected  void openConnection(hudson.model.TaskListener listener)
           
protected  void reportEnvironment(hudson.model.TaskListener listener)
           
protected  java.lang.String resolveJava(hudson.slaves.SlaveComputer computer, hudson.model.TaskListener listener)
          Finds local Java, and if none exist, install one.
 
Methods inherited from class hudson.slaves.ComputerLauncher
afterDisconnect, beforeDisconnect, beforeDisconnect, launch
 
Methods inherited from class hudson.model.AbstractDescribableImpl
getDescriptor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SSHLauncher

@DataBoundConstructor
public SSHLauncher(java.lang.String host,
                                        int port,
                                        java.lang.String username,
                                        java.lang.String password,
                                        java.lang.String privatekey,
                                        java.lang.String jvmOptions)
Constructor SSHLauncher creates a new SSHLauncher instance.

Parameters:
host - The host to connect to.
port - The port to connect on.
username - The username to connect as.
password - The password to connect with.
privatekey - The ssh privatekey to connect with.
jvmOptions -
Method Detail

isLaunchSupported

public boolean isLaunchSupported()

Overrides:
isLaunchSupported in class hudson.slaves.ComputerLauncher

getJvmOptions

public java.lang.String getJvmOptions()
Gets the JVM Options used to launch the slave JVM.

Returns:

getTimestamp

protected java.lang.String getTimestamp()
Gets the formatted current time stamp.

Returns:
the formatted current time stamp.

launch

public void launch(hudson.slaves.SlaveComputer computer,
                   hudson.model.TaskListener listener)
            throws java.lang.InterruptedException

Overrides:
launch in class hudson.slaves.ComputerLauncher
Throws:
java.lang.InterruptedException

resolveJava

protected java.lang.String resolveJava(hudson.slaves.SlaveComputer computer,
                                       hudson.model.TaskListener listener)
                                throws java.lang.InterruptedException,
                                       hudson.util.IOException2
Finds local Java, and if none exist, install one.

Throws:
java.lang.InterruptedException
hudson.util.IOException2

reportEnvironment

protected void reportEnvironment(hudson.model.TaskListener listener)
                          throws java.io.IOException,
                                 java.lang.InterruptedException
Throws:
java.io.IOException
java.lang.InterruptedException

checkJavaVersion

protected java.lang.String checkJavaVersion(java.io.PrintStream logger,
                                            java.lang.String javaCommand,
                                            java.io.BufferedReader r,
                                            java.io.StringWriter output)
                                     throws java.io.IOException
Given the output of "java -version" in r, determine if this version of Java is supported. This method has default visiblity for testing.

Parameters:
logger - where to log the output
javaCommand - the command executed, used for logging
r - the output of "java -version"
output - copy the data from r into this output buffer
Throws:
java.io.IOException

openConnection

protected void openConnection(hudson.model.TaskListener listener)
                       throws java.io.IOException,
                              java.lang.InterruptedException
Throws:
java.io.IOException
java.lang.InterruptedException

afterDisconnect

public void afterDisconnect(hudson.slaves.SlaveComputer slaveComputer,
                            hudson.model.TaskListener listener)

Overrides:
afterDisconnect in class hudson.slaves.ComputerLauncher

getHost

public java.lang.String getHost()
Getter for property 'host'.

Returns:
Value for property 'host'.

getPort

public int getPort()
Getter for property 'port'.

Returns:
Value for property 'port'.

getUsername

public java.lang.String getUsername()
Getter for property 'username'.

Returns:
Value for property 'username'.

getPassword

public java.lang.String getPassword()
Getter for property 'password'.

Returns:
Value for property 'password'.

getPrivatekey

public java.lang.String getPrivatekey()
Getter for property 'privatekey'.

Returns:
Value for property 'privatekey'.

getConnection

public com.trilead.ssh2.Connection getConnection()


Copyright © 2010. All Rights Reserved.