You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2013-10-16 01:46:16

jujunea
Member
Registered: 2008-08-21
Posts: 83

[RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Bonjour,

J'ai un problème de liaison de pc importé depuis OCS via les synchronisations automatiques (tache planifiée).
Si j'ai déjà un pc créé manuellement dans l'inventaire GLPI et qu'un agent OCS remonte le pc dans GLPI, un doublon est alors créé même si ils ont le même NON et NUMERO DE SERIE (voir mes règles de liaison)

Règle d'affectation :
292373GLPIruleaffectentite.jpg

571730GLPIruleroot.jpg


Règle de liaison + import :
672046GLPIruleliaison.jpg

139025GLPIrulelocalhost.jpg

619758GLPIruleliaisonTEST.jpg


RESULTAT :
331749GLPIDoublonimport.jpg

619535GLPIlogimport.jpg


Pour info :

 
GLPI  0.84.2 (/glpi => C:/xampp/htdocs/glpi)

Server
 
Operating system: Windows NT XXXXXXX 5.2 build 3790 (Windows Server 2003 R2 Standard Edition Service Pack 2) i586
PHP 5.3.8 apache2handler (Core, PDO, PDO_ODBC, Phar, Reflection, SPL, SQLite, SimpleXML, apache2handler, bcmath, bz2, calendar,
    com_dotnet, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, json, ldap, libxml,
    mbstring, mcrypt, mhash, mysql, mysqli, mysqlnd, odbc, openssl, pcre, pdo_mysql, pdo_sqlite, session, soap, sockets, sqlite3,
    standard, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, zip, zlib)
Setup: max_execution_time="-1" memory_limit="128M" post_max_size="500M" safe_mode="" session.save_handler="files"
    upload_max_filesize="500M" 
Software: Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 (Apache/2.2.21 (Win32)
    mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 Server at xxxx.yyy.zzz Port 80)
    Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36
DBMS:    Server Software: MySQL Community Server (GPL)
    Server Version: 5.5.16
    Parameters: root@localhost/glpi
    Host info: localhost via TCP/IP
    
C:\xampp\htdocs\glpi/config : OK
C:\xampp\htdocs\glpi/files : OK
C:\xampp\htdocs\glpi/files/_dumps : OK
C:\xampp\htdocs\glpi/files/_sessions : OK
C:\xampp\htdocs\glpi/files/_cron : OK
C:\xampp\htdocs\glpi/files/_cache/ : OK
C:\xampp\htdocs\glpi/files/_graphs : OK
C:\xampp\htdocs\glpi/files/_lock : OK
C:\xampp\htdocs\glpi/files/_plugins : OK
C:\xampp\htdocs\glpi/files/_tmp : OK
C:\xampp\htdocs\glpi/files/_rss : OK
C:\xampp\htdocs\glpi/files/_uploads : OK
C:\xampp\htdocs\glpi/files/_log : OK

Libraries
 
htmLawed version 1.1.16 in (C:\xampp\htdocs\glpi\lib\htmlawed)
phpCas version 1.3.2 in (C:\xampp\htdocs\glpi\lib\phpcas)
PHPMailer version 5.2.1 in (C:\xampp\htdocs\glpi\lib\phpmailer)
eZ Graph componnent installed :  OK
Zend Framework version 2.0.5 in (C:\xampp\htdocs\glpi\lib)
SimplePie version 1.3.1 in (C:\xampp\htdocs\glpi\lib\simplepie)


Mysql replicas
 
Not active

Notifications
 
Way of sending emails: SMTP (anonymous@10.130.70.4)

Mails receivers
 
Name: '59380@10.130.224.1' Active: No
    Server: '{10.130.224.1/imap/validate-cert/notls}' Login: '59380' Password: Yes
Name: 'xxxxx' Active: No
    Server: '{xxxxx/pop/novalidate-cert/notls}' Login: 'xxxxx' Password: Yes
Name: 'xxxxx' Active: No
    Server: '{xxxxx/pop/novalidate-cert/notls}' Login: 'xxxxx' Password: Yes
Name: 'xxxxx' Active: Yes
    Server: '{10.130.70.158/pop/novalidate-cert/notls}' Login: 'be' Password: Yes
Name: 'xxxxx' Active: Yes
    Server: '{10.130.70.158/pop/validate-cert/notls}' Login: 'ies' Password: Yes

Plugins list
 
    addressing           Name: Adressage IP                   Version: 2.1.0      State: Enabled
    additionalalerts     Name: Alertes supplémentaires        Version: 1.6.0      State: Enabled
    archires             Name: Architectures réseau           Version: 2.1.0      State: Enabled
    positions            Name: Cartographie                   Version: 4.0.0      State: Enabled
    shellcommands        Name: Commandes Shell                Version: 1.6.0      State: Enabled
    behaviors            Name: Comportements                  Version: 0.84       State: Enabled
    accounts             Name: Comptes                        Version: 1.9.0      State: Enabled
    domains              Name: Domaines                       Version: 1.6.0      State: Enabled
    fusioninventory      Name: FusionInventory                Version: 0.84+1.2   State: Not activated
    racks                Name: Gestion de baies               Version: 1.4.0      State: Enabled
    manufacturersimports Name: Imports fabricants             Version: 1.6.0      State: Enabled
    pdf                  Name: Impression pdf                 Version: 0.83.3     State: To be cleaned
    ocsinventoryng       Name: OCS Inventory NG               Version: 1.0.2      State: Enabled
    helpdeskrating       Name: Plugin Helpdeskrating          Version: 1.1.0      State: Enabled
    projet               Name: Projets                        Version: 1.4.0      State: Enabled
    reports              Name: Rapports                       Version: 1.7.0      State: Enabled
    themes               Name: Thèmes                         Version: 1.1.3      State: To be cleaned

OCS Inventory NG
 
Host: 'xxxx.yyy.zzz', Connection: Ok, Use the OCSNG software dictionary: No

Merci d'avance.

Last edited by jujunea (2014-11-16 23:59:43)


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#2 2013-10-18 04:36:36

jujunea
Member
Registered: 2008-08-21
Posts: 83

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Oups, merci de déplacer dans : Plugin OCS NG (GLPI >0.84)

Last edited by jujunea (2013-10-18 04:55:57)


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#3 2013-10-18 09:51:22

narutobaka
Member
Registered: 2007-09-07
Posts: 304

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

bonjour,

Je travaille avec la version 0.83.7 de GLPI.(je précise car je ne sais pas si il y a des changement à ce niveau en 0.84.2.)

Et j'utilise les critères suivant dans les règle d'import et de liaison pour éviter les doublons :

Ordinateur à importer : adresse Mac existe oui
Ordinateur à importer : numéro de série existe oui
Ordinateur à importer : Nom de l'ordinateur est déja présent dans GLPI oui

Action :

Liaison OCSNG assigner Liaison si possible

Je sais pas si l'ajout de l'adresse mac dans ta règle de liaison réglera ton soucis de doublon

cordialement,


Prod : centos-release-7-2  | GLPI  9.4.3 | FusionInventory 9.4+1.1 | fusioninventory-agent_windows-x64_2.5.2
Test : centos-release-7-2 | GLPI  9.4.4 |
Rectorat de Caen

Offline

#4 2013-10-20 23:10:21

jujunea
Member
Registered: 2008-08-21
Posts: 83

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

narutobaka wrote:

bonjour,

Je travaille avec la version 0.83.7 de GLPI.(je précise car je ne sais pas si il y a des changement à ce niveau en 0.84.2.)

Et j'utilise les critères suivant dans les règle d'import et de liaison pour éviter les doublons :

Ordinateur à importer : adresse Mac existe oui
Ordinateur à importer : numéro de série existe oui
Ordinateur à importer : Nom de l'ordinateur est déja présent dans GLPI oui

Action :

Liaison OCSNG assigner Liaison si possible

Je sais pas si l'ajout de l'adresse mac dans ta règle de liaison réglera ton soucis de doublon

cordialement,

Tu as un "ET" ou un "OU" pour tes critères ?


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#5 2013-10-21 12:26:16

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Bonjour,

J'ai le même problème.
GLPI 0.84 et plugin OCS 1.0.2.

Je veux lier automatiquement par la tâche cron de GLPI les ordinateurs OCS avec ceux en stock dans GLPI (saisie manuelle du nom et du n° de série lors de la livraison).
Cela fonctionne très bien lorsque je les lie manuellement, mais c'est fastidieux.

Du coup, j'ai créé une règle d'import et de liaison des ordinateurs :
Critères (ET) :
- Chercher les ordinateurs dans GLPI dont le statut est     "En stock"
- Numéro de série existe   

Action :
- Lien OCSNG: Assigner : Liaison si possible, sinon import refusé

Avec cette règle, rien n'est importé.
Par contre, si je mets "Liaison si possible", l'ordinateur OCS est importé dans GLPI et j'ai un doublon avec celui déjà en stock.

Le problème est donc que la liaison n'est pas possible.
Du coup, je cherche où je pourrais indiquer que la liaison OCS se fait sur le n° de série, mais je n'ai pas d'onglet "Liaison" dans la configuration du plugin OCS.

Offline

#6 2013-10-21 23:13:46

jujunea
Member
Registered: 2008-08-21
Posts: 83

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

missfe wrote:

Bonjour,

J'ai le même problème.
GLPI 0.84 et plugin OCS 1.0.2.

Je veux lier automatiquement par la tâche cron de GLPI les ordinateurs OCS avec ceux en stock dans GLPI (saisie manuelle du nom et du n° de série lors de la livraison).
Cela fonctionne très bien lorsque je les lie manuellement, mais c'est fastidieux.

Du coup, j'ai créé une règle d'import et de liaison des ordinateurs :
Critères (ET) :
- Chercher les ordinateurs dans GLPI dont le statut est     "En stock"
- Numéro de série existe   

Action :
- Lien OCSNG: Assigner : Liaison si possible, sinon import refusé

Avec cette règle, rien n'est importé.
Par contre, si je mets "Liaison si possible", l'ordinateur OCS est importé dans GLPI et j'ai un doublon avec celui déjà en stock.

Le problème est donc que la liaison n'est pas possible.
Du coup, je cherche où je pourrais indiquer que la liaison OCS se fait sur le n° de série, mais je n'ai pas d'onglet "Liaison" dans la configuration du plugin OCS.

Les liaisons se font par ces règles d'import, pas dans la configuration du plugin. Si tu veux que l'import se fasse uniquement sur le N° de série, il suffit de modifier ta règle et de supprimer le 1er critère : " - Chercher les ordinateurs dans GLPI dont le statut est     "En stock"".

Cependant je pense qu'il y a vraiment un bug dans le plugin car comme je l'ai mis dans mon 1er post, je fais l'import sur le nom + sn et il me crée des doublons même quand les conditions sont respectées. (Idem quand je "teste" ma règle)

619758GLPIruleliaisonTEST.jpg

Last edited by jujunea (2013-10-21 23:24:15)


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#7 2013-10-21 23:21:05

jujunea
Member
Registered: 2008-08-21
Posts: 83

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

En plus, J'ai l'impression que le moteur s’arrête à la règle "Règles d'affectation d'un élément à une entité" (règle "root") au lieu de passer ensuite aux règles "Règles d'import et de liaison des ordinateurs"

619535GLPIlogimport.jpg


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#8 2013-10-22 01:18:19

jujunea
Member
Registered: 2008-08-21
Posts: 83

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

J'ai testé un règle simple et le resultat me laisse perplexe : (le nom de l'ordinateur et du domaine existent dans GLPI)

352967GLPIruleliaison02.jpg

Le domaine "epi.local" existe, mais il n'est pas présent dans GLPI ???

Je crois que tous les critères "est déjà présent dans GLPI" ne fonctionnent pas, d'où ma règle de liaison ne fonctionne pas et il y a donc création de doublon...


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#9 2013-10-22 16:48:26

arnault38
Member
From: Grenoble - FRANCE
Registered: 2009-02-06
Posts: 79

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Bonjour,

J'ai moi aussi un problème de doublon, je suis en train de tester le passage de la version 0.80.70 à 0.84.2
Je n'ai pas changé les règles de liaison d'ordinateur et j'ai la même base OCS.

Voici la règle :

xzxw.png

Sur le serveur de production en 0.80.70, la règle fonctionne, si j'effectue un test avec un numéro de série correspondant à l'ordinateur PRET01 j'obtiens un résultat positif :

holf.png

Sur le serveur de dev en 0.84.2 la règle ne fonctionne plus :

au9q.png


Glpi : 9.1.2 (W2k12 Server - IIS)
OCS Inventory : 2.1.2, Agent 2.1.1.1 / )
120 ordinateurs, 25 imprimantes

Offline

#10 2013-10-22 17:09:38

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Idem

Offline

#11 2013-10-23 09:03:32

arnault38
Member
From: Grenoble - FRANCE
Registered: 2009-02-06
Posts: 79

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

ddurieux a crée le bug : https://forge.indepnet.net/issues/4614

Merci


Glpi : 9.1.2 (W2k12 Server - IIS)
OCS Inventory : 2.1.2, Agent 2.1.1.1 / )
120 ordinateurs, 25 imprimantes

Offline

#12 2013-10-23 11:05:28

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

J'ai commité une correction :
https://forge.indepnet.net/projects/glp … ions/22084

Qui ajoute au niveau du popup de test de la règle la sélection de l'entité ou la règle doit chercher une correspondance.

Pourriez-vous vérifier qu'il trouve bien le pc ?


Xavier Caillaud
Blog GLPI Infotel

Offline

#13 2013-10-23 11:23:32

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Salut,

Je viens de refaire un test de la règle (conforme à la doc du plugin) :
749134ScreenShot098.jpg

Résultat du test :
886410ScreenShot099.jpg

Quand je regarde les logs GLPI, j'ai le message suivant dans sql-errors.log :

2013-10-23 08:34:46
*** MySQL query error: 
***
SQL: SELECT `glpi_computers`.`id`
                   FROM `glpi_computers`
                           LEFT JOIN `glpi_plugin_ocsinventoryng_ocslinks`
                              ON (`glpi_computers`.`id` = `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id`)
                   WHERE 1 AND `glpi_computers`.`serial`=\'     CZC31351CY\' AND `glpi_computers`.`states_id`
                                  IN  (\'2\') AND `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id` IS NULL
                             AND `glpi_computers`.`entities_id` IN ()
                             AND `glpi_computers`.`is_template` = \'0\' 
                   ORDER BY `glpi_computers`.`is_deleted` ASC
Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
                             AND `glpi_computers`.`is_template` = '0' 
       ' at line 7
Backtrace :
/var/www/html/glpi/inc/ruleimportcomputer.class.php :386        DBmysql->query()
/var/www/html/glpi/inc/rule.class.php :1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php :995        Rule->checkCriterias()
/var/www/html/glpi/inc/rule.class.php :1464        Rule->process()
/var/www/html/glpi/front/rule.test.php :87        Rule->showRulePreviewResultsForm()
/var/www/html/glpi/front/popup.php :62        include()
/var/www/html/glpi/front/popup.php

et dans php-errors.log :

2013-10-23 08:34:46
Notice(8): Undefined index: params
Backtrace :
/var/www/html/glpi/inc/ruleimportcomputer.class.php:312        Toolbox::userErrorHandlerNormal()
/var/www/html/glpi/inc/rule.class.php:1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php:995        Rule->checkCriterias()
/var/www/html/glpi/inc/rule.class.php:1464        Rule->process()
/var/www/html/glpi/front/rule.test.php:87        Rule->showRulePreviewResultsForm()
/var/www/html/glpi/front/popup.php:62        include()

2013-10-23 08:34:46
Notice(8): Undefined index: params
Backtrace :
/var/www/html/glpi/inc/ruleimportcomputer.class.php:315        Toolbox::userErrorHandlerNormal()
/var/www/html/glpi/inc/rule.class.php:1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php:995        Rule->checkCriterias()
/var/www/html/glpi/inc/rule.class.php:1464        Rule->process()
/var/www/html/glpi/front/rule.test.php:87        Rule->showRulePreviewResultsForm()
/var/www/html/glpi/front/popup.php:62        include()

2013-10-23 08:34:46
Notice(8): Trying to get property of non-object
Backtrace :
/var/www/html/glpi/inc/dbmysql.class.php:252        Toolbox::userErrorHandlerNormal()
/var/www/html/glpi/inc/ruleimportcomputer.class.php:388        DBmysql->numrows()
/var/www/html/glpi/inc/rule.class.php:1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php:995        Rule->checkCriterias()
/var/www/html/glpi/inc/rule.class.php:1464        Rule->process()
/var/www/html/glpi/front/rule.test.php:87        Rule->showRulePreviewResultsForm()
/var/www/html/glpi/front/popup.php:62        include()

Si je rejoue la requête SQL, j'ai la même erreur :

MariaDB [glpi]> SELECT `glpi_computers`.`id`
    ->                    FROM `glpi_computers`
    ->                            LEFT JOIN `glpi_plugin_ocsinventoryng_ocslinks`
    ->                               ON (`glpi_computers`.`id` = `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id`)
    ->                    WHERE 1 AND `glpi_computers`.`serial`='CZC31351CY' AND `glpi_computers`.`states_id`
    ->                                   IN  ('2') AND `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id` IS NULL
    ->                              AND `glpi_computers`.`entities_id` IN ()
    ->                              AND `glpi_computers`.`is_template` = '0' 
    ->                    ORDER BY `glpi_computers`.`is_deleted` ASC
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
                             AND `glpi_computers`.`is_template` = '0' 
       ' at line 7
MariaDB [glpi]>

Si par contre je corrige la requête (ligne 7) en ajoutant l'ID de l'entité dans l'opérateur SQL IN (0), la requête me retourne bien l'ID de l'ordinateur dans GLPI qui correspond à ma règle ci-dessus :

MariaDB [glpi]> SELECT `glpi_computers`.`id`
    ->                    FROM `glpi_computers`
    ->                            LEFT JOIN `glpi_plugin_ocsinventoryng_ocslinks`
    ->                               ON (`glpi_computers`.`id` = `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id`)
    ->                    WHERE 1 AND `glpi_computers`.`serial`='CZC31351CY' AND `glpi_computers`.`states_id`
    ->                                   IN  ('2') AND `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id` IS NULL
    ->                              AND `glpi_computers`.`entities_id` IN ('0')
    ->                              AND `glpi_computers`.`is_template` = '0' 
    ->                    ORDER BY `glpi_computers`.`is_deleted` ASC;
+-----+
| id  |
+-----+
| 117 |
+-----+
1 row in set (0.00 sec)

MariaDB [glpi]>

C'est peut-être cela qui empêche la liaison...

Cependant, je ne sais où corriger cette requête.

Offline

#14 2013-10-23 11:51:26

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

pouvez-vous remplacer ce fichier dans le répertoire inc ?

https://forge.indepnet.net/projects/glp … .class.php


Xavier Caillaud
Blog GLPI Infotel

Offline

#15 2013-10-23 14:45:08

arnault38
Member
From: Grenoble - FRANCE
Registered: 2009-02-06
Posts: 79

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Je viens de repérer ceci dans la mise à jour 0.84.3

Bug #4499: Computer Link Rule (glpi v .84 and ocs plugin)


Glpi : 9.1.2 (W2k12 Server - IIS)
OCS Inventory : 2.1.2, Agent 2.1.1.1 / )
120 ordinateurs, 25 imprimantes

Offline

#16 2013-10-23 14:57:30

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Yaouh!..! Merci tsmr !

C'est bon : "Link possible" lors du test de la règle.
L'import manuel fonctionne (Importation de nouveaux ordinateurs) :
191632ScreenShot098.jpg

Reste l'import automatique via script sh qui ne me récupère pas l'ordinateur (préalablement supprimé de GLPI - Corbeille vidée). (L'ordinateur est visible pour l'import manuel.)

mer. oct. 23 14:29:45 CEST 2013 /var/www/html/glpi/plugins/ocsinventoryng/scripts/ocsng_fullsync.sh started
    Manage delete items in OCS server #1: "Server OCS Lin06"
=====================================================
    Thread #1: starting (1/2)
    Thread #1: import computers from server: 'Server OCS Lin06'
    Thread #1: 0 computer(s)
    Thread #1: done!!
=====================================================
=====================================================
    Thread #2: starting (2/2)
    Thread #2: import computers from server: 'Server OCS Lin06'
    Thread #2: 0 computer(s)
    Thread #2: done!!
=====================================================
cleaning up.
mer. oct. 23 14:29:47 CEST 2013 ended

Pas de log SQL et PHP.

Dans GLPI, "Exécutions de la synchronisation automatique" :
712097ScreenShot099.jpg

Si tu as une idée ? Elle est la bien venue !

Last edited by missfe (2013-10-23 16:57:59)

Offline

#17 2013-10-23 15:10:13

arnault38
Member
From: Grenoble - FRANCE
Registered: 2009-02-06
Posts: 79

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

tsmr wrote:

pouvez-vous remplacer ce fichier dans le répertoire inc ?

https://forge.indepnet.net/projects/glp … .class.php

ça fonctionne bien, j'ai effectué le remplacement et tout resynchronisé.

Merci

Last edited by arnault38 (2013-10-23 15:48:19)


Glpi : 9.1.2 (W2k12 Server - IIS)
OCS Inventory : 2.1.2, Agent 2.1.1.1 / )
120 ordinateurs, 25 imprimantes

Offline

#18 2013-10-23 16:52:40

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Je viens de remarquer que cliquer sur "Lier les nouveaux ordinateurs d'OCSNG avec ceux existants dans GLPI" génère la même erreur SQL et une autre erreur PHP.
De plus, point rouge :
204745ScreenShot098.jpg

Erreur SQL :

2013-10-23 14:43:28
*** MySQL query error: 
***
SQL: SELECT `glpi_computers`.`id`
                   FROM `glpi_computers`
                           LEFT JOIN `glpi_plugin_ocsinventoryng_ocslinks`
                              ON (`glpi_computers`.`id` = `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id`)
                   WHERE 1 AND `glpi_computers`.`serial`=\'CZC31351CY\' AND `glpi_computers`.`states_id`
                                  IN  (\'2\') AND `glpi_plugin_ocsinventoryng_ocslinks`.`computers_id` IS NULL
                             AND `glpi_computers`.`entities_id` IN ()
                             AND `glpi_computers`.`is_template` = \'0\' 
                   ORDER BY `glpi_computers`.`is_deleted` ASC
Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
                             AND `glpi_computers`.`is_template` = '0' 
       ' at line 7
Backtrace :
/var/www/html/glpi/inc/ruleimportcomputer.class.php :385        DBmysql->query()
/var/www/html/glpi/inc/rule.class.php :1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php :995        Rule->checkCriterias()
/var/www/html/glpi/inc/rulecollection.class.php :695        Rule->process()
/var/www/html/glpi/plugins/ocsinventoryng/inc/ocsserver.class.php :3203        RuleCollection->processAllRules()
/var/www/html/glpi/plugins/ocsinventoryng/front/ocsng.link.php :83        PluginOcsinventoryngOcsServer::showComputersToAdd()
/var/www/html/glpi/plugins/ocsinventoryng/front/ocsng.link.php

Erreur PHP :

2013-10-23 14:43:28
Notice(8): Undefined index: entities_id
Backtrace :
/var/www/html/glpi/inc/ruleimportcomputer.class.php:311        Toolbox::userErrorHandlerNormal()
/var/www/html/glpi/inc/rule.class.php:1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php:995        Rule->checkCriterias()
/var/www/html/glpi/inc/rulecollection.class.php:695        Rule->process()
/var/www/html/glpi/plugins/ocsinventoryng/inc/ocsserver.class.php:3203        RuleCollection->processAllRules()
/var/www/html/glpi/plugins/ocsinventoryng/front/ocsng.link.php:83        PluginOcsinventoryngOcsServer::showComputersToAdd()

2013-10-23 14:43:28
Notice(8): Undefined index: entities_id
Backtrace :
/var/www/html/glpi/inc/ruleimportcomputer.class.php:314        Toolbox::userErrorHandlerNormal()
/var/www/html/glpi/inc/rule.class.php:1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php:995        Rule->checkCriterias()
/var/www/html/glpi/inc/rulecollection.class.php:695        Rule->process()
/var/www/html/glpi/plugins/ocsinventoryng/inc/ocsserver.class.php:3203        RuleCollection->processAllRules()
/var/www/html/glpi/plugins/ocsinventoryng/front/ocsng.link.php:83        PluginOcsinventoryngOcsServer::showComputersToAdd()

2013-10-23 14:43:28
Notice(8): Trying to get property of non-object
Backtrace :
/var/www/html/glpi/inc/dbmysql.class.php:252        Toolbox::userErrorHandlerNormal()
/var/www/html/glpi/inc/ruleimportcomputer.class.php:387        DBmysql->numrows()
/var/www/html/glpi/inc/rule.class.php:1051        RuleImportComputer->findWithGlobalCriteria()
/var/www/html/glpi/inc/rule.class.php:995        Rule->checkCriterias()
/var/www/html/glpi/inc/rulecollection.class.php:695        Rule->process()
/var/www/html/glpi/plugins/ocsinventoryng/inc/ocsserver.class.php:3203        RuleCollection->processAllRules()
/var/www/html/glpi/plugins/ocsinventoryng/front/ocsng.link.php:83        PluginOcsinventoryngOcsServer::showComputersToAdd()

Last edited by missfe (2013-10-23 16:56:35)

Offline

#19 2013-10-23 17:02:47

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS


Xavier Caillaud
Blog GLPI Infotel

Offline

#20 2013-10-23 17:07:57

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Merci je vais remplacer ce fichier.

Et pour la synchro auto ? wink

Offline

#21 2013-10-23 23:18:48

jujunea
Member
Registered: 2008-08-21
Posts: 83

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

jujunea wrote:

J'ai testé un règle simple et le resultat me laisse perplexe : (le nom de l'ordinateur et du domaine existent dans GLPI)

352967GLPIruleliaison02.jpg

Le domaine "epi.local" existe, mais il n'est pas présent dans GLPI ???

Je crois que tous les critères "est déjà présent dans GLPI" ne fonctionnent pas, d'où ma règle de liaison ne fonctionne pas et il y a donc création de doublon...


Même résultat en changeant le fichier ruleimportcomputer.class.php ...


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#22 2013-10-24 14:12:09

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Bonjour,

Qu'est ce que tu ne comprends pas ?
Le résultat de ta règle ne peux pas être OUI puisque tu demande à la fois de vérifier :
- que le domaine n'existe pas,
- et que le domaine existe...

Pour ma part, le critère "est déjà présent dans GLPI" fonctionne, vu qu'il me retrouve bien le PC déjà présent dans GLPI avec le même numéro de série.

Offline

#23 2013-10-24 23:37:57

jujunea
Member
Registered: 2008-08-21
Posts: 83

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

missfe wrote:

Bonjour,

Qu'est ce que tu ne comprends pas ?
Le résultat de ta règle ne peux pas être OUI puisque tu demande à la fois de vérifier :
- que le domaine n'existe pas,
- et que le domaine existe...

Pour ma part, le critère "est déjà présent dans GLPI" fonctionne, vu qu'il me retrouve bien le PC déjà présent dans GLPI avec le même numéro de série.

Ce n'est pas le résultat que je ne comprends pas, j'ai fait cette règle (de test) pour mettre en avant la contradiction des critères:
- DOMAINE -> est déjà présent dans GLPI -> ----
- DOMAINE -> existe -> OUI

Dans un critère on a une réponse OUI et dans l'autre rien.

Ma vrai seule et unique règle en production (voir règle "localhost" dans mon premier post) de liaison n'utilise QUE le critère "est déjà présent dans GLPI" et le résultat est TOUJOURS :"---"

pas de "oui" ou "non" et donc pas de liaison.

Last edited by jujunea (2013-10-24 23:39:25)


Prod === Glpi : 10.0.10
Prod === PHP 8.1.2
Prod === Ubuntu 22.04

Offline

#24 2013-10-25 09:59:11

Julie90
Member
Registered: 2013-10-18
Posts: 7

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Bonjour,

Pour ma part j'ai le même problème que jujunea, j'essaie de vérifier si un numéro de série "est déjà présent dans GLPI". Le résultat retourne à tous les coups "---". Du coup l'ordinateur existant n'est pas lié avec l'ordinateur détecté dans OCS (ayant le même numéro de série) --> doublons.
J'ai également remplacé mes fichiers par les fichiers linkés par tsmr.

Offline

#25 2013-10-25 10:30:52

missfe
Member
Registered: 2013-10-08
Posts: 30

Re: [RESOLU] [GLPI 0.84.2] Liaison automatique GLPI/OCS

Euh...

La règle qui fonctionne pour moi renvoie aussi "---" lors du test, mais la liaison se fait bien.

Ordinateurs déjà dans le parc :
397727Ordi.jpg

Règle :
813348Rgle.jpg

Test :
434177Test.jpg

Import et liaison manuels :
741566ImportManuel.jpg

400149Liaisonmanuelle.jpg

De plus, la liaison se fait bien avec le script de synchro automatique... en fait, dans le script php, la requête SQL qui récupère les infos d'OCS regarde le CHECKSUM ocs et prend en compte un délai (si j'ai bien compris) :

$query_ocs = "SELECT `ID`
                 FROM `hardware`
                 INNER JOIN `accountinfo` ON (`hardware`.`ID` = `accountinfo`.`HARDWARE_ID`)
                 WHERE ((CHECKSUM&" . intval($cfg_ocs["checksum"]) . ") > 0
                        OR `LASTDATE` > '" . $server->fields["max_glpidate"] . "')
                       AND TIMESTAMP(`LASTDATE`) < (NOW()-180)
                       AND `ID` <= " . intval($server->fields["max_ocsid"]);

Le problème étant donc que j'ai testé avec le même PC dans un interval de temps trop court...

Offline

Board footer

Powered by FluxBB