Skip to content

Commit b916cbe

Browse files
committed
save progress
1 parent 96fc65d commit b916cbe

File tree

4 files changed

+27
-48
lines changed

4 files changed

+27
-48
lines changed

docker/run_vm_supervisor_2.sh

+6-5
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ fi
1010

1111
$DOCKER_COMMAND build -t alephim/vm-supervisor-dev -f docker/vm_supervisor-dev-docker.dockerfile .
1212

13-
$DOCKER_COMMAND run -ti --privileged --rm \
13+
$DOCKER_COMMAND run -ti --privileged --name=vm_supervisor_docker --rm \
14+
-v "$(pwd)/runtimes/aleph-docker/:/opt/aleph-vm/runtimes/aleph-docker/:ro" \
15+
-v "$(pwd)/examples/volumes/docker-data.squashfs:/opt/aleph-vm/examples/volumes/docker-data.squashfs:ro" \
16+
-v "$(pwd)/examples/example_docker_container:/opt/aleph-vm/examples/example_docker_container:ro" \
17+
-v "$(pwd)/vm_supervisor:/opt/aleph-vm/vm_supervisor:ro" \
18+
-v "$(pwd)/firecracker:/opt/aleph-vm/firecracker:ro" \
1419
--device /dev/kvm \
1520
-p 4020:4020 \
1621
alephim/vm-supervisor-dev $@
17-
# -v "$(pwd)/runtimes/aleph-docker/rootfs.squashfs:/opt/aleph-vm/runtimes/aleph-docker/rootfs.squashfs:ro" \
18-
# -v "$(pwd)/examples/volumes/docker-data.squashfs:/opt/aleph-vm/examples/volumes/docker-data.squashfs:ro" \
19-
# -v "$(pwd)/vm_supervisor:/opt/aleph-vm/vm_supervisor:ro" \
20-
# -v "$(pwd)/firecracker:/opt/aleph-vm/firecracker:ro" \

runtimes/aleph-docker/create_disk_image.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ apt-get install -y --no-install-recommends --no-install-suggests \
1818
openssh-server \
1919
socat libsecp256k1-0 \
2020
\
21-
python3-aiohttp python3-msgpack \
21+
python3-msgpack \
2222
python3-setuptools \
2323
python3-pip python3-cytoolz python3-pydantic \
2424
iproute2 unzip \
@@ -27,6 +27,8 @@ apt-get install -y --no-install-recommends --no-install-suggests \
2727
cgroupfs-mount \
2828
build-essential python3-dev
2929
pip3 install 'fastapi~=0.71.0'
30+
pip3 install aiohttp
31+
3032
3133
3234
echo "Pip installing aleph-client"
@@ -51,8 +53,6 @@ EOT
5153
echo "PermitRootLogin yes" >> ./rootfs/etc/ssh/sshd_config
5254

5355
echo -ne '{\n"storage-driver": "vfs"\n}\n' > ./rootfs/etc/docker/daemon.json
54-
rm -fr ./rootfs/var/lib/docker
55-
mkdir ./rootfs/var/lib/docker
5656

5757
# Generate SSH host keys
5858
#systemd-nspawn -D ./rootfs/ ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key

runtimes/aleph-docker/init0.sh

+7-11
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,6 @@ mkdir -p /overlay
1414
/bin/mount -t tmpfs -o noatime,mode=0755 tmpfs /overlay
1515
mkdir -p /overlay/root/rw /overlay/root/work
1616
/bin/mount -o noatime,lowerdir=/,upperdir=/overlay/root/rw,workdir=/overlay/root/work -t overlay "overlayfs:/overlay/root/rw" /mnt
17-
18-
19-
# Same for /var/lib/docker
20-
# /data
21-
22-
# mkdir -p /overlay/docker/ro /overlay/docker/rw /overlay/docker/work
23-
# /bin/mount -o lowerdir=/opt/docker/ro,upperdir=/overlay/docker/rw,workdir=/overlay/docker/work -t overlay "overlayfs:/overlay/docker/rw" /var/lib
24-
25-
2617
mkdir -p /mnt/rom
2718
pivot_root /mnt /mnt/rom
2819

@@ -38,7 +29,6 @@ mount -t tmpfs run /run -o mode=0755,nosuid,nodev
3829
mount -t devpts devpts /dev/pts -o mode=0620,gid=5,nosuid,noexec
3930
mount -t tmpfs shm /dev/shm -omode=1777,nosuid,nodev
4031

41-
cgroupfs-mount
4232

4333
# List block devices
4434
lsblk
@@ -54,6 +44,12 @@ log "Setup socat"
5444
socat UNIX-LISTEN:/tmp/socat-socket,fork,reuseaddr VSOCK-CONNECT:2:53 &
5545
log "Socat ready"
5646

57-
log "INIT 0 DONE"
47+
cgroupfs-mount
48+
49+
export PATH=$PATH:/usr/local/bin:/usr/bin:/usr/sbin
50+
51+
/usr/sbin/dockerd 2>&1 | tee /log_docker.txt &
52+
53+
log "INIT 0 DONE2"
5854
# Replace this script with the manager
5955
exec /root/init1.py

runtimes/aleph-docker/init1.py

+11-29
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/python3 -OO
22

33
import logging
4+
from time import sleep
45

56
logging.basicConfig(
67
level=logging.DEBUG,
@@ -11,37 +12,27 @@
1112
logger.debug("Imports starting")
1213

1314
import ctypes
14-
logger.debug("1")
1515
import asyncio
1616
import os
17-
logger.debug("2")
1817
import socket
1918
from enum import Enum
20-
logger.debug("3")
2119
import subprocess
2220
import sys
2321
import traceback
24-
logger.debug("4")
2522
from contextlib import redirect_stdout
2623
from dataclasses import dataclass, field
2724
from io import StringIO
28-
logger.debug("5")
2925
from os import system
30-
logger.debug("6")
26+
3127
from shutil import make_archive
32-
logger.debug("7")
3328
from typing import Optional, Dict, Any, Tuple, List, NewType, Union, AsyncIterable
34-
logger.debug("8")
3529

3630
import aiohttp
37-
logger.debug("9")
3831
import msgpack
39-
logger.debug("10")
4032

4133
logger.debug("Imports finished")
4234

4335
ASGIApplication = NewType("AsgiApplication", Any)
44-
docker_daemon = None
4536

4637
class Encoding(str, Enum):
4738
plain = "plain"
@@ -459,37 +450,28 @@ def receive_config(client) -> ConfigurationPayload:
459450

460451

461452
def setup_docker():
462-
# tmp docker test overlay
463-
# mkdir -p /docker
464-
# /bin/mount -t tmpfs -o noatime,mode=0755 tmpfs /docker
465-
# mkdir -p /docker/persist/work /docker/persist/upper
466-
# /bin/mount -o noatime,lowerdir=/opt/docker,upperdir=/docker/persist/upper,workdir=/docker/persist/work -t overlay "overlayfs:/docker/persist/upper" /var/lib/docker
467-
468-
# echo HERE
469-
# stat -f -c %T /overlay/
470453
docker_mountpoint = os.environ.get("DOCKER_MOUNTPOINT")
471454
os.makedirs("/docker", exist_ok=True)
472455
system("bin/mount -t tmpfs -o noatime,mode=0755 tmpfs /docker")
473456
os.makedirs("/docker/persist/work", exist_ok=True)
474457
os.makedirs("/docker/persist/upper", exist_ok=True)
475-
system("stat -f /")
476-
system(f"stat -f {docker_mountpoint}")
477-
system("stat -f /docker/")
478-
system("stat -f /docker/persist/")
479-
system("stat -f /docker/persist/upper")
480-
system("stat -f /docker/persist/work")
481-
system("stat -f /var/lib/docker")
458+
# system("stat -f /")
459+
# system(f"stat -f {docker_mountpoint}")
460+
# system("stat -f /docker/")
461+
# system("stat -f /docker/persist/")
462+
# system("stat -f /docker/persist/upper")
463+
# system("stat -f /docker/persist/work")
464+
# system("stat -f /var/lib/docker")
482465
logger.debug(os.path.isdir("/docker/persist"))
483466
logger.debug(os.path.isdir("/docker/persist/upper"))
484467
system(f'/bin/mount -o noatime,lowerdir={docker_mountpoint},upperdir=/docker/persist/upper,workdir=/docker/persist/work -t overlay "overlayfs:/docker/persist/upper" /var/lib/docker')
485-
docker_daemon = subprocess.Popen("/usr/sbin/dockerd", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
486-
468+
return subprocess.Popen("/usr/sbin/dockerd", stderr=subprocess.PIPE, encoding='utf-8')
487469

488470
def setup_system(config: ConfigurationPayload):
489471
setup_hostname(config.vm_hash)
490472
setup_variables(config.variables)
491473
setup_volumes(config.volumes)
492-
setup_docker()
474+
docker_daemon = setup_docker()
493475
setup_network(config.ip, config.route, config.dns_servers)
494476
setup_input_data(config.input_data)
495477
logger.debug("Setup finished")

0 commit comments

Comments
 (0)