#!/bin/bash # Copyright (c) 2016 Red Hat, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Author: Lin Li #----------------------------------------------------------------------------# # Mp_Conf_Up_Def () # Usage: # Update default section of /etc/multipath.conf, will also reload conf. # Parameter: # $config_change #config string want to change, like 'polling_interval 5' # Returns: # Return code: # 0 on success # 1 if something went wrong. # Return string: # NULL #----------------------------------------------------------------------------# function Mp_Conf_Up_Def (){ EX_USAGE=64 # Bad arg format if [ $# -lt 1 ]; then echo 'Usage: Mp_Conf_Up_Def $config_change' exit "${EX_USAGE}" fi RETURN_STR='' local multipath_conf_filename="/etc/multipath.conf" local config_change="$1" echo ${config_change} if [ "CHK${config_change}" == "CHK" ];then echo 'Usage: Mp_Conf_Up_Def $config_change' exit "${EX_USAGE}" fi python2 -c " import sys sys.path.append('"${MP_INCLUDE_PATH}"') from mpconf import * update_df_section('""${config_change}""') " #TODO: we need to check configuration before we return 0 RETURN_STR="" return 0 } #end of functoin Mp_Conf_Up_Def # ---------------------------------------------------------# # Print_multipath_pkginfo()() # Usage: # print the multipath pacakge information # Parameter: # NULL # Returns: # Return code: # 0 on success # 1 if something went wrong. # ---------------------------------------------------------# function Print_multipath_pkginfo (){ Cmd "rpm -qi device-mapper-multipath" Cmd "rpm -qi kpartx" } # ---------------------------------------------------------# # Mutipathd_stop() # Usage: # check if multipathd stops, if not stop it # Parameter: # NULL # Returns: # Return code: # 0 on success # 1 if something went wrong. # ---------------------------------------------------------# function Multipathd_stop (){ # { ! Cmd pidof multipathd ; } || Cmd "service multipathd stop" { ! Cmd pidof multipathd ; } || Cmd "kill -9 `pidof multipathd`" } # ---------------------------------------------------------# # Mutipathd_start() # Usage: # check if multipathd is installed, if not start it # Parameter: # NULL # Returns: # Return code: # 0 on success # 1 if something went wrong. # ---------------------------------------------------------# function Multipathd_start (){ # { Cmd pidof multipathd ; } || Cmd "service multipathd start" { Cmd pidof multipathd ; } || Cmd "multipathd" } # ---------------------------------------------------------# # Mutipath_installation() # Usage: # check if multipath starts, if not install it with yum # Parameter: # NULL # Returns: # Return code: # 0 on success # 1 if something went wrong. # ---------------------------------------------------------# function Multipath_installation (){ Cmd "rpm -qi device-mapper-multipath" && return 0 Cmd "yum install -y device-mapper-multipath" }