2.4 upgrade in multiuser environment

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

2.4 upgrade in multiuser environment

NorbertHartl
Hi,

I just want to write a short summary what I have learned yesterday.

 I am using gemstone in a multiuser environment. That means I have created several users that are completely bootstrapped which in turn means all of the classes except the system classes are local to that user. The rationale is to have the chance to install different versions of software components in one image. The best example is seaside 2.8 and seaside 3.0. They cannot co-exist. Having a few projects would mean if I upgrade one I need to upgrade all at the same time. Neither do I need to upgrade every project nor do I like to have to do it all at the same time.
You could argue I could just have multiple gemstone installations. That is right but I'm always looking for the "smart" approaches. A lot of gemstone installations is a lot things to maintain and a lot of VMs to be run. But more important as all of this for me is the fact that I want to make the best use of the shared page cache. So I can have a single gemstone installation with a lot of small projects or pier instances and they all share the bigger shared page cache. At least I think it is a good idea.

upgrading the system to 2.4.4
-------------------------------------------

Like in the upgrading guide (look at http://gemstonesoup.wordpress.com/2010/07/15/gemstones-64-version-2-4-4-1-is-shipping/)  that comes with 2.4 do the steps

- upgradeImage
- upgradeSeasideImage

upgrading users
-----------------------

The above updates the system and the space for DataCurator. So you need to do the same for every other user that has been bootstrapped as well. If you have a standard installation in /opt/gemstone and a symlink product in there than the location you have to change is in

/opt/gemstone/product/upgrade/upgradeSeasideImage.topaz

At the beginning of the file there is some comment followed by a

set gemstone $stoneName....

line. Do not alter this line!! You need to seach for another line after a comment containing "logout". After installation it looks like this

set gemstone $stoneName user DataCurator pass swordfish

Just exchange "DataCurator" with to user to be upgraded and "swordfish" with the password. Now run the upgradeSeasideImage script again and this user is also upgraded. Repeat this for every user you want to upgrade


adding a new user
---------------------------

At the moment there is no new bootstrap script for 1.0-beta.8.x. So I just took the old one 1.0-beta.4 (http://gemstonesoup.wordpress.com/2009/12/02/bootstrapping-glass-1-0-beta-4/) . These steps worked for me.

- adding a user via gemtools (AllUsers newUserWithId: ...). Don't forget to add privileges (I always do :) )
- entering the bootstrap directory and edit .topazini with the username and passwort of your new user
- start topaz, login and do the "input installMaster.topaz"
- now your user is bootstrapped to 1.0-beta.4
- repeat the section above "upgrading users" for the newly bootstrapped user
- enter the gemstone client and log in as the new user and press "Update..." followed by "Update GLASS"
- I had best results to first upgrade to 1.0-beta.6. You'll get an error at the end of the installation (In the debugger you can read about postLoadDoIt). This does not seem to be a problem. Close debugger, logout and login again and you should see "1.0-beta.6 workspace" in the client
- now update again to 1.0-beta.8.1 and after a while you should have a new user bootstrapped to the newest glass.
- now it is a good time to do a backup and install some software

Hope this helps anyone,

Norbert