Links
Comment on page

Supportability

Supportability

The supportability tool collects Mayastor specific information from the cluster using the kubectl plugin command-line tool. It uses the dump command, which interacts with the Mayastor services to build an archive (ZIP) file that acts as a placeholder for the bundled information.

Using the supportability tool

To bundle Mayastor's complete system information, execute:
kubectl mayastor dump system -n mayastor -d <output_directory_path>
To view all the available options and sub-commands that can be used with the dump command, execute:
Command
Sample Output
kubectl mayastor dump --help
`Dump` resources
Usage: kubectl-mayastor dump [OPTIONS] <COMMAND>
Commands:
system Collects entire system information
etcd Collects information from etcd
help Print this message or the help for the given subcommand(s)
Options:
-r, --rest <REST>
The rest endpoint to connect to
-t, --timeout <TIMEOUT>
Specifies the timeout value to interact with other modules of system [default: 10s]
-k, --kube-config-path <KUBE_CONFIG_PATH>
Path to kubeconfig file
-s, --since <SINCE>
Period states to collect all logs from last specified duration [default: 24h]
-l, --loki-endpoint <LOKI_ENDPOINT>
LOKI endpoint, if left empty then it will try to parse endpoint from Loki service(K8s service resource), if the tool is unable to parse from service then logs will be collected using Kube-apiserver
-e, --etcd-endpoint <ETCD_ENDPOINT>
Endpoint of ETCD service, if left empty then will be parsed from the internal service name
-d, --output-directory-path <OUTPUT_DIRECTORY_PATH>
Output directory path to store archive file [default: ./]
-n, --namespace <NAMESPACE>
Kubernetes namespace of mayastor service [default: mayastor]
-o, --output <OUTPUT>
The Output, viz yaml, json [default: none]
-j, --jaeger <JAEGER>
Trace rest requests to the Jaeger endpoint agent
-h, --help
Print help
Supportability - collects state & log information of services and dumps it to a tar file.
Note: The information collected by the supportability tool is solely used for debugging purposes. The content of these files is human-readable and can be reviewed, deleted, or redacted as necessary to adhere to the organization's data protection/privacy commitments and security policies before transmitting the bundles. Please refer to the section: 'Does the supportability tool expose sensitive data' to get more details.
The archive files generated by the dump command are stored in the specified output directories. The tables below specify the path and the content that will be stored in each archive file.

Topology Information

Folder Path
Mayastor Resource
Node Name
File Name
Description
./topology/node
node
node-01
node-01-topology.json
Topology of node-01(All node topologies will available here)
./topology/pool
pool
pool-01
pool-01-topology.json
Topology of pool-01 (All pool topologies will available here)
./topology/volume
volume
volume-01
volume-01-topology.json
Topology information of volume-01 (All volume topologies will available here)

Historical Logs

Folder Path
Host Name(optional)
Component
File Name
./logs/core-agents
-
agent-core
loki-agent-core.log
./logs/rest
-
api-rest
loki-api-rest.log
./logs/csi-controller
-
csi-attacher
loki-csi-attacher.log
./logs/csi-controller
-
csi-controller
loki-csi-controller.log
./logs/csi-controller
-
csi-provisioner
loki-csi-provisioner.log
./logs/diskpool-operator
-
operator-diskpool
loki-operator-disk-pool.log
./logs/mayastor
node-02
csi-driver-registrar
node-02-loki-csi-driver-registrar.log
./logs/mayastor
node-01
csi-node
node-01-loki-csi-node.log
./logs/mayastor
node-01
io-engine
node-01-loki-mayastor.log
./logs/blot
node-02
io-engine
node-02-loki-mayastor.log
./logs/etcd
node-03
etcd
node-03-loki-etcd.log

Configuration details of Kubernetes resources

Folder Path
Component
File Name
./k8s_resources/configurations/
agent-core (Deployment)
mayastor-agent-core.yaml
./k8s_resources/configurations/
api-rest
mayastor-api-rest.yaml
./k8s_resources/configurations/
si-controller (Deployment)
mayastor-csi-controller.yaml
./k8s_resources/configurations/
csi-node(Daemonset)
mayastor-csi-node.yaml
./k8s_resources/configurations/
etcd (Statefullset)
mayastor-etcd.yaml
./k8s_resources/configurations/
loki (Statefullset)
mayastor-loki-yaml
./k8s_resources/configurations/
operator-diskpool
mayastor-operator-disk-pool.yaml
./k8s_resources/configurations/
promtail(Daemonset)
mayastor-promtail.yaml
./k8s_resources/configurations/
io-engine (Daemonset)
io-engine.yaml
./k8s_resources/configurations/
disk_pools
k8s_diskPools.yaml
./k8s_resources
events
k8s_events.yaml
./k8s_resources/configurations/
all pods(deployed under the same namespace as Mayastor)
pods.yaml
./k8s_resources
volume snapshot classes
volume_snapshot_classes.yaml
./k8s_resources
volume snapshot contents
volume_snapshot_contents.yaml

etcd dump information

Folder Path
Component
File Name
./
etcd
etcd_dump

Supportability tool logs

Folder Path
Component
File Name
./
Support-tool
support_tool_logs.log

Does the supportability tool expose sensitive data?

The supportability tool generates support bundles, which are used for debugging purposes. These bundles are created in response to the user's invocation of the tool and can be transmitted only by the user. Below is the information collected by the supportability tool that might be identified as 'sensitive' based on the organization's data protection/privacy commitments and security policies. Logs: The default installation of Mayastor includes the deployment of a log aggregation subsystem based on Grafana Loki. All the pods deployed in the same namespace as Mayastor and labelled with openebs.io/logging=true will have their logs incorporated within this centralized collector. These logs may include the following information:
  • Kubernetes (K8s) node hostnames
  • IP addresses
    • container addresses
  • API endpoints
    • Mayastor
    • K8s
  • Container names
  • K8s Persistent Volume names (provisioned by Mayastor)
  • DiskPool names
  • Block device details (except the content) K8s Definition Files: The support bundle includes definition files for all the Mayastor components. Some of these are listed below:
  • Deployments
  • DaemonSets
  • StatefulSets
  • VolumeSnapshotClass
  • VolumeSnapshotContent
K8s Events: The archive files generated by the supportability tool contain information on all the events of the Kubernetes cluster present in the same namespace as Mayastor.
etcd Dump: The default installation of Mayastor deploys an etcd instance for its exclusive use. This key-value pair is used to persist state information for Mayastor-managed objects. These key-value pairs are required for diagnostic and troubleshooting purposes. The etcd dump archive file consists of the following information:
  • Kubernetes node hostnames
  • IP addresses
  • PVC/PV names
  • Container names
    • Mayastor
    • User applications within the mayastor namespace
  • Block device details (except data content)
Note:The list provided above is frequently reviewed and updated by the Mayastor maintainers. However, it might not be fully exhaustive, given that "sensitive information" is a subjective term.