Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
sdimitro committed Aug 21, 2023
1 parent e7e1f49 commit 37c2944
Show file tree
Hide file tree
Showing 5 changed files with 115 additions and 24 deletions.
1 change: 0 additions & 1 deletion .github/scripts/install-libkdumpfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
#
sudo apt update
sudo apt install autoconf automake liblzo2-dev libsnappy1v5 libtool pkg-config zlib1g-dev
sudo apt install python3.8-dev python3.9-dev

git clone https://github.com/ptesarik/libkdumpfile.git

Expand Down
15 changes: 15 additions & 0 deletions .github/scripts/install-live-kernel-dbg.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash -eux

cat /etc/apt/sources.list

sudo apt-get clean
sudo apt-get update

echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ddebs.list
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ddebs.list
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ddebs.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622
sudo apt-get clean
sudo apt-get update

sudo apt-get install -y linux-image-$(uname -r)-dbgsym
9 changes: 9 additions & 0 deletions .github/scripts/install-python-dev.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash -eux

sudo apt update
sudo apt install python3.$(python3 --version | cut -d . -f 2)-dev

#
# Debug statements
#
echo $(which python3)
73 changes: 50 additions & 23 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,6 @@ on:

jobs:
#
# Verify the build and installation of SDB.
#
install:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8, 3.9]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- run: python3 setup.py install
#
# The statement below is used for debugging the Github job.
#
- run: python3 --version
#
# Verify "pylint" runs successfully.
#
# Note, we need to have "drgn" installed in order to run "pylint".
Expand All @@ -34,7 +16,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
- uses: actions/setup-python@v4
with:
python-version: '3.8'
- run: ./.github/scripts/install-drgn.sh
Expand All @@ -55,16 +37,17 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8, 3.9]
python-version: ['3.8', '3.9']
dump: [dump.201912060006.tar.lzma, dump.202303131823.tar.gz]
env:
AWS_DEFAULT_REGION: 'us-west-2'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- run: python3 -m pip install aws python-config pytest pytest-cov
- run: ./.github/scripts/install-python-dev.sh
- run: ./.github/scripts/install-libkdumpfile.sh
- run: ./.github/scripts/install-drgn.sh
- run: ./.github/scripts/download-dump-from-s3.sh ${{ matrix.dump }}
Expand All @@ -73,13 +56,57 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
#
# Verify common linux SDB commands can run on vanilla ubuntu kernels: 20.04
#
live_ubuntu_20_04:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ['3.8', '3.9']
env:
AWS_DEFAULT_REGION: 'us-west-2'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- run: python3 -m pip install aws python-config pytest pytest-cov
- run: ./.github/scripts/install-python-dev.sh
- run: sudo ./.github/scripts/install-libkdumpfile.sh
- run: sudo ./.github/scripts/install-drgn.sh
- run: sudo ./.github/scripts/install-live-kernel-dbg.sh
- run: sudo python3 ./setup.py install
- run: sudo ./tests/scripts/test_live_kernel.sh
#
# Verify common linux SDB commands can run on vanilla ubuntu kernels: 22.04
#
live_ubuntu_22_04:
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ['3.10' , '3.11']
env:
AWS_DEFAULT_REGION: 'us-west-2'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- run: python3 -m pip install aws python-config pytest pytest-cov
- run: ./.github/scripts/install-python-dev.sh
- run: sudo ./.github/scripts/install-libkdumpfile.sh
- run: sudo ./.github/scripts/install-drgn.sh
- run: sudo ./.github/scripts/install-live-kernel-dbg.sh
- run: sudo python3 ./setup.py install
- run: sudo ./tests/scripts/test_live_kernel.sh
#
# Verify "yapf" runs successfully.
#
yapf:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
- uses: actions/setup-python@v4
with:
python-version: '3.8'
- run: python3 -m pip install yapf
Expand All @@ -104,7 +131,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
- uses: actions/setup-python@v4
with:
python-version: '3.8'
- run: ./.github/scripts/install-drgn.sh
Expand Down
41 changes: 41 additions & 0 deletions tests/scripts/test_live_kernel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash -eu

scmds=(
# Test `stacks`
"stacks"

# Test `dmesg`
# ====
# Commented out until we fix:
# https://github.com/delphix/sdb/issues/336
# ====
# "dmesg"

# Test `lxlist`
"addr modules | lxlist module list | member name"

# Test `slabs` and `percpu`
"slabs | filter \"obj.name == 'kmalloc-8'\" | member cpu_slab | percpu 0 1"

# Test `pid`
"pid 1"

# Test `find_task`
"find_task 1 2"

# Test `threads`
"threads"

# Test `walk` and `slub_cache` walker
"slabs | filter \"obj.name == 'TCP'\" | walk"

# Test `rbtree` walker
"addr vmap_area_root | rbtree vmap_area rb_node"

# Test `fget`
"find_task 1 | fget 1 4"
)

for ((i = 0; i < ${#scmds[@]}; i++)); do
sudo /usr/local/bin/sdb -e "${scmds[$i]}"
done

0 comments on commit 37c2944

Please sign in to comment.