Exemple d’automatisation de gestion de plusieurs régions sur opensim (2/3)

III – Automatisation des mises à jour

III.1 Adaptation du fichier OpenSim.ini

Dans le fichier OpenSim.ini générique qui se trouve dans le répertoire ../opensim_x.x.x/bin, nous utiliserons les symboles suivants (le script remplacera ces symboles par les valeurs correctes pour chaque région).

REGION_NAME
HTTP_PORT
DATABASE_NAME
DATABASE_PASSWORD
SERVER_IP
VOICE_IP
AV_CAPSULE (seulement pour les serveurs 64bits)

Ainsi vous ne devez mettre à jour qu’un fichier maître OpenSim.ini et les fichiers individuels seront créés automatiquement par le script.

Modifications à apporter :

[Startup]
…………………………………
; ## STORAGE
…………………………………
; Pour utiliser mysql décommentez et paramétrez içi:
storage_plugin= »OpenSim.Data.MySQL.dll »
storage_connection_string= »Data Source=localhost;Database=DATABASE_NAME;User ID=opensim;Password=DATABASE_PASSWORD; »;
; If you want to use a different database/server for estate data, then
……………………………………..
[Network]
……………………………………..
http_listener_port = HTTP_PORT
…………………………………….
[ODEPhysicsSettings]
……………………………………..
; ## Avatar Control
……………………………………..
av_capsule_standup_tensor_linux = AV_CAPSULE
………………………………………
[FreeSwitchVoice]
………………………………………
freeswitch_service_server = SERVER_IP
;freeswitch_service_port = 80
; this should be the same port the region listens on
freeswitch_service_port = HTTP_PORT
freeswitch_realm = VOICE_IP
freeswitch_sip_proxy = VOICE_IP:5060
freeswitch_attempt_stun = false
freeswitch_stun_server = VOICE_IP
freeswitch_echo_server = VOICE_IP
freeswitch_echo_port = 50505
freeswitch_well_known_ip = VOICE_IP

III.2 Scripts

Dans le répertoire home de l’utilisateur opensim, créer un sous-répertoire
bin où vous placerez les deux scripts suivants, après les avoir adaptés à votre usage (nombre de régions et paramètres en rouge):

  • updateos ( à utiliser avec le paramètre opensim_x.x.x)
#!/bin/sh
# updateos
echo Updating OpenSim…
cd /home/opensim/opensim/
mkdir run_new
cd run_new
mkdir R01 R02 R03 R04
mkdir R01/Regions R02/Regions R03/Regions R04/Regions
mkdir R01/ScriptEngines R02/ScriptEngines R03/ScriptEngines R04/ScriptEngines
cp ../run/R01/Regions/* R01/Regions
cp ../run/R02/Regions/* R02/Regions
cp ../run/R03/Regions/* R03/Regions
cp ../run/R04/Regions/* R04/Regions
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R01/g’ -e ‘s/HTTP_PORT/9010/g’ -e ‘s/DATABASE_NAME/R01/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’ ‘s/AV_CAPSULE/1700000/g’ > R01/OpenSim.ini
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R02/g’ -e ‘s/HTTP_PORT/9011/g’ -e ‘s/DATABASE_NAME/R02/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’  ‘s/AV_CAPSULE/1700000/g’ > R02/OpenSim.ini
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R03/g’ -e ‘s/HTTP_PORT/9012/g’ -e ‘s/DATABASE_NAME/R03/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’  ‘s/AV_CAPSULE/1700000/g’ > R03/OpenSim.ini
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R04/g’ -e ‘s/HTTP_PORT/9013/g’ -e ‘s/DATABASE_NAME/R04/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’  ‘s/AV_CAPSULE/1700000/g’ > R04/OpenSim.ini
cd R01
ln -s ../../$1/bin/* .
ln -s ../../$1/bin/.* .
cd ../R02
ln -s ../../$1/bin/* .
ln -s ../../$1/bin/.* .
cd ../R03
ln -s ../../$1/bin/* .
ln -s ../../$1/bin/.* .
cd ../R04
ln -s ../../$1/bin/* .
ln -s ../../$1/bin/.* .
cd ../..
  • refreshos ( à utiliser avec le paramètre opensim_x.x.x)
#!/bin/sh
# refreshos
echo Refreshing OpenSim INI Files…
cd /home/opensim/opensim/run/
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R01/g’ -e ‘s/HTTP_PORT/9010/g’ -e ‘s/DATABASE_NAME/R01/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’ ‘s/AV_CAPSULE/1700000/g’ > R01/OpenSim.ini
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R02/g’ -e ‘s/HTTP_PORT/9011/g’ -e ‘s/DATABASE_NAME/R02/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’  ‘s/AV_CAPSULE/1700000/g’ > R02/OpenSim.ini
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R03/g’ -e ‘s/HTTP_PORT/9012/g’ -e ‘s/DATABASE_NAME/R03/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’  ‘s/AV_CAPSULE/1700000/g’ > R03/OpenSim.ini
cat ../$1/bin/OpenSim.ini | sed -e ‘s/REGION_NAME/R04/g’ -e ‘s/HTTP_PORT/9013/g’ -e ‘s/DATABASE_NAME/R04/g’ -e ‘s/DATABASE_PASSWORD/Sn6i367/g’ -e ‘s/SERVER_IP/71.6.217.139/g’ -e ‘s/VOICE_IP/66.240.232.99/g’  ‘s/AV_CAPSULE/1700000/g’ > R04/OpenSim.ini
cd ../..

III.3 Test de l’installation

cd opensim/bin/
updateos opensim_0.6.9

Le script a créé un répertoire run_new avec les fichiers de configuration adaptés à chaque région.

Testez le bon fonctionnement de vos régions. Si tout est correct :

cd ..
mv run run_old
mv run_new run

Si vous devez modifier quelque chose dans le fichier OpenSim.ini pour la même version d’opensim, modifiez le fichier maitre dans opensim_x.x.x/bin/ et :

cd opensim/bin/
refreshos opensim_0.6.9

III.4 Récapitulation

Lors de la prochaine installation (dans le répertoire home de l’utilisateur opensim):

  • téléchargement de la nouvelle version pré-compilée dans le répertoire tmp, décompression et transfert vers le répertoire /opensim/opensim_x.x.x
  • transfert du fichier OpenSim.ini de l’ancienne version dans le répertoire bin de la nouvelle version et modifications si nécessaire
  • si nécessaire, modification des fichiers RegionConfig.ini dans les répertoires run/Rxx
  • lancer updateos opensim_x.x.x
  • vérifier le bon fonctionnement des régions run_new/Rxx
  • renommer run en run_old
  • renommer run_new en run
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :