GlassFish Server Open Source Edition 3.1 - SSH Provisioning One Pager
1. Introduction1.1. Project/Component Working Name:GlassFish Server Open Source Edition 3.1 SSH Provisioning 1.2. Name(s) and e-mail address of Document Author(s)/Supplier:Joe Di Pol: jfdipol@java.net 1.3. Date of This Document:May 21, 2010 2. Project Summary2.1. Project Description:Support for invoking instance lifecycle commands on remote nodes over SSH. 2.2. Risks and Assumptions:
3. Problem Summary3.1. Problem Area:SSH Provisioning attempts to accomplish two things:
In simple terms SSH Provisioning attempts to provide some of the capability that was provided by the node agent in GF v2. The provisioning of a system is somewhat analagous to creating a node agent on a system. Once a system is provisioned it can participate in a cluster. In the long term we would like the operation of provisioning a system to include the capability of installing GlassFish on the system. But for 3.1 we will likely require users to install GlassFish on remote systems directly and the provisioning step will simply do some initialization on the system and register the system with the DAS. SSHD is typically standard in current Unix distributions and is widely used for remote administration of systems. There are also popular implementations for Windows such as Cygwin SSHD. Java implementations of the SSH client exist. Hudson uses solution based on Trilead-ssh2. The intention is to leverage the work Hudson has done where possible. 3.2. Justification:Without this feature clusters are inconvenient to configure and manage. Users 4. Technical Description:4.1. Details:Design details are provided in the design specification. The general approach is to use SSH as a mechanism to execute local admin commands on remote nodes. So instead of the user logging into the remote node and executing the local command, we let them execute the command via the DAS. Using the target of the command we can determine what node the target is running on and execute the command on the remote system using SSH. This means that all the heavy lifting for these commands is performed by the local version of the command that is run (locally) on the remote system. Since SSH is an optional capability the user must always have the capability of running the remote command against the DAS, and if SSH is not operational subsequently run the local version of the command manually on the remote system. 4.2. Bug/RFE Number(s):
4.3. In Scope:See RFE's above. 4.4. Out of Scope:
4.5. Interfaces:4.5.1 Public InterfacesList new, public interfaces this project exports.
4.5.2 Private Interfaces
4.5.3 Deprecated/Removed Interfaces:None with respect to 3.0 4.6. Doc Impact:asadmin help for new and modified commands asadmin reference manual Any documentation that describes how to configure and manage a cluster 4.7. Admin/Config Impact:This project has moderate impact to CLI administration and some impact 4.8. HA Impact:Minor. Makes clusters easier to setup and maintain, otherwise does not impact high availablilty. 4.9. I18N/L10N Impact:Moderate impact. New error messages will be introduced by additions and enhancements to the CLI. 4.10. Packaging, Delivery & Upgrade:4.10.1. PackagingThe final packaging is still being determined. The basic CLI functionality will be in the same package as the basic clustering (glassfish-cluster). We may choose to create a new package (glassfish-ssh) that contains the general SSH support. 4.10.2. DeliveryNo impact on installation. 4.10.3. Upgrade and Migration:We will make a best effort to migrate v2 node agents from domain.xml to the new "node" element. Details are in the design specification. 4.11. Security Impact:The feature does not introduce any new services or ports. It does require that the user configure SSH on the systems that will be participating in a cluster. Authentication to SSH will be done using SSH public key authentication. Details are in the design specification. 4.12. Compatibility ImpactThis feature does not introduce any incompatibilities relative to 3.0. It does introduce a feature that is similar to, but not completely compatible with the node-agent feature in v2. We make some attempt to ease migration to this feature from node agents, but this feature is not compatible with node-agents. See the upgrade and compatibility sections of the design specification. 4.13. Dependencies:4.13.1 Internal Dependencies
4.13.2 External Dependencies
4.14. Testing Impact:It should be possible to re-use clustering tests from v2, but they will need to be modified to use the new "node" construct instead of node agents. New unit tests may need to be written to validate behavior of new 5. Reference Documents6. Schedule:6.1. Projected Availability:Indicate which milestones from the current schedule the project
|