mirror of
https://github.com/EvernodeXRPL/hpcore.git
synced 2026-04-29 15:37:59 +00:00
Improved vm cluster scripts.
This commit is contained in:
@@ -122,6 +122,10 @@ target_link_libraries(hpstatemon
|
||||
add_dependencies(hpcore
|
||||
hpstatemon
|
||||
)
|
||||
add_custom_command(TARGET hpcore POST_BUILD
|
||||
COMMAND strip ./build/hpcore
|
||||
COMMAND strip ./build/hpstatemon
|
||||
)
|
||||
|
||||
target_precompile_headers(hpsupport PUBLIC src/pchheader.hpp)
|
||||
target_precompile_headers(hpcore REUSE_FROM hpsupport)
|
||||
@@ -135,7 +139,6 @@ target_precompile_headers(hpstatemon REUSE_FROM hpsupport)
|
||||
# Create docker image from hpcore build output with 'make docker'
|
||||
# Requires docker to be runnable without 'sudo'
|
||||
add_custom_target(docker
|
||||
COMMAND strip ./build/hpcore
|
||||
COMMAND docker build -t hpcore:latest .
|
||||
)
|
||||
set_target_properties(docker PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
#!/bin/bash
|
||||
vmpass=""
|
||||
#ip locations: aueast aueast uswest uswest seasia
|
||||
vmips=(ip list)
|
||||
|
||||
vmcount=${#vmips[@]}
|
||||
mode=$1
|
||||
|
||||
hpcore=$(realpath ../..)
|
||||
|
||||
if [ "$mode" = "new" ] || [ "$mode" = "run" ] || [ "$mode" = "update" ]; then
|
||||
echo ""
|
||||
else
|
||||
@@ -13,38 +15,25 @@ else
|
||||
fi
|
||||
|
||||
if [ $mode = "run" ]; then
|
||||
let n=$2-1
|
||||
vmip=${vmips[$n]}
|
||||
sshpass -p $vmpass ssh geveo@$vmip './hpcore run contract'
|
||||
exit
|
||||
let nodeid=$2-1
|
||||
vmip=${vmips[$nodeid]}
|
||||
sshpass -p $vmpass ssh geveo@$vmip 'sudo ./hpcore run contract'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
hpcore=$(realpath ../..)
|
||||
vmcount=${#vmips[@]}
|
||||
#vmcount=2
|
||||
|
||||
mkdir ./cfg > /dev/null 2>&1
|
||||
|
||||
for (( i=0; i<$vmcount; i++ ))
|
||||
do
|
||||
vmip=${vmips[i]}
|
||||
let n=$i+1
|
||||
|
||||
#if [ $mode = "update" ]; then
|
||||
# /bin/bash ./setup-vm.sh $mode $n $vmpass $vmip $hpcore &
|
||||
#else
|
||||
/bin/bash ./setup-vm.sh $mode $n $vmpass $vmip $hpcore
|
||||
#fi
|
||||
/bin/bash ./setup-vm.sh $mode $n $vmpass $vmip $hpcore
|
||||
|
||||
# Collect each node's pub key and peer address.
|
||||
pubkeys[i]=$(node -p "require('./cfg/node$n.json').pubkeyhex")
|
||||
peers[i]="$vmip:22860"
|
||||
done
|
||||
|
||||
if [ $mode = "update" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
# Function to generate JSON array string while skiping a given index.
|
||||
function joinarr {
|
||||
arrname=$1[@]
|
||||
@@ -1,26 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -x "$(command -v node)" ]; then
|
||||
echo "NodeJs is installed."
|
||||
echo "NodeJs already installed."
|
||||
else
|
||||
echo "Installing NodeJs..."
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install curl
|
||||
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs
|
||||
fi
|
||||
|
||||
# FUSE
|
||||
if [ -x "$(command -v fusermount3)" ]; then
|
||||
echo "FUSE already installed."
|
||||
else
|
||||
echo "Installing FUSE..."
|
||||
sudo cp ./libfuse3.so.3 /usr/local/lib/
|
||||
sudo ldconfig
|
||||
# Install fuse.
|
||||
sudo apt-get update && apt-get install -y fuse && rm -rf /var/lib/apt/lists/*
|
||||
sudo cp ./fusermount3 /usr/local/bin/
|
||||
fi
|
||||
|
||||
if [ ! -d "./contract" ]; then
|
||||
./hpcore new ./contract
|
||||
pushd ./contract/cfg
|
||||
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout tlskey.pem -out tlscert.pem \
|
||||
-subj "/C=AU/ST=ST/L=L/O=O/OU=OU/CN=localhost/emailAddress=hp@example" > /dev/null 2>&1
|
||||
popd
|
||||
fi
|
||||
sudo rm -r ~/contract > /dev/null 2>&1
|
||||
./hpcore new ./contract
|
||||
pushd ./contract/cfg > /dev/null 2>&1
|
||||
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout tlskey.pem -out tlscert.pem \
|
||||
-subj "/C=AU/ST=ST/L=L/O=O/OU=OU/CN=localhost/emailAddress=hp@example" > /dev/null 2>&1
|
||||
popd > /dev/null 2>&1
|
||||
|
||||
|
||||
@@ -8,18 +8,21 @@ hpcore=$5
|
||||
|
||||
echo $nodeid. $vmip
|
||||
|
||||
sshpass -p $vmpass scp $hpcore/build/hpcore \
|
||||
$hpcore/build/hpstatemon \
|
||||
$hpcore/libfuse3.so.3 \
|
||||
$hpcore/examples/echocontract/contract.js \
|
||||
./setup-hp.sh \
|
||||
geveo@$vmip:~/
|
||||
|
||||
|
||||
if [ $mode = "new" ]; then
|
||||
sshpass -p $vmpass ssh geveo@$vmip 'rm -r ~/contract && chmod 700 ~/setup-hp.sh && ~/setup-hp.sh'
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
||||
sshpass -p $vmpass scp geveo@$vmip:~/contract/cfg/hp.cfg ./cfg/node$nodeid.json
|
||||
sshpass -p $vmpass scp $hpcore/build/hpcore \
|
||||
$hpcore/build/hpstatemon \
|
||||
$hpcore/examples/echocontract/contract.js \
|
||||
/usr/local/lib/libfuse3.so.3 \
|
||||
/usr/local/bin/fusermount3 \
|
||||
./setup-hp.sh \
|
||||
geveo@$vmip:~/
|
||||
|
||||
sshpass -p $vmpass ssh geveo@$vmip 'chmod 700 ~/setup-hp.sh && ~/setup-hp.sh'
|
||||
sshpass -p $vmpass scp geveo@$vmip:~/contract/cfg/hp.cfg ./cfg/node$nodeid.json
|
||||
else
|
||||
sshpass -p $vmpass scp $hpcore/build/hpcore \
|
||||
$hpcore/build/hpstatemon \
|
||||
$hpcore/examples/echocontract/contract.js \
|
||||
geveo@$vmip:~/
|
||||
fi
|
||||
3
test/vm-cluster/vmcreate.sh
Normal file → Executable file
3
test/vm-cluster/vmcreate.sh
Normal file → Executable file
@@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#ac login
|
||||
# Azure vm creation.s
|
||||
#az login
|
||||
#az account list
|
||||
#az account set --subscription ''
|
||||
|
||||
|
||||
Reference in New Issue
Block a user