Esempio n. 1
0
$ops[$skey[2]] = OP_SERV_ADD;
echo_color("multi service, add two", CYAN);
$ops[$skey[3]] = OP_SERV_ADD;
$ops[$skey[4]] = OP_SERV_ADD;
service_operation($ops, $history_ops, __LINE__);
echo_color("[-- register to gray node: BEGIN --]", BROWN);
assert(0 === $qzk->nodeSet("{$prefix}{$gray_in_path}", $gray_in_val));
assert(0 === $qzk->nodeSet("{$prefix}{$gray_out_path}", $gray_out_val));
QConf::getConf($gray_in_path);
QConf::getConf($gray_out_path);
echo_color("[-- register to gray node: END --]", BROWN);
echo_color("current machine in gray process and commit", CYAN);
echo_color("[==BEGIN==============================]", GREEN);
$machines = array($hostname);
$nodes = array("{$prefix}{$gray_in_path}" => "value_in_new");
$gray_id = $qzk->grayBegin($nodes, $machines);
assert(NULL != $gray_id);
sleep($waiting_time);
//node in gray process
$in_val = QConf::getConf($gray_in_path);
var_dump($in_val);
print_info($in_val == "value_in_new", __LINE__);
print_check_script(TRUE === check_script_result($gray_in_path, $idc, "2", $waiting_time + 2), __LINE__);
//check script execute
//node out of gray process
$out_val = QConf::getConf($gray_out_path);
var_dump($out_val);
print_info($out_val == $gray_out_val, __LINE__);
//commit
assert(0 === $qzk->grayCommit($gray_id));
sleep($waiting_time);
Esempio n. 2
0
foreach ($children as $c_key => $c_val) {
    assert(0 === $zk->nodeSet("{$parent_path}/{$c_key}", $c_val));
}
$children["child2"] = "1";
assert($children === $zk->listWithValue($parent_path));
assert(array_keys($children) === $zk->list($parent_path));
//gray rollback
$gray_nodes = array("qconf_manager/gray/1" => "value1", "/qconf_manager/gray/2/" => "value2", "qconf_manager/gray/3/" => "value3", "qconf_manager/gray/4" => "value4", "qconf_manager/gray/5" => "value5");
foreach ($gray_nodes as $path => $val) {
    assert(0 === $zk->nodeSet("{$path}", "value"));
}
$machines = array("HelloDawndeMacBook-Pro.local", "HelloDawndeMacBook-Pro.local1");
$gray_empty = array();
$gray_noexit_node = array("qconf_manager/gray/1" => "value1", "/qconf_manager/gray/2/" => "value2", "qconf_manager/gray/3/" => "value3", "qconf_manager/gray/6" => "value6");
$gray_index_key = array("qconf_manager/gray/1", "/qconf_manager/gray/2/", "qconf_manager/gray/3/", "qconf_manager/gray/3");
$gray_id = $zk->grayBegin($gray_empty, $machines);
assert(NULL === $gray_id);
$gray_id = $zk->grayBegin($gray_noexit_node, $machines);
assert(NULL === $gray_id);
$gray_id = $zk->grayBegin($gray_index_key, $machines);
assert(NULL === $gray_id);
$machines_empty = array();
$machines_string = array("qconf_manager/gray/1" => "1", "/qconf_manager/gray/2/" => "2");
$gray_id = $zk->grayBegin($gray_nodes, $machines_empty);
assert(NULL === $gray_id);
$gray_id = $zk->grayBegin($gray_nodes, $machines_string);
assert(NULL === $gray_id);
$gray_id = $zk->grayBegin($gray_nodes, $machines);
assert(NULL != $gray_id);
$gray_id_tmp = $zk->grayBegin($gray_nodes, $machines);
//machine already in gray