Hello TurboGears application developers,
We would like to upgrade the version of Turbogears and SQLAlchemy present on the Fedora Infrastructure app servers in the near future.
There are a few details that make this an update that I would like to have people test heavily but overall it should be an easy upgrade for most people. Details:
TurboGears 1.0.4 is an update that retains TG-1.0.x compatibility. We don't anticipate any problems with this portion.
SQLAlchemy 0.4 is an incompatible update to SA-0.3.x. TurboGears-1.0.4 includes changes to allow us to use it with minimal porting. Most Fedora Web apps are using SQLObject so they shouldn't be affected by this update. python-fedora's tgfas, pkgdb, and smolt use SQLAlchemy. loupgaroublond has already ported smolt so porting tgfas and pkgdb should be all that is needed to enable this. I'll be testing ports of both of those this week.
If anyone has another web app that should be accounted for by this update, please *holler loudly*.
The two issues I anticipate: 1) FC6 is EOL but app3 is still FC6. I've had success using EPEL-5 packages on FC6/app3 for a few packages in the past but this could be a bit more involved as TurboGears has a lot of dependencies. Unless we can plan on obsoleting app3 before we upgrade we'll need to do some testing on publictest1 as well as publictest10 to be sure that the TG package and dependencies work on FC6.
2) Because python-fedora has to be ported to the new SA API I also want to update the code to use the latest TurboGears conventions. This will allow us to simplify the TG-Auth code quite a bit (I'll be able to get rid of about half of our code in favor of code that's carried in TG proper). However, there is the risk that some of the bugs that we fixed when creating our code will be reintroduced because of this. I'm thinking especially about the session bug where people would hit the login page and then not be logged in or hit the logout page but not be logged out. Since that bug was hard to reproduce reliably, I'll need other people to help test this.
I'm getting the new python-fedora working on publictest10 right now and will be installing and testing the new stack on publictest1 soon (probably tomorrow.) I'll send a note for people to beat on it while I port over the packagedb.
-Toshio
On Mon, 11 Feb 2008, Toshio Kuratomi wrote:
Hello TurboGears application developers,
We would like to upgrade the version of Turbogears and SQLAlchemy present on the Fedora Infrastructure app servers in the near future.
There are a few details that make this an update that I would like to have people test heavily but overall it should be an easy upgrade for most people. Details:
TurboGears 1.0.4 is an update that retains TG-1.0.x compatibility. We don't anticipate any problems with this portion.
SQLAlchemy 0.4 is an incompatible update to SA-0.3.x. TurboGears-1.0.4 includes changes to allow us to use it with minimal porting. Most Fedora Web apps are using SQLObject so they shouldn't be affected by this update. python-fedora's tgfas, pkgdb, and smolt use SQLAlchemy. loupgaroublond has already ported smolt so porting tgfas and pkgdb should be all that is needed to enable this. I'll be testing ports of both of those this week.
If anyone has another web app that should be accounted for by this update, please *holler loudly*.
The two issues I anticipate:
- FC6 is EOL but app3 is still FC6. I've had success using EPEL-5 packages
on FC6/app3 for a few packages in the past but this could be a bit more involved as TurboGears has a lot of dependencies. Unless we can plan on obsoleting app3 before we upgrade we'll need to do some testing on publictest1 as well as publictest10 to be sure that the TG package and dependencies work on FC6.
This is blocking on getting the transifex deps into EPEL. At this point I think we should stick them in infrastructure repo, some of the package owners have been contacted and been slow to respond
I've added it to my list of things to do this week, hopefully we'll get transifex running on other boxes soon.
Toshio, thanks for doing all of this.
-Mike
2008/2/11 Toshio Kuratomi a.badger@gmail.com:
Hello TurboGears application developers,
We would like to upgrade the version of Turbogears and SQLAlchemy present on the Fedora Infrastructure app servers in the near future.
There are a few details that make this an update that I would like to have people test heavily but overall it should be an easy upgrade for most people. Details:
TurboGears 1.0.4 is an update that retains TG-1.0.x compatibility. We don't anticipate any problems with this portion.
SQLAlchemy 0.4 is an incompatible update to SA-0.3.x. TurboGears-1.0.4 includes changes to allow us to use it with minimal porting. Most Fedora Web apps are using SQLObject so they shouldn't be affected by this update. python-fedora's tgfas, pkgdb, and smolt use SQLAlchemy. loupgaroublond has already ported smolt so porting tgfas and pkgdb should be all that is needed to enable this. I'll be testing ports of both of those this week.
Smolt should still work on SQLAlchemy 0.3, maybe with some very minor changes. +1 for upgrading applications, as the new SA is very slick, and TurboGears takes full advantage of this (like session creation strategies that can be customized at a TurboGears level, so they can be very intelligent about user sessions, or user threads, etc....). Even so, there's no rush if we don't need to.
-Yaakov
Toshio Kuratomi wrote:
I'm getting the new python-fedora working on publictest10 right now and will be installing and testing the new stack on publictest1 soon (probably tomorrow.) I'll send a note for people to beat on it while I port over the packagedb.
The new stack is running on publictest10. The change was a bit more intrusive than I counted on for python-fedora so I'll be waiting until tomorrow to update publictest1 (when I can be available to address any problems that we encounter.)
I've also identified a bug in TurboGears-1.0.4.2/3 when used with SQLAlchemy-0.4. This will affect people who are locating errors in input using exception handling like this:
session.update([..]) try: session.flush() except: session.rollback [.. create an error message for the user ..] return [...error...]
This might be used to catch duplicates of a unique record, for instance. I have a patch but I haven't gotten feedback from upstream TurboGears or Luke yet. The patch is attached to this ticket: http://trac.turbogears.org/ticket/1721
-Toshio
infrastructure@lists.fedoraproject.org