Skip to main content
Version: 4.1.x

Supportability

Supportability

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

Using the Supportability Tool

To bundle Replicated PV Mayastor's complete system information, execute:

Command

kubectl mayastor dump system -n openebs -d <output_directory_path>

To view all the available options and sub-commands that can be used with the dump command, execute:

Command

kubectl mayastor dump --help

Sample Output

`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.

See here for 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 PathComponentFile 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 Replicated PV Mayastor includes the deployment of a log aggregation subsystem based on Grafana Loki. All the pods deployed in the same namespace as Replicated PV 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 Replicated PV Mayastor)
  • DiskPool names
  • Block device details (except the content) K8s Definition Files: The support bundle includes definition files for all the Replicated PV 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 Replicated PV Mayastor.

etcd Dump: The default installation of Replicated PV Mayastor deploys an etcd instance for its exclusive use. This key-value pair is used to persist state information for Replicated PV 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 namespace where Replicated PV Mayastor is installed
  • Block device details (except data content)
note

The list provided above is frequently reviewed and updated by the Replicated PV Mayastor maintainers. However, it might not be fully exhaustive, given that "sensitive information" is a subjective term.