NethServer / dev

NethServer issue tracker
https://github.com/NethServer/dev/issues
62 stars 20 forks source link

Bad PATH set by runagent in interactive shell on Debian #6888

Closed DavidePrincipi closed 4 months ago

DavidePrincipi commented 6 months ago

Description

In an interactive session, the default runagent command is bash -l.

The PATH setup for a login shell differs on Debian from EL: it is completely reset by /etc/profile. The effect is that runagent added paths are discarded.

Expected behavior

PATH agent dirs are the same on both distributions

Actual behavior

In Debian:

root@dn112:~# runagent 
runagent: [INFO] starting bash -l
runagent: [INFO] working directory: /var/lib/nethserver/cluster/state
root@dn112:/var/lib/nethserver/cluster/state# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

In Rocky:

[root@rl1 ~]# runagent
runagent: [INFO] starting bash -l
runagent: [INFO] working directory: /var/lib/nethserver/cluster/state
[root@rl1 state]# echo $PATH
/root/.local/bin:/root/bin:/var/lib/nethserver/cluster/bin:/usr/local/agent/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/agent/bin

See also

Discussion https://mattermost.nethesis.it/nethesis/pl/iy7gccujhbf6jytpojqn7rdiie Card https://github.com/orgs/NethServer/projects/8/views/2?pane=issue&itemId=54743462 Related issue https://community.nethserver.org/t/ns8-on-minimal-debian-missing-dependency/23001 Related fix https://github.com/NethServer/ns8-core/pull/609

DavidePrincipi commented 5 months ago

In core 2.8.0-dev.2

Test case

Test the bug is not reproducible

DavidePrincipi commented 5 months ago

VERIFIED

root@dn1:~# runagent -m node
runagent: [INFO] starting bash -l
runagent: [INFO] working directory: /var/lib/nethserver/node/state
root@dn1:/var/lib/nethserver/node/state# echo $PATH
/var/lib/nethserver/node/bin:/usr/local/agent/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/agent/bin
root@dn1:~# runagent 
runagent: [INFO] starting bash -l
runagent: [INFO] working directory: /var/lib/nethserver/cluster/state
root@dn1:/var/lib/nethserver/cluster/state# echo $PATH
/var/lib/nethserver/cluster/bin:/usr/local/agent/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/agent/bin
[root@cs2 ~]# runagent
runagent: [INFO] starting bash -l
runagent: [INFO] working directory: /var/lib/nethserver/cluster/state
[root@cs2 state]# echo $PATH
/root/.local/bin:/root/bin:/var/lib/nethserver/cluster/bin:/usr/local/agent/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/agent/bin
[root@cs2 ~]# runagent -m node
runagent: [INFO] starting bash -l
runagent: [INFO] working directory: /var/lib/nethserver/node/state
[root@cs2 state]# echo $PATH
/root/.local/bin:/root/bin:/var/lib/nethserver/node/bin:/usr/local/agent/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/agent/bin
DavidePrincipi commented 4 months ago

Released Core https://github.com/NethServer/ns8-core/releases/tag/2.8.0