Created
January 28, 2019 17:33
-
-
Save zhouqiang-cl/59eda0e7aa31d7911e1c9b10bc99a5d1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// manager hold status | |
// groovy hold stage | |
def cfg = [:] | |
cfg["type"] = "dm-cluster" | |
cfg["size"] = {"tikv":{"size":3,"version":"111"}, | |
"tidb":{"size":1,"version":"x"}, | |
"pd":{"size":1,"version":"x"}, | |
"mysql":{"size":2,"version":"y"}, | |
"dm":{"version":"z"}} | |
def cat = new Cat(cfg) // Cat is an function, type specify what kind of cat should be start | |
def monitor = new Monitor() // when script is quit, monitor will quit | |
monitor.add_method(custom_montor_xxx) | |
stage("prepare") { | |
cat.Start() // Start will start cat and fill cat field | |
monitor.add_item(cat) | |
} | |
prepare = new Prepare(cat, params) | |
prepare_pod = new Pod(prepare) | |
ddl = new Ddl(cat.service_ip, params1) | |
ddl_pod = new Pod(ddl) | |
checker = new Checker(cat.service_ip, params2) | |
checker_pod = new Pod(checker) | |
scale = new Scale(cat, params3) // scale's change will refect to cat | |
scale_pod = new Pod(scale) | |
stage("running") { | |
prepare_pod.Start(block=True) // will wait prepare finished | |
ddl_pod.Start() | |
checker.Start() | |
sleep(3600) | |
for() { | |
scale.RemoveTiKV() | |
ddl.PauseCreateDDL() | |
sleep(60) | |
err = checker.Check() | |
if err { | |
status = "failed" | |
break | |
} | |
ddl.ResumeCreateDDL() | |
scale.AddTiKV() | |
} | |
} | |
stage("finish") { | |
pod.Destory() | |
cat.Destory() | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment