diff options
author | alexv-smirnov <[email protected]> | 2023-06-13 11:05:01 +0300 |
---|---|---|
committer | alexv-smirnov <[email protected]> | 2023-06-13 11:05:01 +0300 |
commit | bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch) | |
tree | 1d1df72c0541a59a81439842f46d95396d3e7189 /build/plugins/yabs_generate_conf.py | |
parent | 8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff) |
add ymake export to ydb
Diffstat (limited to 'build/plugins/yabs_generate_conf.py')
-rw-r--r-- | build/plugins/yabs_generate_conf.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/build/plugins/yabs_generate_conf.py b/build/plugins/yabs_generate_conf.py new file mode 100644 index 00000000000..ad416aaa0bc --- /dev/null +++ b/build/plugins/yabs_generate_conf.py @@ -0,0 +1,62 @@ +from _common import sort_by_keywords + + +def get_or_default(kv, name, default): + if name in kv: + return kv[name][0] + return default + + +def onyabs_generate_conf(unit, *args): + flat, kv = sort_by_keywords({'MODE': 1, 'SCRIPT': 1, 'SRC': 1, 'TOOL': 1, 'CONF_DIR': 1, 'DEST': 1}, args) + src = get_or_default(kv, 'SRC', 'yabs/server/phantom') + mode = get_or_default(kv, 'MODE', 'production') + + script = src + "/" + get_or_default(kv, 'SCRIPT', 'mkconf.py') + conf = src + "/" + get_or_default(kv, 'CONF_DIR', 'conf-tmpl') + tool = src + "/" + get_or_default(kv, 'TOOL', 'yabs_conf') + + for name in flat: + filename = "/".join([conf, name]) + unit.onpython( + [ + script, + "--cluster-conf-binary", + tool, + "--mode", + mode, + "--dest-dir", + "${BINDIR}", + filename, + "IN", + filename, + "OUT_NOAUTO", + "${BINDIR}/%s" % name, + "TOOL", + tool, + ] + ) + + +def onyabs_generate_phantom_conf_patch(unit, *args): + flat, kv = sort_by_keywords({'SRC': 1, 'DST': 1}, args) + src = '${ARCADIA_BUILD_ROOT}/' + get_or_default(kv, 'SRC', 'yabs/server/phantom/conf') + dst = '${ARCADIA_BUILD_ROOT}/' + get_or_default(kv, 'DST', 'yabs/server/phantom/conf-test') + for f in flat: + lhs = src + '/' + f + rhs = dst + '/' + f + unit.onpython(['mkdiff.py', lhs, rhs, 'IN', lhs, 'IN', rhs, 'STDOUT', f + ".patch"]) + + +def onyabs_generate_phantom_conf_test_check(unit, *args): + yabs_path = args[0] + for name in args[1:]: + unit.onpython( + """ + build/scripts/wrapper.py mkcheckconf.sh ${{ARCADIA_BUILD_ROOT}}/{yabs_path}/phantom/conf-test/yabs-{role}.conf yabs-check-{role}.conf + IN mkcheckconf.sh ${{ARCADIA_BUILD_ROOT}}/{yabs_path}/phantom/conf-test/yabs-{role}.conf + OUT yabs-check-{role}.conf +""".format( + yabs_path=yabs_path, role=name + ).split() # noqa + ) |