
On Sat, Jan 23, 2016 at 7:11 PM, Yaniv Bronheim <ybronhei@redhat.com> wrote:
any updates about that?
https://gerrit.ovirt.org/#/c/52357/ - this can be verified and get it
Should wait for execCmd (it should use the new terminating() context manager to ensure process is killed on errors).
https://gerrit.ovirt.org/#/c/52349/ - got tiny comment about unneeded kill call
Not ready yet
https://gerrit.ovirt.org/51407 - Nir can merge
Waiting for Piotr to ack the tests (https://gerrit.ovirt.org/52362)
Nir - please review https://gerrit.ovirt.org/52646 or take over
Should wait for execCmd
and update soon what the plans regarding the async usages in vdsm/storage/mount.py vdsm/storage/iscsiadm.py vdsm/storage/imageSharing.py vdsm/storage/hba.py vdsm/storage/blockSD.py
I will not have time for this at least after devconf, and even after devconf we are busy with spm removal (probably not for 4.0) and ovirt-image (for 4.0). I will add this to the storage todo list for now.
and v2v.py
v2v need to read only from stdout. If v2v is not expected to write more then 64k errors to stderr (highly unlikely), we don't need to use AsyncProc. Can create the process like we do in qemuimg.py, and read from the process stdout. If we want to handle the unlikely case of huge error output, we can use CommandStream to collect the output from both streams, but we will have to the change the output parser to be driven by output callback, instead of reading lines from stdout.
I prefer not to wait for that too long - we can remove the deathSignal usages there, and continue with https://gerrit.ovirt.org/#/c/48384
I think we should continue with other Python 3 porting efforts until we can eliminate cpopen non-standard apis.
Please also check if you can take over the re-implementation of async proc (https://gerrit.ovirt.org/49441) as you (storage operations) are the main and only user of it, and it should fit Popen proc.
I think the current patch does not need too much work - only implement wait with a timeout. What about the subproces32 project you found? it looks like the right direction: https://pypi.python.org/pypi/subprocess32/ The author is Python core developer: https://github.com/python/cpython/commits?author=gpshead We can drop cpopen, AsyncProc, AsyncProcOperation (used only in iscsi), and use this module to get Python 3 features and reliability, and be compatible with both Python 3 (fedora 24?) and 2 (el 7.x).
On Mon, Jan 18, 2016 at 3:12 PM, Francesco Romani <fromani@redhat.com> wrote:
----- Original Message -----
From: "Yaniv Bronheim" <ybronhei@redhat.com> To: "devel" <devel@ovirt.org>, "Shahar Havivi" <shavivi@redhat.com>, "Francesco Romani" <fromani@redhat.com>, "Nir Soffer" <nsoffer@redhat.com> Sent: Monday, January 18, 2016 11:01:10 AM Subject: Ensure processes death by terminating decorator - https://gerrit.ovirt.org/51407
Hi guys,
Following the work to omit deathSignal attribute from our cpopen implementation we posted https://gerrit.ovirt.org/51407 which is ready for use. Currently locations that should use it are: (I wrote above who I expect to check the area and post a patch for that - we'll discuss it during next vdsm-sync to follow the work)
fromani: vdsm_hooks/checkimages/before_vm_start.py - in checkImage - the code looks ok, but check if not better to use the terminating decorator.. I think it will be nicer
Fair enough, posted https://gerrit.ovirt.org/52349
some places define deathSignal for no reason, the call is sync - please remove those places: [...] fromani: lib/vdsm/virtsparsify.py
Done in https://gerrit.ovirt.org/52357
-- Francesco Romani RedHat Engineering Virtualization R & D Phone: 8261328 IRC: fromani
-- Yaniv Bronhaim.