Troubleshooting

If you require assistance from NuoDB Support, it may be necessary to provide diagnostic information. To collect diagnostic information related to the NuoDB database in your OpenShift deployment, and generate a support package, there are several commands you may execute.

Collecting Diagnostics

Using the nuocmd command line interface, the following commands are used to extract information from an OpenShift cluster:

You may run these commands from the Terminal tab of a NuoDB process pod Terminal tab in the OpenShift UI. To navigate to the Terminal tab, click the Applications tab, then click Pods and select a pod on which commands are to be executed.

Note: Before executing commands, type bash in the terminal command window and press the enter key; this enables the auto-completion of commands, helping you confirm that commands are correct before executing them.

get diagnose-info

This command collects database process core files and save a zip file in the specified location.

Arguments

Example

nuocmd get diagnose-info --output-dir /tmp/nuodiag --include-cores

Note: The --output-dir parameter is optional.

get server-logs

This command creates a zip file containing the Admin Service log files in the location specified.

Arguments

Example

nuocmd get server-logs --output /tmp

get log-messages

This command displays all log messages.

Arguments

Example

nuocmd get log-messages --log-options msgs 

Note: The --log-options parameter is required. For a complete list of log parameters, see Description of Logging Categories.

get core-file

Based on the option specified, this command provides a full memory dump or just a stack trace. This command creates a core file (.gz format) in the location specified.

Arguments

Example

nuocmd get core-file --start-id 1 --output-dir /tmp/

Note: To get the value for the --start-id parameter, run the nuocmd show domain command and then note the SID value displayed for the SM or TE process for which you want to generate a core file. If this parameter is not specified, permission to write to the directory where you executed the command is required.

Mounting Failure

If a mount failure has occurred, the following message displays:

Unable to mount volumes for pod "demo-east-0_guitar(<uuid>)": timeout expired waiting for volumes to attach/mount for pod "<project>"/"demo-east-0". list of unattached/unmounted volumes=[raftlog default-token-gjjgd]

Potential Cause

This may be owing to timing issues between the Kubernetes controller and OpenEBS occur due to timing bugs in OpenEBS itself.

Resolution

Delete the associated Storage Manager (SM) pod or Admin pod and it will automatically restart.