process: pipe() can raise exception

Previously the failed start of a service was not detected n el6, because
the fallback of check_output - pipe() - didn't throw exceptions on
failed starts. This is now fixed, pipe() is throwing (if asked)
exceptions to signla if th ecmd failed (the service didi not start).

Change-Id: I588d1b97d31553a1aaf05c0cd0462b118369179d
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=991375
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
ui: Rework validation and exception handling

Previously the actual widget of a toolkit was responsible to call and
handle the validation stuff. The pros of this approach were that e.g.
handling simple validation errors was easy and could be directly
implemented by the widget. Problems arose with the introduction with
e.g. the ConfirmedEntry (which is a complex ui.Element in the UI
abstraktion layer). With the introduction of these complex ui.Elements
we also wanted - and needed - to pull the validation and exception
handling into the UI abstraction layer. This is necessary because now it
can be controlle din the UI abstraction layer how invalid data shall be
handled.

Change-Id: I4542a2641c6ce6f9f9126db608abca57a4ca453b
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
installer: Add traceback for exceptions in thread

Previously it was only reported that an exception happened in the
installer thread, but now traceback was logged. Now also a traceback is
logged to help debugging.

Change-Id: I957d165e552c2ed4d8629e3c1a49804c8f225563
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
log: Add a log module

Previously the log configuration wasn't consistent. This was due to the
fact that the order of imports determined what class got what logging
configuration. Now a central module handles the configuration and logger
initialization to prevent some bugs.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=991267
Change-Id: Ica7d81cc9ab73acc4feaab474db3c8ac4258fc42
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
add ovirt/node/log.py to makefile

fixes merged patch http://gerrit.ovirt.org/#/c/18927/

Change-Id: If44d06a9ad4ca03145553ffc2563d12f12ae3b31
Signed-off-by: Joey Boggs <jboggs@redhat.com>
log: Workaround missing getChild in python 2.6

Logger.getChild() is missing in python 2.6, so we need to work around
this.
Done by emulating getChild.

Change-Id: Ie22fb60025a8de54d9044281fe964c081bb6ebaf
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1013461
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
Make "less" work properly

Make "less" work instead of spewing escape codes.

Change-Id: I6028520eea0d19f777958dfd07f29c87c428500a
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=981145
Signed-off-by: Ryan Barry <rbarry@redhat.com>
fix lldpad service startup

needs writable location in /var/lib/lldpad

Change-Id: I3279532f3ff56a58091fec719f3f3414163ec934
Signed-off-by: Mike Burns <mburns@redhat.com>
ui: Change disabled color to red

The console (linux console) doesn't differentiate between light and dark
gray.
Now red is used to signal a disabled widget.

Change-Id: I38ade5c4e04647c7794d36bc575e94819068ecb1
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1002357
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1002126
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
installer: Use button for custom devices

Previously custom devices could be added by selecting a specific entry
in the table. But this became problematic with the parallel validation
changes.
The functionality is now pulled into a button to simplify the code.

Change-Id: I2a1fcf270ca2246d1c4d521f0d54b7e454276ff5
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
urwid: Only show Label if table label is given

This saves on row at runtime, when no label is given.

Change-Id: I25f978a42b78a1e82f46c3a1a8ca2964ab38e631
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
ui: No on_change on Table(multi) focus change

Previously an on_change event (which triggered an on_save() call) was
emitted when the focus in a Table with multiple-options changed from one
focus to the next. But this behaviour was incorrect.
NodePlugin.on_save() shall only be called when the data model change, so
when the user actualy changes data e.g. selects another entry or
deselects one.
The on_change is now only called - in a user with multi=True - when the
user selects or deselects an entry.
To capture focus shifts/changing entries the Table.on_change signals has
to be used directly.

Change-Id: Ic6d9fc2ca9dbcbb4ee009ebc3b7e342a9e44c66c
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>