You are not logged in.
Pages: 1
Topic closed
Bonjour,
J'installe et configure actuellement le couple OCS + GLPI au sein d'une société, et j'ai quelques problèmes avec les règles dictionnaire des logiciels.
Les logiciels remontent correctement des clients OCS (avec le dictionnaire OCS Activé). Le parc est assez hétérogène en terme de versions pour certains logiciels (par exemple Mozilla Thunderbird et 7-Zip).
J'ai donc pas mal de lignes Mozilla Thunderbird (version) et 7-Zip (version). J'ai créé les règles suivantes:
Pour Mozilla Thunderbird et Firefox:
Nom Mozilla
Description Fusion des versions
Type de matching ET
Actif Oui
Critères Fabricant est Mozilla
Logiciel regex vérifie /^Mozilla (Firefox|Thunderbird)/
Actions Logiciel assigner valeur depuis regex Mozilla #0
Actions Ignorer l'import Assigner Oui
Pour 7-Zip:
Nom 7-Zip
Type de matching ET
Actif Oui
Logiciel regex vérifie /7-Zip (.*)/
Actions Logiciel assigner 7-Zip
Actions Version assigner valeur depuis regex #0
Actions Ignorer l'import Assigner Oui
Nom : Mozilla Type de matching : ET Critères :
Elles fonctionnent à merveille dés lors qu'on les appliques aux enregistrement déjà existant dans la base de données GLPI.
Le problème se pose lors de l'import d'un nouveau poste ou de la synchro des postes existants via le lien OCS-NG.
Cas 1: Pour les logiciels Mozilla Thunderbird et Firefox, les versions sont bien concernées, mais le nom change et repasse à Mozilla Thunderbird (version) lors de la synchro des machines avec OCS. Le nom redevient Thunderbird lorsque j'applique la règle manuellement, puis repasse à Mozilla Thunderbird (version) lors de la synchro auto.
Cas 2: La vrai problème concerne des logiciels tel que 7-Zip. Le numéro de version étant contenu dans le nom, la règle appliquée utilise une regex afin de dissocier le nom et la version. J'avai donc bien 7-Zip, puis toutes les versions sur la même ligne. Le problème est que lors de la synchro avec OCS, le nom redevient 7-Zip 9.20. Donc au 2ème passage de la règle (lorsque je l'ai ré-appliquée manuellement), la version 9.20 a été appliquée à tous les postes (et le nom est devenu 7-Zip). A la synchro auto, le nom est redevenu 7-Zip 9.02, etc...
Avez-vous une idée sur ce sujet? Ai-je rater quelque chose dans la configuration?
Last edited by junior (2012-04-19 18:02:27)
Offline
bonjour,
pourquoi vous modifiez les logiciels pour en même temps en ignorer l'import ?
Offline
chez moi par exemple pas de souci avec la règle mozilla (sans mettre le ignorer à oui)
Offline
Re bonjour,
J'avais l’impression que la règle n'était pas appliquée lorsque l'action "ignorer l'import -> assigner -> Oui" n'était pas déclarée. Ce sentiment étant accentué par le fait que cette action n'est disponible que lorsque l'action de renommage à été définie. Je pensai donc que cette option permettait de ne pas importer les données tel quel depuis OCS, mais bien d'assigner les valeurs définies par la règle de dictionnaire.
Je vais essayer sans, et vous donner le résultat.
Offline
si vous ignorez l'import, cela veut dire que le logiciel qui provient d'ocs n'est pas traité donc :
1 - si le logiciel (avec sa version) n'existait pas dans GLPI il ne sera pas traité
2 - si le logiciel existe déjà, il ne sera pas modifié
je ne pense pas que c'est ce que vous recherchez
Offline
2 - si le logiciel existe déjà, il ne sera pas modifié
je ne pense pas que c'est ce que vous recherchez
Effectivement, ce n'ai pas l'idée. Mais le nom du logiciel est pourtant bien modifié. Il passe de Firefox à Mozilla Firefox 10.0 (x86 fr) à chaque synchro, même avec le paramètre "ignorer l'import".
Je viens de refaire le test suivant:
1 : Supprimer l'action "ignorer l'import"
2 : Appliquer la règle aux objet existant (le nom est bien Firefox)
3 : Vider le cache des règles pour la règle Mozilla
4 : Attendre la synchro.
Et une fois les postes synchronisés via OCS-NG, le nom est de nouveau : Mozilla Firefox 10.0 (x86 fr)
Y a t'il d'autres paramètres à configurer pour que la règle s'applique à la volée?
Last edited by junior (2012-04-17 14:26:13)
Offline
je viens de refaire un test et je n'arrive pas à reproduire votre comportement
sur ma base 0.83 la règle est bien appliquée
Offline
OK. Merci d'avoir vérifié. Je continu de chercher de mon côté. Si quelqu'un à une idée et/ou un problème similaire, qu'il n'hésite pas.
Offline
J'ai remarqué que lorsque j'applique manuellement les règles de dictionnaire, un nouvel enregistrement avec un nouvel ID est créé dans la base de données pour le logiciel, tandis que celui d'origine est mis à la corbeille. Même chose lord d'un import depuis OCS. Le soft créé par la règle est mis à la corbeille, et un nouvel enregistrement est créé.
Est-ce le fonctionnement normal ou y a t'il quelque chose à chercher par là?
Last edited by junior (2012-04-18 14:45:31)
Offline
est-ce que vous avez des entités ?
est-ce que les logiciels recrées sont bien dans la même entité ?
Offline
Non, pas de gestion d'entités, uniquement l'unité racine. Les logiciels tombent bien dans la bonne entité.
Offline
J'ai eu une lueur d’espoir: La base de donnée OCS était en ISO... Je l'ai passée en UTF8. Une erreur à disparu des logs mais le problème persiste.
J'ai activé le mode débug de GLPI, et voici ce que l'on peut lire dans le sql-errors.log:
18-04-2012 16:16
*** MySQL query error :
***
SQL: UPDATE `glpi_computers_softwareversions`
SET `softwareversions_id` = \'562\'
WHERE `softwareversions_id` = \'597\'
Error: Duplicate entry '6-562' for key 'unicity'
Backtrace :
/var/www/glpi/inc/ruledictionnarysoftwarecollection.class.php :416 DBmysql->query()
/var/www/glpi/inc/ruledictionnarysoftwarecollection.class.php :350 RuleDictionnarySoftwareCollection->moveVersions()
/var/www/glpi/inc/ruledictionnarysoftwarecollection.class.php :253 RuleDictionnarySoftwareCollection->replayDictionnaryOnOneSoftware()
/var/www/glpi/inc/ruledictionnarysoftwarecollection.class.php :187 RuleDictionnarySoftwareCollection->replayDictionnaryOnSoftwaresByID()
/var/www/glpi/front/rule.common.php :124 RuleDictionnarySoftwareCollection->replayRulesOnExistingDB()
/var/www/glpi/front/ruledictionnarysoftware.php :41 include()
/var/www/glpi/front/ruledictionnarysoftware.php
Offline
j'ai déplacé dans la bonne section du forum
pour la base passée en utf8, il faut bien activer l'option aussi dans le mode ocsng
pour le bug, je refais quelques tests, mais je n'arrive vraiment pas à reproduire dans mon environnement
quelle version d'ocs avez vous ?
Offline
C'est une version 2.0.3.
Offline
Je viens de réinstaller une petite maquette:
- Debian Squeeze
- OCS 2.0.5
- GLPI 0.83.1
Je n'importe qu'une machine, et les logiciels sélectionnés par le dictionnaire OCS sont uniquement Firefox et Thunderbird 10.0.
Je créer la règle de dictionnaire (que le test du moteur de règle approuve).
J'importe la machine. Les 2 logiciels sont bien présents, mais ne sont pas renommés. J'en conclus que j'ai dû oublier un paramétrage. Pourriez-vous m'indiquer les différentes étapes à effectuer afin de mettre en place les règles de dictionnaire de logiciel?
Offline
Bon. Admettons que je ne comprenne que maintenant que les règles de dictionnaire GLPI ne sont pas activées si le dictionnaire OCS est actif... Le problème est donc réglé. Cela n'a pas été totalement inutile et m'a permis de soulever et régler un petit problème interclassement sur la base OCS. Néanmoins, je m'excuse pour celà, et vous souhaite une bonne continuation.
Offline
ok ça marche
je viens de voir d'ailleurs que ce n'est pas explicitement marqué dans la doc, cela mérite un avertissement en gros
je ferme ce thread, content que ce ne soit pas un bug
Offline
Pages: 1
Topic closed