From d21cea188ee9ecc3eac0398bfb1e241cfecfb640 Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Wed, 20 Feb 2013 15:00:12 +0200 Subject: [PATCH] Fixed bug on ip removal --- bin/v-delete-sys-ip | 16 +++++++++++----- func/ip.sh | 16 ---------------- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/bin/v-delete-sys-ip b/bin/v-delete-sys-ip index f6951e597d..c7067b503e 100755 --- a/bin/v-delete-sys-ip +++ b/bin/v-delete-sys-ip @@ -46,11 +46,17 @@ user="$(get_ip_value '$OWNER')" ip_status="$(get_ip_value '$STATUS')" # Deleting interface -get_current_interface -/sbin/ifconfig "$interface" down - -# Deleting startup script -rm -f $iconf-$interface +interface=$(/sbin/ifconfig |grep -B1 "addr:$ip "|head -n 1 |cut -f 1 -d ' ') +if [ ! -z "$interface" ] && [ -z "$(echo $interface|cut -s -f2 -d :)" ]; then + echo "Error: Main IP on interface" + log_event "$E_FORBIDEN" "$EVENT" + exit $E_FORBIDEN +fi +if [ ! -z "$interface" ]; then + /sbin/ifconfig "$interface" down + iconf='/etc/sysconfig/network-scripts/ifcfg' + rm -f $iconf-$interface +fi # Deleting vesta ip rm -f $VESTA/data/ips/$ip diff --git a/func/ip.sh b/func/ip.sh index ab4a588d4e..7ca9d5d47c 100644 --- a/func/ip.sh +++ b/func/ip.sh @@ -172,22 +172,6 @@ get_ip_value() { echo "$value" } -# Get current ip interface -get_current_interface() { - i=$(/sbin/ifconfig |grep -B1 "addr:$ip "|head -n 1 |cut -f 1 -d ' ') - if [ -z "$i" ]; then - echo "Error: interface for ip $ip not found" - log_event "$E_NOTEXIST" "$EVENT" - exit $E_NOTEXIST - fi - if [ -z "$(echo $i | cut -s -f 2 -d :)" ]; then - echo "Error: Main IP on interface" - log_event "$E_FORBIDEN" "$EVENT" - exit $E_FORBIDEN - fi - interface="$i" -} - # Create ip vesta configuration create_vesta_ip() { ip_data="OWNER='$user'"