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]