Skip to content

Commit b36b159

Browse files
committed
robust dns cluster sync
1 parent 0238305 commit b36b159

File tree

6 files changed

+38
-30
lines changed

6 files changed

+38
-30
lines changed

bin/v-add-remote-dns-domain

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ IFS=$'\n'
5353
# Check remote dns nodes
5454
remote_dns_health_check
5555

56-
for cluster_str in $(grep "SUSPENDED='no'" $VESTA/conf/dns-cluster.conf); do
56+
search_str=$(grep "SUSPENDED='no'" $VESTA/conf/dns-cluster.conf)
57+
for cluster_str in $search_str; do
5758

5859
# Get host values
5960
eval $cluster_str
@@ -83,25 +84,26 @@ for cluster_str in $(grep "SUSPENDED='no'" $VESTA/conf/dns-cluster.conf); do
8384
str=$(grep "DOMAIN='$domain'" $USER_DATA/dns.conf)
8485
eval $str
8586
$send_cmd v-insert-dns-domain $DNS_USER "$str" $HOSTNAME 'flush' 'no'
86-
87-
# Sync records
88-
if [ "$TYPE" = 'ssh' ]; then
89-
tmp=$(mktemp -u)
90-
scp_cmd $USER_DATA/dns/$DOMAIN.conf $tmp
91-
$send_cmd v-insert-dns-records $DNS_USER $DOMAIN $tmp 'no'
92-
else
93-
for str in $(cat $USER_DATA/dns/$DOMAIN.conf); do
94-
str=$(echo "$str" | sed 's/"/\\"/g')
95-
$send_cmd v-insert-dns-record $DNS_USER $DOMAIN "$str"
96-
done
97-
fi
98-
99-
# Rebuild dns zone
100-
$send_cmd v-rebuild-dns-domain $DNS_USER $domain 'scheduled'
101-
if [ $? -ne 0 ]; then
102-
echo "Error: $TYPE connection to $HOST failed"
103-
log_event "$E_CONNECT $EVENT"
104-
exit $E_CONNECT
87+
if [ $? -eq 0 ]; then
88+
# Sync records
89+
if [ "$TYPE" = 'ssh' ]; then
90+
tmp=$(mktemp -u)
91+
scp_cmd $USER_DATA/dns/$DOMAIN.conf $tmp
92+
$send_cmd v-insert-dns-records $DNS_USER $DOMAIN $tmp 'no'
93+
else
94+
for str in $(cat $USER_DATA/dns/$DOMAIN.conf); do
95+
str=$(echo "$str" | sed 's/"/\\"/g')
96+
$send_cmd v-insert-dns-record $DNS_USER $DOMAIN "$str"
97+
done
98+
fi
99+
100+
# Rebuild dns zone
101+
$send_cmd v-rebuild-dns-domain $DNS_USER $domain 'scheduled'
102+
if [ $? -ne 0 ]; then
103+
echo "Error: $TYPE connection to $HOST failed"
104+
log_event "$E_CONNECT $EVENT"
105+
exit $E_CONNECT
106+
fi
105107
fi
106108

107109
done

bin/v-add-remote-dns-record

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,14 @@ for cluster_str in $(grep "SUSPENDED='no'" $VESTA/conf/dns-cluster.conf); do
8484
str=$(grep "ID='$id'" $USER_DATA/dns/$domain.conf)
8585
str=$(echo "$str" | sed 's/"/\\"/g')
8686
$send_cmd v-insert-dns-record $DNS_USER $domain "$str" 'no'
87-
88-
# Rebuild dns zone
89-
$send_cmd v-rebuild-dns-domain $DNS_USER $domain 'scheduled'
90-
if [ $? -ne 0 ]; then
91-
echo "Error: $TYPE connection to $HOST failed (rebuild)"
92-
log_event "$E_CONNECT $EVENT"
93-
exit $E_CONNECT
87+
if [ $? -eq 0 ]; then
88+
# Rebuild dns zone
89+
$send_cmd v-rebuild-dns-domain $DNS_USER $domain 'scheduled'
90+
if [ $? -ne 0 ]; then
91+
echo "Error: $TYPE connection to $HOST failed (rebuild)"
92+
log_event "$E_CONNECT $EVENT"
93+
exit $E_CONNECT
94+
fi
9495
fi
9596

9697
done

bin/v-change-domain-owner

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@ if [ ! -z "$dns_data" ]; then
116116
$BIN/v-unsuspend-dns-domain $user $domain no >> /dev/null 2>&1
117117
$BIN/v-rebuild-dns-domains $owner no
118118
$BIN/v-rebuild-dns-domains $user
119+
120+
# Resync dns cluster
121+
if [ ! -z "$DNS_CLUSTER" ]; then
122+
v-sync-dns-cluster
123+
fi
119124
fi
120125

121126
# MAIL domain

bin/v-change-remote-dns-domain-exp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ done
9393

9494
# Update pipe
9595
pipe="$VESTA/data/queue/dns-cluster.pipe"
96-
str=$(grep -n "$SCRIPT $1 $2$" $pipe | cut -f1 -d: | head -n1)
96+
str=$(grep -n "$SCRIPT $1 $2 $3$" $pipe | cut -f1 -d: | head -n1)
9797
if [ ! -z "$str" ]; then
9898
sed -i "$str d" $pipe
9999
fi

bin/v-change-remote-dns-domain-soa

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ done
9696

9797
# Update pipe
9898
pipe="$VESTA/data/queue/dns-cluster.pipe"
99-
str=$(grep -n "$SCRIPT $1 $2$" $pipe | cut -f1 -d: | head -n1)
99+
str=$(grep -n "$SCRIPT $1 $2 $3$" $pipe | cut -f1 -d: | head -n1)
100100
if [ ! -z "$str" ]; then
101101
sed -i "$str d" $pipe
102102
fi

bin/v-change-remote-dns-domain-ttl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ done
111111

112112
# Update pipe
113113
pipe="$VESTA/data/queue/dns-cluster.pipe"
114-
str=$(grep -n "$SCRIPT $1 $2$" $pipe | cut -f1 -d: | head -n1)
114+
str=$(grep -n "$SCRIPT $1 $2 $3$" $pipe | cut -f1 -d: | head -n1)
115115
if [ ! -z "$str" ]; then
116116
sed -i "$str d" $pipe
117117
fi

0 commit comments

Comments
 (0)