aboutsummaryrefslogtreecommitdiff
path: root/scenarios/fragments/flavor.py
blob: e7323e8523fb524958488796a789a4d2d01bac0d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from pathlib import Path
from . import shared
from os.path import exists

def grg_path(d):
    for flav, desc in d.items():
        if "path" in desc: continue
        binary = f"garage-{desc['target']}-{desc['version']}"
        desc['path'] = Path(shared.binary_path) / binary
    return d

def minio_path(d):
    for flav, desc in d.items():
        if "path" in desc: continue
        desc['path'] = Path(shared.binary_path) / flav
    return d

garage = grg_path({
    "garage-local": { "path": "./garage/target/release/garage" },
    "garage-v0.7": { 
        "version": "v0.7.3", 
        "target": "x86_64-unknown-linux-musl", 
    },
    # no rpc optimization
    "garage-v0.8-beta1": { 
        "version": "89b8087ba81c508ba382aa6c9cb6bb3afa6a43c8", 
        "target": "x86_64-unknown-linux-musl" 
    },
    # with rpc optimizations
    # with fsync deactivated
    "garage-v0.8-no-fsync": { 
        "version": "v0.8.0-dangerous-no-fsync", 
        "target": "x86_64-unknown-linux-musl" 
    },
    # with rpc optimizations
    "garage-v0.8-beta2": {
        "version": "af2b2f26b4bd9fcdeedf2cd03f9e1392e5781abc",
        "target": "x86_64-unknown-linux-musl",
    }
})

warp = {
    "warp-fast": "mixed --obj.size 5M --objects 200 --duration=5m",
    "warp-default": "mixed"
}

minio = minio_path({
    "minio-20220917": {
        "version": "2022-09-17T00-09-45Z"
    }
})


def download():
    for flav, desc in garage.items():
        if "version" not in desc: continue
        if exists(desc['path']): continue

        shared.exec(f"mkdir -p {shared.binary_path}")
        shared.exec(f"wget https://garagehq.deuxfleurs.fr/_releases/{desc['version']}/{desc['target']}/garage -O {desc['path']}")
        shared.exec(f"chmod +x {desc['path']}")
        shared.exec(f"{desc['path']} --version")

    for flav, desc in minio.items():
        if "version" not in desc: continue
        if exists(desc['path']): continue

        shared.exec(f"mkdir -p {shared.binary_path}")
        shared.exec(f"wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.{desc['version']} -O {desc['path']}")
        shared.exec(f"chmod +x {desc['path']}")
        shared.exec(f"{desc['path']} --version")