Sunday, September 16, 2007

Zion/Ruth autoupdates/autobuilds

Those of you who heard me saying "hm strange some permission problem" - well, it was a self-inflicted pain... I messed up the build scripts - so the nightly build was deleting the whole tree of the currently running Zion/Ruth, and then it was happening there :) No wonders it did not work too well.

Today I have discovered and fixed this stupid mistake, moreover, now there will be daily data backups (even though I said that the whole things are subject to sudden disappearing - those sudden disappearings are highly annoying :)

Along with that, I've slightly tweaked the schedule for the nightly builds.

So it looks as follows:

06:00 CET (21:00 SLT)
"hot" data backup
there is no downtime,
but there is a chance
of inconsistency

06:30 CET (21:30 SLT):
"nightly build" kickoff
the build gets placed onto

07:00 CET (22:00 SLT):
Zion/Ruth gets updated to
the latest nightly build
and restarted.

The last step happens only if the nightly build
was successful, and consists of:

- stopping the OpenSim.exe
- making the data backup (which should be ok since the server is stopped)
- making a full tar archive of the current running server
- fixing the locations to substitute the newly built tree
- performing a data restore
- setting the flag to start the server

It does take some 5-6 minutes to complete all of this - so around the 7am CET there will be a daily "outage" on the Zion.

I use the user "opensim" exclusively for running the opensim, so in case it is useful for anyone,
I've published the scripts that I quickly hacked up, so you might use them yourself as well, they are here.

Little bit about each script:

make-opensim: perform the build and publish it (leave the build dir behind!)

opensim-data-backup: make a data backup from the opensim instance

opensim-upgrade: perform the upgrade cycle - requires the build tree be present! (make-opensim run)

opensim-run-in-cycle: use this command to run the opensim in screen/vnc/etc.

No comments: