VDT Development Iteration 03 Tasks

Schedule

Monday, 6 November 2006 through Friday, 1 December 2006.

Ergs to allocate

For this iteration, we have the following known outages:

Alain 3 days Thanksgiving Day + 2
Andy 4 days Thanksgiving Day + 3
Tim 2 days Thanksgiving Day + day after

Thus, we will work 51 out of a possible 60 person-days, which means we're at 85% capacity. From last iterations, our full-capacity target is 66 ergs. Thus, we can hope to finish about 56 ergs this iteration.

Tasks

Completed

1e
Update SRM Client
3e
Add Gratia patch to condor.pm for VDT 1.3.9 and 1.3.10
  • Add new package
  • Make it come out properly
4e
Modify configure_gums to preserve configuration
2e
Modify configure_edg_mkgridmap to preserve configuration
5e
Build and package Globus Toolkit 4.0.3 to see if it works
  • Add new platforms
  • Review existing patches and discard those already included
  • Spend some time fixing patches to apply cleanly
  • Rework the packaging step to deal with new Globus output
  • Create new tasks for any major platform problems encountered
4e
Release VDT 1.5.1
1e
Document service management changes and ask for feedback
6e
Refactor service management scripts [2183]
  • Create new package: VDT-Service-Management
  • Add VDT-Service-Management wherever VDT-Install-Service is found
  • Create vdt-register-service with new interface
  • Create vdt-control with new interface
  • Move service-registration code from vdt-install-service to vdt-register-service
  • Move service-management code from vdt-install-service, vdt-startup, and vdt-shutdown to vdt-control
  • Merge service and inetd types and make service the unique service identifier
  • Change all configure scripts to use new scripts and interfaces
2e
Investigate modifying configure_gums to preserve configuration
  • Ask John Hover to help decide which database contents to bring over
  • Review database contents
  • Review gums.config contents and documentation
  • Review gums-client.properties contents?
2e
Make service management scripts log interesting events to vdt-install.log [2199]
  • Log registrations
  • Log start-up attempts and stdout
  • Log shut-down attempts and stdout
5e
Improve robustness of inetd services [2201]
  • For VDT entries in /etc/services, mark each with a comment and timestamp
  • Warn user about removal of non-VDT services from /etc/services
  • Warn user about removal of non-VDT services from /etc/inetd.conf
  • Warn user about removal of non-VDT services from /etc/xinetd.d/*
  • Rename vdt/sbin/vdt-run-<NAME>.sh to vdt/services/vdt-run-<NAME>.sh
  • Write xinetd.d file once into vdt/services, then copy it into place to install
  • Drop distinct notion of start: Always restart x/inetd if making changes
  • Safe-write /etc/services file
  • Safe-write vdt/sbin/vdt-run-<NAME>.sh file
  • Safe-write /etc/xinetd.d/<NAME> file
  • Safe-write /etc/inetd.conf
  • Safe-remove /etc/xinetd.d/<NAME> file
2e
Improve robustness of cron services [2204]
  • Move temp crontab file into vdt/services/
  • Warn user about removal of non-VDT services from crontab
  • Safe-write crontab — different process than regular file!
1e
Improve robustness of rc services [2205]
  • Warn user about removal of non-VDT services from /etc/init.d (…)
  • Safe-write init script
  • Safe-remove init script
3e
Improve vdt-control to better handle non-VDT config [2218]
  • Remove check for VDT_LOCATION from crontab filter
  • Change do_service to require --force for non-VDT entry
  • Change do_service to avoid remove/add of identical entry
  • Change do_inetd (xinetd) to avoid restart when config not changed
  • Change do_inetd (inetd) to require --force for non-VDT entry
  • Change do_inetd (inetd) to avoid remove/add of identical entry
  • Change do_inetd (inetd) to avoid restart when config not changed
  • Change do_init to avoid installing when init script didn't change
  • Change do_init to require --force for non-VDT entry
  • Change return codes of safe_write, safe_copy, and safe_remove to -1, 0, 1
  • Change safe_copy and safe_remove to require --force for non-VDT file
1e
Preserve MySQL configuration
4e
Investigate configure_voms to preserve configuration [2210]
  • Run voms-admin-configure with values from old install
  • Figure out what files voms-admin-configure touches
  • Don't stop existing VOMS unless it's ours?
  • Review database contents
  • Review database password file?
  • Review jclarens-publisher/etc/properties.base
  • Review jclarens-publisher/etc/publish-voms-admin-<VO>.properties
  • Review etc/voms/<VO>/voms.conf?
4e
Preserve VOMS configuration [2228]
  • Refactor configure_voms to allow setup code to be run per VO
  • Run setup code for each old VO
  • Extract port determination code and add ability to get port from old VDT
  • Create vdt-app-data/voms/last_port to be max of old and new VDTs
  • Edit glite/var/etc/voms-admin/VO/voms.service.properties to have old email properties
  • Copy over old database
6e
Create new set of Globus patches for 4.0.3
  • Integrate new GRAM patches
  • Review existing patches and discard those already included
  • Update to get latest advisories, except where they are in the new patches
  • Add back in the new globus client tools
1e
Fix MyProxy build script
2e
Work with Igor on new PRIMA
  • Update to new PRIMA 0.4
  • Work through test results with Igor
  • Update again after Igor makes changes
2e
Integrate Iwona's patches for Sun Grid Engine (pre-WS)
  • Make patchfile from her changes
  • Have Iwona validate patchfile
  • All written in Perl

New: To Estimate

Highest Priority — Finish for the Next Release

4e
Build and package Globus Toolkit again
3e
Release VDT 1.5.2
3e
Start creating the copy-configuration infrastructure
  • Write new VDTConfigure.pm function to read old config file, save to disk, and return string and error
  • Copy old answers to new VDT
  • Suppress asking questions when magic environment variable is set
1e
Update CEMon

High Priority — Finish for the Next Stable Release

4e
Update Gratia to new version
5e
Update certs
  • Update to latest IGTF release (1 erg)
  • Update DOE tarball (and mark as binary) (1 erg)
  • Update PPDG Cert scripts in VDT 1.3.9, 1.3.10, and 1.5.2 (3 ergs)
3e
Add new computers to nightly tests (vdt-sl41-ia64, vdt-slf43-ia32, vdt-rhas4-amd64)
4e
Force skipped-test count to be exact instead of a maximum
  • File is nightly-tests.what/vdt-test-email
  • Code: if ($skipped > $MAX_SKIP_COUNT{$version}{$arch})
  • Only do for VDT 1.5.2 and greater!!!!
  • Move definition of $allowed outside of 'if' and use in test
  • Change '>' to '=='
  • Once change is made, fix all skip counts for VDT 1.5.2

Medium Priority

4e
Modify configure_gridftp to preserve configuration
  • Make it preserve configuration file
  • Write first-draft library function to preserve name-value pairs
  • Fix up vdt-install-service logic
3e
Investigate why GUMS isn't working with Tomcat 5.5
4e
LIGO: use PAC_ANCHOR instead of VDT_LOCATION to source setup files
1e +
AIX support
  • Make Globus work without logrotate
4e
Install Globus's virtual services (Edge Services Framework)
  • Add packages: Main installer, second installer, main configuration
  • Create configuration script (maybe a dozen items across three files)
2e
Create test script for Globus's virtual services (Edge Services Framework)
2e
Investigate which SGE jobmanager to include
1e
Allow squid to be configured to allow SNMP from certain hosts
3e
Develop a curriculum for new VDT team members
  • Will include suggestions for improved documentation and processes
3e
Upgrade VOMS
  • Get latest blessed CVS tags from gLite folks
  • Build new VOMS and VOMS-MySQL
  • Test
1e
Review LCG Savannah tickets for fixed VOMS items, test fixes, update Savannah
2e
Explore pacman versioning functionality
  • Read documentation carefully
  • Set up a test cache with some fake packages and try it out
2e
Investigate adding gLite client tools for interoperability

Low Priority

4e
Create tests for tclGlobus
1e
Investigate effects of changing cache name to allow full (dotted) version number
5e
Add web-services Sun Grid Engine support
  • Write build script
  • Create package
  • Write a pacman file
3e
Investigate integrating VOMRS
3e
Complete NMI build script for OpenLDAP
6e
Write configure and test scripts for OpenLDAP
  • May be tricky, especially because none of us knows OpenLDAP
  • Ransom Briggs may be able to suggest a good starting point for configuration
  • Test script will be minimal round-trip to server
4e
Add BDII package
  • Written in Perl, hence may rely on new nonstandard modules
  • Needs to be repackaged slightly
4e
Write configure and test scripts for BDII
  • Resolve question: Configure BDII to use MDS 2 or not?
  • Test will involve actual data