exabgpcli is not working on version 4.2.21 - CentOs 7
waleedseng opened this issue · comments
** Bug Report **
Describe the bug
I'm using Exabgp version 4.2.21
I have problem with exabgpcli. It times out and not giving output no matter what command I use
To Reproduce
After running exabgp exabgp exabgp-LS.conf -d
[root@walmo-dhcp exabgp]# exabgp exabgp-LS.conf -d
05:38:54 | 21624 | welcome | Thank you for using ExaBGP
05:38:54 | 21624 | version | 4.2.21
05:38:54 | 21624 | interpreter | 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
05:38:54 | 21624 | os | Linux walmo-dhcp 3.10.0-1160.83.1.el7.x86_64 #1 SMP Wed Jan 25 16:41:43 UTC 2023 x86_64
05:38:54 | 21624 | installation | /usr/local
05:38:54 | 21624 | cli control | named pipes for the cli are:
05:38:54 | 21624 | cli control | to send commands /run/exabgp/exabgp.in
05:38:54 | 21624 | cli control | to read responses /run/exabgp/exabgp.out
05:38:54 | 21624 | configuration | performing reload of exabgp 4.2.21
05:38:54 | 21624 | configuration | > neighbor | '172.30.171.62'
05:38:54 | 21624 | configuration | . local-address | '172.24.77.199'
05:38:54 | 21624 | configuration | . local-as | '100'
05:38:54 | 21624 | configuration | . peer-as | '1'
05:38:54 | 21624 | configuration | > family | 'bgpls'
05:38:54 | 21624 | configuration | < family |
05:38:54 | 21624 | configuration | < neighbor |
05:38:54 | 21624 | reactor | new peer: neighbor 172.30.171.62 local-ip 172.24.77.199 local-as 100 peer-as 1 router-id 172.24.77.199 family-allowed in-open
05:38:54 | 21624 | reactor | loaded new configuration successfully
05:38:54 | 21624 | process | forked process api-internal-cli-f3610c82
05:38:54 | 21624 | reactor | initialising connection to peer-1
05:38:54 | 21624 | outgoing-1 | attempting connection to 172.30.171.62:179
I try to run some exabgpcli
commands like the following but they fails
Sometimes it succeed, but I have to try many times to get a successful one.
[root@walmo-dhcp etc]# exabgpcli version
warning: no end of command message received
warning: normal if exabgp.api.ack is set to false otherwise some data may get stuck on the pipe
warning: otherwise it may cause exabgp reactor to block
[root@walmo-dhcp etc]#
even exabgpcli help
doesn't work.
[root@walmo-dhcp etc]# exabgpcli help
warning: no end of command message received
warning: normal if exabgp.api.ack is set to false otherwise some data may get stuck on the pipe
warning: otherwise it may cause exabgp reactor to block
[root@walmo-dhcp etc]#
Additional logs:
Sometimes it works like this time
exabgp 4.2.21
[root@walmo-dhcp etc]#
05:46:34 | 21643 | process | command from process api-internal-cli-fd93167c : version
05:46:34 | 21643 | process | responding to api-internal-cli-fd93167c : done
** when it fails, no debugging message are shown**
I even tried to run exabgp with setting these env values, but the result is the same
[root@walmo-dhcp exabgp]# env exabgp.api.ack=false exabgp.api.respawn=false exabgp.api.encoder=text exabgp -d exabgp-LS.conf
> env exabgp.api.ack=false exabgp.api.respawn=false exabgp.api.encoder=text exabgp -d exabgp-LS.conf
exabgp.api.ack=false
is probably required as the program called from your configuration file is written without support for ACK, but the CLI requires the option to be true.
To resolve this, I would need to make the API setting per API endpoint, which is possible but not implemented. So it works as designed, but the design needs changing.