⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cib_suite.sh

📁 linux集群服务器软件代码包
💻 SH
📖 第 1 页 / 共 2 页
字号:
    </configuration>    <status/>  </cib></cib_fragment>"bump_3="<?xml version=\"1.0\"?><cib_fragment section=\"all\" generated_on=\"$test_node_3\">  <cib generated=\"true\" cib_feature_revision=\"1\" debug_source=\"handleCibMod\">    <configuration>      <crm_config/>      <nodes>        <node uname=\"$test_node_1\" description=\"test node: $test_node_1\" type=\"member\"/>        <node uname=\"$test_node_2\" description=\"test node: $test_node_2\" type=\"member\"/>      </nodes>      <resources/>      <constraints/>    </configuration>    <status/>  </cib></cib_fragment>"sync_from_1="<?xml version=\"1.0\"?><cib_fragment section=\"all\" generated_on=\"$test_node_1\">  <cib generated=\"true\" cib_feature_revision=\"1\" debug_source=\"handleCibMod\" epoche=\"2\">    <configuration>      <crm_config/>      <nodes>        <node uname=\"$test_node_1\" description=\"test node: $test_node_1\" type=\"member\"/>        <node uname=\"$test_node_2\" description=\"test node: $test_node_2\" type=\"member\"/>      </nodes>      <resources/>      <constraints/>    </configuration>    <status/>  </cib></cib_fragment>"sync_from_2="<?xml version=\"1.0\"?><cib_fragment section=\"all\" generated_on=\"$test_node_2\">  <cib generated=\"true\" cib_feature_revision=\"1\" debug_source=\"handleCibMod\" epoche=\"2\">    <configuration>      <crm_config/>      <nodes>        <node uname=\"$test_node_1\" description=\"test node: $test_node_1\" type=\"member\"/>        <node uname=\"$test_node_2\" description=\"test node: $test_node_2\" type=\"member\"/>      </nodes>      <resources/>      <constraints/>    </configuration>    <status/>  </cib></cib_fragment>"sync_from_3="<?xml version=\"1.0\"?><cib_fragment section=\"all\" generated_on=\"$test_node_3\">  <cib generated=\"true\" cib_feature_revision=\"1\" debug_source=\"handleCibMod\" epoche=\"2\">    <configuration>      <crm_config/>      <nodes>        <node uname=\"$test_node_1\" description=\"test node: $test_node_1\" type=\"member\"/>        <node uname=\"$test_node_2\" description=\"test node: $test_node_2\" type=\"member\"/>      </nodes>      <resources/>      <constraints/>    </configuration>    <status/>  </cib></cib_fragment>"# make *sure* theres nothing left over from last timecrm-cleanupfunction compare_cibs(){    cib_cmp_base=$1; shift    cib_cmp_host=$1; shift    cib_cmp_opts=$*    cib_cmp_output=${cib_cmp_base}.out    cib_cmp_expected=${cib_cmp_base}.exp    cib_cmp_failed=$test_dump_dir/test.txt    cib_cmp_diff_opts="--ignore-all-space -U 1 -u"        remote_cmd $CRMD_USER $cib_cmp_host "$HALIB_DIR/cibadmin -Q ${cib_cmp_opts}" > $cib_cmp_output    cts_assert "compare_cibs(): Could not perform query: opts=$cib_cmp_opts"        gres ' timestamp=\"[0123456789]*\"' "" ${cib_cmp_output}    gres ' id=\"[0123456789abcdef-]*\"' "" ${cib_cmp_output}    # this is the value stored in a variable named $cib_cmp_base    echo -e "${!cib_cmp_base}" > $cib_cmp_expected#    if [ "$create_mode" = "true" -a ! -f $cib_cmp_expected ]; then#	cp "$cib_cmp_output" "$cib_cmp_expected"#    fi        if [ -f $cib_cmp_expected ]; then	diff $cib_cmp_diff_opts -q $cib_cmp_expected $cib_cmp_output >/dev/null	rc=$?    fi    #    if [ "$create_mode" = "true" ]; then#	echo "Test $cib_cmp_base...	Created expected output" #    el    if [ ! -f $cib_cmp_expected ]; then	echo "==== Raw results for CIB test ($cib_cmp_base) ====" >> $cib_cmp_failed	cat $cib_cmp_output 2>/dev/null >> $cib_cmp_failed	cat $cib_cmp_output	    elif [ "$rc" = 0 ]; then	do_cmd echo "Test $cib_cmp_base...	Passed";    elif [ "$rc" = 1 ]; then	do_cmd echo "Test $cib_cmp_base...	* Failed";	diff $cib_cmp_diff_opts $cib_cmp_expected $cib_cmp_output 2>/dev/null >> $cib_cmp_failed	diff $cib_cmp_diff_opts $cib_cmp_expected $cib_cmp_output    else 	do_cmd echo "Test $cib_cmp_base...	Error (diff: $rc)";	do_cmd echo "==== Raw results for test ($cib_cmp_base) ====" >> $cib_cmp_failed	cat $cib_cmp_output 2>/dev/null >> $cib_cmp_failed	cat $cib_cmp_output    fi        rm $cib_cmp_output .gres.$cib_cmp_output $cib_cmp_expected    do_cts_assert $rc 0 "diff for $cib_cmp_base found differences"}#----do_cmd echo "wait for HA to start"crm_log_pos=$(stat -L -c %s $logfile)do_cmd remote_cmd $INIT_USER $test_node_1 $HALIB_DIR/heartbeat -M "2>&1 >/dev/null" &do_cmd remote_cmd $INIT_USER $test_node_2 $HALIB_DIR/heartbeat -M "2>&1 >/dev/null" &do_cmd remote_cmd $INIT_USER $test_node_3 $HALIB_DIR/heartbeat -M "2>&1 >/dev/null" &do_cmd ${testdir}/testutils.pl -l ${logfile} -p $crm_log_pos --search -a -m 3500 \    -s "${test_node_1} heartbeat(.*) info: Starting child client(.*)cib" \    -e "${test_node_1} heartbeat(.*)Client(.*)/cib \"respawning too fast" \    -s "${test_node_2} heartbeat(.*) info: Starting child client(.*)cib" \    -e "${test_node_2} heartbeat(.*)Client(.*)/cib \"respawning too fast" \    -s "${test_node_3} heartbeat(.*) info: Starting child client(.*)cib" \    -e "${test_node_3} heartbeat(.*)Client(.*)/cib \"respawning too fast"cts_assert "Startup of Heartbeat on ${test_node_1}, ${test_node_2} and ${test_node_3} failed."#----do_cmd echo "is master instance?"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -M"do_cts_assert $? 35 "CIB service on $test_node_1 should not be in master mode by default"#----do_cmd echo "local query"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -Q -l"cts_assert "Could not query local CIB service on $test_node_1"#----do_cmd echo "queries with hostname"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -Q -h $test_node_2"cts_assert "Could not query CIB service on $test_node_2 from $test_node_1"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -Q -l -h $test_node_1"cts_assert "Could not query CIB service on $test_node_1 from $test_node_1"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -Q -h $test_node_1"cts_assert "Could not query CIB service on $test_node_1 from $test_node_1 without -l flag"#----do_cmd echo "make sure all instances are slaves"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -r"cts_assert "Could not set CIB services to slaves"#----do_cmd echo "make local the master instance"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -w"cts_assert "Could not set CIB service on $test_node_1 to master"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -M"cts_assert "Could not set CIB service on $test_node_1 to master"#----do_cmd echo "erase CIB contents and sync"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -E"cts_assert "Could not erase CIB contents"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -S"cts_assert "Could not sync CIB to all nodes"#----do_cmd echo "verify the CIB contents"compare_cibs erase_sync_1 $test_node_1 -lcompare_cibs erase_sync_2 $test_node_1 -h $test_node_2compare_cibs erase_sync_3 $test_node_1 -l -h $test_node_3#----do_cmd echo "make some nodes in the CIB"do_cmd make_node $test_node_1 $test_node_1 "member"cts_assert "Could not create $test_node_1"do_cmd make_node $test_node_1 $test_node_2 "member"cts_assert "Could not create $test_node_2"#----do_cmd echo "verify the CIB contents"compare_cibs create_1 $test_node_1 -lcompare_cibs create_2 $test_node_2 -lcompare_cibs create_3 $test_node_3 -l#----do_cmd make_node_local $test_node_1 $test_node_3 "member"cts_assert "Could not create $test_node_3 locally"#----do_cmd echo "verify the CIB contents on all nodes"compare_cibs create_local_1 $test_node_1 -lcompare_cibs create_local_2 $test_node_2 -lcompare_cibs create_local_3 $test_node_3 -l#----do_cmd echo "make all slaves"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -r"cts_assert "Could not set CIB services to slaves"do_cmd echo "make node2 master"do_cmd remote_cmd $CRMD_USER $test_node_2 "$HALIB_DIR/cibadmin -w"cts_assert "Could not set CIB service on $test_node_1 to master"#----do_cmd echo "bump master twice (so we can use it in a sync later)"#----do_cmd remote_cmd $CRMD_USER $test_node_2 "$HALIB_DIR/cibadmin -B"cts_assert "Could not perform bump on $test_node_2"do_cmd echo "verify the CIB contents on all nodes"compare_cibs bump_1 $test_node_1 -lcompare_cibs bump_2 $test_node_2 -lcompare_cibs bump_3 $test_node_3 -l#----do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -B"cts_assert "Could not perform bump on $test_node_2 via $test_node_1"do_cmd echo "verify the CIB contents on all nodes"compare_cibs bump_remote_1 $test_node_1 -lcompare_cibs bump_remote_2 $test_node_2 -lcompare_cibs bump_remote_3 $test_node_3 -l#----do_cmd echo "make all slaves"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -r"cts_assert "Could not set CIB services to slaves"do_cmd echo "make node1 master"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -w"cts_assert "Could not set CIB service on $test_node_1 to master"#----do_cmd echo "sync from node2"do_cmd remote_cmd $CRMD_USER $test_node_1 "$HALIB_DIR/cibadmin -S -h $test_node_2"cts_assert "Could not sync from $test_node_2"#----do_cmd echo "verify the CIB contents on all nodes"compare_cibs sync_from_1 $test_node_1 -lcompare_cibs sync_from_2 $test_node_2 -lcompare_cibs sync_from_3 $test_node_3 -l#----do_cmd remote_cmd $CRMD_USER $test_node_2 "$HALIB_DIR/cibadmin -B -l"cts_assert "Could not perform local bump on $test_node_2"do_cmd echo "verify the CIB contents on all nodes"compare_cibs bump_local_1 $test_node_1 -lcompare_cibs bump_local_2 $test_node_2 -lcompare_cibs bump_local_3 $test_node_3 -lecho "test: PASSED"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -