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 2017-08-25 16:26:50

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

ArchiRes

Bonjour,

Je souhaite créer un plan simple avec les switches de notre inventaire.

J'ai donc...
Installé le plugin ArchiRes
Associé les switches au type d'équipement réseau "Switch"
Associé le status "In Use" aux switches qui m'intéressent
Associé une image au type d'équipement "Switch" dans la configuration du plugin
Créé une vue dans le plugin qui affiche les équipements réseau
Crée une archi "network Equipement" et associé cette archi à la vue créée plus haut
Dans Item Type, j'ai ajouté Network Equipement -> Switch
Dans test, j'ai bien le petit dessein de validation du fonctionnement de graphviz mais aucune donnée dans la table au dessus
Du coup, l'image générée ne contient rien.

J'ai sans doute loupé une étape mais je ne trouve pas.

Serait-il possible d'avoir un coup de main?

Merci beaucoup smile

Offline

#2 2017-08-25 16:44:47

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Pour info, je fais presque la même manip pour créer une archi en fonction du lieu et ça passe. :-/
Strange...

Offline

#3 2017-09-04 14:36:38

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Je continue mes recherches...
Après la création de l'archi, je me rends compte que la partie "Item Type" ne contient rien.
Quand j'affiche uniquement cette partie, j'ai un message "Loading" qui ne se termine jamais.
En revanche, quand j'affiche toutes les parties dans l'édition de l'archi, dans la partie "Item Type", il n'y a rien. Si j'ajoute un type d'item, je n'ai pas de message d'erreur mais rien ne s'ajoute.

Du coup, forcément, quand je test mon archi, il n'y a rien dans la liste puisqu'aucun type d'item n'est sélectionné.

@yllen > Help! :-)

Offline

#4 2017-09-04 18:09:06

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: ArchiRes

Je ne reproduis pas, donc difficile de vous aider.
Quelles versions d'archires et de GLPI ?


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#5 2017-09-05 09:47:42

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Merci pour cette réaction.

GLPI est en version 9.1.6 et ArchiRes en version 2.4.0

De mon côté, j'ai constaté dans les logs une erreur php sur "itemtype" qui n'est pas défini (ou quelque chose dans le genre).
J'ai demandé à un collègue dévelopeur de voir ce qu'il trouve et il a reproduit l'erreur.
Aux dernières nouvelles (ce matin), il remontait la pile de l'erreur pour comprendre où ça coince.

J'espère en savoir plus aujourd'hui et je reviendrai avec des infos.

Offline

#6 2017-09-05 14:02:45

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

j'ai trouvé deux erreurs, je pense...

dans inc/networkequipmentquery.class.php
à la ligne 247, remplacer

                            AND `glpi_networknames`.`id` = `glpi_ipaddresses`.`items_id`)
                    WHERE `np`.`instantiation_type` = 'NetworkPortEthernet' ";

par

                            AND `glpi_networknames`.`id` = `glpi_ipaddresses`.`items_id`)";
                    //WHERE `np`.`instantiation_type` = 'NetworkPortEthernet' ";

pour éviter un double WHERE dans le query.




et dans front/networkequipmentquery.form.php
à la ligne 79, remplacer

                                        $_POST['itemtype'], $_POST['query']);

par

                                        $_POST['_itemtype'], $_POST['query']);

Si on fait des essais sans modifier la ligne ci-dessus, on génère des lignes foireuses dans la table glpi_plugin_archires_querytypes. Il manquera le champ ItemType. Virer les lignes foireuses smile


Avec les deux changements ci-dessus, on peut ajouter des Items dans Item Type.

Par contre, je rencontre toujours une erreur SQL "Unknown column 'np.id' in 'on clause'" sur quelques query quand je veux tester. Je me demande si ce n'est pas MariaDB qui boude...

Last edited by Jean-Christophe (2017-09-05 16:41:31)

Offline

#7 2017-09-05 16:48:46

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Pour le soucis SQL, il semblerait bien que MariaDB n'aime pas les FROM table1, table2, etc.
De plus, il y a une typo à la ligne 279, remplacer

ORDER BY `np`.`ip`

par

ORDER BY `np`.`id`

Donc, dans inc/networkequipmentquery.class.php
à la ligne 239, remplacer

                   FROM `glpi_networkports` AS np,
                        `$itemtable`,
                        `glpi_ipnetworks` AS ipn

par

                   FROM `glpi_networkports` AS np
                   LEFT JOIN `$itemtable` ON (true)
                   LEFT JOIN  `glpi_ipnetworks` AS ipn ON (true)


Line 326

                FROM `glpi_networkports` AS `np`, `glpi_networkequipments` AS `n`,
                     `glpi_ipnetworks` AS ipn

par

                FROM `glpi_networkports` AS `np`
                LEFT JOIN `glpi_networkequipments` AS `n` ON (true)
                LEFT JOIN `glpi_ipnetworks` AS ipn ON (true)

MariaDB autorise le multi tables dans les SELECT https://mariadb.com/kb/en/the-mariadb-l … le-tables/

Offline

#8 2017-09-05 16:49:36

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Il me reste des

PHP Notice: Undefined index: networkinterfaces_id in /var/www/html/glpi/plugins/archires/inc/networkequipmentquery.class.php at line 297

Mais je sature pour aujourd'hui.

Offline

#9 2017-09-06 15:38:22

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: ArchiRes

Jean-Christophe wrote:

j'ai trouvé deux erreurs, je pense...

dans inc/networkequipmentquery.class.php
à la ligne 247, remplacer

                            AND `glpi_networknames`.`id` = `glpi_ipaddresses`.`items_id`)
                    WHERE `np`.`instantiation_type` = 'NetworkPortEthernet' ";

par

                            AND `glpi_networknames`.`id` = `glpi_ipaddresses`.`items_id`)";
                    //WHERE `np`.`instantiation_type` = 'NetworkPortEthernet' ";

pour éviter un double WHERE dans le query.

Il ne faut pas supprimer ce WHERE  mais adapté les where conditionnels suivants => corrigé

Jean-Christophe wrote:

et dans front/networkequipmentquery.form.php
à la ligne 79, remplacer

                                        $_POST['itemtype'], $_POST['query']);

par

                                        $_POST['_itemtype'], $_POST['query']);

Si on fait des essais sans modifier la ligne ci-dessus, on génère des lignes foireuses dans la table glpi_plugin_archires_querytypes. Il manquera le champ ItemType. Virer les lignes foireuses smile

D'accord => corrigé

Jean-Christophe wrote:

Par contre, je rencontre toujours une erreur SQL "Unknown column 'np.id' in 'on clause'" sur quelques query quand je veux tester. Je me demande si ce n'est pas MariaDB qui boude...

je ne reproduis pas mais je suis sous MySQL


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#10 2017-09-06 17:09:59

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: ArchiRes

Jean-Christophe wrote:

Il me reste des

PHP Notice: Undefined index: networkinterfaces_id in /var/www/html/glpi/plugins/archires/inc/networkequipmentquery.class.php at line 297

Mais je sature pour aujourd'hui.

Corrigé


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#11 2017-09-06 17:11:11

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: ArchiRes

J'ai également trouvé d'autres petites erreurs avec les tests d'une société en parallèle.

Ces corrections seront présentes dans le tarball de demain (https://forge.glpi-project.org/tarballs-plugins/)

J'attends votre retour pour publier une nouvelle version.


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#12 2017-09-07 08:53:58

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

yllen wrote:
Jean-Christophe wrote:

Par contre, je rencontre toujours une erreur SQL "Unknown column 'np.id' in 'on clause'" sur quelques query quand je veux tester. Je me demande si ce n'est pas MariaDB qui boude...

je ne reproduis pas mais je suis sous MySQL

Visiblement, la version de MariaDB qui est installée avec la dernière version de Debian ne supporte pas (ou pas bien) les FROM depuis plusieurs tables.
Si je change

FROM Table1, Table2, Table3

par

FROM Table1
INNER JOIN Table 2
INNER JOIN Table 3

ça fonctionne.

Moi qui ne suis pas du tout (mais alors vraiment pas du tout, du tout...) orienté vers le développement, j'ai appris plein de choses smile

Je vais tester le tarball ce matin.
Je reviens avec un feedback.

Merci

Offline

#13 2017-09-07 13:19:49

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Je reviens sur ce que je disais ce matin...
Les FROM fonctionnent... Je ne sais toujours pas pourquoi ça plantait avant hier...

Donc au final, je ne rencontre plus d'erreur php ou mysql.
Par contre, un test en network ne me renvoie rien du tout alors que la même manip me renvoie bien la liste que je veux en vue "location".

Quand je regarde les queries executés, je suis intrigué par des "WHERE `glpi_networkequipments`.`id` = 0 AND ...". C'est normal, docteur?

Last edited by Jean-Christophe (2017-09-07 13:28:34)

Offline

#14 2017-09-11 17:13:49

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Résumons:
Dans la version actuellement dispo dans le nightly tarball, je recontre les problèmes suivants :
- dans networkequipmentquery.class.php, ligne 296, $data["networkinterfaces_id"] n'existe pas. De fait le query de la ligne 229, il n'y a pas de networkinterfaces_id.
- Quand je crée une architecture en mode NetworkEquipement, si je ne choisis pas un device spécifique, je n'ai rien du tout. C'est normal? On ne peut pas tout avoir (en fonction des filtres choisis)?
- Dans le même contexte, si je choisi un equipement spécifique, je récupère bien la liste des équipements connectés mais pas celui que j'ai choisi. C'est normal?

Merci smile

Offline

#15 2017-09-18 09:12:32

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

UP!
Des commentaies?

Offline

#16 2017-09-22 09:49:51

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: ArchiRes

Re-UP ;-)

Offline

Board footer

Powered by FluxBB