• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problème d'import ESX avec l'agent 2.2.6
#1
Bonjour,

J'ai eu aujourd'hui un problème d'import manuel des 5 serveurs ESX d'un client, sresx01 à sresx05 :
Sous un ubuntu 10.04, j'ai téléchargé le prebuilt, et fait successivement les 5 inventaires et les 5 injections avec les commandes :
./fusioninventory-esx --host sresx01 --user root --password 'xxx' --directory /tmp
./fusioninventory-injector -v --file /tmp/sresx01*.ocs -u http://glpi.domaine.fr/plugins/fusioninventory/
Et ainsi de suite pour les 4 autres serveurs.
Quand je suis allé dans la rubrique "Gestion des agents" de Fusioninventory dans GLPI, j'ai constaté qu'il avait fusionné les 5 agents en 1, sans nom, avec la règle d'import 'Computer UUID'

Comme ça avait parfaitement fonctionné il y a qq mois depuis un autre agent 2.1.13, je suis retourné faire l’inventaire et l'injection des 5 serveurs sresx01 à sresx05 depuis cet ancien agent (un prebuilt pour CentOS 4.8).
Et là, dans la rubrique "Gestion des agents", j'ai bien mes 5 agents, avec les noms, et toujours grâce à la règle d'import 'Computer UUID'.

En faisant un diff sur les 2 inventaires du serveur sresx01 avec les 2 versions de l'agent, je vois beaucoup de différences, mais je ne sais pas laquelle est critique. Je mets le diff ci-dessous, dites-moi s'il faut autre chose.

Que dois-je faire pour que ça fonctionne avec l'agent 2.2.6 ?

--------------
< <?xml version="1.0" encoding="UTF-8" ?>
---
> <?xml version="1.0" encoding="UTF-8"?>
3a4
> <ACCESSLOG></ACCESSLOG>
284c285
< <CORE>2.41281055706922e-08</CORE>
---
> <CORE>4</CORE>
303c304,305
< <ARCHNAME>i686-linux-thread-multi</ARCHNAME>
---
> <ARCHNAME>remote</ARCHNAME>
> <CHECKSUM>262143</CHECKSUM>
310a313,315
> <PROCESSORN>1</PROCESSORN>
> <PROCESSORS>2327</PROCESSORS>
> <PROCESSORT>Intel® Xeon® CPU E5410 @ 2.33GHz</PROCESSORT>
316,323d320
< <DESCRIPTION>vmk0</DESCRIPTION>
< <IPADDRESS>192.168.1.71</IPADDRESS>
< <IPMASK>255.255.255.0</IPMASK>
< <MACADDR>00:1a:64:79:e6:20</MACADDR>
< <STATUS>Up</STATUS>
< <VIRTUALDEV>1</VIRTUALDEV>
< </NETWORKS>
< <NETWORKS>
326,327d322
< <IPADDRESS></IPADDRESS>
< <IPMASK></IPMASK>
329a325
> <SPEED></SPEED>
331d326
< <VIRTUALDEV>0</VIRTUALDEV>
336,337d330
< <IPADDRESS></IPADDRESS>
< <IPMASK></IPMASK>
339a333
> <SPEED></SPEED>
341c335,348
< <VIRTUALDEV>0</VIRTUALDEV>
---
> </NETWORKS>
> <NETWORKS>
> <DESCRIPTION>vmk0</DESCRIPTION>
> <SPEED></SPEED>
> <STATUS>Down</STATUS>
> <VIRTUALDEV>1</VIRTUALDEV>
> </NETWORKS>
> <NETWORKS>
> <DESCRIPTION>vmk0</DESCRIPTION>
> <IPADDRESS>192.168.1.71</IPADDRESS>
> <IPMASK>255.255.255.0</IPMASK>
> <MACADDR>00:1a:64:79:e6:20</MACADDR>
> <STATUS>Up</STATUS>
> <VIRTUALDEV>1</VIRTUALDEV>
345,346c352,353
< <MANUFACTURER>VMware</MANUFACTURER>
< <MODEL>Block device</MODEL>
---
> <MANUFACTURER>VMware </MANUFACTURER>
> <MODEL>Block device </MODEL>
348c355
< <SERIALNUMBER /> <TYPE>cdrom</TYPE>
---
> <TYPE>cdrom</TYPE>
351c358
< <DISKSIZE>69889</DISKSIZE>
---
> <DISKSIZE>73283928.064</DISKSIZE>
353,354c360,361
< <MANUFACTURER>ServeRA</MANUFACTURER>
< <MODEL>SYSTEM</MODEL>
---
> <MANUFACTURER>ServeRA </MANUFACTURER>
> <MODEL>SYSTEM </MODEL>
356c363
< <SERIALNUMBER /> <TYPE>disk</TYPE>
---
> <TYPE>disk</TYPE>
358c365
< <VERSIONCLIENT>FusionInventory-Agent_v2.2.6-1</VERSIONCLIENT>
---
> <VERSIONCLIENT>FusionInventory-Agent_v2.1.13-1</VERSIONCLIENT>
397c404,405
< <DEVICEID /> <QUERY>INVENTORY</QUERY>
---
> <DEVICEID>sresx01.domaine.local-2011-06-22-19-34-32</DEVICEID>
> <QUERY>INVENTORY</QUERY>
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#2
justement faut voir ce qui est pareil, notement là HARDWARE > UUID

ils doivent etre identiques
Co-leader, official developper
DCS official PARTNER: dcs.glpi@dcsit-group.com
  Reply
#3
Je vais regarder, mais en tout cas je pense que le nom vide vient de la différence entre ces deux lignes, car avec l'agent 2.2.6 on n'a plus de DEVICEID :

< <DEVICEID /> <QUERY>INVENTORY</QUERY>
---
> <DEVICEID>sresx01.domaine.local-2011-06-22-19-34-32</DEVICEID>
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#4
Les informations utilisées pour identifier les machines sont :

BIOS/SSN
HARDWARE/UUID
NETWORKS/MACADDR

Vois-tu des différences ?
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#5
Comme je l'ai l'indiqué dans la partie anglaise du forum, je viens de réussir à importer mes machines virtuelles avec la version 2.2.6 de fusioninventory-injector : une fois l'inventaire réalisé avec fusioninventory-esx, j'ai ajouté manuellement le champ DEVICEID, en mettant dans le champ le nom du fichier '.ocs' généré sans cette extension '.ocs'.

J'avais réalisé des 'diff' des fichiers générés avec les versions 2.1.13 et 2.2.6 de fusioninventory-esx, et remarqué très peu de différences entre les deux, à part ce champ DEVICEID vide dans la version 2.2.6.
Avec les deux versions de fusioinventory-esx, les champs BIOS/SSN, HARDWARE/UUID et NETWORKS/MACADDR étaient les mêmes dans les fichiers '.ocs' générés.

En résumé, pour moi le champ DEVICEID est la clé de mon problème !

J'en profite pour signaler deux comportements étranges avec la version Macintosh 2.2.6 :
- pour fusioninventory-esx, j'avais créé un répertoire dans mon arborescence, et donné tous les droits en écriture dessus : l'inventaire échouait ; quand j'ai remplacé le répertoire de destination par /tmp, tout a fonctionné
- pour fusioninventory-injector, j'avais essayé de déplacer les fichiers '.ocs' dans mon dossier avant de lancer l'injection, et au lieu de lancer l'importation il me donnait la liste des arguments possibles, comme si j'avais fait une faute de frappe ; j'ai remis les fichiers dans /tmp et j'ai donné leur chemin en '/tmp/fichier.ocs', et l'import s'est alors correctement réalisé

Hope it can help,
Marc
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#6
Je me demande si ce n'est pas un bug lors de la génération des “prebuilts” qui aurait fait qu'une version encore en dev soit intégrée dans les archives stables. Je vais regarder.
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#7
Ben non t'avais dit que ça ne servait à rien le DEVICEID et t'avais releasé ça comme ça
Co-leader, official developper
DCS official PARTNER: dcs.glpi@dcsit-group.com
  Reply
#8
Oups ;-)
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#9
Ba, non. Dans lib/FusionInventory/Agent/Task/ESX.pm, vous avez cette ligne ?

$self->{deviceid} = $self->createFakeDeviceid($host);
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#10
Sur mon Mac, dans le /opt/fusioninventory-agent/perl/agent/FusionInventory/Agent/Task/ESX.pm, version 2.2.6, voici ce que j'ai trouvé avec un grep :

$ grep -i deviceid ESX.pm
sub createFakeDeviceid {
my $deviceid = sprintf "%s-%02d-%02d-%02d-%02d-%02d-%02d",
return $deviceid;
$self->{deviceid} = $self->createFakeDeviceid($host);
machineid => $self->{deviceid},
machineid => $self->{deviceid}
machineid => $self->{deviceid},
deviceid => $self->{deviceid},
machineid => $self->{deviceid},

La ligne recherchée existe donc bien. En revanche le fichier '.ocs' généré contient juste une balise auto-fermante <DEVICEID />

Bizarre, bizarre...
Marc
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#11
As-tu le même problème avec cette version ? http://prebuilt.fusioninventory.org/deve...osx-intel/
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#12
J'ai téléchargé la version que tu m'as indiquée, je l'essaye vendredi quand je suis sur le site avec les VM ESX, et je te tiens au courant.
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#13
Je viens de me connecter en VPN, et de lancer le test : le problème persiste, la balise DEVICEID reste vide :

$ diff sresx01.domaine.local-2011-06-22-19-34-32.ocs /tmp/sresx01.domaine.local-2011-06-22-19-34-32.ocs
284c284
< <CORE>2.84204267838649e-07</CORE>
---
> <CORE>2.64729271962735e-07</CORE>
358c358
< <VERSIONCLIENT>FusionInventory-Agent_v2.2.6-1</VERSIONCLIENT>
---
> <VERSIONCLIENT>FusionInventory-Agent_v2.2.6+dev-2.2.x-20121106-1436</VERSIONCLIENT>
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#14
Ok this is indeed a bug with the 2.2.6 agent and the last stable esx task. This version fix the problem for me:

http://download.fusioninventory.org/agents/devel/
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#15
Oups, pas de dossier macosx-intel directory :-(

Actuellement je ne sais pas encore créer un .pkg ou un .exe depuis le tar, je n'ai utilisé que les prebuilt. Si tu m'expliques ou tu me donnes les pointeurs, je fais.
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#16
Voila: http://download.fusioninventory.org/agen...ntel/last/

Ce n'est pas une archive pkg, mais un tarball avec l'agent.
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#17
Je rouvre ce sujet car je viens de faire le test avec l'agent 2.2.7-2 sur mon Mac, et j'ai toujours le même problème qu'avec la version 2.2.6-1 : la balise DEVICEID reste vide quand j'inventorie mes serveurs ESXi avec fusioninventory-esx :
Code:
<DEVICEID />
Dans la version 2.1.13 de l'agent j'avais bien une balise complète :
Code:
<DEVICEID>sresx01.domaine.local-2011-06-22-19-34-32</DEVICEID>
Du coup, l'import dans GLPI avec fusionvinventory-injector ne se passe pas bien, l'agent n'a pas de nom, alors qu'avec la version 2.1.13 tout se passait bien. Et il suffit que j'ajoute à la main cette balise dans les fichiers générés par fusioninventory-esx pour que l'injection soit nickel.

Que puis-je faire pour aider sur le sujet ?
Marc
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#18
Zut Sad Je vais essayer de reproduire le problème.
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#19
Ok Marc, j'ai pigé le problème. Je viens de faire une release pour corriger le problème. La 2.2.7-3 va corriger le problème.

Merci pour ton aide Smile
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#20
Super, merci !
Dès que la 2.2.7-3 est dispo, je fais un test et je te dis ce qu'il en est.
Marc
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#21
il est en ligne.
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#22
Quelle rapidité ;-)

Je viens de remarquer que le nom de l'agent Windows est tronqué, il s'appelle "inventory-agent_windows-i386_2.2.7-3.exe " au lieu de "fusioninventory-agent_windows-i386_2.2.7-3.exe "...

Je suis sur site demain, je ferai le test d'inventaire VMWare.

Au fait, à quel endroit peut-on consulter le changelog pour cette version ?

Marc
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#23
corrigé, j'en ai profité pour poster une news : http://fusioninventory.org/2013/01/08/fu...2.2.1.html
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply
#24
Je viens de faire l'inventaire des 5 serveurs ESX de mon client avec l'agent 2.2.7.3, ça fonctionne parfaitement ! La balise "DEVICEID" est maintenant renseignée, l'injection se déroule ensuite sans problème.

En revanche, j'en profite pour soulever un petit bug sur l'injecteur, on ne peut pas importer un répertoire en mettant un chemin relatif, mais uniquement un chemin absolu. La commande suivante fonctionne :
Code:
/opt/fusioninventory-agent/fusioninventory-injector -v --directory /tmp -u http://monserveur.domaine.com/glpi/plugins/fusioninventory/
En revanche la commande suivante ne fonctionne pas :
Code:
cd /tmp
/opt/fusioninventory-agent/fusioninventory-injector -v --directory . -u http://monserveur.domaine.com/glpi/plugins/fusioninventory/

Hope it will help.
Marc
GLPI 9.4.5 - Fusioninventory for GLPI 9.4+2.4 - Fusioninventory Agent 2.5.2
  Reply
#25
Salut Marc,

Oui je suis au courant de ce petit problème avec les chemins.
Please contact Fusioninventory Partners companies if you look for a FusionInventory on site expert.
http://www.fusioninventory.org/partners/
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)