glideinWMS Project Developer's Home Page

This page is obsoleted!
Project management has moved to the FNAL's redmine.

This page should be used by the glideinWMS development team for the project related information.
The official page for users is located at http://www.uscms.org/SoftwareComputing/Grid/WMS/glideinWMS/.

Task List

Current TaskList

Getting Started

Gaining access to the glideinWMS code

To write access to the code,

  • One needs a valid Fermilab Kerberos principle and a krb5 ticket
  • You need write access to the cdcvs CVS repository. If you don't, open a Servicedesk Ticket at http://servicedesk.fnal.gov requesting access to the cdcvs.
  • You need write access to the glideinWMS CVS module. Check with one of the existing glideinWMS team members or email glideinwms-support@fnal.gov
  • Set following environment variables before you checkout the code from CVS.
          export CVSROOT=cvsuser@cdcvs.fnal.gov:/cvs/cd
          export CVSRSH=ssh
       

Nightly NMI builds

Status of the daily builds are here: http://nmi-s001.cs.wisc.edu/nmi/index.php?page=results%2Foverview&opt_index_search=p%3AglideinWMS&searchSubmit=Search

Current CVS structure

All production/development releases are tagged. Use these tags to download a particular release. For example: Do download release v2_5_1

cvs co -r v2_5_1 glideinWMS

Production Branches

glideinWMS ReleaseSorted ascending Branch Name Comments
Cloud glideinWMS_Cloud_Branch Forked off branch_v2plus
Corral branch_ (?) Forked off branch_v2plus
v2_1+, v2_2+, v2_3+, v2_5+ branch_v2plus Production Releases: This is for now v2.5+and should be default for committing changes for v2.5 and above
v2_4+ branch_v2_4plus Production Releases: You shouldn't commit anything here any more
v2_6+ (?), v3+ HEAD Development Releases

Non-Production Branches

  • Branches not in the list above are development/testing branches owned by individual developers.

Making Changes to glideinWMS Code

As the group grows in size, it is important that we all adhere to certain guidelines when making changes to the code. These are general guidelines that will help simplify task to work in a collaborative environment.

Code Branching Guidelines

Code Formatting Guidelines

Code Documentation Guidelines

def x_intercept(m, b):
 """
Return the x intercept of the line M{y=m*x+b}. The X{x intercept}
of a line is the point at which it crosses the x axis (M{y=0}).

This function can be used in conjuction with L{z_transform} to
find an arbitrary function's zeros.

@type m: number
@param m: The slope of the line.
@type b: number
@param b: The y intercept of the line. The X{y intercept} of a
line is the point at which it crosses the y axis (M{x=0}).
@rtype: number
@return: the x intercept of the line M{y=m*x+b}.
"""
return -b/m

Testing

Testing Framework
Details on TestingFramework

Testing Guidelines
  • Follow Code TestingGuideLines?

Documentation Guidelines (Needs more work)

  • Document your changes. This is very important!
  • Update the tags.txt file with notes on your recent changes. The information in this file act as release notes, so updating this file is very important.

Making a glideinWMS release

CURRENT WEB AREA: /afs/fnal.gov/files/expwww/uscms/html/SoftwareComputing/Grid/WMS/glideinWMS

Instructions for release v2_5 and later

Starting glideinWMS v2_5, glideinWMS releases are managed by gwms_release_manager package. Release manager package is in Fermi Redmine

gwms_release_manager automates following tasks for you

  • Creates the required checksum files in glideinWMS/etc directory
  • Strips off the non-essential files and creates 3 release tarballs (factory, frontend and full glideinWMS release).
  • Anything you want to be automated during the release process should go in the release manager

To get access to the release manager:

  • Register with Fermi Redmine
  • Check Parag or Burt to get access to the release manager code repository
  • Add following to your ~/.ssh/config
     Host cdcvs.fnal.gov
    ForwardX11 = no
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials yes
  • Get a Kerberos principle (kinit)
  • Checkout the release manager code
    svn checkout svn+ssh://p-gwms-release-manager@cdcvs.fnal.gov/cvs/projects/gwms-release-manager

To make a release:

  • Make the changes and test them.
  • Update the tags file with the release notes and release version (glideinWMS/doc/tags.txt)
  • Update the documentation pages glideinWMS/doc/download.html and glideinWMS/doc/history.html including possible links to be release tarballs
  • Create the checksum files and release tarballs for your release. Run the command below giving the release version, --source-dir=<path to glideinwms code> and --release-dir=<path to create release related files>. Release tarballs will be created in <path to create release related files>/v2_5_1/
     # For example for release v2_5_1 run the command below
    gwms-release-manager/trunk/bin/make_release.py --release-version=v2_5_1 --source-dir=/tmp/release/glideinWMS --release-dir=/tmp/release/distro
  • Commit the changes to CVS.
  • Tag the release in CVS
  • Copy the release tarballs to the web area
  • Check out the doc subdirectory in the web area.
  • Create the required symlinks to latest docs directory.
  • Announce the release to following mailing lists: osg-wms@opensciencegrid.org, cms-dct-wms@fnal.gov, glideinwms-support@fnal.gov, corralwms@fnal.gov
  • If you made any changes to the release manager to accommodate the release, commit those changes.
  • Tag the gwms_release_manager with same tag name as the glideinWMS release.

Instructions for release v2_4_x and earlier

  • Make the changes and test them.
  • Update the tags file with the release notes and release version (glideinWMS/doc/tags.txt)
  • Commit the changes to CVS.
  • Tag the release in CVS
  • Create and put the glideinWMS_<version>.tar.gz file in the web area
  • Check out the doc subdirectory in the web area.
  • Create the required symlinks to latest docs directory.
  • Update the download page and the history page with the required release information.
  • Announce the release to following mailing lists: osg-wms@opensciencegrid.org, cms-dct-wms@fnal.gov, glideinwms-support@fnal.gov
Topic revision: r36 - 2013/05/02 - 22:00:21 - IgorSfiligoi
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback