Action Testbed Delivery
- JRG + ABR
- Prev assigned
- Tasks adressed
- Time estimated
- Time used
- Depends on all the other Testbed actions
Collect the results from the other testbed actions. Bundle these projects in an installable package, running on the local machine, reminiscent of the domstestsetup.sh.
The purpose of such a script is to be able to, quickly, setup a running empty DOMS system, to test against. All the data relating to one instance of DOMS must be stored in a single well defined location, for easier coexistence with other DOMS'es.
Most of the other testbed actions produce webservices. This action should provide a tomcat for all of them to run in. Having just one tomcat instance per DOMS testbed will help developers running parallel systems. (Btw. Lennert works with a 6.x tomcat, while fedora ships with a 5.5.x)
Thorough documentation about the interrelations between the components should be written or compiled from the actions, and a proper INSTALL document must be created.
- The tomcat version: 5.5.26
- Java version: 1.6
The testbed consists of:
- A tomcat system (DONE)
- Fedora 3.0 webservice (DONE)
Inhouse developed systems
- Bitstorage webservice
- File Characterization webservice
- Pid generator webservice
- Search webservice
For all the inhouse systems the following requirements must be followed.
- They must use Apache Axis 1.4
- They must include documentation in the wsdl and javadoc in the java interface.
- They must not use enviroment variables, but properties files. This helps in having two concurrent testbeds on the same machine.
- Unit tests must be made, both for the backend implementation, and through the webservice frontend.
- They must all use log4j. They must all have a configurable location for the logfile, inside the common testbed folder.
- Webservices throwing checked exceptions must have them documented.
- All webservices must be buildable by ant script
The testbed system should be distributed as a zip file. This zip file can be downloaded, extracted and installed. In all respects, it is a file release in the sourceforge terminology. The zip file must of course be versioned in the filename. Changes in any of the components should increment the version number of the testbed.
The testbed will be delivered directly to Mjølner for now, by e-mail f.x. A page (gforge or similar) to house testbed versions will be needed later, but that is not addressed by this action.
An INSTALL document, properly instructing the user to run an install script must be included in the testbed release. The install procedure should be mostly automatic, and require no special knowledge of the internal workings of the systems. A README and CHANGELOG must be distributed along with the proper versioned testbed.
When agreeing on making a new release of the testbed, the following procedure should be followed.
- Check with all the developers if all the components are working.
- Run any unit tests
- Increment the version number in the config file
- Make a svn tag of the current system
- Build the testbed.
- made svn tag
- Updated tape collection test objects with correct QDC namespace
- Updated a few lines in INSTALL
Delivered to mjølner
- Packed the tape collection test objects in the testbed, and made the install script ingest them
- no svn tag
- Packed the doms base collection in the testbed, and made the install script ingest them
- no svn tag
- no svn tag
- INSTALL more elaborate
- no svn tag
- The config folder is now included in the zip
- no svn tag
- Wrapped the pidgenerator into the delivery
- Made a svn tag
- Fixed two bugs from 0.1.0:
- the mckoi database used a hardcoded folder. This has been changed to a folder relative to the tomcat installation
- Fedora depends on the FEDORA_HOME env. variable. This variable will now be autoset by tomcat, to the standard fedora location, relative to the tomcat folder.
The first testbed has been released. It is a zip file, with tomcat with fedora inside. Extract the contents, and run the install script, which installs the system in a specified folder. The install.sh script is very simple, it just copies the files to the correct location.
Checklist For Working On An Action
The Life Cycle of an Action:
Assign people for action definition: Done at start of iteration status meeting. Fill out Assigned
Define the action: Describe information about what is to be done and how. Fill out Tasks Addressed and Time Estimated.
Review the definition: Get another project group member to review the action definition, and update it.
Assign people for action implementation: Done by project manager, usually the same persons who wrote the definition. Fill out Assigned and Prev assigned if new persons are assigned.
Implement the action: See details below
Review the action: Get another project group member to review what is implemented (code and documentation), and update it.
Finish the action: Change the status to "Finished" and update the "time used" field on the action page.
Please make sure that you address the below issues, when working on an action:
- Update the state of the action to "In Progress" when you start working on it.
- Check if the tasks addressed by this action have their status set to "In Progress". If that is not the case, then change the state of them.
Keep track of how much time that has been spent working on the action. If it addresses more than one task, then make a note on the action page about how much of the elapsed time that has been spent on the individual tasks. Hint: Continually updating the "Time used" field will make it easier for you.
- Update the "Progress History" and documentation pages of each task addressed by this action when appropriate. This depends on the situation, but in general, the task pages should hold all important related information about the work done, experiences gathered, identified requirements and so on.