Модуль деплоя в FusionInventory
По состоянию на сегодня - пилится ударными темпами, но пока ещё очень сырое, как и модуль с snmp. Судя по форумам, в каком-то виде работает с января 2011го.
А именно:
Дубль раз
Ставим версию 0.83+1.0. Создаём пакет, определяем задание, ставим на подопытного агента, запускаем задание, ждём. День ждём, два ждём, на клиенте - конь не валялся, как говорится. Лезем в логи - видим ошибку скачки пакета.
Курим ихнее ipc, выясняем следующее: оно пытается скачать пакет с неправильным url'ом, наподобие такого: http://server:80:80/glpi/?query. Сервер, естественно, отвечает 500й ошибкой а-ля "ну и запросы у вас, уважаемый".
Материмся, лезем в багзиллу, получаем рекомендацию обновиться.
Дубль два
Обновляемся до 0.83+2.0b
Агент на месте не перенастраиваем, просто пинаем выполнение, чтобы не ждать. Авотхуй! Опять ошибка скачивания. Курим лог, видим, что оно ломится на локалхост. WTF? грепаем по исходникам агента в поисках этого самого локалхоста (дефолт, поди) -- нету! Грепаем по исходникам модулей -- опять нету! WTF?! Откуда ж оно берётся?!
Лезем в настройки, видим строчку "URL для модуля deploy", пустую. Ага, блжад! Прописываем имя сервера, опять пинаем агент -- авотхуй, опять локалхост. Вдумчиво курим исходники модуля, находим интересную функцию getUrlForModule(). Вторично думаем "ага, блжад!", всматриваемся в код и охуеваем:
$query = "SELECT url_base FROM `glpi_configs` LIMIT 1";
$result = $DB->query($query);
$data = $DB->fetch_assoc($result);
return
$data['url_base'].
'/plugins/fusinv'.
strtolower($modulename).
'/b/'.
strtolower($modulename);
Для Ъ: оно кладёт болт на найденную нами настройку и выводит URL из $url_base, т.е. имени хоста и пути, по которому висит glpi. Эта опция задаётся при установке, через морду её не поменять.
Лезем в базу, меняем злосчастную настройку, опять пинаем агента -- авотхуй, опять ошибка скачивания. Причём, если вбить этот url руками - файл отдаётся. Идём пить валерьянку.
ИЧСХ, в самом модуле висит небольшой такой баннер, с Леониде и фирменным "This is BETA!!!11". Да, верю, соответствует.
Однако
Впрочем, описанное выше относится только самому fusioninventory. GPLI пилится уже давно и довольно приятна в использовании. Серъёзных багов -- не замечено.