[node-patches] Change in ovirt-node[master]: Find installer exceptions

rbarry at redhat.com rbarry at redhat.com
Mon Jun 16 14:50:17 UTC 2014


Ryan Barry has posted comments on this change.

Change subject: Find installer exceptions
......................................................................


Patch Set 2:

No, it's not enough to only import it one time.

The problem isn't in AugeasWrapper specifically, and may be very difficult to solve there.

It's in the python augeas codebase itself. The augeas object is instantiated with a slim FFI wrapper, and doesn't appear to have been created as a singleton, so when imported multiple times, it tries to dispose of nonexistent objects.

At any point where we may be calling down to the old codebase *and* instantiating augeaswrapper, we have multiple calls to augeas.Augeas(

If there's an extant reference, it's returned. So now ovirt.node.utils.AugeasWrapper().aug and ovirtnode.ovirtfunctions.aug are pointing to the same reference. And when the python runtime collapses to clean up garbage and unused references at exit, object.__del__ is called for both, and Augeas doesn't handle it gracefully.

The solution is to stop using the augeas utilities in the new codebase and the old codebase simultaneously if there's a chance both will be terminated at once, but that's infeasible until we can move off the old codebase (or unless we go through to catch every place ovirtfunctions.aug is being used and replace it with AugeasWrapper).

-- 
To view, visit http://gerrit.ovirt.org/27303
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ida10fd5ae68d2b8eececd58d154adf9d3042ff28
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-node
Gerrit-Branch: master
Gerrit-Owner: Ryan Barry <rbarry at redhat.com>
Gerrit-Reviewer: Fabian Deutsch <fabiand at fedoraproject.org>
Gerrit-Reviewer: Ryan Barry <rbarry at redhat.com>
Gerrit-Reviewer: automation at ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: No



More information about the node-patches mailing list