Hi,

>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<
On 1/8/01, 6:51:36 PM, stelios issaias <[EMAIL PROTECTED]> wrote regarding 
[midgard-user] migrate 1.25 - 1.4:

I have shuffled around your questions about midgard migration. A 
different order of answering worked better for me.

> what are the issues of the migration?

The biggest change from usage and administration point of view will be 
the sitegroup feature, a means in 1.4 to have separate customers in one 
database without them being able to see each others data. I suggest you 
read the chapter in the manual thouroughly and post your questions about 
them here before starting the upgrade.

> are there detailed instructions ?

There is a set of scripts to do the migration for you. When installing 
the midgard data package from source, just read the file INSTALL, this 
should be clear enough (I just reread it). When installing from RPM, you 
are advised to read ../doc/POSTINSTALL (the full directory path depends 
on your platform, it will tell you). Do not follow these instructions, 
but cd to the directory where this file lives and read the file INSTALL 
there.

> how difficult is the migration ?

This scripts should work just fine. We have found quite a few flaws in 
the scripts but all we found so far where problems with 1.4betaXX to 
1.4stable upgrades. I do advise you to make backups before doing 
anything.

Little trick when you upgrade a life system:

If you can not afford much downtime, this is what I do:

- dump the database with mysqldump
- import the dump into a mysql server on a test machine.
- Try the upgrade there.
- after the upgrade, all the hosts will be unreachable 
  because they are supposed to be on your life system, not
  the test machine. Asgard, however will be reachable from
  the testmachine, and you can change a few hosts to be reachable
  from the test machine.
- Access the now reachable hosts and verify that things work as before.
- repeat the above process a few times until you are comfortable with
  the steps needed for the upgrade.
- plan maintenance at a time when your services are accessed the least.
- announce maintenance block. You have by now a good idea of how long
  the upgrade will take. Take at least 30 minutes extra, so that you
  don't have to rush. Taking it slow and carefull is key.
During the maintenance block:
- make a fresh dump of the database.
- save it both locally and on a different machine. You never know.
- create a new database and install your dump there. 
  (you may want to practice step on your testmachine too)
- run upgrade, verify if all is well.
- if things are broken for some reason, you can just change httpd.conf
  to use the copy of the old database. If this happens, cancel the 
upgrade
  bring up the service and take your time to figure out what went wrong
  (back to the test setup) schedule a new attempt when you are ready to
  do so.

There. These are a lot of extra steps, of wich the bulk hopefully prove 
to have been unnecessary. But the rule for any change is to prepare for 
the worst and to make sure you have a roll-back plan. All this doesn't 
make installation easier, it does make sure that you don't have a 
disaster at hand when things go wrong. 

> my worries is that we have developed arround 100 different functions to
> expand midgard 1.2.5 ?

All these should continue to work, as all functions in 1.2.5 are still 
there. Some functions have more parameters, but these are all optional, 
so nothing should break. I have provided you with a method to see for 
yourself before you actually go life, so rest assured.

I have done four life upgrade now, all of them went fine. I did a lot of 
test upgrades before, and on some of them I did run into problems. These 
were all related to running beta releases.

A lot of functionality has been added to midgard 1.4, so you may find 
that there are now easier ways of doing things for some of your custom 
functions. For the others, I think you will be very happy with the 
snippet functions, because they are especially designed to store reusable 
code in. you call them by 
mgd_include_snippet(/snippetdir/.../deeperpath/snippetname) just like you 
would use include(php.inc) in plain old php.

Hope this helps, and good luck with your future migration.

Armand.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to