Compare commits

...

11 Commits

Author SHA1 Message Date
oleg ff7f8c0e01 progress 2024-08-10 23:33:30 -04:00
oleg 7c34d6e918 fix 2024-08-10 23:28:07 -04:00
oleg 55782dbd44 progress 2024-08-10 23:24:46 -04:00
oleg 72c9cb2e00 progress 2024-08-09 22:54:33 -04:00
oleg a610ab5462 progress 2024-08-09 22:43:44 -04:00
oleg 969360642a debugging crypto_md_day 2024-08-08 20:51:45 -04:00
oleg 939cc0197d progress: build script 2024-08-08 18:17:00 -04:00
oleg 0766a07b79 fix 2024-08-08 13:04:16 -04:00
oleg 9874aaeac7 fix 2024-08-06 23:59:35 -04:00
oleg 6458974866 progress: storage check uses hosts from config service 2024-08-06 16:05:55 -04:00
oleg df761027ec progress 2024-08-05 22:41:52 -04:00
11 changed files with 218 additions and 30 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/sh #!/bin/bash
usage() { usage() {
echo "Usage: ${0} <local_root_dir>" echo "Usage: ${0} <local_root_dir>"
+3 -2
View File
@@ -14,11 +14,12 @@ Cmd="docker run"
Cmd="${Cmd} --pull=always" Cmd="${Cmd} --pull=always"
Cmd="${Cmd} --network=host" Cmd="${Cmd} --network=host"
Cmd="${Cmd} --name=crypto_md_day.${host}.${date}" Cmd="${Cmd} --name=crypto_md_day.${host}.${date}"
Cmd="${Cmd} --rm" # Cmd="${Cmd} --rm"
Cmd="${Cmd} ${DockerImage}" Cmd="${Cmd} ${DockerImage}"
Cmd="${Cmd} -h ${host}" Cmd="${Cmd} -h ${host}"
Cmd="${Cmd} -d ${date}" Cmd="${Cmd} -d ${date}"
Cmd="${Cmd} -s coinbase,bnbspot,bnbfut" # Cmd="${Cmd} -s coinbase,bnbspot,bnbfut"
Cmd="${Cmd} -s coinbase,bnbspot"
echo $Cmd echo $Cmd
eval $Cmd eval $Cmd
+2
View File
@@ -0,0 +1,2 @@
ROOT_DIR=/home/cvtt/prod
ADMIN_PORT=7220
@@ -0,0 +1,20 @@
version: '3.8'
#==================================================
# Relies on the file `.env` content for varables:
# ROOT_DIR
# JUPYTER_PORT
#==================================================
services:
md_portal:
image: cloud21.cvtt.vpn:5500/md_portal:latest
network_mode: host
container_name: md_portal
restart: unless-stopped
environment:
- JUPYTER_ENABLE_LAB=yes
volumes:
- ${ROOT_DIR}/logs:/logs
ports:
- "${ADMIN_PORT}:${ADMIN_PORT}"
shm_size: "8gb"
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
args=${*}
ImageName=md_portal
DockerRegistry=cloud21.cvtt.vpn:5500
DockerImage=${DockerRegistry}/${ImageName}
if [ -z ${date} ] ; then
date=$(date -d "yesterday" +%Y%m%d)
fi
Cmd="docker run"
# Cmd="${Cmd} --rm"
Cmd="${Cmd} --restart=unless-stopped"
Cmd="${Cmd} --pull=always"
Cmd="${Cmd} --network=host"
Cmd="${Cmd} --name=${ImageName}"
Cmd="${Cmd} --volume /home/cvtt/prod/logs:/logs"
Cmd="${Cmd} ${DockerImage}"
Cmd="${Cmd} ${args}"
echo $Cmd
eval $Cmd
+1 -1
View File
@@ -1 +1 @@
1.3.3 1.4.3,md_portal docker
+131
View File
@@ -0,0 +1,131 @@
#!/usr/bin/env bash
usage() {
echo "Usage: $0 [-h <host (homestore*/cloud21)>] [-d <YYYYMMDD> (yesterday*)] [-s <source> (cvttdata/cloud21*)>]"
exit 1
}
is_valid() {
local inst=$1
shift
local valid_instances=("$@")
for valid_inst in "${valid_instances[@]}";
do
if [[ "$inst" == "$valid_inst" ]]; then
return 0
fi
done
return 1
}
date=""
host=homestore
source=cloud21
while getopts ":h:d:s:" opt; do
case ${opt} in
d )
date=$OPTARG
;;
h )
host=$OPTARG
;;
s )
source=$OPTARG
;;
\? )
echo "Invalid option: -$OPTARG" >&2
usage
;;
: )
echo "Option -$OPTARG requires an argument." >&2
usage
;;
esac
done
if [ "${date}" == "" ] ; then
date="yesterday"
fi
echo "$date $host $source"
valid_hosts=('homestore' 'cloud21')
if ! is_valid "${host}" "${valid_hosts[@]}" ; then
echo "Host '${host}' is not valid"
usage
fi
valid_sources=('cloud21' 'cvttdata')
if ! is_valid ${source} ${valid_sources[@]} ; then
echo "Source '${source}' is not valid"
usage
fi
if [ "${host}" == "cloud21" ] ; then
SourceHost=cloud21.cvtt.vpn
SourceUser=cvtt
SourceRootDir="/opt/store/cvtt/md_archive/crypto/${source}"
elif [ "${host}" == "homestore" ]; then
SourceHost=homestore.cvtt.vpn
SourceUser=oleg
SourceRootDir=/works/cvtt/md_archive/crypto/${source}
else
usage
fi
echo "${SourceHost} ${SourceUser} ${SourceRootDir}"
SourceFile=$(date -d ${date} "+%Y%m%d.mktdata.db")
SourceFileZip="${SourceFile}.gz"
SourceFilePath=$(date -d ${date} "+${SourceRootDir}/%Y/%m/${SourceFileZip}")
TargetDir="/opt/jupyter_gpu/data/crypto_md"
TargetFile=$(date -d ${date} "+%Y%m%d.mktdata.ohlcv.db")
TargetFilePath="${TargetDir}/${TargetFile}"
# Tables=(bnbfut_ohlcv_1min bnbspot_ohlcv_1min coinbase_ohlcv_1min)
Tables=(bnbspot_ohlcv_1min coinbase_ohlcv_1min)
echo ${SourceFile}
tmp_dir=$(mktemp -d)
function cleanup {
cd ${HOME}
rm -rf ${tmp_dir}
}
trap cleanup EXIT
function download_file {
Cmd="rsync"
Cmd="${Cmd} -ahv"
if tty -s; then
Cmd="${Cmd} --progress=info2"
fi
Cmd="${Cmd} ${SourceUser}@${SourceHost}:${SourceFilePath} ${tmp_dir}/"
echo ${Cmd}
eval ${Cmd}
ls -lh ${tmp_dir}
Cmd="gunzip ${tmp_dir}/${SourceFileZip}"
echo ${Cmd} && eval ${Cmd}
ls -lh ${tmp_dir}
rm -f ${TargetFilePath}
touch ${TargetFilePath}
for table in "${Tables[@]}"
do
Cmd="sqlite3 ${tmp_dir}/${SourceFile} \".dump ${table}\" | sqlite3 ${TargetFilePath}"
echo ${Cmd}
eval ${Cmd}
done
chmod 600 ${TargetFilePath}
ls -lh ${TargetFilePath}
}
download_file
+7 -2
View File
@@ -127,7 +127,8 @@ if [ "${?}" != "0" ]; then
fi fi
release_version=$(cat release_version.txt) release_version=$(cat release_version.txt | awk -F',' '{print $1}')
whats_new=$(cat release_version.txt | awk -F',' '{print $2}')
echo "--------------------------------" echo "--------------------------------"
@@ -136,7 +137,7 @@ echo "Release version: ${release_version}"
confirm confirm
version_tag="v${release_version}" version_tag="v${release_version}"
version_comment="${version_tag}_${project}_${branch}_$(date +%Y%m%d)" version_comment="'${version_tag} ${project} ${branch} $(date +%Y-%m-%d)\n${whats_new}'"
cmd_arr=() cmd_arr=()
Cmd="git tag -a ${version_tag} -m ${version_comment}" Cmd="git tag -a ${version_tag} -m ${version_comment}"
@@ -178,4 +179,8 @@ do
pwd && echo ${cmd} && eval ${cmd} pwd && echo ${cmd} && eval ${cmd}
done done
echo "PROJECT ${project} **** P U L L N E W T A G S F R O M o r i g i n ****"
echo "----"
echo "(cd ${project}; git pull --tags; git pushall)"
echo "----"
echo "$0 Done ${project} ${release_version}" echo "$0 Done ${project} ${release_version}"
+27 -24
View File
@@ -1,4 +1,4 @@
#!/bin/sh #!/bin/bash
echo $0 $* | /usr/bin/ts '[%Y-%m-%d %H:%M:%S]' echo $0 $* | /usr/bin/ts '[%Y-%m-%d %H:%M:%S]'
RootDir="${HOME}/prod" RootDir="${HOME}/prod"
@@ -10,32 +10,24 @@ StatusChannel=Status-CVTT
AlertChannel=Alerts-CVTT AlertChannel=Alerts-CVTT
Sender=${RootDir}/ops/utils/send_mmost.sh Sender=${RootDir}/ops/utils/send_mmost.sh
# ----- For DEBUGGING
# Sender=cat # Sender=cat
# StatusChannel= # StatusChannel=
Hosts= get_user_hosts() {
Hosts="${Hosts} cloud11.cvtt.vpn" local User=${1}
Hosts="${Hosts} cloud15.cvtt.vpn" local Domain=${2}
Hosts="${Hosts} cloud16.cvtt.vpn"
Hosts="${Hosts} cloud17.cvtt.vpn"
Hosts="${Hosts} cloud21.cvtt.vpn"
Hosts="${Hosts} cloud22.cryptovaltrading.com"
Hosts="${Hosts} cvttdata.cvtt.vpn" Cmd="curl -s http://cloud23.cvtt.vpn:6789/admin/cvtt_hosts"
Hosts="${Hosts} cryptoval2.cvtt.vpn" Cmd="${Cmd} | ${HOME}/bin/hjson -j"
Hosts="${Hosts} cryptoval3.cvtt.vpn" Cmd="${Cmd} | jq -r"
Cmd="${Cmd} --arg domain \"${Domain}\""
Cmd="${Cmd} --arg usr \"${User}\""
Cmd="${Cmd} '.[\$domain] | to_entries[] | select(.value.users[] | contains(\$usr)) | .key'"
Hosts="${Hosts} homestore.cvtt.vpn" Cmd="${Cmd} | sed 's/\$/.${Domain}/'"
Hosts="${Hosts} nsbackup.sheynin.home" eval ${Cmd}
Hosts="${Hosts} dtvmhost.cvtt.vpn" }
Hosts="${Hosts} ops-server.cvtt.vpn"
Hosts="${Hosts} cvtt-prod-01.cvtt.vpn"
Hosts="${Hosts} cvtt-prod-02.cvtt.vpn"
Hosts="${Hosts} cvtt-prod-03.cvtt.vpn"
Metrics=()
TempFiles=
function cleanup { function cleanup {
echo Cleaing up temporary files: ${TempFiles} echo Cleaing up temporary files: ${TempFiles}
@@ -61,12 +53,14 @@ function space_alert() {
} }
function storage_check() { function storage_check() {
local Hosts=("${@}")
result_lines=() result_lines=()
declare -a SingleMeas declare -a SingleMeas
for host in ${Hosts} for host in ${Hosts[@]}
do do
echo "storage_check host=${host}" >&2
if [[ "${host}" == *"cryptovaltrading.com" ]]; then if [[ "${host}" == *"cryptovaltrading.com" ]]; then
port=7822 port=7822
else else
@@ -98,13 +92,22 @@ function storage_check() {
done done
} }
User=oleg
Metrics=()
TempFiles=
Hosts=()
for Domain in cvtt.vpn cryptovaltrading.com ; do
Hosts=("${Hosts[@]}" "$(get_user_hosts ${User} ${Domain})")
done
tmpfile=$(mktemp) tmpfile=$(mktemp)
TempFiles="${TempFiles} ${tmpfile}" TempFiles="${TempFiles} ${tmpfile}"
tmpfile2=$(mktemp) tmpfile2=$(mktemp)
TempFiles="${TempFiles} ${tmpfile2}" TempFiles="${TempFiles} ${tmpfile2}"
storage_check > ${tmpfile2} storage_check "${Hosts[@]}" > ${tmpfile2}
echo "## :card_file_box: STORAGE HEALTH CHECK" >> ${tmpfile} echo "## :card_file_box: STORAGE HEALTH CHECK" >> ${tmpfile}
echo >> ${tmpfile} echo >> ${tmpfile}