Giter VIP home page Giter VIP logo

fusioninventory / fusioninventory-for-glpi Goto Github PK

View Code? Open in Web Editor NEW
359.0 47.0 151.0 63.05 MB

FusionInventory plugin for GLPI

Home Page: http://www.FusionInventory.org/

License: GNU Affero General Public License v3.0

PHP 74.17% CSS 1.07% JavaScript 24.03% HTML 0.40% Ruby 0.08% Shell 0.08% Perl 0.05% Mustache 0.12%
inventory inventory-management snmp glpi glpi-plugin deployment discovery-networks cmdb itsm device-management

fusioninventory-for-glpi's Introduction

Fusioninventory Plugin

Build Status Coverage Status (GitHub downloads + Redmine downloads)

This plugin makes GLPI to process various types of tasks for Fusioninventory agents:

  • Computer inventory
  • Network discovery
  • Network (SNMP) inventory
  • Software deployment
  • VMWare ESX host remote inventory
  • Collect data (files, Windows registry, WMI)

Third-party code

  • PluginFusioninventoryFindFiles() is copyright rosettacode.org and made available under GNU Free Documentation License.

Third-party icons and images

Some icons used in the project comes from the following set of graphics licensed:

Additional resources

fusioninventory-for-glpi's People

Contributors

adrienclairembault avatar ameurou avatar anaelmobilia avatar anthodingo avatar btry avatar cedric-anne avatar ddurieux avatar dependabot[bot] avatar diohz0r avatar flegastelois avatar g-bougard avatar goneri avatar guillaumelecerf avatar guillomovitch avatar jmdoleans avatar kiniou avatar koshikawa avatar matsimon avatar mohierf avatar mva-klp avatar nelero avatar orthagh avatar po1vo avatar pr-gh avatar remicollet avatar stillru avatar stonebuzz avatar trasher avatar tsmr avatar wolvverine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fusioninventory-for-glpi's Issues

LLDP support


Author Name: David Durieux (@ddurieux)
Original Redmine Issue: 78, http://forge.fusioninventory.org/issues/78
Original Date: 2010-05-12
Original Assignee: David Durieux


For the moment, we use CDP but in last firmware of HP, LLDP replace CDP.
LLDP read only CDP.
In snmp, we have the two protocol but if another switch send in LLDP CDP can't use it and return bad code in snmp because :

  • CDP return IP and PORT name
  • LLDP return ChassisID (name) and PORT name

The oid for LLDP Chassisid is : .1.0.8802.1.1.2.1.4.1.1.5.0.44
The oid for LLDP port name is : .1.0.8802.1.1.2.1.4.1.1.7.0.44

We must modify models and code in plugin (perhaps agent), to manage LLDP

Migration process from 0.84+3.5 to 0.85+1.2 mixes old and new equipment import and link rules.

Hello,

After migration process to 0.85+1.2, the list of rules in Equipment import and link rules is an unorder mixture of the rules of 0.84+3.5 and some new rules added by 0.85+1.2. You can see that mixture in the attached pictures.

I think, like I write in the picture regarding 0.85, that new rules should be added at the end of existing list and they should be disabled by default. This approach would not have impact in the previous way of work of the rules.

A better approach to migrate the Equipment import and link rules could be this one:

  • To detect which type of items doesn't have a rule associated.
  • To create a new disabled rule with name "You do not have any rule defined for _____. Please, define it." (where ______ is the item type) at the end of the current list of rules.

This last approach doesn't have impact in the previous way of work of the rules and informt to the user that there are new types of items without rules.

Regards,

php-errors sur /front/networking.form.php?ID=2


Author Name: Xavier Caillaud (@tsmr)
Original Redmine Issue: 157, http://forge.fusioninventory.org/issues/157
Original Date: 2010-06-11
Original Assignee: David Durieux


I do snmp query on a procurve switch and there is a connection which see error in debug mode

10-06-2010 18:32
Notice(8): Undefined index: deleted
Backtrace :
/var/www/html/glpi/inc/networking.function.php:489 userErrorHandler()
/var/www/html/glpi/inc/networking.function.php:131 showConnection()
/var/www/html/glpi/ajax/networking.tabs.php:115 showPorts()

10-06-2010 18:32
Notice(8): Undefined index: ID
Backtrace :
/var/www/html/glpi/inc/networking.function.php:492 userErrorHandler()
/var/www/html/glpi/inc/networking.function.php:131 showConnection()
/var/www/html/glpi/ajax/networking.tabs.php:115 showPorts()

10-06-2010 18:32
Notice(8): Undefined index: ID
Backtrace :
/var/www/html/glpi/inc/networking.function.php:500 userErrorHandler()
/var/www/html/glpi/inc/networking.function.php:131 showConnection()
/var/www/html/glpi/ajax/networking.tabs.php:115 showPorts()

10-06-2010 18:32
Notice(8): Undefined index: name
Backtrace :
/var/www/html/glpi/inc/networking.function.php:502 userErrorHandler()
/var/www/html/glpi/inc/networking.function.php:131 showConnection()
/var/www/html/glpi/ajax/networking.tabs.php:115 showPorts()

10-06-2010 18:32
Notice(8): Undefined index: FK_entities
Backtrace :
/var/www/html/glpi/inc/networking.function.php:506 userErrorHandler()
/var/www/html/glpi/inc/networking.function.php:131 showConnection()
/var/www/html/glpi/ajax/networking.tabs.php:115 showPorts()

10-06-2010 18:32
Notice(8): Undefined index: FK_entities
Backtrace :
/var/www/html/glpi/inc/networking.function.php:507 userErrorHandler()
/var/www/html/glpi/inc/networking.function.php:131 showConnection()
/var/www/html/glpi/ajax/networking.tabs.php:115 showPorts()

Show network outlet in FusionInventory view

On network equipment, when using the GLPI view, it is possible to show, for each port, the network jack associated with. However, on FusionInventory view, the option isn't available. Could you please add the option?

Example

Printer meter history


Author Name: Benoit Machiavello (Benoit Machiavello)
Original Redmine Issue: 146, http://forge.fusioninventory.org/issues/146
Original Date: 2010-06-04
Original Assignee: David Durieux


2 new functionalities will be great :

  • in the display dropdown, only show values which have something get by the oid
  • possibility to view all graphics, not only one

Entity rules - go to next rule if Entity from tag do not match

Defined rules :

  • first rule: /^(.) - (.) - (.*)$/ : entity from tag = #2
  • second rule: /^(.) - (.)$/ : entity from tag : #1

Agent tag :

  • Client - group - site

The first rule matches but if no entity has a Fusion tag matching with site it should be interesting to test the second rule. If an entity has an entoty tag matching with group the second rule will match,

This behavior will allow to affect a computer in an entity more smoothly ...

When purge unknown items, the connection history is not purged, i think


Author Name: Xavier Caillaud (@tsmr)
Original Redmine Issue: 165, http://forge.fusioninventory.org/issues/165
Original Date: 2010-06-16


PHP ERROR: Undefined index: device_type in /var/www/html/glpi/plugins/fusioninventory/inc/historyconnections.class.php at line 185
PHP ERROR: Undefined index: on_device in /var/www/html/glpi/plugins/fusioninventory/inc/historyconnections.class.php at line 186
PHP ERROR: Undefined index: ID in /var/www/html/glpi/plugins/fusioninventory/inc/historyconnections.class.php at line 188
PHP ERROR: Undefined index: name in /var/www/html/glpi/plugins/fusioninventory/inc/historyconnections.class.php at line 189

Peripherals are not linked to the computer

The peripherals are inventoried by fusion inventory and updated in the glpi_peripherals table, but the link is not created in the table glpi_computer_items.

The issue is due to a typo in the file inventorycomputerlib.class.php line 1433 :
$input['itemtype'] = 'Peripharal';
it should be
$input['itemtype'] = 'Peripheral';

GLPI : 0.85.2
Fusion : 0.85+1.1

Sql error Fusion Server


Author Name: Xavier Caillaud (@tsmr)
Original Redmine Issue: 150, http://forge.fusioninventory.org/issues/150
Original Date: 2010-06-05
Original Assignee: David Durieux


2010-06-05 13:56
*** MySQL query error :


SQL: SELECT * FROM glpi_networking_ports WHERE on_device= AND device_type="1"
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND device_type="1"' at line 1
Backtrace :
/usr/share/glpi/inc/commondbtm.class.php:131 DBmysql->query()
/usr/share/glpi/plugins/fusioninventory/inc/task.class.php:425 CommonDBTM->find()
/usr/share/glpi/plugins/fusioninventory/ajax/agentsState.php:50 PluginFusionInventoryTask->showAgentInventory()
/usr/share/glpi/plugins/fusioninventory/ajax/agentsState.php

2.2.1 tarball is unusable


Author Name: Remi Collet (Remi Collet)
Original Redmine Issue: 110, http://forge.fusioninventory.org/issues/110
Original Date: 2010-05-21
Original Assignee: David Durieux


Directory are all in 644 mode, so normal user can't extract file from the archive.

  • /bin/tar -xf -
    /bin/tar: fusioninventory/install/mysql: Cannot mkdir: Permission denied
    /bin/tar: fusioninventory/install/mysql/plugin_fusioninventory-2.2.1-update.sql: Cannot open: Permission denied
    /bin/tar: fusioninventory/install/mysql/plugin_fusioninventory-2.2.0-update.sql: Cannot open: Permission denied
    ...

Support of channel-group / aggregation of port in CISCO 6500


Author Name: David Durieux (@ddurieux)
Original Redmine Issue: 84, http://forge.fusioninventory.org/issues/84
Original Date: 2010-05-15
Original Assignee: David Durieux


When port is in channel-group, some informations don't be get correctly from SNMP like trunk mode.

See links :
http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.1E/native/command/reference/C1.html
http://en.wikipedia.org/wiki/Link_Aggregation_Control_Protocol#Link_Aggregation_Control_Protocol

Interrogation et découverte de matos inconnu


Author Name: Benoit Machiavello (Benoit Machiavello)
Original Redmine Issue: 95, http://forge.fusioninventory.org/issues/95
Original Date: 2010-05-17


Lorsque l'interrogation découvre un matériel inconnu, il ne récupère aucune info. Pas pratique pour savoir si c'est du matos a importer ou pas.
Ne serait il pas possible que l'agent essaye de faire une decouverte lorsqu'il trouve un matos inconnu ?

Support des licences Office Pro 2013

Bonjour, j'aimerai savoir quand fusioninventory pour GLPI supportera complètement la récupération des licences de Microsoft Office Pro 2013 par les agents Windows.

Actuellement les licences offices qui sont remonté dans GLPI sont toutes identiques et ne correspondent pas aux licences réels des Offices installés que l'ont peux vérifier via des extracteurs de clé classiques.

Le but étant ici de gérer le déploiement de licences Office 2007,2010 mais aussi 2013.

Cordialement,
Aurélien GAILLET

Php-errors sur report/plugin_fusioninventory.switch_ports.history.php


Author Name: Xavier Caillaud (@tsmr)
Original Redmine Issue: 155, http://forge.fusioninventory.org/issues/155
Original Date: 2010-06-09


09-06-2010 18:07
Notice(8): Undefined variable: ports
Backtrace :
/var/www/html/glpi/plugins/fusioninventory/report/plugin_fusioninventory.switch_ports.history.php:76 userErrorHandler()

09-06-2010 18:07
Warning(2): Invalid argument supplied for foreach()
Backtrace :
/var/www/html/glpi/inc/dropdown.function.php:2308 userErrorHandler()
/var/www/html/glpi/plugins/fusioninventory/report/plugin_fusioninventory.switch_ports.history.php:76 dropdownArrayValues()

Php-errors on 0.85+1.2 version : CommonDBTM::delete()

2015-08-26 14:25:58
*** PHP Catchable Fatal Error(4096): Argument 1 passed to CommonDBTM::delete() must be of the type array, boolean given, called in /var/www/html/glpi/plugins/fusioninventory/inc/inventorynetworkequipmentlib.class.php on line 327 and defined
Backtrace :
inc/commondbtm.class.php:1275
.../inc/inventorynetworkequipmentlib.class.php:327 CommonDBTM->delete()
.../inc/inventorynetworkequipmentlib.class.php:130 PluginFusioninventoryInventoryNetworkEquipmentLib->importPorts()
...inc/communicationnetworkinventory.class.php:291 PluginFusioninventoryInventoryNetworkEquipmentLib->updateNetworkEquipment()
...inc/communicationnetworkinventory.class.php:518 PluginFusioninventoryCommunicationNetworkInventory->importDevice()
...inventory/inc/inventoryruleimport.class.php:705 PluginFusioninventoryCommunicationNetworkInventory->rulepassed()
inc/rule.class.php:1402 PluginFusioninventoryInventoryRuleImport->executeActions()
inc/rulecollection.class.php:1455 Rule->process()
...inc/communicationnetworkinventory.class.php:367 RuleCollection->processAllRules()
...inc/communicationnetworkinventory.class.php:189 PluginFusioninventoryCommunicationNetworkInventory->sendCriteria()
...inc/communicationnetworkinventory.class.php:106 PluginFusioninventoryCommunicationNetworkInventory->importContent()
...fusioninventory/inc/communication.class.php:222 PluginFusioninventoryCommunicationNetworkInventory->import()
...fusioninventory/inc/communication.class.php:452 PluginFusioninventoryCommunication->import()
plugins/fusioninventory/front/communication.php:88 PluginFusioninventoryCommunication->handleOCSCommunication()
plugins/fusioninventory/index.php:51 include_once()

add some hooks endpoints to be registered by external plugins

As stated in #27, we need to define some basic hooks endpoints to be registered by external plugins to avoid tight dependencies on those plugins within fusioninventory plugin code.

For instance, glpi-monitoring plugin needs to display some additional elements on some networkports forms.

Comportement par defaut des agents


Author Name: Benoit Machiavello (Benoit Machiavello)
Original Redmine Issue: 81, http://forge.fusioninventory.org/issues/81
Original Date: 2010-05-12
Original Assignee: David Durieux


En prévision de la gestion de gros parcs, il faut je pense revoir la gestion des modules des agents du coté du serveur.

Actuellement on définit coté serveur les modules activés, ensuite chaque agent a par defaut Non sur chaque module, et il faut activer ceux que l'on veut.
Probleme, si il faut passer sur les 1000 agents du parc pour leur dire oui toi tu peux faire de l'inventaire et du wol c'est pénible et peu gérable (surveillance des nouveaux PC/nouveaux agents etc)

Je pense qu'il faudrait que les réglages globaux du serveur ne soit pas une activation ou non du module, mais le comportement par défaut que l'on veut pour nos agents. Ex : Oui pour inventaire et Wol, Non pour interro / decouverte
Chaque agent qui se crée prend donc Oui pour inventaire et wol. Et on doit juste passer sur les agents avec lesquels on souhaite faire de l'interro decouverte

Wake up of agents is missing

Since the task's plugin rewrite, push and pull methods have been dropped since they were confusing and meaningless.

However, the push was useful in order to wake up some specific agents by GLPI.

This may be fixed by adding a crontask which will regularly poll active and prepared tasks in order to wake up those agents, according to the tasks' timeline and some rate.

fusioninventory visible avant install


Author Name: Benoit Machiavello (Benoit Machiavello)
Original Redmine Issue: 83, http://forge.fusioninventory.org/issues/83
Original Date: 2010-05-14
Original Assignee: David Durieux


GLPI 0.72.3

Install précédente de tracker
Fusioninventory apparait dans Plugins, et l'onglet Verrous apparait sur les switchs, alors que fusioninventory n'est pas encore installé dans glpi

Default import rules should be modified

After a fresh install, default import rules are not "seamless" ... Computer import (by name) and Computer update (by name) should be active.

The first rule will allow default inventory made by a computer to create a new Computer in Glpi.
The second rule will avoid to create a new computer each time an inventory is sent by the same computer.

PluginFusioninventoryNetworkinventory/discovery use outdated DB scheme

The modules use DB fields which were removed or renamed long time ago. E.g.:

      $communication = $pfTask->fields['communication'];                                                                                                                                               
      $a_definition = importArrayFromDB($pfTaskjob->fields['definition']);

and this is from update.task.php:

   $table['renamefields'] = array(
      'definition' => 'targets',
      'action' => 'actors' 
   );
....
   $table['oldfields']  = array(
      "communication",

default fusioninventory's locks


Author Name: Benoit Machiavello (Benoit Machiavello)
Original Redmine Issue: 137, http://forge.fusioninventory.org/issues/137
Original Date: 2010-06-01
Original Assignee: David Durieux


Add possibility to select some fusioninventory's locks by default

when we add a lot of materials, we often forget to set locks, so we have bad information in dropdown (locations etc)

overwritten field "No response from remote host"


Author Name: Benoit Machiavello (Benoit Machiavello)
Original Redmine Issue: 106, http://forge.fusioninventory.org/issues/106
Original Date: 2010-05-19


I've the feeling in some cases the agent collects this string instead of the real OID value.

True value should never been overwritten like that.
This is an example of what I get in GLPI history view :
4426957 19-05-2010 16:03 Modèle "WS-CBS3012-IBM-I" --> "No response from remote host"

Even more strange, the next time I run the inventory, the fied content had been fixed.

clean JS libs

delete files not used in JS libs.

Add only for each library :

  • minified js file
  • source files
  • licence

Target a task not working in Group of computers

When targetting a deployment task to a group of computers in Fusioninventory for GLPI 0.85+1.1 I get "failed operation". The PHP error log says:

PHP Fatal error: Class 'PluginFusioninventoryTaskView' not found in /var/www/glpi/plugins/fusioninventory/inc/task.class.php on line 43, referer: http://glpi.gsr.intern/glpi/plugins/fusioninventory/front/deploygroup.php

script '/var/www/glpi/plugins/fusioninventory/ajax/dropdown_taskjob.php' not found or unable to stat, referer: http://glpi.gsr.intern/glpi/plugins/fusioninventory/front/deploygroup.php

Some controls of Group of Computers cause an error "404 Not Found".

The environment

  • GLPI 0.85.5
    • FusionInventory for GLPI 0.85+1.2

The bug

Once you create all criteria for a Group of computer and you select "Preview", you can see the list of computers that match these criteria. In this situation, if you attempt to change the value of "Display (number of items)" or you attempt to click on "Next" or "End" arrows, the browser will give you this message of error.

404 Not Found
The requested URL /plugins/fusioninventory/front/computer.php was not found on this server.

I have create a group of computers to test this issue. The select criteria is only one: operating system contains Windows 7. When I attempt go to the next page doing click on "Next" arrow I get the 404 error and the URL the browser tries to go is:

https://my.glpi.server.es/plugins/fusioninventory/front/computer.php?sort=&order=&criteria[0][field]=45&criteria[0][searchtype]=contains&criteria[0][value]=Windows%207&&start=20

Regards,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.