|
1 | 1 | #!/usr/bin/python3 -OO
|
2 | 2 |
|
3 | 3 | import logging
|
| 4 | +from time import sleep |
4 | 5 |
|
5 | 6 | logging.basicConfig(
|
6 | 7 | level=logging.DEBUG,
|
|
11 | 12 | logger.debug("Imports starting")
|
12 | 13 |
|
13 | 14 | import ctypes
|
14 |
| -logger.debug("1") |
15 | 15 | import asyncio
|
16 | 16 | import os
|
17 |
| -logger.debug("2") |
18 | 17 | import socket
|
19 | 18 | from enum import Enum
|
20 |
| -logger.debug("3") |
21 | 19 | import subprocess
|
22 | 20 | import sys
|
23 | 21 | import traceback
|
24 |
| -logger.debug("4") |
25 | 22 | from contextlib import redirect_stdout
|
26 | 23 | from dataclasses import dataclass, field
|
27 | 24 | from io import StringIO
|
28 |
| -logger.debug("5") |
29 | 25 | from os import system
|
30 |
| -logger.debug("6") |
| 26 | + |
31 | 27 | from shutil import make_archive
|
32 |
| -logger.debug("7") |
33 | 28 | from typing import Optional, Dict, Any, Tuple, List, NewType, Union, AsyncIterable
|
34 |
| -logger.debug("8") |
35 | 29 |
|
36 | 30 | import aiohttp
|
37 |
| -logger.debug("9") |
38 | 31 | import msgpack
|
39 |
| -logger.debug("10") |
40 | 32 |
|
41 | 33 | logger.debug("Imports finished")
|
42 | 34 |
|
43 | 35 | ASGIApplication = NewType("AsgiApplication", Any)
|
44 |
| -docker_daemon = None |
45 | 36 |
|
46 | 37 | class Encoding(str, Enum):
|
47 | 38 | plain = "plain"
|
@@ -459,37 +450,28 @@ def receive_config(client) -> ConfigurationPayload:
|
459 | 450 |
|
460 | 451 |
|
461 | 452 | 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/ |
470 | 453 | docker_mountpoint = os.environ.get("DOCKER_MOUNTPOINT")
|
471 | 454 | os.makedirs("/docker", exist_ok=True)
|
472 | 455 | system("bin/mount -t tmpfs -o noatime,mode=0755 tmpfs /docker")
|
473 | 456 | os.makedirs("/docker/persist/work", exist_ok=True)
|
474 | 457 | 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") |
482 | 465 | logger.debug(os.path.isdir("/docker/persist"))
|
483 | 466 | logger.debug(os.path.isdir("/docker/persist/upper"))
|
484 | 467 | 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') |
487 | 469 |
|
488 | 470 | def setup_system(config: ConfigurationPayload):
|
489 | 471 | setup_hostname(config.vm_hash)
|
490 | 472 | setup_variables(config.variables)
|
491 | 473 | setup_volumes(config.volumes)
|
492 |
| - setup_docker() |
| 474 | + docker_daemon = setup_docker() |
493 | 475 | setup_network(config.ip, config.route, config.dns_servers)
|
494 | 476 | setup_input_data(config.input_data)
|
495 | 477 | logger.debug("Setup finished")
|
|
0 commit comments