Preparations for the ubuntu 12.04 long term support release

Registered by Muharem Hrnjadovic on 2011-08-31

It is in our best interest to prepare for the ubuntu 12.04 LTS release and stick to it for reasons of reduced packaging effort and stability. This blueprint describes what needs to be done.

Blueprint information

Status:
Not started
Approver:
John Tarter
Priority:
Low
Drafter:
Muharem Hrnjadovic
Direction:
Needs approval
Assignee:
Muharem Hrnjadovic
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Whiteboard

= 12.04 ubuntu server LTS =

Ubuntu server -- the OpenQuake deployment platform -- is slated for a
long term support (LTS, [1]) release in April of 2012. That LTS release
will be supported for a period of 5 years.

It is in our best interest to prepare for the LTS release and stick to it
for reasons of reduced packaging effort and stability.

At this point there are two OpenQuake dependencies that are problematic
with respect to the 12.04 ubuntu server LTS release:

    - redis-server
    - postgresql-8.4

== Redis server ==

Due to the unmaintained Java/redis bindings [6] that we package
ourselves [2], we are pinned to the 2.0.4 redis-server release.

The redis-server revision likely to be used in ubuntu
    - 11.10 is 2.2.11 [4]
    - 12.04 LTS release is 2.4 [5]
i.e. in the LTS time frame we will be two *major* redis-server releases
behind which is quite precarious for all the obvious reasons.

The recommendation here is to move away from redis altogether and
transition to MongoDB [7] which is a capable replacement for redis [9]
and opens up some other more technologically advanced possibilities as
well.

The Java bindings for MongoDB are well maintained and stable [8].

== Postgresql 8 ==

postgresql-8.4 is already flagged as an obsolete revision in the
forthcoming ubuntu 11.10 release. I expect the current 9.1 release
candidate [A] to be well entrenched and shipped (as the main
postgresql flavour) by 12.04 LTS.
Furthermore, the postgresql eco-system has had enough time and is coming
around to support postgresql-9 nicely (see e.g. postgis, [B]).

Since we also expect database-related deliveries by several global
components, we should set clear expectations and communicate that we
will deploy on postgres-9 from ubuntu 12.04 LTS onward (maybe even
earlier).

== Migration considerations ==

We need to estimate migration efforts, I suspect the redis-to-MongoDB
migration will be the more painful one and should hence be carried out
first.

We can perform one technology migration at a time or do both in one fell
swoop.

I see 2 possible time windows for the migrations suggested
    - the 0.4.5 milestone ending 2011-10-27
    - the 0.4.8 milestone ending 2012-01-27

My suggestion would be to carry out the migration to MongoDB in 0.4.5
and the migration to postgresql-9 in 0.4.8

== References ==

[1] https://wiki.ubuntu.com/LTS
[2] https://launchpad.net/~openquake/+archive/ppa/+sourcepub/1484389/+listing-archive-extra
[3] https://launchpad.net/~openquake/+archive/ppa/+sourcepub/1506848/+listing-archive-extra
[4] https://launchpad.net/ubuntu/+source/redis
[5] http://redis.io/download
[6] http://code.google.com/p/jredis/
[7] http://www.mongodb.org/
[8] http://www.mongodb.org/display/DOCS/Java+Tutorial
[9] http://perfectmarket.com/blog/not_only_nosql_review_solution_evaluation_guide_chart
[A] http://www.postgresql.org/docs/9.1/static/release-9-1.html
[B] http://postgis.refractions.net/news/20110627/

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.