diff options
author | Alex Auvolat <alex@adnab.me> | 2021-11-09 12:24:04 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2021-11-16 16:05:53 +0100 |
commit | c94406f4282d48e2e2ac82ffb57eafaad23f7edc (patch) | |
tree | 01fe1b272e18fdae993e2207d8d3aea4a301ec56 /script | |
parent | 53888995bdd7c672d2e3ab8bb6a3529195c127a9 (diff) | |
download | garage-c94406f4282d48e2e2ac82ffb57eafaad23f7edc.tar.gz garage-c94406f4282d48e2e2ac82ffb57eafaad23f7edc.zip |
Improve how node roles are assigned in Garagev0.5-beta1
- change the terminology: the network configuration becomes the role
table, the configuration of a nodes becomes a node's role
- the modification of the role table takes place in two steps: first,
changes are staged in a CRDT data structure. Then, once the user is
happy with the changes, they can commit them all at once (or revert
them).
- update documentation
- fix tests
- implement smarter partition assignation algorithm
This patch breaks the format of the network configuration: when
migrating, the cluster will be in a state where no roles are assigned.
All roles must be re-assigned and commited at once. This migration
should not pose an issue.
Diffstat (limited to 'script')
-rwxr-xr-x | script/dev-cluster.sh | 2 | ||||
-rwxr-xr-x | script/dev-configure.sh | 3 | ||||
-rwxr-xr-x | script/test-smoke.sh | 6 |
3 files changed, 6 insertions, 5 deletions
diff --git a/script/dev-cluster.sh b/script/dev-cluster.sh index 3ca3f74b..9ac7ff34 100755 --- a/script/dev-cluster.sh +++ b/script/dev-cluster.sh @@ -69,7 +69,7 @@ done sleep 3 # Establish connections between nodes for count in $(seq 1 3); do - NODE=$(garage -c /tmp/config.$count.toml node-id -q) + NODE=$(garage -c /tmp/config.$count.toml node id -q) for count2 in $(seq 1 3); do garage -c /tmp/config.$count2.toml node connect $NODE done diff --git a/script/dev-configure.sh b/script/dev-configure.sh index add9a96a..f4bb338f 100755 --- a/script/dev-configure.sh +++ b/script/dev-configure.sh @@ -25,6 +25,7 @@ garage -c /tmp/config.1.toml status \ | grep 'NO ROLE' \ | grep -Po '^[0-9a-f]+' \ | while read id; do - garage -c /tmp/config.1.toml node configure -z dc1 -c 1 $id + garage -c /tmp/config.1.toml layout assign $id -z dc1 -c 1 done +garage -c /tmp/config.1.toml layout apply --version 1 diff --git a/script/test-smoke.sh b/script/test-smoke.sh index 86bbe3ee..87d99ca8 100755 --- a/script/test-smoke.sh +++ b/script/test-smoke.sh @@ -116,11 +116,11 @@ if [ -z "$SKIP_AWS" ]; then echo "🧪 Website Testing" echo "<h1>hello world</h1>" > /tmp/garage-index.html aws s3 cp /tmp/garage-index.html s3://eprouvette/index.html - [ `curl -s -o /dev/null -w "%{http_code}" --header "Host: eprouvette.garage.tld" http://127.0.0.1:3923/ ` == 404 ] + [ `curl -s -o /dev/null -w "%{http_code}" --header "Host: eprouvette.garage.tld" http://127.0.0.1:3921/ ` == 404 ] garage -c /tmp/config.1.toml bucket website --allow eprouvette - [ `curl -s -o /dev/null -w "%{http_code}" --header "Host: eprouvette.garage.tld" http://127.0.0.1:3923/ ` == 200 ] + [ `curl -s -o /dev/null -w "%{http_code}" --header "Host: eprouvette.garage.tld" http://127.0.0.1:3921/ ` == 200 ] garage -c /tmp/config.1.toml bucket website --deny eprouvette - [ `curl -s -o /dev/null -w "%{http_code}" --header "Host: eprouvette.garage.tld" http://127.0.0.1:3923/ ` == 404 ] + [ `curl -s -o /dev/null -w "%{http_code}" --header "Host: eprouvette.garage.tld" http://127.0.0.1:3921/ ` == 404 ] aws s3 rm s3://eprouvette/index.html rm /tmp/garage-index.html fi |