First, mpcli should never crash or fail to start based on a missing key in the configuration file.
mpcom should only require a single component section in the configuration file to start. All other configuration keys should have sensible defaults.Runtime code should detect missing keys.
I've fixed most of this problem in the SDK branch. The only key I know of with this problem now is the source_ip key.
Configuration access should to the extent possible operate such that the configuration object can be replaced with a two-level hash: the in operator should be used to check for membership, and access to values should always use the index [] operator. Specifically, config.getint("foo", "bar") should always be replaced by int(config['foo']['bar']).
This problem doesn't exist in the current SDK codebase.
First, mpcli should never crash or fail to start based on a missing key in the configuration file.
mpcom should only require a single component section in the configuration file to start. All other configuration keys should have sensible defaults.Runtime code should detect missing keys.
I've fixed most of this problem in the SDK branch. The only key I know of with this problem now is the source_ip key.
Configuration access should to the extent possible operate such that the configuration object can be replaced with a two-level hash: the in operator should be used to check for membership, and access to values should always use the index [] operator. Specifically, config.getint("foo", "bar") should always be replaced by int(config['foo']['bar']).
This problem doesn't exist in the current SDK codebase.