suzieq
                                
                                
                                
                                    suzieq copied to clipboard
                            
                            
                            
                        Add igmp and mroute Services
Signed-off-by: scetron [email protected]
Test inclusion requirements
In case the PR contains an enhancement or a new platform/service support, some tests have to be added for the new functionality:
- any fix or enhancement SHOULD include relevant new tests or test updates, if any tests need updating.
 - a new platform support MUST include the relevant input files similar to what we have in tests/integration/sqcmds/-input directories, along with the relevant tests in the tests/integration/sqcmds/-samples dir. That list MUST include the all.yml file fully filled out.
 - any new service (or table) addition MUST include comments about what network OS are supported (along with version) with this command along with test samples for those platforms and input files in the *-input dir
 
For additional information about tests, follow this link
Related Issue
Fixes #377
Description
Would like to add support for collection mroute and igmp information to increase the observability of suzieq to the multicast side of the network. This will increase the usefulness and applicability of suzieq in video and financial related networks as well as lay a foundation for VXLAN overlay networks.
Type of change
- New feature (non-breaking change which adds functionality)
 
New Behavior
Add mroute and igmp services. Enable collection of data for igmp and mroute services for EOS and NXOS. ...
Contrast to Current Behavior
No current collection for the above two services.
Discussion: Benefits and Drawbacks
...
Changes to the Documentation
...
Proposed Release Note Entry
Add mroute and igmp service with support for NXOS and EOS.
Comments
Double Check
- [x] I have read the comments and followed the CONTRIBUTING.md.
 - [x] I have explained my PR according to the information in the comments or in a linked issue.
 - [x] My PR source branch is created from the 
developbranch. - [x] My PR targets the 
developbranch. - [x] All my commits have 
--signoffapplied 
Hi Stephen, thanks for submitting the PR. There are still some problems you should fix:
- [x] the
 .outputfiles you checked in forigmpseems not correct. To update the files you should delete the content oftests/integration/sqcmds/igmp-input/and runsq-poller --run-once=gather --output-dir tests/integration/sqcmds/igmp-input/.- [x] add
 mrouteandigmpmarks in thepytest.inifile- [ ] To update also the parquet testing data correctly, execute
 SUZIEQ_POLLER=data pytest tests/integration/test_update_data.py -m "mroute"andSUZIEQ_POLLER=data pytest tests/integration/test_update_data.py -m "igmp"- [x] delete the
 mroutes.outputfile from thetests/integration/sqcmds/eos-input/. Since you didn't run the mroute on that topology, the data won't be correct.- [x] please check the linting errors running
 pylint suzieqandflake8 suzieq
- [x] add summarize for igmp
 - [x] add summarize for mroutes
 - [ ] add example textfsm output for igmp and mroutes
 
@LucaNicosia After running SUZIEQ_POLLER=data pytest tests/integration/test_update_data.py -m "mroutes"  I get the output
(suzieq-RFE1XB0N-py3.8) ➜  suzieq git:(scetron-mroutes-and-igmp) ✗ SUZIEQ_POLLER=data pytest tests/integration/test_update_data.py -m "mroutes" 
============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/scetron/suzieq, configfile: pytest.ini
plugins: forked-1.4.0, asyncio-0.18.3, mock-3.7.0, Faker-4.18.0, depends-1.0.1, icdiff-0.5, xdist-2.5.0, cov-3.0.0
asyncio: mode=auto
gw0 [1] / gw1 [1] / gw2 [1] / gw3 [1] / gw4 [1] / gw5 [1] / gw6 [1] / gw7 [1]
.                                                                                                                                                                                                          [100%]
=============================================================================================== 1 passed in 37.93s ====
However I do not see any updated files? I believe I might be missing a marker here?
Hi @scetron, I clone your fork and executed the command you posted in the other comment and the new files are actually added.
I see now stuff about mroutes inside tests/data/parquet directory. Did you checked there if you already have mroutes data?