Skip to content

Added ResourceVersion #639

Added ResourceVersion

Added ResourceVersion #639

name: Run integration tests
on:
pull_request:
types: [labeled, synchronize, reopened]
paths-ignore:
- 'docs/**'
jobs:
integration-tests:
runs-on: ubuntu-22.04
if: contains(github.event.pull_request.labels.*.name, 'integration-tests')
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Setup MicroCeph
run: |
set -x
sudo snap install microceph --channel=quincy/stable
sudo apt-get update
sudo apt-get install --no-install-recommends -y ceph-common
sudo microceph cluster bootstrap
sudo microceph.ceph config set global osd_pool_default_size 1
sudo microceph.ceph config set global mon_allow_pool_delete true
sudo microceph.ceph config set global osd_memory_target 939524096
sudo microceph.ceph osd crush rule rm replicated_rule
sudo microceph.ceph osd crush rule create-replicated replicated default osd
for flag in nosnaptrim noscrub nobackfill norebalance norecover noscrub nodeep-scrub; do
sudo microceph.ceph osd set $flag
done
# Repurpose the ephemeral disk for ceph OSD.
sudo swapoff /mnt/swapfile
ephemeral_disk="$(findmnt --noheadings --output SOURCE --target /mnt | sed 's/[0-9]\+$//')"
sudo microceph disk add --wipe "${ephemeral_disk}"
sudo rm -rf /etc/ceph
sudo ln -s /var/snap/microceph/current/conf/ /etc/ceph
sudo microceph enable rgw
sudo ceph osd pool create devpool 8
sleep 30
sudo microceph.ceph status
# Wait until there are no more "unkowns" pgs
for _ in $(seq 60); do
if sudo microceph.ceph pg stat | grep -wF unknown; then
sleep 1
else
break
fi
done
sudo microceph.ceph status
sudo rm -f /snap/bin/rbd
- name: Set Environment Variables
run: |
echo "CEPH_USERNAME=admin" >> $GITHUB_ENV
echo "CEPH_POOLNAME=devpool" >> $GITHUB_ENV
echo "CEPH_CLIENTNAME=client.admin" >> $GITHUB_ENV
echo "CEPH_DISK_SIZE=$(df --output=size -B 1 /mnt | sed -n '2p' | sed 's/[[:blank:]]//g')" >> $GITHUB_ENV
echo "CEPH_KEYRING_FILENAME=/etc/ceph/ceph.client.admin.keyring" >> $GITHUB_ENV
echo "CEPH_MONITORS=$(hostname):6789" >> $GITHUB_ENV
echo "CEPH_CONFIG_FILE=/etc/ceph/ceph.conf" >> $GITHUB_ENV
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
- name: Install dependencies
run: |
sudo apt install -y libcephfs-dev librbd-dev librados-dev
- name: Run go tests
run: |
make integration-tests