Open bdepardo opened 11 years ago
On 2012-07-24 11:04:26 +0200, 'Bard Nicolas (nicolas.bard@sysfera.com) wrote: J'utilise FMS via son API Java dans le cadre du WebBoard FMS GUI. Je suis en train d'implémenter une fonctionnalité : permettre à l'utilisateur de modifier via son interface Web, un fichier texte sur une machine distante. Pour le faire je procède ainsi :
Je crée un répertoire temporaire unique sur la machine qui héberge le WebBoard
J'écris dedans la version modifiée par l'utilisateur du fichier ciblé.
Ces deux opérations sont faites par le contrôleur en groovy, FMS n'est pas impliqué.
Ensuite je fais un "backup" du fichier distant à modifier, j'utilise FMS pour le déplacer vers mon répertoire temporaire. Je déplace ensuite le fichier modifié vers l'emplacement qui vient d’être libéré. Tout cela marche très bien. En effet, je ne sais pas quelle est la machine "locale", mais les transferts marchent très bien en utilisant des adresses de fichier telles que "localhost:/opt/sysfera/fmstmp/file.tmp"
L'étape suivante consiste simplement à supprimer le "backup" et le répertoire temporaire. C'est la que se trouve l'incohérence : si je demande à Vishnu de supprimer le fichier "localhost:/opt/sysfera/fmstmp/file.tmp", il ne se passe rien, mais FMS ne me renvoie pas non plus de message d'erreur.
J'ai reproduit le "bug" dans l'interface en ligne de commande :
Copie dans un sens.
nbard@nicoboard:~/FMS-sandbox/empty$ ls nbard@nicoboard:~/FMS-sandbox/empty$ vishnu_copy_file MA_11:/home/nbard/FMS-sandbox/largeFiles/GettingStartedwithGrailsFinalInfoQ.pdf localhost:/home/nbard/FMS-sandbox/empty/. [...] MA NAME PARSING = MA0 DIET WARNING: useLogService disabled.
The Master Agent found the following server(s): nicoboard:0 Calling the ref Corba of the SeD nbard@nicoboard:~/FMS-sandbox/empty$ ls GettingStartedwithGrailsFinalInfoQ.pdf
OK
Copie dans l'autre sens.
nbard@nicoboard:~/FMS-sandbox/empty$ ls GettingStartedwithGrailsFinalInfoQ.pdf nbard@nicoboard:~/FMS-sandbox/empty$ vishnu_copy_file localhost:/home/nbard/FMS-sandbox/largeFiles/blastp MA_11:/home/nbard/FMS-sandbox/empty/. [...] MA NAME PARSING = MA0 DIET WARNING: useLogService disabled.
The Master Agent found the following server(s): nicoboard:0 Calling the ref Corba of the SeD nbard@nicoboard:~/FMS-sandbox/empty$ ls blastp GettingStartedwithGrailsFinalInfoQ.pdf nbard@nicoboard:~/FMS-sandbox/empty$
OK
Delete classique :
nbard@nicoboard:~/FMS-sandbox/empty$ ls blastp GettingStartedwithGrailsFinalInfoQ.pdf nbard@nicoboard:~/FMS-sandbox/empty$ vishnu_remove_file MA_11:/home/nbard/FMS-sandbox/empty/GettingStartedwithGrailsFinalInfoQ.pdf [...] MA NAME PARSING = MA0 DIET WARNING: useLogService disabled.
The Master Agent found the following server(s): nicoboard:0 Calling the ref Corba of the SeD nbard@nicoboard:~/FMS-sandbox/empty$ ls blastp
OK
Delete avec localhost :
nbard@nicoboard:~/FMS-sandbox/empty$ ls blastp nbard@nicoboard:~/FMS-sandbox/empty$ vishnu_remove_file localhost:/home/nbard/FMS-sandbox/empty/blastp [...] MA NAME PARSING = MA0 DIET WARNING: useLogService disabled.
nbard@nicoboard:~/FMS-sandbox/empty$ ls blastp
Ne marche pas.
En fait l'utilisation de localhost semble uniquement restreinte aux transferts. Avec un listdir :
nbard@nicoboard:~/FMS-sandbox/empty$ vishnu_list_dir localhost:/home [...] MA NAME PARSING = MA0 DIET WARNING: useLogService disabled.
Ne marche pas non plus... Cependant l'absence de message d'erreur est troublant :
nbard@nicoboard:~/FMS-sandbox/empty$ vishnu_list_dir toto:/home [...] MA NAME PARSING = MA0 DIET WARNING: useLogService disabled.
The Master Agent found the following server(s): nicoboard:0 Calling the ref Corba of the SeD vishnu_list_dir: The machine id is unknown [toto does not exist among the defined machines by VISHNU System]
Si le nom de machine est inapproprié on a bien ce message d'erreur!
major bug in component FMS Reported in version 1.3.0 on platform All