Support dump¶
TechPreview
Support dump described in this section specifically targets OpenStack components, providing valuable insights for troubleshooting OpenStack-related problems.
To generate a support dump for your MOSK environment,
use the osctl sos report tool present within
the openstack-controller
image.
This section focuses only on the essential capabilities of the tool. For all available parameters, consult osctl sos report --help.
Collectors¶
The support dump is modular. Each module is responsible for specific
functionality. To enable or disable specific modules during support
dump creation, use the --collector
option. If not specified,
all collectors are used.
Collector |
Description |
---|---|
|
Collects logs from StackLight by connecting to the OpenSearch API. |
|
Collects data about objects from Kubernetes. |
|
Collects metadata associated with the Compute service (OpenStack Nova) from the OpenStack nodes. This encompasses a wide range of data, including instance details, general libvirt information, and so on. |
|
Collects metadata associated with the Networking service (OpenStack Neutron) from the OpenStack nodes. This encompasses a wide range of data, including Open vSwitch statistics, list of namespaces, IP address statistics in namespaces, Open vSwitch flows, and so on. |
Components¶
Given the substantial amount of information, you can manage the components
included in a support dump using the mutually exclusive --component
or --all-components
options. Within the elastic
collector component,
you can specify which loggers to gather logs for. For example,
the --component nova
option restricts log collection to pods related
to Nova, which names start with nova-*
and libvirt-*
.
Hosts¶
Another filtering criterion involves specifying the host for which you intend
to collect support information. This can be accomplished through the use of
mutually exclusive --host
or --all-hosts
options. This feature is
particularly valuable for limiting the volume of data included in
the support dump.
Modes¶
Support dump works in the following modes:
report
Generic report is created, no specific information such as resource UUID is included. The tool collects as much information as possible.
trace
Provides more sophisticated filtering criteria rather than the
report
mode. For example, you can search for specific message patterns in OpenSearch.
Usage¶
Since MOSK 23.2, you can execute the osctl sos
commands directly in the openstack-controller
pod. For example:
kubectl -n osh-system exec -it deployment/openstack-controller bash
osctl sos --since 1d \
--all-hosts \
--component neutron \
--collector elastic \
--workspace /tmp/ report
To get trace for a specific resource UUID in Neutron for a specific host, use the following command as an example:
kubectl -n osh-system exec -it deployment/openstack-controller bash
osctl sos --since 1d \
--host kaas-node-fe0734de-20e8-4493-9f7d-52c4f8a8a98c \
--component neutron \
--workspace /workspace/ \
--collector elastic trace --message ".4a055675-89b0-45c2-a3b3-a10dffa07f31."
For older MOSK versions, to start generating support dumps, execute the osctl sos commands from a manually started Docker container on any node of your cluster. For example, to create a generic report for the Neutron component:
docker run -v /home/ubuntu/sosreport/:/workspace -v /root/.kube/config:/root/.kube/config -it mirantis.azurecr.io/openstack/openstack-controller:0.13.11 bash
osctl sos --since 1d \
--elastic-url http://172.16.37.11:9200 \
--all-hosts \
--component neutron \
--collector elastic \
--workspace /workspace/ report
Note
172.16.37.11
is the IP address of the opensearch-master
StackLight service. To obtain it, run:
kubectl -n stacklight get svc opensearch-master -o jsonpath='{.spec.clusterIP}')