Skip to content
Commit 99d52ec7 authored by Adrian Reber's avatar Adrian Reber Committed by Andrei Vagin
Browse files

cr-service: add support for configuration files in RPC mode



With this commit it is possible to specify a configuration file via
RPC. In python this would look like this:

 req.opts.config_file = 'path/to/config_file'

With this commit CRIU's configuration file handling works like this:

 * apply_config(global_conf)
 * apply_config(user_conf)
 * apply_config(environment variable)
 * apply_config(config file via CLI)
 * apply_rpc_options() or apply_cli_options()
 * apply_config(rpc_conf) (only for RPC)

This is at least (probably) the third iteration of the RPC configuration
file code and it still is complicated.

Most CRIU options are correctly used by just writing the new values to
the corresponding fields of the opts structure. For the RPC case there
are, however, a few options (output, work_dir, imgs_dir) which need
special handling.

So the RPC configuration file is parsed twice. First time to get output,
work_dir and imgs_dir. Once those are read and correctly used, the RPC
code overwrites all options again by values set by the RPC interface. At
the end the RPC configuration file is read a second time and finally
overwrites the values set via RPC.

Signed-off-by: default avatarAdrian Reber <areber@redhat.com>
Signed-off-by: default avatarAndrei Vagin <avagin@virtuozzo.com>
parent dabe778c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment