Commit 58e93e55 authored by Guillaume Lucas's avatar Guillaume Lucas

[Centreon-glpi] glpi.getNetworkEquipment() n'existe plus -> getNetworkports()

L'extension Webservices de GLPI ne propose plus de méthode getNetworkEquipment().
Cette méthode était utilisée au seul but de remonter l'adresse IP de
l'équipement réseau. Nous utilisons getNetworkports() à la place. Nous vérifions
que l'adresse IP remontée est valide. Nous refusons désormais d'ajouter un
équipement réseau qui n'a pas une adresse IP valide.
parent b7979ee8
......@@ -161,9 +161,28 @@ try {
$networkFilter['itemtype'] = 'NetworkEquipment';
$matchedResult = $glpiClient->listObjects($networkFilter);
foreach ($matchedResult as $result) {
$hostInfo = $glpiClient->getNetworkEquipment(array('id' => $result['id']));
$address = $hostInfo['ip'];
if (!isset($centreonHosts[$result['name']])) {
// On remonte l'IP d'administration de cet équipement réseau
$hostInfo = $glpiClient->getNetworkports('id' => $result['id'],
'itemtype' => 'NetworkEquipment'));
// On vérifie que l'IP remontée est valide
$address = "";
if (count($hostInfo)) {
foreach ($hostInfo as $info) {
if ($info['ip'] != "127.0.0.1") {
if (isset($ipRange) && $ipRange != "" && false == Centreon_Glpi_Utils::ipInRange($info['ip'], $ipRange)) {
continue;
} else {
$address = $info['ip'];
break;
}
}
}
}
// On ajoute cet équipement réseau à Centreon si il n'existe pas (nom) et s'il a une adresse IP d'administration valide
if (!isset($centreonHosts[$result['name']]) && !empty($address)) {
$clapiCommand = $clapiCommandPrefix." -o HOST -a ADD -v \"".$result['name'].";".$result['name'].";".$address.";".$hostTemplates[$ruleInfo['host_template_id']].";".$instances[$ruleInfo['instance_id']].";".implode("|", $hgs)."\"";
exec($clapiCommand);
exec($clapiCommandPrefix." -o HOST -a APPLYTPL -v ".$result['name']);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment