Bug #17997
closedInventory failing - lodable libs and perl binaries mismatch
Description
On a Debian 10 (buster), after having upgraded the agent from rudder-agent:amd64 from 6.0.6-debian10 to 6.1.1-ubuntu18.04, the rudder agent inventory command is failing.
Running it with -v, I see :
rudder info: Executing 'no timeout' ... '/opt/rudder/bin/run-inventory --local=/var/rudder/tmp/inventory/sit-glpi-tst01-55caaec0-4398-48e1-95bc-e430501fc8ef.ocs' rudder verbose: Setting umask to 77 error: Finished command related to promiser '/opt/rudder/bin/run-inventory --local=/var/rudder/tmp/inventory/sit-glpi-tst01-55caaec0-4398-48e1-95bc-e430501fc8ef.ocs' -- an error occurred, returned 1 rudder verbose: C: + promise outcome class 'inventory_failed' notice: Q: "...-inventory --lo": [info] FusionInventory instance: builtin - Perl instance: system Q: "...-inventory --lo": [info] running task Inventory Q: "...-inventory --lo": Magic.c: loadable library and perl binaries are mismatched (got handshake key 0xde00080, needed 0xce00080) rudder info: Last 3 quoted lines were generated by promiser '/opt/rudder/bin/run-inventory --local=/var/rudder/tmp/inventory/sit-glpi-tst01-55caaec0-4398-48e1-95bc-e430501fc8ef.ocs' rudder info: Completed execution of '/opt/rudder/bin/run-inventory --local=/var/rudder/tmp/inventory/sit-glpi-tst01-55caaec0-4398-48e1-95bc-e430501fc8ef.ocs'
Thus, no inventory updates are sent back to the root server.
The rudder agent has been upgrade with a Rudder directive.
Updated by Benoît PECCATTE over 4 years ago
Hi Nicolas, how could you upgrade from 6.0.6-debian10 to 6.1.1-ubuntu18.04 since it's not the same distribution.
However this explains clearly the error, it's not the same version of perl.
Updated by Nicolas Ecarnot over 4 years ago
Benoît PECCATTE wrote in #note-1:
Hi Nicolas, how could you upgrade from 6.0.6-debian10 to 6.1.1-ubuntu18.04 since it's not the same distribution.
However this explains clearly the error, it's not the same version of perl.
Ok, I understand the origin of the issue :
In my directive about upgrading the rudder agent, I'm using a parameter that was mis-interpreted, sometimes as "buster", sometimes as other strings.
When the upgrades came, they upgraded using the wrong package.
I'm using this :
deb http://repository.rudder.io/apt/6.1/ ${debiancodename} main
but I have to find a better suited and generic variable...
Updated by Nicolas Ecarnot over 4 years ago
Wait a minute, this variable looks good, so there must be something else...
Updated by Nicolas Ecarnot over 4 years ago
Another example with Debian 9 :
- apt purge rudder-agent
- force cleanup of /var/rudder /opt/rudder /var/backups/rudder
- apt install rudder-agent
The rudder agent 6.1.1-debian9 is installing OK
- reboot
Then :
- reboot
M| State Technique Component Key Message
E| repaired Common Compute inventory splay rudder_run_invent| Scheduling rudder_run_inventory was repaired
error: Finished command related to promiser '/opt/rudder/bin/run-inventory --local=/var/rudder/tmp/inventory/sit-web-8d4becee-211f-43d3-9a0d-744a6fb2f6ec.ocs' -- an error occurred, returned 1
Start execution with config [0]
E| error Inventory inventory Could not execute the inventory
error: Method 'fusionAgent' failed in some repairs
error: Method 'doInventory_always' failed in some repairs
info Rudder agent was run on a subset of policies - not all policies were checked
## Summary #####################################################################
2 components verified in 4 directives
=> 2 components in Enforce mode
-> 1 repaired
-> 1 error
Execution time: 0.95s
################################################################################
Done
FINISH: Rudder agent check ran properly, please look at messages above to see if there has been any error.
root@sit-web:~# /opt/rudder/bin/run-inventory --local=/var/rudder/tmp/inventory/sit-web-8d4becee-211f-43d3-9a0d-744a6fb2f6ec.ocs
[info] FusionInventory instance: builtin - Perl instance: system
ListUtil.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xce00080)
root@sit-web:~# rudder agent inventory -v|less -R
root@sit-web:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.6 (stretch)
Release: 9.6
Codename: stretch
root@sit-web:~# dpkg --list|grep rudder-agent
ii rudder-agent 6.1.1-debian9 amd64 Configuration management and audit tool - agent
root@sit-web:~# rudder agent version
Rudder agent 6.1.1-debian9
Updated by Nicolas Ecarnot over 4 years ago
On some Debian 10 buster nodes, I'm force to :
- apt purge rudder-agent
- rm fr /var/rudder/ /var/backups/rudder/ /opt/rudder/ apt update && apt install rudder-agent
- echo 'a.b.c.d' > blablabla policy_server.dat...
- accept the node
unless this PERL binaries mismatch keeps bugging me.
Updated by Benoît PECCATTE over 4 years ago
could you also run a "perl --version" on this debian 9 ?
Than you
Updated by Vincent MEMBRÉ over 4 years ago
- Target version changed from 6.1.2 to 6.1.3
Updated by Nicolas Ecarnot over 4 years ago
Benoît PECCATTE wrote in #note-6:
could you also run a "perl --version" on this debian 9 ?
Than you
Let's not focus on debian version, as it appears on debian 9 and 10, and I may have seen it on ubuntu and maybe centos nodes.
For instance, our root server is a debian 10 and is hit by this issue.
perl --version is giving :
perl 5, version 28, subversion 1 (v5.28.1) built for x86_64-linux-gnu-thread-multi
(with 61 registered patches, see perl -V for more detail)
Updated by François ARMAND over 4 years ago
- Target version changed from 6.1.3 to 6.1.4
Updated by Nicolas CHARLES over 4 years ago
One user also reported this issue, and it was caused by old .so files in /opt/rudder/lib/perl5/x86_64-linux-gnu-thread-multi/
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 6.1.4 to 6.1.5
- Priority changed from 52 to 51
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 6.1.5 to 6.1.6
- Priority changed from 51 to 50
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 6.1.6 to 6.1.7
Updated by Vincent MEMBRÉ almost 4 years ago
- Target version changed from 6.1.7 to 6.1.8
- Priority changed from 50 to 49
Updated by Vincent MEMBRÉ almost 4 years ago
- Target version changed from 6.1.8 to 6.1.9
- Priority changed from 49 to 48
Updated by Vincent MEMBRÉ almost 4 years ago
- Target version changed from 6.1.9 to 6.1.10
- Priority changed from 48 to 47
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.10 to 6.1.11
- Priority changed from 47 to 46
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.11 to 6.1.12
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.12 to 6.1.13
- Priority changed from 46 to 45
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.13 to 6.1.14
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.14 to 6.1.15
- Priority changed from 45 to 43
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.15 to 6.1.16
Updated by Vincent MEMBRÉ about 3 years ago
- Target version changed from 6.1.16 to 6.1.17
Updated by Vincent MEMBRÉ about 3 years ago
- Target version changed from 6.1.17 to 6.1.18
Updated by Vincent MEMBRÉ almost 3 years ago
- Target version changed from 6.1.18 to 6.1.19
Updated by Alexis Mousset almost 3 years ago
- Category changed from Architecture - Internal libs to Agent
Updated by Alexis Mousset almost 3 years ago
- Status changed from New to Rejected
closing, feel free tp reopen if the problem happens again