Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

exabgpcli is not working on version 4.2.21 - CentOs 7 #1159

Open
waleedseng opened this issue May 18, 2023 · 1 comment
Open

exabgpcli is not working on version 4.2.21 - CentOs 7 #1159

waleedseng opened this issue May 18, 2023 · 1 comment
Assignees

Comments

@waleedseng
Copy link

** 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

@waleedseng waleedseng added the bug label May 18, 2023
@waleedseng waleedseng changed the title exabgpcli is not working on version 4.2.21 exabgpcli is not working on version 4.2.21 - CentOs 7 May 18, 2023
@thomas-mangin
Copy link
Member

> 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants