solve yum error because we now prefer network repo to local yum
Change-Id: I71001d478d511f09281e0e12fb044e30dfff3077 Signed-off-by: luyao <lu.yao135@zte.com.cn>
This commit is contained in:
159
tools/setup/common/daisy_common_func.sh
Executable file → Normal file
159
tools/setup/common/daisy_common_func.sh
Executable file → Normal file
@ -1,10 +1,10 @@
|
||||
#!/bin/bash
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ֹ<EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻᱻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# global function,can be called by other script
|
||||
|
||||
#<EFBFBD><EFBFBD>ֹ<EFBFBD>ű<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#avoid to be repeat include
|
||||
if [ ! "$_DAISY_COMMON_FUNC_FILE" ];then
|
||||
|
||||
#######################<EFBFBD>ʴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>############################
|
||||
#######################get answer from user functions############################
|
||||
# get 'yes' or 'no' answer from user
|
||||
function read_bool
|
||||
{
|
||||
@ -25,7 +25,7 @@ function read_bool
|
||||
*)
|
||||
echo "Please input y or n"
|
||||
read_bool "$prompt" "$default";;
|
||||
|
||||
|
||||
esac
|
||||
return 0
|
||||
}
|
||||
@ -49,7 +49,7 @@ function read_string_input_null_check
|
||||
fi
|
||||
}
|
||||
|
||||
# <20><>ȡ<EFBFBD><C8A1>ȡһ<C8A1><D2BB>IP<49>б<EFBFBD><D0B1>Ĺ<EFBFBD><C4B9><EFBFBD>
|
||||
#read ip list
|
||||
function read_iplist
|
||||
{
|
||||
local prompt=$1
|
||||
@ -60,12 +60,12 @@ function read_iplist
|
||||
echo -e "local ip list:"
|
||||
echo -e "$ip_list"
|
||||
echo -e "(recommend: $recommend): \c "
|
||||
fi
|
||||
fi
|
||||
read answer
|
||||
[ -z $answer ] && answer="$recommend"
|
||||
}
|
||||
|
||||
#######################<EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>############################
|
||||
#######################configuration functions############################
|
||||
|
||||
function get_config
|
||||
{
|
||||
@ -73,12 +73,10 @@ function get_config
|
||||
local key=$2
|
||||
|
||||
[ ! -e $file ] && return
|
||||
#<23><><EFBFBD>Ծ<EFBFBD><D4BE>ſ<EFBFBD>ͷ<EFBFBD><CDB7>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>grep<65><70><EFBFBD><EFBFBD>"key"<22><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>
|
||||
local line=`sed '/^[[:space:]]*#/d' $file | sed /^[[:space:]]*$/d | grep -w "$key"| grep "$key[[:space:]]*=" -m1`
|
||||
if [ -z "$line" ]; then
|
||||
config_answer=""
|
||||
else
|
||||
#<23><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>=<3D><><EFBFBD>滻Ϊ<E6BBBB>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ʵõ<CAB5>value
|
||||
config_answer=`echo $line | sed 's/=/ /' | sed -e 's/^\w*\ *//'`
|
||||
fi
|
||||
}
|
||||
@ -94,31 +92,31 @@ function update_config
|
||||
|
||||
#echo update key $key to value $value in file $file ...
|
||||
local exist=`grep "^[[:space:]]*[^#]" $file | grep -c "$key[[:space:]]*=[[:space:]]*.*"`
|
||||
#ע<EFBFBD>⣺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#<23><>!!!
|
||||
#action:If a line is a comment, the beginning of the first character must be a #!!!
|
||||
local comment=`grep -c "^[[:space:]]*#[[:space:]]*$key[[:space:]]*=[[:space:]]*.*" $file`
|
||||
|
||||
|
||||
if [[ $value == "#" ]];then
|
||||
if [ $exist -gt 0 ];then
|
||||
sed -i "/^[^#]/s/$key[[:space:]]*=/\#$key=/" $file
|
||||
sed -i "/^[^#]/s/$key[[:space:]]*=/\#$key=/" $file
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
if [ $exist -gt 0 ];then
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δע<EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ֱ<EFBFBD>Ӹ<EFBFBD><EFBFBD><EFBFBD>value
|
||||
#if there have been a effective configuration line did not comment, update value directly
|
||||
sed -i "/^[^#]/s#$key[[:space:]]*=.*#$key=$value#" $file
|
||||
|
||||
|
||||
elif [ $comment -gt 0 ];then
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ע<EFBFBD>͵<EFBFBD><EFBFBD>Ķ<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>ע<EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>value
|
||||
#if there is a configuration line has been commented out, then remove the comments, update the value
|
||||
sed -i "s@^[[:space:]]*#[[:space:]]*$key[[:space:]]*=[[:space:]]*.*@$key=$value@" $file
|
||||
else
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#add effective configuration line at the end
|
||||
echo "$key=$value" >> $file
|
||||
fi
|
||||
}
|
||||
|
||||
#<EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>[section]<5D><>λ<EFBFBD><CEBB><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>key=value<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>key<65><79><EFBFBD>ֶ<EFBFBD>
|
||||
#ijЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>valueΪ<EFBFBD>յĿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>valueΪ<EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>valueΪ<EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#accord to the location of the section insert key = value, or only a key field
|
||||
#this function isused in cases where the value is empty, will not raise error when the value is empty
|
||||
function update_section_config
|
||||
{
|
||||
local file=$1
|
||||
@ -128,7 +126,7 @@ function update_section_config
|
||||
|
||||
[ ! -e $file ] && return
|
||||
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>section<EFBFBD><EFBFBD>Ѱ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>key
|
||||
#find key according to section
|
||||
if [ -z $value ];then
|
||||
local exist=`sed -n "/\[$section\]/,/\[*\]/p" $file | grep "^[[:space:]]*[^#]" |grep -c "[[:space:]]*$key[[:space:]]*"`
|
||||
if [ $exist -eq 0 ];then
|
||||
@ -139,82 +137,93 @@ function update_section_config
|
||||
local exist=`sed -n "/\[$section\]/,/\[*\]/p" $file | grep "^[[:space:]]*[^#]" |grep -c "[[:space:]]*$key[[:space:]]*=[[:space:]]*"`
|
||||
if [ $exist -eq 0 ];then
|
||||
local linenumber=`grep -n "\[$section\]" $file| awk -F ':' '{print $1}'`
|
||||
sed -i "$linenumber a$key=$value" $file
|
||||
sed -i "$linenumber a$key=$value" $file
|
||||
else
|
||||
sed -i "/\[$section\]/,/\[*\]/s/[[:space:]]*$key[[:space:]]*=[[:space:]]*.*/$key=$value/g" $file
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#<EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>string<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#get string number
|
||||
function get_string_num
|
||||
{
|
||||
local file=$1
|
||||
local string=$2
|
||||
|
||||
[ ! -e $file ] && { echo "$file doesn't exist."; exit 1; }
|
||||
#<23><><EFBFBD>Ծ<EFBFBD><D4BE>ſ<EFBFBD>ͷ<EFBFBD><CDB7>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>grep<65><70><EFBFBD><EFBFBD>"key"<22><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>
|
||||
string_num=`sed '/^[[:space:]]*#/d' $file | sed /^[[:space:]]*$/d | grep -cw "$string"`
|
||||
}
|
||||
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ,ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>װ<EFBFBD><D7B0>ʽ<EFBFBD><CABD>ж<EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
||||
#<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱӦ<EFBFBD><EFBFBD>֤ͬһģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD>粻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>tc<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cc<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>tc
|
||||
#Save the configuration information, the configuration file of installation and uninstall don't need to save
|
||||
#when call this function,you should make sure one-time finish configuration module configuration parameters, if not,you can configuration part tc first, and then configure the cc, and back to tc
|
||||
function user_config_save
|
||||
{
|
||||
{
|
||||
local component="$1"
|
||||
local key="$2"
|
||||
local value="$3"
|
||||
|
||||
if [ "$operation" = "install" ];then
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݾɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#If the user configuration file already exists, a backup the configuration of the old
|
||||
if [ ! -f $user_config_save_file ];then
|
||||
mkdir -p ${user_config_save_path}
|
||||
touch $user_config_save_file
|
||||
mkdir -p ${user_config_save_path}
|
||||
touch $user_config_save_file
|
||||
echo -e "## opencos installation configure file at ${current_time}" >$user_config_save_file
|
||||
echo -e "## you can edit it and install opencos by conf_file option, as \"./installopencos_(arch).bin conf_file /home/tecs_install/user_install.conf\"\n" >>$user_config_save_file
|
||||
echo -e "## global configration section\nmode=$mode\n">>$user_config_save_file
|
||||
echo -e "## component configration section">>$user_config_save_file
|
||||
fi
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mode<EFBFBD><EFBFBD>
|
||||
# If there is no component belonging to, put it after on mode
|
||||
if [ "$component" = "" ];then
|
||||
[ "$key" = "" ] && { echo -e "\nkey is null, please check!"; exit 1; }
|
||||
sed -i "/mode=$mode/a $key=$value" $user_config_save_file
|
||||
else
|
||||
else
|
||||
[ -z "`cat $user_config_save_file |grep -w "\[$component\]"`" ] && echo -e "\n[$component]" >>$user_config_save_file
|
||||
[[ $key != "" ]] && echo "$key=$value" >>$user_config_save_file
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#######################rpm<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>############################
|
||||
#######################rpm related functions############################
|
||||
|
||||
#<EFBFBD>ж<EFBFBD>ijrpm<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѱ<EFBFBD>װ
|
||||
#check rpm install
|
||||
function check_installed
|
||||
{
|
||||
has_installed="no"
|
||||
|
||||
|
||||
rpm -q $1 &>/dev/null
|
||||
|
||||
|
||||
if [ 0 == $? ];then
|
||||
has_installed="yes"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>rpm<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# check rpm depends
|
||||
function check_depend
|
||||
{
|
||||
local rpm_name=$1
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
|
||||
# check if the rpm is used by someone else
|
||||
rpm -q --whatrequires $rpm_name &>/dev/null
|
||||
# <20><><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD>ϵ<EFBFBD><CFB5>rpmδ<6D><CEB4>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0
|
||||
return "$?"
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>
|
||||
# install rpm by yum
|
||||
function install_rpm_by_yum
|
||||
{
|
||||
local rpm_name=$1
|
||||
|
||||
yum install -y $rpm_name
|
||||
|
||||
local result=$?
|
||||
if [ $result -ne 0 ];then
|
||||
echo -e "\ninstall $rpm_name failed!"
|
||||
exit $result
|
||||
fi
|
||||
}
|
||||
# install rpm by daisy yum
|
||||
function install_rpm_by_daisy_yum
|
||||
{
|
||||
local rpm_name=$1
|
||||
|
||||
[[ $daisy_yum = "" ]] && { echo "yum repository doesn't create!"; exit 1; }
|
||||
$daisy_yum install $rpm_name
|
||||
|
||||
@ -222,10 +231,9 @@ function install_rpm_by_yum
|
||||
if [ $result -ne 0 ];then
|
||||
echo -e "\ninstall $rpm_name failed!"
|
||||
exit $result
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>װ<EFBFBD>İ<EFBFBD><C4B0>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA>װ
|
||||
# check existence of packge,if not, indicates whether need to install
|
||||
function check_and_install_rpm
|
||||
{
|
||||
local rpm_name=$1
|
||||
@ -240,7 +248,7 @@ function check_and_install_rpm
|
||||
fi
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>װ<EFBFBD>İ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# check existence of packge,if exist,there is a need to upgrade
|
||||
function install_or_upgrade_rpm
|
||||
{
|
||||
local rpm_name=$1
|
||||
@ -260,7 +268,7 @@ function install_or_upgrade_rpm
|
||||
fi
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Э<EFBFBD><EFBFBD>RPM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ƿ<EFBFBD>Ҫж<EFBFBD><EFBFBD>
|
||||
# if packate have installed, suggest whether to unload
|
||||
function check_uninstall_tecs_rpm
|
||||
{
|
||||
local rpm_name=$1
|
||||
@ -268,7 +276,7 @@ function check_uninstall_tecs_rpm
|
||||
if [[ "$has_installed" == "no" ]];then
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
read_bool "$rpm_name already installed, remove it?" "no"
|
||||
if [ $answer == "yes" ]; then
|
||||
service_stop $rpm_name
|
||||
@ -290,9 +298,9 @@ function remove_rpms_by_yum
|
||||
|
||||
}
|
||||
|
||||
# <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
||||
#check packages need to upgrade
|
||||
function check_app_is_upgrade
|
||||
{
|
||||
{
|
||||
local app=$1
|
||||
is_update="yes"
|
||||
|
||||
@ -302,51 +310,50 @@ function check_app_is_upgrade
|
||||
fi
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>
|
||||
# update rpm by yum
|
||||
function upgrade_rpms_by_yum
|
||||
{
|
||||
local app_list="$1"
|
||||
|
||||
|
||||
if [ "$app_list" = "" ];then
|
||||
echo -e "\nsorry, there is no rpm need to upgrade"!
|
||||
exit 0
|
||||
fi
|
||||
#<EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>app_list<EFBFBD><EFBFBD>Ϊupgrade<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#<23><><EFBFBD><EFBFBD>daisy<73><79><EFBFBD>ᵼ<F1A3ACBB><E1B5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>дΪ<D0B4><CEAA>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1B5A5B6>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
fi
|
||||
#need to upgrade separately for each service
|
||||
[ "$daisy_yum" = "" ] && { echo "opencos yum doesn't set, update rpms failed!"; exit 1; }
|
||||
for app in $app_list
|
||||
do
|
||||
check_app_is_upgrade "$app"
|
||||
if [[ "$is_update" == "yes" ]];then
|
||||
echo -e "\n$app will upgrade..."
|
||||
$daisy_yum upgrade $app
|
||||
if [[ "$is_update" == "yes" ]];then
|
||||
echo -e "\n$app will upgrade..."
|
||||
$daisy_yum upgrade $app
|
||||
local result=$?
|
||||
if [ $result -ne 0 ];then
|
||||
echo -e "\nupgrade $app failed,return $result"!
|
||||
exit $result
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo -e "\n$app don't need to upgrade"!
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#######################<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>############################
|
||||
# ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#######################service related functions############################
|
||||
# stop service
|
||||
function service_stop
|
||||
{
|
||||
local app=$1
|
||||
[ ! -f ${systemd_path}/$app.service ] && return
|
||||
|
||||
cd /
|
||||
systemctl stop $app.service &>/dev/null
|
||||
systemctl stop $app.service &>/dev/null
|
||||
cd - >/dev/null
|
||||
|
||||
|
||||
local service_status="active"
|
||||
local timeout=0
|
||||
while [ "$service_status" != "inactive" ]
|
||||
do
|
||||
do
|
||||
service_status=`systemctl show $app|grep -w ActiveState|awk -F '=' '{print $2}'`
|
||||
if [ "$service_status" = "inactive" ];then
|
||||
break
|
||||
@ -354,34 +361,34 @@ function service_stop
|
||||
timeout=$(($timeout+1))
|
||||
[ $timeout -gt 3 ] && { echo "warning: $app status is \"$service_status\" after stopping."; break; }
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
done
|
||||
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# start service
|
||||
function service_start
|
||||
{
|
||||
local app=$1
|
||||
[ ! -f ${systemd_path}/$app.service ] && return
|
||||
|
||||
#<EFBFBD>˴<EFBFBD>cd /<EFBFBD><EFBFBD>cd -<2D><><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>Ϊ<EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱĿ¼/tmp/selfgzxxxxxxxxɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#cd / and cd -can't be removed ,in order to deal with deleting the temporary directory/TMP/selfgzxxxxxxxx
|
||||
cd /
|
||||
systemctl start $app.service >/dev/null
|
||||
cd - >/dev/null
|
||||
timeout=0
|
||||
timeout=0
|
||||
while [ `systemctl status $app.service|grep -c active` -eq 0 ]
|
||||
do
|
||||
do
|
||||
sleep 1
|
||||
timeout=$(($timeout+1))
|
||||
if [ $timeout -gt 3 ]; then
|
||||
echo "$app can not be started"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# restart service
|
||||
function service_restart
|
||||
{
|
||||
local app=$1
|
||||
@ -392,17 +399,17 @@ function service_restart
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# according to the result of asking to stop the service
|
||||
function ask_service_stop
|
||||
{
|
||||
local app=$1
|
||||
[ ! -f ${systemd_path}/$app.service ] && return
|
||||
|
||||
read_bool "Stop service $app?" "yes"
|
||||
[ "$answer" == "yes" ] && systemctl stop $app.service >/dev/null
|
||||
[ "$answer" == "yes" ] && systemctl stop $app.service >/dev/null
|
||||
}
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# according to the result of asking to start the service
|
||||
function ask_service_start
|
||||
{
|
||||
local app=$1
|
||||
@ -427,7 +434,7 @@ function stop_service_all
|
||||
service_stop "daisy-orchestration"
|
||||
}
|
||||
|
||||
# <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>
|
||||
# start all the service automatically
|
||||
function start_service_all
|
||||
{
|
||||
service_start "mariadb"
|
||||
@ -441,4 +448,4 @@ function start_service_all
|
||||
}
|
||||
|
||||
_DAISY_COMMON_FUNC_FILE="common_func.sh"
|
||||
fi
|
||||
fi
|
||||
|
@ -1,7 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# <20>ṩyum<75><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
|
||||
|
||||
if [ ! "$_DAISY_YUM_FILE" ];then
|
||||
|
||||
function make_yum_server
|
||||
@ -11,14 +9,12 @@ function make_yum_server
|
||||
[ "$?" -ne 0 ] && { echo "createrepo in $path failed"; exit 1; }
|
||||
patch_path="/home/daisy_patch/"
|
||||
if [ -d $patch_path ];then
|
||||
#<23><><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>repodata<74><61><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>createrepo<70><6F><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
[ -d $patch_path/repodata ] && rm -rf $patch_path/repodata
|
||||
createrepo --update $patch_path &>/dev/null
|
||||
[ "$?" -ne 0 ] && { echo "createrepo in $patch_path failed"; exit 1; }
|
||||
fi
|
||||
}
|
||||
|
||||
# <20><><EFBFBD><EFBFBD>REPO<50>ͻ<EFBFBD><CDBB>˵<EFBFBD><CBB5>ļ<EFBFBD>
|
||||
function make_yum_client
|
||||
{
|
||||
path=`pwd`
|
||||
@ -56,6 +52,10 @@ function yum_set
|
||||
echo "creating yum repo, please wait for several seconds..."
|
||||
make_yum_server
|
||||
make_yum_client
|
||||
echo "creating epel yum repo, please wait for several seconds..."
|
||||
yum install epel-release
|
||||
echo "creating openstack mitaka yum repo, please wait for several seconds..."
|
||||
yum install centos-release-openstack-mitaka
|
||||
}
|
||||
|
||||
fi
|
||||
|
157
tools/setup/install/install_interface.sh
Executable file → Normal file
157
tools/setup/install/install_interface.sh
Executable file → Normal file
@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# <EFBFBD>ṩ<EFBFBD><EFBFBD>yum<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>صĹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
# provide yum related public functions and variables
|
||||
if [ ! "$_INSTALL_INTERFACE_FILE" ];then
|
||||
_INSTALL_INTERFACE_DIR=`pwd`
|
||||
cd $_INSTALL_INTERFACE_DIR/../common/
|
||||
@ -17,67 +17,73 @@ keystone_admin_token="e93e9abf42f84be48e0996e5bd44f096"
|
||||
daisy_install="/var/log/daisy/daisy_install"
|
||||
installdatefile=`date -d "today" +"%Y%m%d-%H%M%S"`
|
||||
install_logfile=$daisy_install/daisyinstall_$installdatefile.log
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
||||
#the contents of the output is displayed on the screen and output to the specified file
|
||||
function write_install_log
|
||||
{
|
||||
local promt="$1"
|
||||
echo -e "$promt"
|
||||
echo -e "`date -d today +"%Y-%m-%d %H:%M:%S"` $promt" >> $install_logfile
|
||||
}
|
||||
#<EFBFBD><EFBFBD>װ
|
||||
#install function
|
||||
function all_install
|
||||
{
|
||||
echo "*******************************************************************************"
|
||||
echo "daisy will installed ..."
|
||||
echo "daisy will installed ..."
|
||||
echo "*******************************************************************************"
|
||||
|
||||
|
||||
if [ ! -d "$daisy_install" ];then
|
||||
mkdir -p $daisy_install
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -f "$install_logfile" ];then
|
||||
touch $install_logfile
|
||||
fi
|
||||
fi
|
||||
|
||||
rm -rf /root/.my.cnf
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:can not rm of /root/.my.cnf file"; exit 1; }
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:can not rm of /root/.my.cnf file"; exit 1; }
|
||||
write_install_log "install fping rpm"
|
||||
install_rpm_by_yum "fping"
|
||||
|
||||
|
||||
write_install_log "install mariadb-galera-server rpm"
|
||||
install_rpm_by_yum "mariadb-galera-server"
|
||||
|
||||
|
||||
write_install_log "install mariadb rpm"
|
||||
install_rpm_by_yum "mariadb"
|
||||
|
||||
|
||||
write_install_log "install rabbitmq-server rpm"
|
||||
install_rpm_by_yum "rabbitmq-server"
|
||||
|
||||
|
||||
write_install_log "install keystone rpm"
|
||||
install_rpm_by_yum "openstack-keystone"
|
||||
|
||||
|
||||
write_install_log "install ironic rpm"
|
||||
install_rpm_by_yum "openstack-ironic-api openstack-ironic-common openstack-ironic-conductor python-ironicclient"
|
||||
|
||||
install_rpm_by_yum "openstack-ironic-api openstack-ironic-common openstack-ironic-conductor python-ironicclient"
|
||||
|
||||
write_install_log "install ironic-discoverd depend rpm"
|
||||
install_rpm_by_yum "python-flask"
|
||||
|
||||
write_install_log "install ironic-discoverd rpm"
|
||||
install_rpm_by_yum "openstack-ironic-discoverd python-ironic-discoverd"
|
||||
|
||||
install_rpm_by_daisy_yum "openstack-ironic-discoverd python-ironic-discoverd"
|
||||
|
||||
write_install_log "install daisy rpm"
|
||||
install_rpm_by_yum "daisy"
|
||||
|
||||
|
||||
write_install_log "install daisy dashboard rpm"
|
||||
install_rpm_by_yum "python-django-horizon-doc"
|
||||
install_rpm_by_daisy_yum "python-django-horizon-doc"
|
||||
install_rpm_by_yum "daisy-dashboard"
|
||||
|
||||
|
||||
write_install_log "install clustershell rpm"
|
||||
install_rpm_by_yum "clustershell"
|
||||
|
||||
if [ -f "/etc/zte-docker" ];then
|
||||
write_install_log "install pxe_docker_install rpm"
|
||||
install_rpm_by_yum pxe_docker_install
|
||||
else
|
||||
write_install_log "install pxe server rpm"
|
||||
install_rpm_by_yum pxe_server_install
|
||||
install_rpm_by_daisy_yum pxe_server_install
|
||||
fi
|
||||
|
||||
# <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69><70>ַ<EFBFBD><D6B7>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>daisy<73>û<EFBFBD><C3BB><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
#get management network IP address, and then update the database of Daisy user to the configuration file
|
||||
get_public_ip
|
||||
if [ -z $public_ip ];then
|
||||
write_install_log "Error:default gateway is not set!!!"
|
||||
@ -86,7 +92,7 @@ function all_install
|
||||
update_section_config "$daisy_file" database connection "mysql://daisy:daisy@$public_ip/$db_name?charset=utf8"
|
||||
config_keystone_local_setting
|
||||
fi
|
||||
|
||||
|
||||
systemctl restart openstack-keystone.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl restart openstack-keystone.service failed"; exit 1; }
|
||||
systemctl restart httpd.service
|
||||
@ -97,19 +103,17 @@ function all_install
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl start daisy-registry.service failed"; exit 1; }
|
||||
systemctl start mariadb.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl start mariadb.service failed"; exit 1; }
|
||||
|
||||
|
||||
|
||||
systemctl enable openstack-keystone.service >> $install_logfile 2>&1
|
||||
systemctl enable httpd.service >> $install_logfile 2>&1
|
||||
systemctl enable daisy-api.service >> $install_logfile 2>&1
|
||||
systemctl enable daisy-registry.service >> $install_logfile 2>&1
|
||||
systemctl enable mariadb.service >> $install_logfile 2>&1
|
||||
|
||||
|
||||
mysql_cmd="mysql"
|
||||
local mariadb_result=`systemctl is-active mariadb.service`
|
||||
if [ $? -eq 0 ];then
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>keystone<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
||||
# creat keystone datebase
|
||||
local create_keystone_sql="create database IF NOT EXISTS $keystone_db_name default charset=utf8"
|
||||
write_install_log "create $keystone_db_name database in mariadb"
|
||||
echo ${create_keystone_sql} | ${mysql_cmd}
|
||||
@ -117,8 +121,8 @@ function all_install
|
||||
write_install_log "Error:create $keystone_db_name database failed..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>daisy<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
||||
|
||||
# creat daisy datebase
|
||||
local create_db_sql="create database IF NOT EXISTS $db_name default charset=utf8"
|
||||
write_install_log "create $db_name database in mariadb"
|
||||
echo ${create_db_sql} | ${mysql_cmd}
|
||||
@ -126,8 +130,8 @@ function all_install
|
||||
write_install_log "Error:create $db_name database failed..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ironic<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
||||
|
||||
# creat ironic datebase
|
||||
local create_ironic_sql="create database IF NOT EXISTS $ironic_name default charset=utf8"
|
||||
write_install_log "create $ironic_name database in mariadb"
|
||||
echo ${create_ironic_sql} | ${mysql_cmd}
|
||||
@ -135,8 +139,8 @@ function all_install
|
||||
write_install_log "Error:create $ironic_name database failed..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>keystone<EFBFBD>û<EFBFBD>
|
||||
|
||||
# create keystone user
|
||||
write_install_log "create keystone user in mariadb"
|
||||
echo "grant all privileges on *.* to 'keystone'@'localhost' identified by 'keystone'" | ${mysql_cmd}
|
||||
if [ $? -ne 0 ];then
|
||||
@ -144,15 +148,15 @@ function all_install
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>daisy<EFBFBD>û<EFBFBD>
|
||||
# create daisy user
|
||||
write_install_log "create daisy user in mariadb"
|
||||
echo "grant all privileges on *.* to 'daisy'@'localhost' identified by 'daisy'" | ${mysql_cmd}
|
||||
if [ $? -ne 0 ];then
|
||||
write_install_log "Error:create daisy user failed..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ironic<EFBFBD>û<EFBFBD>
|
||||
|
||||
# create ironic user
|
||||
write_install_log "create ironic user in mariadb"
|
||||
echo "grant all privileges on ironic.* to 'ironic'@'localhost' identified by 'ironic'" | ${mysql_cmd}
|
||||
if [ $? -ne 0 ];then
|
||||
@ -160,46 +164,45 @@ function all_install
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD>keystone<EFBFBD><EFBFBD><EFBFBD>ݿ⸳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
|
||||
# give the host access to keystone database
|
||||
write_install_log "Give the host access to the keystone database"
|
||||
echo "grant all privileges on keystone.* to 'keystone'@'%' identified by 'keystone'"| ${mysql_cmd}
|
||||
if [ $? -ne 0 ];then
|
||||
write_install_log "Error:Give the host access to the keystone database failed..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD>daisy<EFBFBD><EFBFBD><EFBFBD>ݿ⸳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
|
||||
|
||||
# give the host access to daisy database
|
||||
write_install_log "Give the host access to the daisy database"
|
||||
echo "grant all privileges on daisy.* to 'daisy'@'%' identified by 'daisy'"| ${mysql_cmd}
|
||||
if [ $? -ne 0 ];then
|
||||
write_install_log "Error:Give the host access to the daisy database failed..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# <EFBFBD><EFBFBD>ironic<EFBFBD><EFBFBD><EFBFBD>ݿ⸳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
|
||||
|
||||
# give the host access to ironic database
|
||||
write_install_log "Give the host access to the ironic database"
|
||||
echo "grant all privileges on ironic.* to 'ironic'@'%' identified by 'ironic'"| ${mysql_cmd}
|
||||
if [ $? -ne 0 ];then
|
||||
write_install_log "Error:Give the host access to the ironic database failed..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
echo "flush privileges"| ${mysql_cmd}
|
||||
|
||||
else
|
||||
else
|
||||
write_install_log "Error:mariadb service is not active"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#<23><><EFBFBD><EFBFBD>keystone<6E><65><EFBFBD>ݿ<EFBFBD><DDBF>ı<EFBFBD>
|
||||
|
||||
#creat keystone datebase tables
|
||||
which keystone-manage >> $install_logfile 2>&1
|
||||
if [ "$?" == 0 ];then
|
||||
write_install_log "start keystone-manage db_sync..."
|
||||
write_install_log "start keystone-manage db_sync..."
|
||||
keystone-manage db_sync
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:keystone-manage db_sync command failed"; exit 1; }
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:keystone-manage db_sync command failed"; exit 1; }
|
||||
fi
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>horizon admin<EFBFBD>˻<EFBFBD>
|
||||
#creat horizon admin account
|
||||
export OS_SERVICE_TOKEN=$keystone_admin_token
|
||||
export OS_SERVICE_ENDPOINT=http://$public_ip:35357/v2.0
|
||||
keystone user-create --name=admin --pass=keystone >> $install_logfile 2>&1
|
||||
@ -220,67 +223,67 @@ function all_install
|
||||
fi
|
||||
keystone endpoint-create --service-id=$service_id --region=RegionOne --publicurl=http://$public_ip:5000/v2.0 --internalurl=http://$public_ip:5000/v2.0 --adminurl=http://$public_ip:35357/v2.0 >> $install_logfile 2>&1
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:keystone endpoint-create command failed"; exit 1; }
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>daisy<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>ı<EFBFBD>
|
||||
#creat daisy datebase tables
|
||||
which daisy-manage >> $install_logfile 2>&1
|
||||
if [ "$?" == 0 ];then
|
||||
write_install_log "start daisy-manage db_sync..."
|
||||
write_install_log "start daisy-manage db_sync..."
|
||||
daisy-manage db_sync
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:daisy-manage db_sync command failed"; exit 1; }
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:daisy-manage db_sync command failed"; exit 1; }
|
||||
fi
|
||||
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>rabbitmq<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
|
||||
#add rabbitmq related configuration
|
||||
config_rabbitmq_env
|
||||
config_rabbitmq_config
|
||||
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ironic<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
config_ironic "/etc/ironic/ironic.conf"
|
||||
config_rabbitmq_config
|
||||
|
||||
#Configure ironic related configuration items
|
||||
config_ironic "/etc/ironic/ironic.conf"
|
||||
config_ironic_discoverd "/etc/ironic-discoverd/discoverd.conf" "$public_ip"
|
||||
|
||||
#<EFBFBD><EFBFBD>clustershell<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
|
||||
#modify clustershell configuration
|
||||
clustershell_conf="/etc/clustershell/clush.conf"
|
||||
sed -i "s/connect_timeout:[[:space:]]*.*/connect_timeout: 360/g" $clustershell_conf
|
||||
sed -i "s/command_timeout:[[:space:]]*.*/command_timeout: 3600/g" $clustershell_conf
|
||||
|
||||
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ironic<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>ı<EFBFBD>
|
||||
|
||||
#creat ironic datebase tables
|
||||
which ironic-dbsync >> $install_logfile 2>&1
|
||||
if [ "$?" == 0 ];then
|
||||
write_install_log "start ironic-dbsync ..."
|
||||
write_install_log "start ironic-dbsync ..."
|
||||
ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema failed"; exit 1; }
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema failed"; exit 1; }
|
||||
fi
|
||||
|
||||
|
||||
systemctl restart rabbitmq-server.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl restart rabbitmq-server.service failed"; exit 1; }
|
||||
|
||||
|
||||
systemctl restart openstack-keystone.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl restart rabbitmq-server.service failed"; exit 1; }
|
||||
|
||||
systemctl restart openstack-ironic-api.service
|
||||
|
||||
systemctl restart openstack-ironic-api.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl restart openstack-ironic-api.service failed"; exit 1; }
|
||||
systemctl restart openstack-ironic-conductor.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl restart openstack-ironic-conductor.service failed"; exit 1; }
|
||||
systemctl restart openstack-ironic-discoverd.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl restart openstack-ironic-discoverd.service failed"; exit 1; }
|
||||
|
||||
|
||||
systemctl start daisy-orchestration.service
|
||||
[ "$?" -ne 0 ] && { write_install_log "Error:systemctl start daisy-orchestration.service failed"; exit 1; }
|
||||
|
||||
|
||||
systemctl enable daisy-orchestration.service >> $install_logfile 2>&1
|
||||
systemctl enable openstack-ironic-api.service >> $install_logfile 2>&1
|
||||
systemctl enable openstack-ironic-conductor.service >> $install_logfile 2>&1
|
||||
systemctl enable openstack-ironic-discoverd.service >> $install_logfile 2>&1
|
||||
|
||||
#daisy<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>
|
||||
|
||||
#init daisy
|
||||
daisy_init_func
|
||||
|
||||
|
||||
modify_sudoers /etc/sudoers requiretty
|
||||
|
||||
|
||||
daisyrc_admin "$public_ip"
|
||||
|
||||
|
||||
build_pxe_server "$public_ip" "$bind_port"
|
||||
|
||||
|
||||
config_get_node_info
|
||||
|
||||
|
||||
write_install_log "Daisy Install Successfull..."
|
||||
}
|
||||
_INSTALL_INTERFACE_FILE="install_interface.sh"
|
||||
|
Reference in New Issue
Block a user