bug fix: prepare to install ipmitool and retry reset baremetal using ipmi 39/1539/2
authorbaigk <baiguoku@huawei.com>
Mon, 14 Sep 2015 07:05:26 +0000 (15:05 +0800)
committerbaigk <baiguoku@huawei.com>
Tue, 15 Sep 2015 01:45:52 +0000 (09:45 +0800)
JIRA: COMPASS-50

Change-Id: Ib6525ef5fba6a56da1dde652f18afcdc9dfe15ad
Signed-off-by: baigk <baiguoku@huawei.com>
deploy/prepare.sh
deploy/template/power/ipmitool.tmpl

index 67fc4b6..8a9ecef 100755 (executable)
@@ -19,7 +19,7 @@ function download_iso()
 function prepare_env() {
     export PYTHONPATH=/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages
     sudo apt-get update -y
-    sudo apt-get install -y --force-yes mkisofs bc curl
+    sudo apt-get install -y --force-yes mkisofs bc curl ipmitool
     sudo apt-get install -y --force-yes git python-pip python-dev
     sudo apt-get install -y --force-yes libxslt-dev libxml2-dev libvirt-dev build-essential qemu-utils qemu-kvm libvirt-bin virtinst libmysqld-dev
     sudo pip install --upgrade pip
index a315713..5d2630a 100644 (file)
@@ -1,3 +1,4 @@
+source \${COMPASS_DIR}/util/log.sh
 #set default_ipmiUser=$getVar('ipmiUser', '')
 #set default_ipmiPass=$getVar('ipmiPass', '')
 #set hosts=$getVar('hosts', [])
@@ -19,7 +20,32 @@ exit 1
 #set ipmiIp=$host.get('ipmiIp', '')
 #set ipmiUser=$host.get('ipmiUser', $default_ipmiUser)
 #set ipmiPass=$host.get('ipmiPass', $default_ipmiPass)
-ipmitool -I lan -H $ipmiIp -U $ipmiUser -P $ipmiPass chassis bootdev pxe
-ipmitool -I lan -H $ipmiIp -U $ipmiUser -P $ipmiPass chassis power reset
+for i in {1..5}; do
+    if ipmitool -I lan -H $ipmiIp -U $ipmiUser -P $ipmiPass chassis bootdev pxe >/dev/null 2>&1
+    then
+        break
+    elif [[ i -lt 5 ]]
+    then
+        sleep 1
+    else
+        log_error "set $ipmiIp pxe fail"
+        exit 1
+    fi
+done
+sleep 1
+for i in {1..5}; do
+    if ipmitool -I lan -H $ipmiIp -U $ipmiUser -P $ipmiPass chassis power reset >/dev/null 2>&1
+    then
+        break
+    elif [[ i -lt 5 ]]
+    then
+        sleep 1
+    else
+        log_error "reset $ipmiIp fail"
+        exit 1
+    fi
+done
+log_info "set pxe and reset $ipmiIp successsully"
+sleep 1
 #end for
 #end if