Actions
Bug #12033
closedUser story #11741: Use system Perl instead of embedding into rudder-agent if possible
Script /opt/rudder/bin/run-inventory cannot run FusionInventory on Rudder 4.3
Pull Request:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
0
Name check:
Fix check:
Regression:
Description
We use script /opt/rudder/bin/run-inventory to run FusionInventory. However, it works either by calling the perl shipped with Rudder (pre-4.3), or calling fusioninventory-agent from the path (for agent-thin)
It does not contain the logic to call FusionInventory from system perl
calling
perl /opt/rudder/bin/fusioninventory-agent --config=none --no-task=Deploy "$@"
is not sufficient, as it missed dependencies
Can't locate UNIVERSAL/require.pm in @INC (@INC contains: /opt/rudder/share/fusioninventory/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 8.
I had to install:
perl-UNIVERSAL-require
perl-File-Which
perl-libwww-perl
perl-XML-TreePP
and only then I could run inventory, with following output
[error] Can't locate object method "isEnabled" via package "FusionInventory::Agent::Task::Collect" at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 473. [error] Can't locate object method "isEnabled" via package "FusionInventory::Agent::Task::WakeOnLan" at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 473. [error] Can't locate object method "isEnabled" via package "FusionInventory::Agent::Task::NetDiscovery" at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 473. [error] Can't locate object method "isEnabled" via package "FusionInventory::Agent::Task::NetInventory" at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 473.
As a side note, there still are libs in - is it expected ?
running
perl -I /opt/rudder/lib/perl5 /opt/rudder/bin/fusioninventory-agent --config=none --no-task=Deploy "$@" [info] running task Inventory [info] Inventory saved in /var/rudder/tmp/inventory/server-2018-01-23-21-32-00.ocs [error] Can't locate object method "isEnabled" via package "FusionInventory::Agent::Task::Collect" at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 473. [error] Can't locate object method "isEnabled" via package "FusionInventory::Agent::Task::NetDiscovery" at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 473. [error] Can't locate object method "isEnabled" via package "FusionInventory::Agent::Task::NetInventory" at /opt/rudder/share/fusioninventory/lib/FusionInventory/Agent.pm line 473.
Updated by Nicolas CHARLES almost 7 years ago
- Status changed from New to In progress
- Assignee set to Nicolas CHARLES
Updated by Nicolas CHARLES almost 7 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from Nicolas CHARLES to Benoît PECCATTE
- Pull Request set to https://github.com/Normation/rudder-packages/pull/1473
Updated by Nicolas CHARLES almost 7 years ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder-packages|904c2d9c0486e473c02a959d1851336ad0002276.
Updated by Vincent MEMBRÉ almost 7 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 4.3.0~beta1 which was released today.
- 4.3.0~beta1: Announce Changelog
- Download: https://www.rudder-project.org/site/get-rudder/downloads/
Actions