mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-02-22 07:50:04 -05:00
Manually create AWS state disk symlink (#355)
Co-authored-by: Nils Hanke <Nirusu@users.noreply.github.com>
This commit is contained in:
parent
8ef1400810
commit
07f2ed94f8
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Force symlink creation for AWS nvme disks
|
||||
Before=prepare-state-disk.service
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
ConditionKernelCommandLine=constel.csp=aws
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash /usr/sbin/aws-nvme-disk
|
||||
RemainAfterExit=yes
|
||||
StandardOutput=tty
|
||||
StandardInput=tty
|
||||
StandardError=tty
|
||||
TimeoutSec=infinity
|
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (c) Edgeless Systems GmbH
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
set -euo pipefail
|
||||
shopt -s extglob nullglob
|
||||
|
||||
AWS_STATE_DISK_DEVICENAME="sdb"
|
||||
AWS_STATE_DISK_SYMLINK="/dev/${AWS_STATE_DISK_DEVICENAME}"
|
||||
|
||||
# hack: aws nvme udev rules are never executed. Create symlinks for the nvme devices manually.
|
||||
while [ ! -L "${AWS_STATE_DISK_SYMLINK}" ]
|
||||
do
|
||||
for nvmedisk in /dev/nvme*n1
|
||||
do
|
||||
linkname=$(nvme amzn id-ctrl -b "${nvmedisk}" | tail -c +3072 | tr -d ' ') || true
|
||||
if [ -n "${linkname}" ] && [ "${linkname}" == "${AWS_STATE_DISK_DEVICENAME}" ]; then
|
||||
ln -s "${nvmedisk}" "${AWS_STATE_DISK_SYMLINK}"
|
||||
fi
|
||||
done
|
||||
if [ -L "${AWS_STATE_DISK_SYMLINK}" ]; then
|
||||
break
|
||||
fi
|
||||
echo "Waiting for state disk to appear.."
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "AWS state disk found"
|
||||
echo ${AWS_STATE_DISK_SYMLINK} → $(readlink -f "${AWS_STATE_DISK_SYMLINK}")
|
@ -33,6 +33,11 @@ install() {
|
||||
install_and_enable_unit "configure-constel-csp.service" \
|
||||
"basic.target"
|
||||
|
||||
# aws nvme disks
|
||||
inst_multiple \
|
||||
tail \
|
||||
tr
|
||||
|
||||
# azure scsi disks
|
||||
inst_multiple \
|
||||
cut \
|
||||
@ -57,16 +62,8 @@ install() {
|
||||
inst_simple "/usr/lib/udev/rules.d/65-gce-disk-naming.rules" \
|
||||
"/usr/lib/udev/rules.d/65-gce-disk-naming.rules"
|
||||
|
||||
inst_script "/usr/sbin/ebsnvme-id" \
|
||||
"/usr/sbin/ebsnvme-id"
|
||||
inst_script "/usr/bin/ec2-metadata" \
|
||||
"/usr/bin/ec2-metadata"
|
||||
inst_script "/usr/lib/udev/ec2nvme-nsid" \
|
||||
"/usr/lib/udev/ec2nvme-nsid"
|
||||
inst_script "/usr/lib/udev/ec2nvme-nsid" \
|
||||
"/usr/sbin/ec2nvme-nsid"
|
||||
inst_script "/usr/sbin/ec2udev-vbd" \
|
||||
"/usr/sbin/ec2udev-vbd"
|
||||
inst_simple "/usr/lib/udev/rules.d/70-ec2-nvme-devices.rules" \
|
||||
"/usr/lib/udev/rules.d/70-ec2-nvme-devices.rules"
|
||||
inst_script "$moddir/aws-nvme-disk.sh" \
|
||||
"/usr/sbin/aws-nvme-disk"
|
||||
install_and_enable_unit "aws-nvme-disk.service" \
|
||||
"basic.target"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user