mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2025-06-09 01:47:32 +08:00
commit
5761ad9b44
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -22,5 +22,5 @@ jobs:
|
|||||||
- name: Run ShellCheck
|
- name: Run ShellCheck
|
||||||
uses: ludeeus/action-shellcheck@master
|
uses: ludeeus/action-shellcheck@master
|
||||||
env:
|
env:
|
||||||
SHELLCHECK_OPTS: -e SC2001 -e SC2002 -e SC2116 -e SC2034 -e SC1091 -e SC2143 -e SC2223 -e SC2086 -e SC2145 -e SC2015 -e SC2268 -e SC2207
|
SHELLCHECK_OPTS: -e SC2001 -e SC2002 -e SC2116 -e SC2034 -e SC1091 -e SC2143 -e SC2223 -e SC2086 -e SC2145 -e SC2015 -e SC2268 -e SC2207 -e SC2064
|
||||||
|
|
||||||
|
@ -15,12 +15,10 @@ RUN apt-get update && apt-get -y upgrade && \
|
|||||||
wget \
|
wget \
|
||||||
unzip \
|
unzip \
|
||||||
procps \
|
procps \
|
||||||
ethtool \
|
|
||||||
dnsmasq \
|
dnsmasq \
|
||||||
iptables \
|
iptables \
|
||||||
iproute2 \
|
iproute2 \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
qemu-utils \
|
|
||||||
btrfs-progs \
|
btrfs-progs \
|
||||||
bridge-utils \
|
bridge-utils \
|
||||||
netcat-openbsd \
|
netcat-openbsd \
|
||||||
@ -35,6 +33,7 @@ COPY serial.sh /run/
|
|||||||
COPY server.sh /run/
|
COPY server.sh /run/
|
||||||
COPY install.sh /run/
|
COPY install.sh /run/
|
||||||
COPY network.sh /run/
|
COPY network.sh /run/
|
||||||
|
|
||||||
COPY agent/agent.sh /agent/
|
COPY agent/agent.sh /agent/
|
||||||
COPY agent/service.sh /agent/
|
COPY agent/service.sh /agent/
|
||||||
|
|
||||||
@ -61,9 +60,9 @@ EXPOSE 445
|
|||||||
EXPOSE 5000
|
EXPOSE 5000
|
||||||
EXPOSE 5001
|
EXPOSE 5001
|
||||||
|
|
||||||
ENV RAM_SIZE 512M
|
|
||||||
ENV DISK_SIZE 16G
|
|
||||||
ENV CPU_CORES 1
|
ENV CPU_CORES 1
|
||||||
|
ENV DISK_SIZE 16G
|
||||||
|
ENV RAM_SIZE 512M
|
||||||
|
|
||||||
#ENV URL https://global.synologydownload.com/download/DSM/beta/7.2/64216/DSM_VirtualDSM_64216.pat
|
#ENV URL https://global.synologydownload.com/download/DSM/beta/7.2/64216/DSM_VirtualDSM_64216.pat
|
||||||
#ENV URL https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat
|
#ENV URL https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat
|
||||||
|
@ -122,6 +122,9 @@ mkdir -p $LOC
|
|||||||
cp /agent/service.sh $LOC/agent.sh
|
cp /agent/service.sh $LOC/agent.sh
|
||||||
chmod +x $LOC/agent.sh
|
chmod +x $LOC/agent.sh
|
||||||
|
|
||||||
|
# Store agent version
|
||||||
|
echo "2" > "$IMG"/agent.ver
|
||||||
|
|
||||||
if [ "$PRIVILEGED" = false ]; then
|
if [ "$PRIVILEGED" = false ]; then
|
||||||
|
|
||||||
echo "Install: Installing system partition..."
|
echo "Install: Installing system partition..."
|
||||||
@ -137,9 +140,6 @@ fi
|
|||||||
|
|
||||||
rm -rf $MOUNT
|
rm -rf $MOUNT
|
||||||
|
|
||||||
# Store agent version
|
|
||||||
echo "2" > "$IMG"/agent.ver
|
|
||||||
|
|
||||||
mv -f "$BOOT" "$IMG"/"$BASE".boot.img
|
mv -f "$BOOT" "$IMG"/"$BASE".boot.img
|
||||||
mv -f "$SYSTEM" "$IMG"/"$BASE".system.img
|
mv -f "$SYSTEM" "$IMG"/"$BASE".system.img
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@ set -eu
|
|||||||
: ${VM_NET_MAC:=''}
|
: ${VM_NET_MAC:=''}
|
||||||
: ${VM_NET_IP:='20.20.20.21'}
|
: ${VM_NET_IP:='20.20.20.21'}
|
||||||
|
|
||||||
|
: ${DNS_SERVERS:=''}
|
||||||
: ${DNSMASQ:='/usr/sbin/dnsmasq'}
|
: ${DNSMASQ:='/usr/sbin/dnsmasq'}
|
||||||
: ${DNSMASQ_OPTS:=''}
|
: ${DNSMASQ_OPTS:=''}
|
||||||
: ${DNSMASQ_CONF_DIR:='/etc/dnsmasq.d'}
|
: ${DNSMASQ_CONF_DIR:='/etc/dnsmasq.d'}
|
||||||
: ${DNS_SERVERS:=''}
|
|
||||||
|
|
||||||
# ######################################
|
# ######################################
|
||||||
# Functions
|
# Functions
|
||||||
@ -66,9 +66,7 @@ fi
|
|||||||
#If environment variabele not set fall back to file
|
#If environment variabele not set fall back to file
|
||||||
if [ -z "$VM_NET_MAC" ]; then
|
if [ -z "$VM_NET_MAC" ]; then
|
||||||
FILE="${IMG}/guest.mac"
|
FILE="${IMG}/guest.mac"
|
||||||
if [ ! -f "$FILE" ]; then
|
[ ! -f "$FILE" ] && echo "00:11:32:2C:A7:85" > "$FILE"
|
||||||
echo "00:11:32:2C:A7:85" > "$FILE"
|
|
||||||
fi
|
|
||||||
VM_NET_MAC=$(cat "${FILE}")
|
VM_NET_MAC=$(cat "${FILE}")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
10
power.sh
10
power.sh
@ -12,7 +12,7 @@ _QEMU_SHUTDOWN_COUNTER=/run/qemu.counter
|
|||||||
_trap(){
|
_trap(){
|
||||||
func="$1" ; shift
|
func="$1" ; shift
|
||||||
for sig ; do
|
for sig ; do
|
||||||
trap '$func $sig' "$sig"
|
trap "$func $sig" "$sig"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,16 +22,12 @@ _graceful_shutdown(){
|
|||||||
local QEMU_POWERDOWN_TIMEOUT="${QEMU_POWERDOWN_TIMEOUT:-120}"
|
local QEMU_POWERDOWN_TIMEOUT="${QEMU_POWERDOWN_TIMEOUT:-120}"
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
echo "Trapped $1 signal"
|
echo "Received $1 signal.."
|
||||||
echo 0 > "${_QEMU_SHUTDOWN_COUNTER}"
|
echo 0 > "${_QEMU_SHUTDOWN_COUNTER}"
|
||||||
|
|
||||||
FILE="${IMG}/agent.ver"
|
FILE="${IMG}/agent.ver"
|
||||||
if [ ! -f "$FILE" ]; then
|
[ ! -f "$FILE" ] && echo "1" > "$FILE"
|
||||||
AGENT_VERSION="1"
|
|
||||||
echo "$AGENT_VERSION" > "$IMG"/agent.ver
|
|
||||||
else
|
|
||||||
AGENT_VERSION=$(cat "${FILE}")
|
AGENT_VERSION=$(cat "${FILE}")
|
||||||
fi
|
|
||||||
|
|
||||||
# Don't send the powerdown signal because Synology ignores it
|
# Don't send the powerdown signal because Synology ignores it
|
||||||
# echo 'system_powerdown' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}">/dev/null
|
# echo 'system_powerdown' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}">/dev/null
|
||||||
|
2
run.sh
2
run.sh
@ -39,7 +39,7 @@ ARGS="-m ${RAM_SIZE} -smp ${CPU_CORES} -machine type=q35${KVM_ACC_OPTS} ${EXTRA_
|
|||||||
|
|
||||||
set -m
|
set -m
|
||||||
(
|
(
|
||||||
for _SIGNAL in {1..64}; do trap 'echo Caught trap ${_SIGNAL} for the QEMU process' "${_SIGNAL}"; done
|
for _SIGNAL in {1..64}; do trap "echo Caught trap ${_SIGNAL} for the QEMU process" "${_SIGNAL}"; done
|
||||||
qemu-system-x86_64 ${ARGS} & echo $! > ${_QEMU_PID}
|
qemu-system-x86_64 ${ARGS} & echo $! > ${_QEMU_PID}
|
||||||
)
|
)
|
||||||
set +m
|
set +m
|
||||||
|
Loading…
x
Reference in New Issue
Block a user