Skip to content

Commit 942d095

Browse files
pcncsamrose
andauthored
fix: do not fail if data disk is not mounted (#2122)
* fix: do not fail if data disk is not mounted chore: prevent system from going into emergency mode if data disk is missing * fix: pin debootstrap to less flaky mirror that is succeeding elsewhere * chore: suffix * fix: trying .clouds.ports.ubuntu.com for all region coverage * chore: suffix * chore: release vals --------- Co-authored-by: Sam Rose <samuel@supabase.io>
1 parent c4de136 commit 942d095

2 files changed

Lines changed: 14 additions & 13 deletions

File tree

ansible/vars.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ postgres_major:
1010

1111
# Full version strings for each major version
1212
postgres_release:
13-
postgresorioledb-17: "17.6.0.066-orioledb"
14-
postgres17: "17.6.1.109"
15-
postgres15: "15.14.1.109"
13+
postgresorioledb-17: "17.6.0.067-orioledb"
14+
postgres17: "17.6.1.110"
15+
postgres15: "15.14.1.110"
1616

1717
# Non Postgres Extensions
1818
pgbouncer_release: 1.25.1

ebssurrogate/scripts/surrogate-bootstrap-nix.sh

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ function create_partition_table {
141141
mkpart UEFI 1MiB 100MiB \
142142
mkpart ROOT 100MiB 100%
143143
set 1 esp on \
144-
set 1 boot on
144+
set 1 boot on
145145
parted --script /dev/xvdf print
146146
else
147147
sgdisk -Zg -n1:0:4095 -t1:EF02 -c1:GRUB -n2:0:0 -t2:8300 -c2:EXT4 /dev/xvdf
@@ -193,11 +193,11 @@ function format_and_mount_rootfs {
193193
mount -o noatime,nodiratime /dev/xvdf2 /mnt
194194
if [ "${ARCH}" = "arm64" ]; then
195195
mkfs.fat -F32 /dev/xvdf1
196-
mkdir -p /mnt/boot/efi
196+
mkdir -p /mnt/boot/efi
197197
sleep 2
198198
mount /dev/xvdf1 /mnt/boot/efi
199199
fi
200-
200+
201201
mkfs.ext4 /dev/xvdh
202202

203203
# Explicitly reserving 100MiB worth of blocks for the data volume
@@ -230,7 +230,7 @@ cat > "/mnt/etc/fstab" << EOF
230230
$(printf "${FMT}" "# DEVICE UUID" "MOUNTPOINT" "TYPE" "OPTIONS" "DUMP" "FSCK")
231231
$(findmnt -no SOURCE /mnt | xargs blkid -o export | awk -v FMT="${FMT}" '/^UUID=/ { printf(FMT, $0, "/", "ext4", "defaults,discard", "0", "1" ) }')
232232
$(findmnt -no SOURCE /mnt/boot/efi | xargs blkid -o export | awk -v FMT="${FMT}" '/^UUID=/ { printf(FMT, $0, "/boot/efi", "vfat", "umask=0077", "0", "1" ) }')
233-
$(findmnt -no SOURCE /mnt/data | xargs blkid -o export | awk -v FMT="${FMT}" '/^UUID=/ { printf(FMT, $0, "/data", "ext4", "defaults,discard", "0", "2" ) }')
233+
$(findmnt -no SOURCE /mnt/data | xargs blkid -o export | awk -v FMT="${FMT}" '/^UUID=/ { printf(FMT, $0, "/data", "ext4", "defaults,discard,nofail,x-systemd.device-timeout=5s", "0", "2" ) }')
234234
$(printf "$FMT" "/swapfile" "none" "swap" "sw" "0" "0")
235235
EOF
236236
unset FMT
@@ -239,11 +239,12 @@ EOF
239239
function setup_chroot_environment {
240240
UBUNTU_VERSION=$(lsb_release -cs) # 'noble' for Ubuntu 24.04
241241

242-
# Bootstrap Ubuntu into /mnt
243-
debootstrap --arch ${ARCH} --variant=minbase "$UBUNTU_VERSION" /mnt
244-
245242
# Update ec2-region
246243
REGION=$(curl --silent --fail http://169.254.169.254/latest/meta-data/placement/availability-zone | sed -E 's|[a-z]+$||g')
244+
245+
# Bootstrap Ubuntu into /mnt using the regional mirror (avoids global ports.ubuntu.com stalls)
246+
debootstrap --arch ${ARCH} --variant=minbase "$UBUNTU_VERSION" /mnt "http://${REGION}.clouds.ports.ubuntu.com/ubuntu-ports"
247+
247248
sed -i "s/REGION/${REGION}/g" /tmp/sources.list
248249
cp /tmp/sources.list /mnt/etc/apt/sources.list
249250

@@ -257,7 +258,7 @@ function setup_chroot_environment {
257258
mount --rbind /proc /mnt/proc
258259
mount --rbind /sys /mnt/sys
259260

260-
# Create build mount point and mount
261+
# Create build mount point and mount
261262
mkdir -p /mnt/tmp
262263
mount /dev/xvdc /mnt/tmp
263264
chmod 777 /mnt/tmp
@@ -307,7 +308,7 @@ tee /etc/ansible/ansible.cfg <<EOF
307308
callbacks_enabled = timer, profile_tasks, profile_roles
308309
EOF
309310
# Run Ansible playbook
310-
#export ANSIBLE_LOG_PATH=/tmp/ansible.log && export ANSIBLE_DEBUG=True && export ANSIBLE_REMOTE_TEMP=/mnt/tmp
311+
#export ANSIBLE_LOG_PATH=/tmp/ansible.log && export ANSIBLE_DEBUG=True && export ANSIBLE_REMOTE_TEMP=/mnt/tmp
311312
export ANSIBLE_LOG_PATH=/tmp/ansible.log && export ANSIBLE_REMOTE_TEMP=/mnt/tmp
312313
ansible-playbook -c chroot -i '/mnt,' /tmp/ansible-playbook/ansible/playbook.yml \
313314
--extra-vars '{"nixpkg_mode": true, "debpkg_mode": false, "stage2_nix": false} ' \
@@ -381,7 +382,7 @@ function upload_ccache {
381382
docker cp /mnt/tmp/ccache/. ccachedata:/build/ccache
382383
docker stop ccachedata
383384
docker commit ccachedata "${DOCKER_IMAGE}:${DOCKER_IMAGE_TAG}"
384-
echo ${DOCKER_PASSWD} | docker login --username ${DOCKER_USER} --password-stdin
385+
echo ${DOCKER_PASSWD} | docker login --username ${DOCKER_USER} --password-stdin
385386
docker push "${DOCKER_IMAGE}:${DOCKER_IMAGE_TAG}"
386387
}
387388

0 commit comments

Comments
 (0)