| # COS Kdump Debugger container used in COS kdump | |
| ## Overview | |
| This is a docker image used by COS kdump. It includes | |
| scripts and necessary dependencies for inspecting a kernel crash dump from a COS | |
| instance based on COS images. | |
| ## Building COS Kdump Debugger Docker image | |
| ### Locally (for testing the image) | |
| For testing, you can simply build and test this docker container locally on your | |
| workstation: | |
| ```shell | |
| $ docker build -t cos-kdump-debugger:dev . | |
| ``` | |
| ## Using cos-kdump-debugger Image | |
| This container requires two mount points from the host: | |
| 1. It needs the gcloud credential from your host machine. (Not required if | |
| using a GCE VM, because GCE VMs get their credential from metadata server.) | |
| 2. It needs a sosreport tarball containing the kdump. | |
| Let's say you have the sosreport tarball located at | |
| `~/debug/sosreport-kdump-next-20190130220549.tar.xz`, then you should run: | |
| ```shell | |
| $ docker run --rm -it \ | |
| $ -v ~/.config/gcloud:/root/.config/gcloud \ | |
| $ -v ~/debug/:/sos \ | |
| $ cos-kdump-debugger:dev \ | |
| $ --sos sosreport-kdump-next-20190130220549.tar.xz | |
| ``` | |
| If you only want to use the container to run some simply crash commands | |
| (useful for testing), you can run: | |
| ```shell | |
| $ docker run --rm -it \ | |
| $ -v ~/.config/gcloud:/root/.config/gcloud \ | |
| $ -v ~/debug/:/sos \ | |
| $ cos-kdump-debugger:dev \ | |
| $ --crash_command "bt" \ | |
| $ --sos sosreport-kdump-next-20190130220549.tar.xz | |
| ``` | |
| The `kdump_debugger.sh` script requires the matching vmlinux for the COS kernel | |
| being used. By default, the script will fetch the vmlinux for you by looking in | |
| the GCS bucket `gs://cos-tools`. You can also explicitly set the path to the | |
| matching vmlinux in GCS by setting the `--vmlinux_path` flag. | |
| For example: | |
| ```shell | |
| $ docker run --rm -it \ | |
| $ -v ~/.config/gcloud:/root/.config/gcloud \ | |
| $ -v ~/debug/:/sos \ | |
| $ cos-kdump-debugger:dev \ | |
| $ --crash_command "bt" \ | |
| $ --sos sosreport-kdump-next-20190130220549.tar.xz | |
| $ --vmlinux_path gs://<path-to-vmlinux-in-storage-bucket> | |
| ``` |