кластера, через instances.yml и переменные окружения передается ряд переменных, которые я потом забираю через cartridge .argparse.
Все работает, но возникла заминка при настройке интеграционного тестирования. Там я пытаюсь передавать переменные серверам через параметры env и args. env срабатывают, а args где-то теряются при запуске, и до cartridge.argparse не доходят. Я стал всё подавать через env, но это выглядит немного как хак. Вот пример кода:
local env = {
TARANTOOL_ABC = ‘def'
}
local args = {foo = 'bar’}
helper.cluster = cartridge_helpers.Cluster:new({
server_command = shared.server_command, -- path_to_init.lua
datadir = shared.datadir,
use_vshard = true,
replicasets = {
{
alias = 'api',
uuid = cartridge_helpers.uuid('b'),
roles = {'api'},
servers = {{ instance_uuid = cartridge_helpers.uuid('b', 1), env = env, args = args }},
},
{
alias = 's1',
uuid = cartridge_helpers.uuid('a'),
roles = {'storage'},
servers = {{ instance_uuid = cartridge_helpers.uuid('a', 1), env = env, args = args }},
},
},
})
Это так и должно происходить или ошибка?
Тарантул 2.3, картридж 2.0, но и на предыдущих версиях было так-же.
args = {'--foo', 'bar'} - это должен быть массив
а что вы передаете через переменные окружения? какие параметры?
Обсуждают сегодня