On Mon, 2010-11-15 at 17:31 +0100, Denys Vlasenko wrote:
Here is what we discussed today. If you want to discuss some
topic(s) further, reply to this mail, ONE TOPIC per reply
(otherwise it will be difficult to track topics)
Regarding better configurability and ability to learn about
and override some settings from the client side:
* implement .conf description files and event description files
- see other minidoc
Minidoc follows:
How to configure event processing?
Via command-line options in abrt_event.conf:
EVENT=report analyzer=CCpp abrt-action-print -o /var/log/abrt.log
Via config file:
EVENT=report_Bz1 abrt-action-bugzilla -c /etc/abrt/plugins/Bugzilla1.conf
EVENT=report_Bz2 abrt-action-bugzilla -c /etc/abrt/plugins/Bugzilla2.conf
Using env overrides:
EVENT=report_Bz1 abrt-action-bugzilla -e Bugzilla1
EVENT=report_Bz2 abrt-action-bugzilla -e Bugzilla2
abrt-action-bugzilla will check $BugzillaN_PARAM environment variables.
They can be supplied by client.
Currently we do this, but without -e, and env var name prefix is fixed
in the code (for example, always "Bugzilla" for abrt-action-bugzilla).
Combined two previous:
EVENT=report_Bz1 abrt-action-bugzilla -e Bugzilla1 -c /etc/abrt/plugins/Bugzilla1.conf
EVENT=report_Bz2 abrt-action-bugzilla -e Bugzilla2 -c /etc/abrt/plugins/Bugzilla2.conf
This allows client to figure out which settings are used by default
(by reading BugzillaN.conf), check them ("does Login parameter exist?")
and override exactly them by using correct env var name prefix.
Currently we have a problem: the env var name prefix is the same for
both invocations, and thus they cannot be overridden *differently*.
How this last approach looks from client's point of view:
Client sees many /etc/abrt/plugins/*.conf and corresponding *.xml (?)
files. When it wants to process an event EV, it overrides some of values
/etc/abrt/plugins/FOO.conf by setting $FOO_name=value; then runs actions
as defined in abrt_event.conf.
How it knows which FOO.conf are relevant for event EV? Another *.xml
file for that??
(Note on current git: it has only /etc/abrt/plugins/*.conf files.
This has a problem that there is no information which parameters
are, say, required, required and must be nonempty,
must be numeric, etc... the only info .conf files currently provide
is that if there is some parameter, then it is obviously exists.)
--
vda