Skip to content

Instantly share code, notes, and snippets.

@shinnya
Last active December 7, 2018 09:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shinnya/e1886edd2a2268b3559fda1687608c3f to your computer and use it in GitHub Desktop.
Save shinnya/e1886edd2a2268b3559fda1687608c3f to your computer and use it in GitHub Desktop.
frugalos 50 nodes
#!/usr/bin/env bash
CURL=curl
API_BASE=http://frugalos1
$CURL -X PUT -d '{"dispersed": {"id": "vod", "device":"root", "tolerable_faults": 1, "data_fragment_count": 2}}' $API_BASE/v1/buckets/vod
#!/usr/bin/env bash
set -eux
CURL=curl
API_BASE=http://frugalos1
NN=50
for N in $(seq 1 $NN); do
$CURL -X PUT -d "$(jo file=$(jo id=dev$N server=frugalos$N filepath=/var/lib/frugalos/dev.lusf))" $API_BASE/v1/devices/dev$N
done
$CURL -X PUT -d "$(jo virtual=$(jo id=root children=$(jo -a $(for I in $(seq 1 $NN); do echo dev$I ; done))))" $API_BASE/v1/devices/root
version: '2'
services:
frugalos1:
image: frugalos
hostname: frugalos1
command: bootstrap.sh
volumes:
- /tmp/frugalos_it/frugalos1/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.21
env_file: frugalos.env
frugalos2:
image: frugalos
hostname: frugalos2
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos2/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.22
depends_on:
- frugalos1
env_file: frugalos.env
frugalos3:
image: frugalos
hostname: frugalos3
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos3/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.23
depends_on:
- frugalos1
env_file: frugalos.env
frugalos4:
image: frugalos
hostname: frugalos4
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos4/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.24
depends_on:
- frugalos1
env_file: frugalos.env
frugalos5:
image: frugalos
hostname: frugalos5
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos5/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.25
depends_on:
- frugalos1
env_file: frugalos.env
frugalos6:
image: frugalos
hostname: frugalos6
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos6/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.26
depends_on:
- frugalos1
env_file: frugalos.env
frugalos7:
image: frugalos
hostname: frugalos7
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos7/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.27
depends_on:
- frugalos1
env_file: frugalos.env
frugalos8:
image: frugalos
hostname: frugalos8
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos8/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.28
depends_on:
- frugalos1
env_file: frugalos.env
frugalos9:
image: frugalos
hostname: frugalos9
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos9/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.29
depends_on:
- frugalos1
env_file: frugalos.env
frugalos10:
image: frugalos
hostname: frugalos10
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos10/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.30
depends_on:
- frugalos1
env_file: frugalos.env
frugalos11:
image: frugalos
hostname: frugalos11
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos11/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.31
depends_on:
- frugalos1
env_file: frugalos.env
frugalos12:
image: frugalos
hostname: frugalos12
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos12/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.32
depends_on:
- frugalos1
env_file: frugalos.env
frugalos13:
image: frugalos
hostname: frugalos13
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos13/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.33
depends_on:
- frugalos1
env_file: frugalos.env
frugalos14:
image: frugalos
hostname: frugalos14
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos14/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.34
depends_on:
- frugalos1
env_file: frugalos.env
frugalos15:
image: frugalos
hostname: frugalos15
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos15/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.35
depends_on:
- frugalos1
env_file: frugalos.env
frugalos16:
image: frugalos
hostname: frugalos16
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos16/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.36
depends_on:
- frugalos1
env_file: frugalos.env
frugalos17:
image: frugalos
hostname: frugalos17
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos17/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.37
depends_on:
- frugalos1
env_file: frugalos.env
frugalos18:
image: frugalos
hostname: frugalos18
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos18/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.38
depends_on:
- frugalos1
env_file: frugalos.env
frugalos19:
image: frugalos
hostname: frugalos19
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos19/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.39
depends_on:
- frugalos1
env_file: frugalos.env
frugalos20:
image: frugalos
hostname: frugalos20
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos20/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.40
depends_on:
- frugalos1
env_file: frugalos.env
frugalos21:
image: frugalos
hostname: frugalos21
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos21/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.41
depends_on:
- frugalos1
env_file: frugalos.env
frugalos22:
image: frugalos
hostname: frugalos22
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos22/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.42
depends_on:
- frugalos1
env_file: frugalos.env
frugalos23:
image: frugalos
hostname: frugalos23
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos23/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.43
depends_on:
- frugalos1
env_file: frugalos.env
frugalos24:
image: frugalos
hostname: frugalos24
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos24/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.44
depends_on:
- frugalos1
env_file: frugalos.env
frugalos25:
image: frugalos
hostname: frugalos25
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos25/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.45
depends_on:
- frugalos1
env_file: frugalos.env
frugalos26:
image: frugalos
hostname: frugalos26
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos26/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.46
depends_on:
- frugalos1
env_file: frugalos.env
frugalos27:
image: frugalos
hostname: frugalos27
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos27/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.47
depends_on:
- frugalos1
env_file: frugalos.env
frugalos28:
image: frugalos
hostname: frugalos28
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos28/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.48
depends_on:
- frugalos1
env_file: frugalos.env
frugalos29:
image: frugalos
hostname: frugalos29
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos29/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.49
depends_on:
- frugalos1
env_file: frugalos.env
frugalos30:
image: frugalos
hostname: frugalos30
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos30/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.50
depends_on:
- frugalos1
env_file: frugalos.env
frugalos31:
image: frugalos
hostname: frugalos31
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos31/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.51
depends_on:
- frugalos1
env_file: frugalos.env
frugalos32:
image: frugalos
hostname: frugalos32
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos32/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.52
depends_on:
- frugalos1
env_file: frugalos.env
frugalos33:
image: frugalos
hostname: frugalos33
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos33/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.53
depends_on:
- frugalos1
env_file: frugalos.env
frugalos34:
image: frugalos
hostname: frugalos34
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos34/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.54
depends_on:
- frugalos1
env_file: frugalos.env
frugalos35:
image: frugalos
hostname: frugalos35
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos35/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.55
depends_on:
- frugalos1
env_file: frugalos.env
frugalos36:
image: frugalos
hostname: frugalos36
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos36/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.56
depends_on:
- frugalos1
env_file: frugalos.env
frugalos37:
image: frugalos
hostname: frugalos37
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos37/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.57
depends_on:
- frugalos1
env_file: frugalos.env
frugalos38:
image: frugalos
hostname: frugalos38
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos38/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.58
depends_on:
- frugalos1
env_file: frugalos.env
frugalos39:
image: frugalos
hostname: frugalos39
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos39/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.59
depends_on:
- frugalos1
env_file: frugalos.env
frugalos40:
image: frugalos
hostname: frugalos40
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos40/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.60
depends_on:
- frugalos1
env_file: frugalos.env
frugalos41:
image: frugalos
hostname: frugalos41
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos41/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.61
depends_on:
- frugalos1
env_file: frugalos.env
frugalos42:
image: frugalos
hostname: frugalos42
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos42/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.62
depends_on:
- frugalos1
env_file: frugalos.env
frugalos43:
image: frugalos
hostname: frugalos43
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos43/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.63
depends_on:
- frugalos1
env_file: frugalos.env
frugalos44:
image: frugalos
hostname: frugalos44
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos44/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.64
depends_on:
- frugalos1
env_file: frugalos.env
frugalos45:
image: frugalos
hostname: frugalos45
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos45/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.65
depends_on:
- frugalos1
env_file: frugalos.env
frugalos46:
image: frugalos
hostname: frugalos46
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos46/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.66
depends_on:
- frugalos1
env_file: frugalos.env
frugalos47:
image: frugalos
hostname: frugalos47
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos47/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.67
depends_on:
- frugalos1
env_file: frugalos.env
frugalos48:
image: frugalos
hostname: frugalos48
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos48/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.68
depends_on:
- frugalos1
env_file: frugalos.env
frugalos49:
image: frugalos
hostname: frugalos49
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos49/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.69
depends_on:
- frugalos1
env_file: frugalos.env
frugalos50:
image: frugalos
hostname: frugalos50
command: join.sh
volumes:
- /tmp/frugalos_it/frugalos50/:/var/lib/frugalos/
networks:
frugalos_net:
ipv4_address: 172.18.0.70
depends_on:
- frugalos1
env_file: frugalos.env
networks:
frugalos_net:
ipam:
driver: default
config:
- subnet: 172.18.0.0/16
RAFT_IO_MAX_LUMP_DATA_SIZE=4096
FRUGALOS_RAFT_MIN_TIMEOUT=200
FRUGALOS_RAFT_MAX_TIMEOUT=1000
FRUGALOS_SNAPSHOT_THRESHOLD=32
FRUGALOS_SUSPENDED_DURATION=1000
FRUGALOS_SNAPSHOT_REPAIR_DELAY=0
FRUGALOS_REPAIR_ENABLED=1
@shinnya
Copy link
Author

shinnya commented Dec 7, 2018

frugalos の docker イメージは frugalos リポジトリの docker イメージ生成を使ってあらかじめ用意しておきます。
以下の手順で実行するものです。

$ docker-compose -f docker-compose.yml up
$ sh create_devices.sh
$ sh create_buckets.sh

@shinnya
Copy link
Author

shinnya commented Dec 7, 2018

/etc/hosts に 172.18.0.21 frugalos01 frugalos1 を追加しておく必要があります。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment