Understanding the cl-support Output File

The cl-support script generates a compressed archive file of useful information for troubleshooting. The system either creates the file automatically or you can create the file manually.

Automatic cl-support File

The system creates the cl-support file automatically:

  • When there is a core dump file for any application (not specific to Cumulus Linux, but something all Linux distributions support), located in /var/support/core.
  • When one of the monitored services fails for the first time after you reboot or power cycle the switch.

Manual cl-support File

To create the cl-support file manually, run the nv action generate system tech-support command:

cumulus@switch:~$ nv action generate system tech-support
Action executing ...
Generating system tech-support file, it might take a few minutes...
Action executing ...
Generated tech-support
Action succeeded

Cumulus Linux saves the cl-support file in the /var/support directory. The file name starts with cl_support and ends with the date and time of creation.

The Linux command to generate the cl-support file includes more options; for example, you can include security sensitive information, include debugging information, only run certain modules, and provide a reason for running the script in the file.

To create the cl-support file manually, run the cl-support command:

cumulus@switch:~$ sudo cl-support

If the Cumulus Linux support team requests that you submit the output from cl-support to investigate issues you experience, and you need to include security-sensitive information, such as the sudoers file, use the -s option:

cumulus@switch:~$ sudo cl-support -s

cl-support Script Options

Option Description
-h: Displays the available cl-support script options with a description.
-c: Runs only modules matching core files (if no -e modules).
-D: Displays debugging information.
-d: Does not run modules in the provided comma separated list.
-e: Only runs modules in the provided comma separated list. -e all runs all modules and submodules, including all optional modules.
-j: Creates json output files for modules, where supported.
-l: Lists the available modules, then exits.
-M: Does not set a timeout for modules. Use this option with -T.
-m: Runs modules serially and sets the module memory limit in MB; -m 0 runs serially without limits.
-p: Adds a prefix to the cl-support archive file name.
-r: Provides the reason for running the cl-support script. You must enclose the reason in quotes.
-S: Uses a different output directory than the default /var/support.
-s: Includes security sensitive information, such as the sudoers file.
-T: Sets the timeout in seconds for creating the cl-support file. 0 disables the timeout.
-t: Provides a tag string as part of the cl-support file name.
-v: Runs in verbose mode to display status messages.

cl-support Examples

The following example does not run the cl-support script on the ptp4l.ptp4l and what-just-happened.wjh modules.

cumulus@switch:~$ sudo cl-support -d ptp4l.ptp4l,what-just-happened.wjh
cl-support: cl-support is running without memory limits
Please send /var/support/cl_support_leaf01_20240214_183635.txz to Cumulus support.

The following example runs the cl-support script and displays debugging information:

cumulus@switch:~$ sudo cl-support -D
DEBUG: Memory headroom set as 256MB
DEBUG: Available memory 576MB
DEBUG: Allowed memory consumption calculated at 320MB
DEBUG: Using calculated memory limit
DEBUG: Last parallel mode archive creation used 4MB
DEBUG: /usr/bin/systemd-run -q -P -G -p MemoryMax=320M /usr/bin/time -v -o /tmp/tmp.f8L5l6odWn /usr/lib/cumulus/cl-support -D
DEBUG: run_timeout 90 synced
...

The following example runs the cl-support script, lists available modules, then exits.

cumulus@switch:~$ sudo cl-support -l
Default modules: synced.synced ptp4l.ptp4l what-just-happened.wjh
   gdb.coreinfo openvswitch.dump ptmd.ptm switchd.mlx switchd.stack
   switchd.fuse clag.clag network.kernel network.ifquery network.sfp
   network.sfphex network.net_use network.ifupdown2_policy dot1x.config
   system.versions system.logs system.systemd system.dmesg system.hwinfo
   system.memory_use system.configs system.pkg system.misc system.uefi
   system.time frr.frr neighmgr.neighmgr nvue.config lldp.lldp
Optional modules: switchd.verbose clag.clagkerneldB system.pkgverify
   frr.ospftable frr.ospf6table frr.evpntable frr.bgptable nclu.config

The following example adds a prefix to the generated cl-support file name:

cumulus@switch:~$ sudo cl-support -p myprefix
Please send /var/support/myprefix_support_leaf01_20240214_184135.txz to Cumulus support.

The following example provides the reason for running the cl-support script:

cumulus@switch:~$ sudo cl-support -r "switchd crash"
Please send /var/support/cl_support_leaf01_20240214_184806.txz to Cumulus support.

Delete cl-support Files

To delete a cl-support file from the switch, run the NVUE nv action delete system tech-support files <file-name> command. You can also use the Linux sudo rm /var/support/<file-name> command.

cumulus@switch:~$ nv action delete system tech-support files /var/support/cl_support_leaf01_20240725_221237.txz
Action executing ...
File Delete Succeeded
Action succeeded

Show cl-support Files

To show the cl-support files on the switch, run the nv show system tech-support files command. You can also run the Linux ls command on the /var/support directory (ls /var/support).

cumulus@switch:~$ nv show system tech-support files
File name                              File path                                         
-------------------------------------  --------------------------------------------------
cl_support_leaf01_20240725_225811.txz  /var/support/cl_support_leaf01_20240725_225811.txz

Upload cl-support Files

To upload a cl-support file off the switch to an external location, run the nv action upload system tech-support files <file-name> <remote-url> command.

For information on the directories included in the cl-support archive, see: