Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ptp-dev] high impact commit

This is a heads up that I'm going to commit a high impact change to HEAD in the next few days. This will definitely break RM's that are not committed to CVS (i.e. anything apart from ORTE, LSF and MPICH2). This change hooks up the new org.eclipse.ptp.remote plugin to the RM implementations. I've provided a default remote services provider that implements purely local services, so you should still get the same behavior that is currently available (i.e. the ability to launch the proxy on a local machine). I'll also commit changes to the org.eclipse.ptp.remote.rse plugin that will allow you to play with remote services using RSE (I'm using the head of their CVS, but it should work with the latest Europa version - I just haven't tried it.)

You will also need to remove and re-add any resource managers you are currently using (for testing or whatever), since the configuration and preferences have changed with the new system.

I've provided abstract base classes for (hopefully) everything that you need to implement a remote RM, so unless you're doing something particularly weird with preferences or wizard pages, this change should result in you removing code rather than adding new code. Take a look at the org.eclipse.ptp.orte.core and org.eclipse.ptp.orte.ui plugins (after I've committed) to see what the new arrangement looks like.

Here is a summary of the new remote features that are currently implemented. I consider these interfaces and UI elements preliminary at this stage. If you have suggestions on how to make it better or more intuitive, please let me know. Also, there are likely to be bugs, so please be patient and I'll make sure they are fixed asap. If anyone want's to volunteer to help out implementing other features (e.g. IFileStore), please let me know. The more people helping out, the faster it will go.

1. The startupProxyServer() and shutdownProxyServer() methods in org.eclipse.ptp.rtsystem.proxy.AbstractProxyRuntimeClient have now become abstract, and are implemented by org.eclipse.ptp.remote.AbstractRemoteProxyRuntimeClient. RM's can just use this base class to proved complete remote functionality.

2. Abstract base classes for resource manager configuration, preferences and wizard pages have been provided.

3. There are three main sets of interfaces for remote support: IRemoteConnectionManager, IRemoteProcessBuilder, and IRemoteFileManager. The connection manager is used to manage remote connection information, such as hostnames, usernames and passwords. The process builder is similar to the ProcessBuilder class, and is used to execute a process on a remote machine. The file manager services are intended to provide remote file browsing, remote copy, etc.

4. There are (will be) LOCAL implementations of all the above services. This means that there will always be the option to run an RM proxy locally, even if none of the remote providers offer this.

5. There is an implementation for RSE in a separate plugin (org.eclipse.ptp.remote.rse) that provides remote process and remote file browsing functionality.

6. In the current design, it is possible to have multiple remote service providers installed simultaneously. For example, one RM could use remote services provided by RSE and another RM could use remote services provided by some other remote package.

Comments/suggestions welcome.

Greg



Back to the top