One Pager: Deployment test.

(template version: 1.1)

Table of Contents
1. Introduction

1.1 Project/Component Working Name
1.2 Name(s) and e-mail address of Document Author(s)/Supplier
1.3. Date of This Document
2. Project Summary
2.1 Project Description
2.2 Risks and Assumptions
3. Technical Description

3.1 Features to be tested
3.2 Features not tested
3.3 Methodology

4. References
5. Schedule
6. Review


1. Introduction

1.1. Project/Component Working Name

Deployment test

1.2. Name(s) and e-mail address of Document Author(s)/Supplier

Elena Asarina
elena.asarina@oracle.com

1.3. Date of This Document

06/01/2010

2. Project Summary


2.1. Project Description

The  following areas will be tested:

  1. Clustering deployment, support dynamic deployment to cluster and rolling upgrade. Support application related commands in clustering environment
  2. Support Weblogic deployment descriptors in Glassfish (partial)
  3. Rename sun specific deployment descriptor dtds (sun-*.dtd) to glassfish dtds (glassfish-*.dtd)
  4. Application versioning, support deployment of application with multiple versions

2.2. Risks and Assumptions

  • The clustering deployment feature depends on the clustering infrastructure features (basic clustering, synchronization and dynamic reconfiguration). Any delay in the delivery of the depended features will affect the delivery of the clustering deployment feature.
  • The application versioning feature is done by external contributor SERLI and there is certain risk associated with external contributors.  For example, all versioning bugs were assigned to the external contributor Romain Grecourt,  who works for Serli in France.  So the bugs fixing totally is out of our control. 

3. Technical Description

3.1.  Features to be Tested

I) Clustering Deployment

a) Dynamic deployment to the cluster

The following features will be  tested:

  • Archive deployment: deploy different types of   applications as an archive to the cluster, using a cluster name. The applications have to be available for all clustered instances.
  • Directory deployment: deploy different types of   applications to the cluster  in a directory format. The applications have to be available for all clustered instances.

b)  Rolling upgrade

  • Test the rolling upgrade procedure. With the enhancement of the application rolling upgrade, no cluster instance restart is needed and the dynamic reconfiguration can be left on (no need to turn it off and then on).

c) Application related commands in clustering environment

  • Test new commands which will be added on top of the existing set of v3 commands: create-application-ref, delete-application-ref, list-application-refs.
  • Test the existing v3 set of the commands which will be now supported/extended in the clustering environment:  deploy, undeploy, enable, disable, deploydir, redeploy, list-components, show-component-status, list-applications.

II) Support WebLogic deployment descriptors in Glassfish (partial)

Will be supported WebLogic deployment descriptors in Glassfish to enable WebLogic applications  to run on GlassFish, and also will be  allowed users to develop applications with simple WebLogic extensions on Glassfish and then run on WebLogic. In this release,  will be  supported only  the subset of the elements in the WebLogic deployment descriptors where Glassfish has equivalent functionality, and the rest elements will be ignored during processing.
  • Test that the weblogic deployment descriptor will be ignored with a warning message when the corresponding glassfish or sun deployment descriptor is present in the same archive.
  • Test how the deployment module will be responsible for the deployment framework level changes, and the elements in weblogic-application.xml and weblogic-application-client.xml.

III) Rename sun specific deployment descriptor dtds (sun-*.dtd) to glassfish dtds (glassfish-*.dtd)

The sun specific deployment descriptor dtds will be renamed to glassfish dtds.
  • Test that sun deployment descriptor will be ignored with a warning message when the corresponding glassfish deployment descriptor is present in the same archive.
  • Test that new glassfish dtds - work.

IV) Application versioning, support deployment of application with multiple versions

With application versioning feature, the user will be able to deploy multiple versions of the application to the Glassfish. And the user can easily upgrade or rollback to one version of the application using the basic set of the commands (deploy/enable/disable). Only one version of the application can be enabled at one time in the runtime. The name option of the existing application commands is extended to include a version identifier or a version expression to support the application versioning feature. For example, you could deploy the version RC-1.0 of web application foo using the following syntax: asadmin deploy --name foo:RC-1.0 foo.war.
  •  This feature will be test using a separate test plan. Most of the testcases will be automated. 

3.2. Features Not Tested

  • JSR88 deployment, as it was in v3 release, will be tested by CTS.
  • create-lifecycle-module, delete-lifecycle-module, list-lifecycle-modules will be tested, as it was in v3, by the CLI test suite.  

3.3. Methodology

The initial testing will be executed on at least two platforms: Linux and Windows.  Then the  deployment test will be executed using hudson along with a core test.

I) Clustering Deployment

a) Dynamic deployment to the cluster.
  • Will be tested by the existent v3 deployment test suite that will run against a cluster target.
  • To the existent test suite will be  added  "redeploy" option that was not supported in V3.
b)  Rolling upgrade
  • These new testcases will be automated, using perl.
c) Manual testcases
 Will be executed the same v3 manual testcases:
  • Dynamic Reloading: redeploy the application by creating/modifying a special .reload file in the applications. repository.   Only server instance is supported.
  • Automatic deployment: drop the application archive in the autodeploy directory. Only server instance is supported.
  • list-components, show-component-status, list-applications, get-client-stubs will be tested manually  so far and will be automated later in a context of cluster, versioning and WebLogic DD features.
  • Test  clustering deployment and versioning in admin GUI.
d) Application related commands in clustering environment.
For new  commands:  create-application-ref, delete-application-ref, list-application-refs will be created new automation test cases.
v3 commands: deploy, redeploy, undeploy, enable, disable will be tested by the existent v3 deployment test suite that will be executed against cluster target.

II) Support WebLogic deployment descriptors in Glassfish (partial)

For this feature have to be created new applications that use WebLogic deployment descriptors. After that these testcases can be automated.

III) Rename sun specific deployment descriptor dtds (sun-*.dtd) to glassfish dtds (glassfish-*.dtd)

Have to be created new applications that represent this feature, after that these testcases can be automated.

IV) Application versioning, support deployment of application with multiple versions.

Most of the testcases will be automated using perl.

4. Reference Documents

Please see 3.1 Deployment One Pager

5. Schedule

5.1. Projected Availability

I) Clustering deployment, support dynamic deployment to cluster and rolling upgrade, support application related commands in clustering environment

  • Initially integrated (may not be feature complete) - Milestone 3
  • Feature complete (ready for handoff to QA) - Milestone 4
  • At production quality level - Milestone 6

II) Support Weblogic deployment descriptors in Glassfish (partial)

  • Initially integrated (may not be feature complete) - Milestone 4
  • Feature complete (ready for handoff to QA) - Milestone 4
  • At production quality level - Milestone 6

III) Rename sun specific deployment descriptor dtds (sun-*.dtd) to glassfish dtds (glassfish-*.dtd)

  • Initially integrated (may not be feature complete) - Milestone 4
  • Feature complete (ready for handoff to QA) - Milestone 4
  • At production quality level - Milestone 6

IV) Application versioning, support deployment of application with multiple versions

  • Initially integrated (may not be feature complete) - Milestone 2
  • Feature complete (ready for handoff to QA) - Milestone 3
  • At production quality level - Milestone 6

6. Review

6.1. Document Review

Name Role Signoff (Accept: Yes/No) Comments
Elena Aarina: elena.asarina@oracle.com
QA

Hong Zhang: hong.hz.zhang@oracle.com
Developer