From 8f655e59dbd5a5ed3ebb7de6e504503c84722fb2 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Mon, 11 Sep 2017 19:40:00 +0800 Subject: Eliminate hard code about ipmi info in bash script Change-Id: I642d130566137dff727b7227658afe6ace9473d6 Signed-off-by: Alex Yang (cherry picked from commit 94d3957c5aba2db70d06929ac9538280a71c6641) --- ci/deploy/deploy.sh | 30 +++++++++-- .../bm_environment/zte-baremetal1/deploy.yml | 61 ++++++++++++++-------- 2 files changed, 64 insertions(+), 27 deletions(-) diff --git a/ci/deploy/deploy.sh b/ci/deploy/deploy.sh index 22685e86..b73c80f9 100755 --- a/ci/deploy/deploy.sh +++ b/ci/deploy/deploy.sh @@ -476,6 +476,31 @@ function get_mac_addresses_for_virtual() } +function reboot_baremetal_node() +{ + ips=(`grep ipmi_ip $DHA_CONF | awk '{print $2}' | tr "\n" " " | tr -d "\'"`) + ip_num=${#ips[@]} + users=(`grep ipmi_user $DHA_CONF | awk '{print $2}' | tr "\n" " " | tr -d "\'"`) + user_num=${#users[@]} + passwds=(`grep ipmi_pass $DHA_CONF | awk '{print $2}' | tr "\n" " " | tr -d "\'"`) + pass_num=${#passwds[@]} + + if [ $ip_num -ne $TARGET_HOSTS_NUM ]; then + echo "ERROR: IPMI information should be provided for each node !" + exit 1 + fi + + for ((i=0; i<$ip_num; i++)); do + if [ $TARGET_HOSTS_NUM -eq $user_num ] && [ $TARGET_HOSTS_NUM -eq $pass_num ]; then + ipmitool -I lanplus -H ${ips[$i]} -U ${users[$i]} -P ${passwds[$i]} -R 1 chassis bootdev pxe + ipmitool -I lanplus -H ${ips[$i]} -U ${users[$i]} -P ${passwds[$i]} -R 1 chassis power reset + else + ipmitool -I lanplus -H ${ips[$i]} -R 1 chassis bootdev pxe + ipmitool -I lanplus -H ${ips[$i]} -R 1 chassis power reset + fi + done +} + echo "====== create and find node ======" if [ $IS_BARE == 0 ];then if [ $TARGET_HOSTS_NUM == 1 ];then @@ -498,10 +523,7 @@ if [ $IS_BARE == 0 ];then sleep 20 get_mac_addresses_for_virtual else - for i in $(seq 106 110); do - ipmitool -I lanplus -H 192.168.1.$i -U zteroot -P superuser -R 1 chassis bootdev pxe - ipmitool -I lanplus -H 192.168.1.$i -U zteroot -P superuser -R 1 chassis power reset - done + reboot_baremetal_node fi echo "====== prepare host and pxe ======" diff --git a/deploy/config/bm_environment/zte-baremetal1/deploy.yml b/deploy/config/bm_environment/zte-baremetal1/deploy.yml index d24a9569..0c147280 100644 --- a/deploy/config/bm_environment/zte-baremetal1/deploy.yml +++ b/deploy/config/bm_environment/zte-baremetal1/deploy.yml @@ -1,23 +1,38 @@ -adapter: ipmi -hosts: -- name: 'controller01' - roles: - - 'CONTROLLER_LB' -- name: 'controller02' - roles: - - 'CONTROLLER_LB' -- name: 'controller03' - roles: - - 'CONTROLLER_LB' -- name: 'computer01' - roles: - - 'COMPUTER' -- name: 'computer02' - roles: - - 'COMPUTER' -disks: - daisy: 50 -daisy_passwd: 'r00tme' -daisy_ip: '10.20.7.3' -daisy_gateway: '10.20.7.1' -ceph_disk_name: '/dev/sdb' +adapter: 'ipmi' +hosts: +- name: 'controller01' + roles: + - 'CONTROLLER_LB' + ipmi_ip: '192.168.1.106' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'controller02' + roles: + - 'CONTROLLER_LB' + ipmi_ip: '192.168.1.107' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'controller03' + roles: + - 'CONTROLLER_LB' + ipmi_ip: '192.168.1.108' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'computer01' + roles: + - 'COMPUTER' + ipmi_ip: '192.168.1.109' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'computer02' + roles: + - 'COMPUTER' + ipmi_ip: '192.168.1.110' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +disks: + daisy: 50 +daisy_passwd: 'r00tme' +daisy_ip: '10.20.7.3' +daisy_gateway: '10.20.7.1' +ceph_disk_name: '/dev/sdb' -- cgit 1.2.3-korg