We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Ошибка добавления DNS Slave
-
- Posts: 74
- Joined: Wed Nov 18, 2015 12:16 am
Ошибка добавления DNS Slave
Всем привет.
При добавлении
v-add-remote-dns-host slave.yourhost.com 8083 admin p4sw0rd
в DNS cluster сервер SLAVE DNS возникает такая ошибка
/usr/local/vesta/func/remote.sh: line 26: return: Error:: требуется числовой аргумент
Error: api connection to ns2.yourhost.com failed
Это на новой версии...
При добавлении
v-add-remote-dns-host slave.yourhost.com 8083 admin p4sw0rd
в DNS cluster сервер SLAVE DNS возникает такая ошибка
/usr/local/vesta/func/remote.sh: line 26: return: Error:: требуется числовой аргумент
Error: api connection to ns2.yourhost.com failed
Это на новой версии...
-
- Posts: 74
- Joined: Wed Nov 18, 2015 12:16 am
Re: Ошибка добавления DNS Slave
cat /usr/local/vesta/func/remote.sh
Code: Select all
# Check if script already running or not
is_procces_running() {
SCRIPT=$(basename $0)
for pid in $(pidof -x $SCRIPT); do
if [ $pid != $$ ]; then
check_result $E_INUSE "$SCRIPT is already running"
fi
done
}
send_api_cmd() {
answer=$(curl -s -k \
--data-urlencode "user=$USER" \
--data-urlencode "password=$PASSWORD" \
--data-urlencode "returncode=yes" \
--data-urlencode "cmd=$1" \
--data-urlencode "arg1=$2" \
--data-urlencode "arg2=$3" \
--data-urlencode "arg3=$4" \
--data-urlencode "arg4=$5" \
--data-urlencode "arg5=$6" \
--data-urlencode "arg6=$7" \
--data-urlencode "arg7=$8" \
--data-urlencode "arg8=$9" \
[b]https://$HOST:$PORT/api/[/b])
return $answer
}
send_api_file() {
answer=$(curl -s -k \
--data-urlencode "user=$USER" \
--data-urlencode "password=$PASSWORD" \
--data-urlencode "returncode=yes" \
--data-urlencode "cmd=v-make-tmp-file" \
--data-urlencode "arg1=$(cat $1)" \
--data-urlencode "arg2=$2" \
https://$HOST:$PORT/api/)
return $answer
}
send_ssh_cmd() {
if [ -z "$IDENTITY_FILE" ] && [ "$USER" = 'root' ]; then
IDENTITY_FILE="/root/.ssh/id_rsa"
fi
if [ -z "$IDENTITY_FILE" ]; then
IDENTITY_FILE="/home/$USER/.ssh/id_rsa"
fi
if [ "$USER" = 'root' ]; then
args="$VESTA/bin/$1 \"$2\" \"$3\" \"$4\" \"$5\""
else
args="sudo $VESTA/bin/$1 \"$2\" \"$3\" \"$4\" \"$5\""
fi
ssh -i $IDENTITY_FILE $USER@$HOST -p $PORT "$args" > /dev/null 2>&1
if [ "$?" -ne '0' ]; then
return 1
else
return 0
fi
}
send_scp_file() {
if [ -z "$IDENTITY_FILE" ]; then
IDENTITY_FILE="/home/admin/.ssh/id_rsa"
fi
scp -P $PORT -i $IDENTITY_FILE $1 $USER@$HOST:$2 > /dev/null 2>&1
if [ "$?" -ne '0' ]; then
return 1
else
return 0
fi
}
is_dnshost_new() {
if [ -e "$VESTA/conf/dns-cluster.conf" ]; then
check_host=$(grep "HOST='$host'" $VESTA/conf/dns-cluster.conf)
if [ ! -z "$check_host" ]; then
check_result $E_EXISTS "remote dns host $host exists"
fi
fi
}
is_dnshost_alive() {
cluster_cmd v-list-sys-config
check_result $? "$type connection to $HOST failed" $E_CONNECT
cluster_cmd v-list-user $DNS_USER
check_result $? "$DNS_USER doesn't exist" $E_CONNECT
}
remote_dns_health_check() {
OLD_IFS="$IFS"
IFS=$'\n'
# Starting health-check
for str in $(grep "SUSPENDED='no'" $VESTA/conf/dns-cluster.conf); do
eval $str
# Checking host connection
cluster_cmd v-list-user $DNS_USER
if [ $? -ne 0 ]; then
# Creating error report
tmpfile=$(mktemp)
echo "$(basename $0) $*" > $tmpfile
echo -e "Error: $TYPE connection to $HOST failed.\n" >> $tmpfile
echo -n "Remote dns host has been suspended." >> $tmpfile
echo -n "After resolving issue run " >> $tmpfile
echo -e "following commands:\n" >> $tmpfile
echo "v-unsuspend-remote-dns-host $HOST" >> $tmpfile
echo "v-sync-dns-cluster $HOST" >> $tmpfile
echo -e "\n\n--\nVesta Control Panel\n$(hostname)" >> $tmpfile
if [ "$1" = 'no_email' ]; then
cat $tmpfile
else
subj="DNS sync failed"
email=$($BIN/v-get-user-value admin CONTACT)
cat $tmpfile |$SENDMAIL -s "$subj" $email
fi
# Deleting tmp file
rm -f $tmpfile
log_event "$E_CONNECT" "$ARGUMENTS"
# Suspending remote host
dconf="../../conf/dns-cluster"
update_object_value "$dconf" 'HOST' "$HOST" '$SUSPENDED' 'yes'
fi
done
IFS="$OLD_IFS"
}
cluster_cmd() {
case $TYPE in
ssh) send_ssh_cmd $* ;;
api) send_api_cmd $* ;;
esac
}
cluster_file() {
case $TYPE in
ssh) send_scp_file $* ;;
api) send_api_file $* ;;
esac
}