SSH Provisioning attempts to accomplish two things:
- Support the provisioning of a remote system (node) so that the user can use that system to host server instances for a cluster.
- Support the remote execution of cluster and instance lifecycle asadmin commands on provisioned nodes.
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. Feature Overview
Feature ID |
Priority |
Description |
Eng Response |
Owner(s) |
Estimate (Man Days) |
Source of Requirement |
Status / Comments |
SSHPRO-001 |
P2 |
Support execution of asadmin commands on remote system for supported commands via SSH |
Yes |
rajiv |
15 |
Feature Parity |
|
SSHPRO-002 |
P2 |
create-node: Remotely configure a system for use in a cluster delete-node: Remotely remove a system for use in a cluster |
Yes |
carla |
15 |
Feature Parity |
|
SSHPRO-003 |
P2 |
create-instance: Remotely create a server instance on a node delete-instance: Remotely delete a server instance from a node |
Yes |
carla |
10 |
Feature Parity |
Remote commands that used to rely on node-agent |
SSHPRO-004 |
P2 |
start-instance: Remotely start a server instance on a node stop-instance: Remotely stop a server instance on a node |
Yes |
carla |
5 |
Feature Parity |
Remote commands that used to rely on node-agent |
SSHPRO-005 |
P2 |
start-cluster: Remotely start all server instances of a cluster stop-cluster: Remotely stop all server instances of a cluster |
Yes |
joe |
10 |
Feature Parity |
Remote commands that used to rely on node-agent |
SSHPRO-006 |
P2 |
Friendly failure if SSH not available |
Yes |
rajiv |
5 |
|
|
SSHPRO-007 |
P2 |
Detailed diagnostics about communication errors |
Yes |
rajiv |
5 |
|
ping command that shows communication errors between DAS to remote node, etc. |
SSHPRO-008 |
P2 |
Support SSH public key authentication |
Yes |
rajiv |
2 |
Feature Parity |
|
SSHPRO-009 |
P2 |
create-node installs software on system |
Yes |
yamini |
20 |
|
|
SSHPRO-010 |
P3 |
Support SSH password authentication |
No |
joe |
5 |
|
|
SSHPRO-012 |
P4 |
View log files of failed server instances |
No |
TBD |
TBD |
Feature Parity |
Remoting of important local commands |
SSHPRO-013 |
P5 |
Watchdog restart of failed server instances |
No |
TBD |
TBD |
Feature Parity |
Remoting of important local commands |
SSHPRO-014 |
P5 |
Support alternative to SSH on Windows |
No |
TBD |
TBD |
|
|
SSHPRO-015 |
P2 |
Console support for P2 CLI operations |
Yes |
carla, joe |
10 |
|
|
SSHPRO-016 |
P3 |
Handle "node-agent" elements during v2 upgrade |
Yes |
joe |
10 |
|
|
SSHPRO-017 |
P2 |
list-nodes: List information about nodes |
Yes |
carla |
5 |
|
|
SSHPRO-018 |
P3 |
Support encrypted key file with SSH public key authentication |
Yes |
rajiv |
5 |
|
|
Design Document 3.1SSHProvisioningDesign Milestone Schedule
Item # |
Date/Milestone |
Feature-ID |
Description |
QA/Docs Handover? |
Status / Comments |
1 |
MS2 |
SSHPRO-001,6-8 |
ssh client library and API |
No |
Done |
2 |
MS2 |
SSHPRO-002 |
remote create/delete node: initial integration |
No |
Done |
3 |
MS2 |
SSHPRO-003 |
remote create/delete instance: initial integration |
No |
Done |
4 |
MS2 |
SSHPRO-004 |
remote start/stop instance: initial integration |
No |
Done |
5 |
MS2 |
SSHPRO-005 |
remote start/stop cluster: initial integration |
No |
Done |
6 |
MS3 |
SSHPRO-001, 6-8 |
dev tests for: ssh client library and API |
Yes |
TBD |
7 |
MS3 |
SSHPRO-002 |
dev tests for: remote create/delete node |
Yes |
Done |
8 |
MS3 |
SSHPRO-003 |
dev tests for: remote create/delete instance |
Yes |
Partial. Dev tests incomplete. Will continue work for MS4/5. |
9 |
MS3 |
SSHPRO-004 |
dev tests for: remote start/stop instance |
Yes |
Partial. Dev tests incomplete. Will continue work for MS4/5. |
10 |
MS3 |
SSHPRO-005 |
dev tests for: remote start/stop cluster |
Yes |
Partial. Dev tests incomplete. Will continue work for MS4/5. |
11 |
MS4 |
SSHPRO-015 |
Console integration |
Yes |
Done |
13 |
MS4 |
SSHPRO-016 |
Handle upgrade of node/node-agents |
Yes |
Done |
15 |
MS4 |
SSHPRO-010 |
Support SSH password authentication |
Yes |
Done |
15b |
MS4 |
SSHPRO-018 |
Support encrypted key file with SSH public key authentication |
Yes |
Done |
14 |
MS5 |
SSHPRO-009 |
create-node installs software on system |
Yes |
At risk |
Task List
Task |
Target Milestone |
Start Date |
End Date |
Owner(s) |
Feature ID |
Status / Comments |
Verify Trilead-ssh2 legal |
MS1 |
|
5/21 |
joe |
SSHPRO-001 |
Done |
Specify domain.xml config changes/additions. |
MS1 |
|
5/21 |
joe |
SSHPRO-001 |
Done |
Specify CLI interfaces. Ensure basic clustering is implementing needed local versions of commands. |
MS1 |
|
5/21 |
carla |
SSHPRO-002-5 |
Done |
Specify remote admin command module API |
MS1 |
|
5/21 |
rajiv |
SSHPRO-001 |
Done |
Integrate Trilead-ssh2 library into GlassFish build |
MS2 |
|
5/28 |
rajiv |
SSHPRO-001 |
Done |
Verify support for SSH public key auth |
MS2 |
|
5/28 |
rajiv |
SSHPRO-008 |
Done |
Implement remote admin command module (API) on top of trilead-ssh2 |
MS2 |
|
6/11 |
rajiv |
SSHPRO-001 |
Done |
Implement remote create/delete-node |
MS2 |
|
6/11 |
carla |
SSHPRO-002 |
Done |
Implement remote create/delete-instance |
MS2 |
|
6/18 |
carla |
SSHPRO-003 |
Done |
Implement remote start/stop-instance |
MS2 |
|
6/18 |
carla |
SSHPRO-004 |
Done |
Implement remote start/stop-cluster |
MS2 |
|
6/18 |
joe |
SSHPRO-005 |
Done |
Write dev tests for remoting SSH API |
MS3 |
|
6/25 |
rajiv |
SSHPRO-001 |
TBD |
Write dev tests for remote create/delete-node |
MS3 |
|
7/2 |
carla |
SSHPRO-002 |
Done |
Write dev tests for remote create/delete-instance |
MS3 |
|
7/2 |
carla |
SSHPRO-003 |
Partial. Dev tests incomplete. Will continue work for MS4/5. |
Write dev tests for remote start/stop-instance |
MS3 |
|
7/2 |
carla |
SSHPRO-004 |
Partial. Dev tests incomplete. Will continue work for MS4/5. |
Write dev tests for remote start/stop-cluster |
MS3 |
|
7/2 |
joel |
SSHPRO-005 |
Partial. Dev tests incomplete. Will continue work for MS4/5. |
Work with console team to add console support |
MS4 |
|
8/13 |
carla/joe |
SSHPRO-015 |
Done |
Implement support for SSH password auth |
MS4 |
|
8/13 |
joe |
SSHPRO-010 |
Done |
Implement support for SSH encrypted key file auth |
MS4 |
|
8/13 |
joe |
SSHPRO-18 |
Done |
Handle upgrade migration from v2 (node-agents/nodes) |
MS4 |
|
8/13 |
carla |
SSHPRO-016 |
Done |
Support software installation as part of create-node |
MS5 |
|
|
yamini, srini |
SSHPRO-009 |
At risk |
Usage Scenarios 3.1 SSH Scenarios describes some CLI usage scenarios. Notes running GlassFish Provisioning on Windows GlassFish Provisioning page describes some notes about running GlassFish provisioning feature using SSH on Windows. Dev Tests
QA Handoff 3.1SSH DHQA 3.1SSH DHQA setup-ssh install-node References
Email Alias
Unknown macro: {gliffy}
|