Skip to content

Add a new debug command: "skupper debug mentat DEBUG_DUMP_FILE"#2437

Open
mgoulish wants to merge 1 commit into
skupperproject:mainfrom
mgoulish:mick_mentat
Open

Add a new debug command: "skupper debug mentat DEBUG_DUMP_FILE"#2437
mgoulish wants to merge 1 commit into
skupperproject:mainfrom
mgoulish:mick_mentat

Conversation

@mgoulish
Copy link
Copy Markdown

Integrates the mentat-go-2 library for connectivity analysis

This is not meant to be the final form of Mentat.
It is only the first -- hopefully useful -- command.
I hope to add many more commands.

The purpose is to help users and developers more easily and quickly analyze large Skupper debug dumps.

Right now we are only looking at connectivity, and only between routers.

The next thing I hope to add is connectivity with services.

QUESTION:
Right now, this pulls in my mentat code from my personal repo. I expect that is not the right way to do it, but I need guidance on what the right way is.

Example Commands and Output

(Using a debug dump file I created from my two-router setup that isn't doing anything.)

Command:

./skupper debug mentat
No dump file specified.
Usage:
skupper debug mentat <dumpfile.tar.gz>
skupper debug mentat <dumpfile.tar.gz> --time "2025-05-11 14:30:00"

First create a dump:
skupper debug dump my-dump.tar.gz

Command:
(bad debug dump file name)

./skupper debug mentat nonexistent.tar.gz
dump file not found: nonexistent.tar.gz

Command:
(print connectivity history)

./skupper debug mentat skupper-dump-mick-two-20260511100400.tar.gz

🔍 Running mentat analysis on skupper-dump-mick-two-20260511100400.tar.gz...
📦 Extracting tgz skupper-dump-mick-two-20260511100400.tar.gz to /tmp/skupper-mentat-220271562...
Name: site-two
log_path /tmp/skupper-mentat-220271562/site-namespace/logs/skupper-router-6b5cf5c8f4-wtjxd-router.txt
Finding connectivity for site site-two

Connection History

Site: site-two
Router: skupper-router-6b5cf5c8f4-wtjxd-router.txt
at time 2026-04-29 19:10:15.4297 neigbors are:
site-one-skupper-router-7667d75574-5cwzt
at time 2026-04-29 19:10:16.4297 neigbors are:
site-one-skupper-router-7667d75574-5cwzt

Command:
(print connectivity history and check connectivity at a specific time)

./skupper debug mentat skupper-dump-mick-two-20260511100400.tar.gz --time "2026-04-29 19:10:20"
🔍 Running mentat analysis on skupper-dump-mick-two-20260511100400.tar.gz...
⏰ Checking connectivity at specific time: 2026-04-29 19:10:20
📦 Extracting tgz skupper-dump-mick-two-20260511100400.tar.gz to /tmp/skupper-mentat-4131495310...
Name: site-twoskupper-router-6b5cf5c8f4-wtjxd-router.txt
Finding connectivity for site site-two

Connection History

Site: site-two
Router: skupper-router-6b5cf5c8f4-wtjxd-router.txt
at time 2026-04-29 19:10:15.4297 neigbors are:
site-one-skupper-router-7667d75574-5cwzt
at time 2026-04-29 19:10:16.4297 neigbors are:
site-one-skupper-router-7667d75574-5cwzt

Checking Connectivity at time 2026-04-29 19:10:20

Checking site: site-two router: skupper-router-6b5cf5c8f4-wtjxd-router.txt
Neighbors:
site-one-skupper-router-7667d75574-5cwzt

Integrates the mentat-go-2 library for connectivity analysis
@mgoulish mgoulish requested a review from ajssmith May 12, 2026 14:00
@nluaces
Copy link
Copy Markdown
Member

nluaces commented May 13, 2026

If the mentat project is going to be separated from skupper, I think a good first step would be to include it in the skupperproject org first.
After that, we need a release with a new version of this project: https://go.dev/doc/modules/publishing

What do you think @ajssmith?

@ajssmith
Copy link
Copy Markdown
Member

Definitely in favor of adding some sub-commands to the debug facility to help with understanding and analyzing site and service connectivity issues. It would help to discuss in more detail what the base utilities need to be (e.g. parsing) and what we need to create versus what might already exist.

@mgoulish
Copy link
Copy Markdown
Author

mgoulish commented May 14, 2026 via email

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants