Difference between revisions of "Project Infrastructure Migration 2007"

From OSGeo
Jump to navigation Jump to search
m (Strk moved page Project Infrastructure Migration to Project Infrastructure Migration 2007: better stick an year in the title)
 
(38 intermediate revisions by 7 users not shown)
Line 1: Line 1:
This document attempts to discuss the needs of projects currenting going through incubation.  It attempts to address infrastructure needs, migration strategies to OSGeo servers, and migration strategies to mitigate disruption if OSGeo stops using CollabNet services.
+
'''''This is a historical document (2007). You may want to check out the current [[Infrastructure Transition Plan 2014]] or [[:Category:Infrastructure]]'''''
  
= Infrastrucutre Components =
 
  
The following components make up the typical needs of an open source project, each section documents what the current projects use, and what Collab net offers. The "pain" of migration is evaulated by Frank (thanks Frank).
+
This document attempts to discuss the needs of projects currently (really initially) going through incubation.  It attempts to address infrastructure needs, and migration strategies to OSGeo servers.
 +
 
 +
= Infrastructure Components =
 +
 
 +
The following components make up the typical needs of an open source project, each section documents what the current projects use, and what OSGeo currently offers.
  
 
== Web Pages ==
 
== Web Pages ==
  
 
Currently the members projects use:
 
Currently the members projects use:
* Wiki: OSSIM + GRASS (Twiki), GeoTools (Confluence), MapBuilder (Confluence), Mapbender (Mediawiki)
+
* Wiki: OSSIM + GRASS (Twiki), GeoTools + MapBuilder (Confluence), Mapbender + OSGeo (Mediawiki)
 
* CMS: MapServer (Plone)
 
* CMS: MapServer (Plone)
* Static HTML: MapGuide
+
* Static HTML: MapGuide, OSGeo
* PHP HTML: GRASS (but CMS forthcoming)
+
* PHP HTML: GRASS (but CMS forthcoming) + weekly generated software user docs
 
* Doxygen (nightly generated HTML): GDAL, GRASS (for programmer's manual)
 
* Doxygen (nightly generated HTML): GDAL, GRASS (for programmer's manual)
  
CollabNet offers static HTML pages under SVN for web sites.  This works fine for MapGuide and GDAL.  Not acceptable to MapServer nor GRASS. Migration is acceptable for MapbenderNot sure about OSSIM, MapBuilder or GeoTools.
+
OSGeo offers Trac wiki as standard as well as Drupal instances on the main server (as is done for FDO and MapGuide).   
 
 
It would seem that a Wiki solution for the web site should be offered.
 
  
For MapGuide and GDAL migrating into the CollabNet website mechanism is no problemMigrating out again (if needed) should also be straight forward.  Migrating in and out for other projects would be moderately difficult due to all the reformatting needed.  
+
Other customized solutions are possible, but will be primarily the responsibility of the projectFor instance, the GDAL web site lives on a telascience blade with custom scripts running doxygen.  
  
 
== Source Code Control ==
 
== Source Code Control ==
Line 24: Line 25:
 
Some projects now using SVN, while others use CVS.  
 
Some projects now using SVN, while others use CVS.  
  
CollabNet offers both.
+
OSGeo offers [[Subversion]], but SAC can assist with migration from CVS to SubversionThis has been a good transition for a number of projects (GDAL, MapServer).  
 
 
Migrating in should be quite easy.  The main downside is that all existing committer authentication will be lost, and will need to be resetup via the CollabNet infrastructure.
 
 
 
Will the CVS/SVN history be maintained when moving into/out of CollabNet?
 
 
 
Some projects currently use CVS (or SVN?) triggers to launch actions such as IRC (via CIA-bot) notifications, mailing list notifications and web site updates.  Collabnet provides a mailing list for updates, but does not allow arbitrary commit hooks (as far as I (FW) know). The GRASS-CVS posts diff mails to a dedicated mailing list.
 
 
 
CVS projects might want to take this opportunity to consider SVN which is superior technologyHoward Butler is knowledgable about how to do a CVS to SVN transition that preserves history.  This would of course add some extra disruption for developers.
 
 
 
Migrating out of Collabnet SVN is pretty easy assuming Collabnet provides access to the raw SVN archive (which they have agreed to do).  The main disruption would be related to user authentication and a new location. SVN is open source so there is no need to change to a new tool if migrating out.
 
  
 
== Bug / Issue Tracking ==
 
== Bug / Issue Tracking ==
Line 41: Line 32:
 
* Bugzilla: GDAL, MapServer, OSSIM
 
* Bugzilla: GDAL, MapServer, OSSIM
 
* Jira: GeoTools, MapBuilder
 
* Jira: GeoTools, MapBuilder
* Wiki: Mapbender
+
* SF bug tracker: Mapbender
 
* RT: GRASS (Gforge planned)
 
* RT: GRASS (Gforge planned)
* CN Issue Tracker: MapGuider
+
* CN Issue Tracker: MapGuide
 
 
CollabNet offers an issue tracker with roughly comparible capabities to other bug trackers.  (''please note significant distinctions here'') However, it is not clear that there is a clean way to migrate bugs from other systems to the CN issue tracker.  Lacking this it seems unlikely the projects with substantial historical bug databases will be eager to migrate to the CN infrastructure. 
 
 
 
Should any projects migrate to the CN issue tracker, it is also unclear that there is any way to migrate bugs out again should we drop CN support, though apparently CN does support an XML export of the database so hand crafting tools should be *possible* with some lossiness.
 
  
It would seem that migration to (and from) the CN bug tracker are going to be painful.  
+
OSGeo offers [[Trac Instances|Trac]], and SAC can potentially assist in transitions from Bugzilla in such a way that history is preserved.
  
 
== Mailing Lists / Forums ==
 
== Mailing Lists / Forums ==
  
 
Currently member projects use:
 
Currently member projects use:
* Mailman: GDAL, GRASS, OSSIM, MapBuilder, Mapbender, GeoTools, MapServer
+
* Mailman: GDAL, GRASS, OSSIM, MapBuilder, GeoTools, MapServer, Mapbender is currently in transition
* CN Mailing Lists: MapGuide
+
* CN Mailing Lists: MapGuide, Mapbender
 
 
CN offers a mailing list mechanism (ezmlm).  It supports and easy mechanism for administrators to batch subscribe email addresses, so migrating existing lists to it is relative easy (though digest or other config options may be lost).  It has a few quirks (no apparent way to limit messages by size, digest is by accumulated mail size rather than something like daily).  But the mailing lists seem to work fine, and are integrated into the platform.  Migration will require all subscribers updating their address books with a new email address.
 
 
 
However, is it possible to migrate the mailing list archives when moving into/out of CollabNet? Some projects such as GRASS and GDAL do want to maintain it.
 
 
 
Migrating out it is easy to capture the subscriber lists, and setup a new external mailing list instance.  It may involve a new email address again and will likely result in loss of email subscriber options.  Is there an option to get the mailing list archives out of CN?
 
 
 
Overall, there is not a high cost to migrating in or out of the CN mailing list architecture.
 
 
 
''The above does not address migrating archives which is also high desirable, but apparently very difficult with the CN mailing list archive manager.''
 
  
 +
OSGeo offers [[SAC:Mailing Lists|Mailman]] at http://lists.osgeo.org/mailman/listinfo for OSGeo hosted mailing lists. 
  
 
== Download Server ==
 
== Download Server ==
Line 72: Line 50:
 
Existing projects offer source, binary and data downloads through http and ftp.   
 
Existing projects offer source, binary and data downloads through http and ftp.   
  
Collabnet offers an http based download facility from from the "Documents and Files" area on the left nav bar. This seems roughly analygous to the download support in SourceForge, and is generally adequate for downloads. (''are there any perceived problems?'')
+
OSGeo operates a [[Download Server]] on a telascience blade which includes http (http://download.osgeo.org), ftp (ftp://ftp.remotesensing.org) and rsync accessSpace is currently somewhat limited (only a couple GB free?). Upload access is inconvenient as a special account needs to be requrested from Howard Butler.
 
 
There may be a migration hassle for folks moving large amounts of existing files into CN but generally speaking migration to CN for downloads should be straightforward.  
 
 
 
Migrating out should also be relatively easy. Just "wget" the files to another server or something similar.   
 
 
 
One downside of CN is that it doesn't offer ftp download services, but it isn't at all obvious to me that this is important in 2006. (''comments?'')
 
 
 
The other issue that could arise is that sufficient popularity for OSGeo projects could push the limits of our CN bandwidth limit (not sure what it is) in which case we might need to move some big things to the telascience hosted servers.  
 
  
 
== Wiki ==
 
== Wiki ==
Line 87: Line 57:
 
* No wiki: GDAL (want one!), MapServer (had one but wiki-spammed), MapGuide
 
* No wiki: GDAL (want one!), MapServer (had one but wiki-spammed), MapGuide
 
* Twiki: OSSIM, GRASS
 
* Twiki: OSSIM, GRASS
* Mediawiki: Mapbender
+
* Mediawiki: Mapbender, OSGeo
 
* Confluence: GeoTools, MapBuilder
 
* Confluence: GeoTools, MapBuilder
  
Currently CN does not offer a wiki.  Arnulf has kindly hosted a mediawiki instance for OSGeo
+
OSGeo offers Trac wiki.  It is also possible that OSGeo could host MediaWiki instances though we haven't gotten this operational yet.
 
 
It isn't clear if there are benefits to moving into a common wiki for projects.  We could likely host mediawiki instances for each project at telascience if needed.
 
 
 
There would be no pressing need to migrate out as the wiki won't be dependent on collabnet.
 
  
 
== Automated Build/Smoke Test System ==
 
== Automated Build/Smoke Test System ==
  
 
Current projects:
 
Current projects:
* GDAL:
+
* GDAL: BuildBot (prototype)
* GeoTools: cruise control + maven 1 - we are moving to maven 2
+
* GeoTools: cruise control + maven 2 (and may consider Continum)
* GRASS: script based build system for Linux, MacOSX, mingW; script/HTML based testsuite
+
* GRASS: script based build system for Linux, MacOSX, mingW; script/HTML based testsuite; additionally [https://mail.osgeo.org/servlets/ReadMsg?list=discuss&msgNo=400 automated clone testing and function size/structure Quality Control]
* Mapbender:
+
* Mapbender: currently testing [http://www.openqa.org/selenium/ Selenium]
 
* MapBuilder: Setting up a fitnesse/ruby/WATIR/Autoit solution for AJAX type testing
 
* MapBuilder: Setting up a fitnesse/ruby/WATIR/Autoit solution for AJAX type testing
* MapGuide:
+
* MapGuide: Cruise Control (I think)
* MapServer:
+
* MapServer: BuildBot (prototype)
 
* OSSIM:
 
* OSSIM:
  
Moving automated Build/Smoke Test Systems to CollabNet infrastructure could go along with a build farm.
+
OSGeo offers [[BuildBot Configuration|Buildbot]] running on telascience blades.  Some SAC (Mateusz) support is available for projects wanting to setup under buildbot. Currently only a limited number of slaves are available for pan-OSGeo though this is being worked on.
  
 
== Demo Site ==
 
== Demo Site ==
  
Current Projects:
+
'''Current Projects''':
- geotools: n/a library project, demo examples in wiki and included with source download
 
 
 
== IRC ==
 
  
GeoTools: irc:/freenode.org#geotools
+
* geotools: n/a library project, demo examples in wiki and included with source download
 +
* GRASS: a couple of [http://grass.itc.it/download/cdrom.php Demo Live CDROMs/DVDs are available] (Linux, MS-Windows)
 +
* Mapbender: There are several [http://www.mapbender.org/index.php/Mapbender_Gallery Mapbender demo installations] operated by different companies and clients, all linked from the Wiki. It is planned to create a "full stack" demo site on the telescience servers asap. Every Mapbender installation contains demo data (Capabilities URLs) and demo interfaces. A MapServer WMS demo ist operated by CCGIS hosting the Free Data project "Germany", a GeoServer WFS-T demo installation hosts the Mapbender users.
  
* with logging...
+
Currently OSGeo does not offer any standard service for this, though it is possible for projects to setup custom stuff on Telascience blades by special arrangement. This isn't done by SAC.
  
= Infrastrucutre Intergration =
+
== IRC ==
 
 
This section describes the ways in which the components of the infrastructure interact, and this is where CollabNet starts to excel, however some catch is needed to match the geotools project.
 
 
 
== Collabnet Intergration ==
 
 
 
{| border=1
 
!      !! SVN !! Build !! Bug !! IRC !! mail !! Wiki !! Web
 
|-
 
! SVN  ||    ||    ||  || 1  ||  ||  ||
 
|-
 
! Build ||  ||      ||    ||    ||  ||      || 
 
|-
 
! Bug  ||    ||      ||    ||    ||  ||  ||
 
|-
 
! IRC   ||    ||      ||    ||    ||      || 2    ||
 
|-
 
! Email ||    ||      ||  ||    ||      ||      ||
 
|-
 
! Wiki  ||    ||      ||    ||    ||      ||      ||
 
|-
 
! Web  ||  ||    ||  ||    ||  ||      ||
 
|}
 
 
 
 
 
== GeoTools Intergration ==
 
 
 
Here is a worked example illustrating how the GeoTools project is intergrated:
 
{| border=1
 
!      !! SVN !! Build !! Bug !! IRC !! mail !! Wiki !! Web
 
|-
 
! SVN  ||    || yes  || yes || 1  || yes  || yes  ||
 
|-
 
! Build || yes ||      ||    ||    || yes  ||      || 
 
|-
 
! Bug  ||    ||      ||    ||    || yes  || yes  || yes
 
|-
 
! IRC  ||    ||      ||    ||    ||      || 2    ||
 
|-
 
! Email ||    ||      || yes ||    ||      ||      ||
 
|-
 
! Wiki  ||    ||      ||    ||    ||      ||      ||
 
|-
 
! Web  || yes || yes  || yes ||    || yes  ||      ||
 
|}
 
 
 
1 not sure if this one works right now<br>
 
2 logs of IRC meetings are posted
 
  
Areas for improvements in intergration:
+
* GDAL: irc://irc.freenode.org#gdal
* single user name / password for svn, confluence, jira
+
* GeoTools: irc://irc.freenode.org#geotools
 +
* GRASS: irc://irc.freenode.org#grass
 +
* Mapserver: irc://irc.freenode.org#mapserver
 +
* Mapbuilder: irc://irc.freenode.org#mapbuilder
  
==== GeoTools SVN Intergration ====
+
It would be desirable to have an automated archieving of IRC channels, but no action has been taken in this regard.
  
We are capturing intergration in a single direction: ie if we do a commit in svn what gets updated? Well everything in the following list...
+
== Security ==
 +
* Common LDAP infrastructure for single sign-on
 +
* SSL certificates for OSGeo sites (currently CN owned ?)
  
SVN (commit) to Build:
+
OSGeo manages an LDAP server for [http://www.osgeo.org/osgeo_userid OSGeo Userids] which can be used for Trac, Subversion and Drupal.  Currently stuff on the telascience blades does not take advantage of this.
* curise control builds after a 30 min pause in commits
 
* curise control builds nightly
 
* various cruise control instances watch different important branches, these are maintained by several organizations
 
  
SVN (commit) to Tracker:
+
= Tool Selection Criteria =
* the Jira tracker will watch the svn code repository and pick up any commit message that mentions a Jira Number, these show up
 
as comments against the Jira Issues, and serve to document a patch being applied in development and then stable branches
 
* not sure if we have configured this correctly
 
  
SVN (commit) to IRC:
+
If a project were to leave OSGeo, then they should be able to set up and use all the tools without a license cost.
* CIA is used to host a bot on the freenode#geotools IRC channel it cheerfully chrips up about commits, but does not answer questions
+
* Ideally, the tools should be open source, but a "Free for Open Source" licence is acceptable.
 +
* Tools that use Open Standards will be used where possible as reduces the need for vendor lock in.
 +
* Tools should be able to input data from existing OSGeo projects with minimal effort and without loosing history.
  
SVN (commit) to Email:
+
= Migration Off OSGeo =
* there is a geotools-commits email list that can be subscribed to
 
  
SVN (commit) to WIKI:
+
Should a project desire to migrate off OSGeo systems, OSGeo will take all reasonable actions to support this.  This includes making SVN dumps, Trac "snapshots", Mailman snapshots and so forth available.  Some services (such as the
* you can use wiki syntax to grab lines of a file from svn, these can be used as code examples on demo and tutorial pages
+
download server) are already publically accessable.
  
SVN (commit) to Web:
+
[[Category:Incubation]]
* cruise control is used to generate a javadoc website based on svn
+
[[Category:Infrastructure]]
* we build a website for module information based on maven 2, a series of performance metrics are gathered using tools like
 
clover.
 

Latest revision as of 01:46, 9 February 2017

This is a historical document (2007). You may want to check out the current Infrastructure Transition Plan 2014 or Category:Infrastructure


This document attempts to discuss the needs of projects currently (really initially) going through incubation. It attempts to address infrastructure needs, and migration strategies to OSGeo servers.

Infrastructure Components

The following components make up the typical needs of an open source project, each section documents what the current projects use, and what OSGeo currently offers.

Web Pages

Currently the members projects use:

  • Wiki: OSSIM + GRASS (Twiki), GeoTools + MapBuilder (Confluence), Mapbender + OSGeo (Mediawiki)
  • CMS: MapServer (Plone)
  • Static HTML: MapGuide, OSGeo
  • PHP HTML: GRASS (but CMS forthcoming) + weekly generated software user docs
  • Doxygen (nightly generated HTML): GDAL, GRASS (for programmer's manual)

OSGeo offers Trac wiki as standard as well as Drupal instances on the main server (as is done for FDO and MapGuide).

Other customized solutions are possible, but will be primarily the responsibility of the project. For instance, the GDAL web site lives on a telascience blade with custom scripts running doxygen.

Source Code Control

Some projects now using SVN, while others use CVS.

OSGeo offers Subversion, but SAC can assist with migration from CVS to Subversion. This has been a good transition for a number of projects (GDAL, MapServer).

Bug / Issue Tracking

Currently members projects use:

  • Bugzilla: GDAL, MapServer, OSSIM
  • Jira: GeoTools, MapBuilder
  • SF bug tracker: Mapbender
  • RT: GRASS (Gforge planned)
  • CN Issue Tracker: MapGuide

OSGeo offers Trac, and SAC can potentially assist in transitions from Bugzilla in such a way that history is preserved.

Mailing Lists / Forums

Currently member projects use:

  • Mailman: GDAL, GRASS, OSSIM, MapBuilder, GeoTools, MapServer, Mapbender is currently in transition
  • CN Mailing Lists: MapGuide, Mapbender

OSGeo offers Mailman at http://lists.osgeo.org/mailman/listinfo for OSGeo hosted mailing lists.

Download Server

Existing projects offer source, binary and data downloads through http and ftp.

OSGeo operates a Download Server on a telascience blade which includes http (http://download.osgeo.org), ftp (ftp://ftp.remotesensing.org) and rsync access. Space is currently somewhat limited (only a couple GB free?). Upload access is inconvenient as a special account needs to be requrested from Howard Butler.

Wiki

Current projects:

  • No wiki: GDAL (want one!), MapServer (had one but wiki-spammed), MapGuide
  • Twiki: OSSIM, GRASS
  • Mediawiki: Mapbender, OSGeo
  • Confluence: GeoTools, MapBuilder

OSGeo offers Trac wiki. It is also possible that OSGeo could host MediaWiki instances though we haven't gotten this operational yet.

Automated Build/Smoke Test System

Current projects:

  • GDAL: BuildBot (prototype)
  • GeoTools: cruise control + maven 2 (and may consider Continum)
  • GRASS: script based build system for Linux, MacOSX, mingW; script/HTML based testsuite; additionally automated clone testing and function size/structure Quality Control
  • Mapbender: currently testing Selenium
  • MapBuilder: Setting up a fitnesse/ruby/WATIR/Autoit solution for AJAX type testing
  • MapGuide: Cruise Control (I think)
  • MapServer: BuildBot (prototype)
  • OSSIM:

OSGeo offers Buildbot running on telascience blades. Some SAC (Mateusz) support is available for projects wanting to setup under buildbot. Currently only a limited number of slaves are available for pan-OSGeo though this is being worked on.

Demo Site

Current Projects:

  • geotools: n/a library project, demo examples in wiki and included with source download
  • GRASS: a couple of Demo Live CDROMs/DVDs are available (Linux, MS-Windows)
  • Mapbender: There are several Mapbender demo installations operated by different companies and clients, all linked from the Wiki. It is planned to create a "full stack" demo site on the telescience servers asap. Every Mapbender installation contains demo data (Capabilities URLs) and demo interfaces. A MapServer WMS demo ist operated by CCGIS hosting the Free Data project "Germany", a GeoServer WFS-T demo installation hosts the Mapbender users.

Currently OSGeo does not offer any standard service for this, though it is possible for projects to setup custom stuff on Telascience blades by special arrangement. This isn't done by SAC.

IRC

It would be desirable to have an automated archieving of IRC channels, but no action has been taken in this regard.

Security

  • Common LDAP infrastructure for single sign-on
  • SSL certificates for OSGeo sites (currently CN owned ?)

OSGeo manages an LDAP server for OSGeo Userids which can be used for Trac, Subversion and Drupal. Currently stuff on the telascience blades does not take advantage of this.

Tool Selection Criteria

If a project were to leave OSGeo, then they should be able to set up and use all the tools without a license cost.

  • Ideally, the tools should be open source, but a "Free for Open Source" licence is acceptable.
  • Tools that use Open Standards will be used where possible as reduces the need for vendor lock in.
  • Tools should be able to input data from existing OSGeo projects with minimal effort and without loosing history.

Migration Off OSGeo

Should a project desire to migrate off OSGeo systems, OSGeo will take all reasonable actions to support this. This includes making SVN dumps, Trac "snapshots", Mailman snapshots and so forth available. Some services (such as the download server) are already publically accessable.