Re: Automatic ABI checks for new package updates in bodhi using taskotron

2016-04-21 Thread Kamil Paral
> Thanks for the quick review. I have addressed review comments and added new
> diff at https://phab.qadevel.cloud.fedoraproject.org/D817?id=2081 . 

Thanks, looks good. I have no further concerns regarding the task code.

> I am not
> sure if I updated diff in right way but this is what I ended up by following
> option "Update diff" available in right side :)

Whatever works. Phabricator is not completely suited for reviewing patches from 
unknown projects, so it can be a bit cumbersome. But I needed a place where I 
can add comments to any line of the script (I think it's not possible to do on 
github). If we need to review any further changes, we can use Phab or github, 
doesn't matter.
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/qa-devel@lists.fedoraproject.org


Re: Automatic ABI checks for new package updates in bodhi using taskotron

2016-04-21 Thread Kamil Paral
> Hello Kamil,
> 
> Sorry for replying late.  I subscribed to this list, but for a reason the
> emails are still not being delivered to me.  I clicked on some more buttons
> in the interface right now, so we'll see.  In the mean time, I am using the
> web interface to reply, so please forgive the awkward formatting that might
> come out of this.

Hello Dodji, welcome.

> I think the test systems must have that kind of amount of memory.  For most
> packages, the memory consumption is reasonable.  But for some packages where
> the combination of ELF binary size and uncompressed debug info size is big,
> then, well, the tool is going to require a lot of memory.  For instance, it
> takes 13+GB of memory to compare the ABI of two instances of the libjvm.so
> library.

I've read the backlog of your discussion with tflink, but I'm not sure what the 
conclusion is. I believe we can't assign 15GB RAM to all our test VMs (and we 
can't tie a specific task to a specific set of VMs at the moment). So I guess 
we will increase our test VMs memory to some "reasonable" amount and let the 
few extremely large packages crash with OOM. (That reminds me we should make 
sure to disable swap in VMs, otherwise that would kill the host). Do you have 
any advice what this "reasonable" amount of RAM should be? 4 GB? 6 GB? So that 
95% of tasks work OK, and just the extreme ones crash. We can then add those to 
a blacklist.

Speaking of lists, you and Tim were mentioning white/blacklists, also critpath 
set. So what is the ideal set of packages we should run on initially? All 
packages? Only critpath packages? Only libraries included in critpath? In case 
we should run just on libraries, any good recommendation how to recognize that 
(better than matching "lib*" in package name)? We would need to make the 
decision without downloading the package, but I guess we could query koji or 
repo metadata if necessary.

We will need to implement white/blacklisting, ideally I'd like you to have the 
control over it, not us (so e.g. defining that in task.yaml formula). We can 
probably implement critpath support (recognizing what is in critpath and what 
is not), I'm sure it will be needed in other tasks in the future as well.

Kamil
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/qa-devel@lists.fedoraproject.org


Re: Automatic ABI checks for new package updates in bodhi using taskotron

2016-04-21 Thread Sinny Kumari
On Thu, Apr 21, 2016 at 8:27 PM, Kamil Paral  wrote:
>> Hello Kamil,
>>
>> Sorry for replying late.  I subscribed to this list, but for a reason the
>> emails are still not being delivered to me.  I clicked on some more buttons
>> in the interface right now, so we'll see.  In the mean time, I am using the
>> web interface to reply, so please forgive the awkward formatting that might
>> come out of this.
>
> Hello Dodji, welcome.
>
>> I think the test systems must have that kind of amount of memory.  For most
>> packages, the memory consumption is reasonable.  But for some packages where
>> the combination of ELF binary size and uncompressed debug info size is big,
>> then, well, the tool is going to require a lot of memory.  For instance, it
>> takes 13+GB of memory to compare the ABI of two instances of the libjvm.so
>> library.
>
> I've read the backlog of your discussion with tflink, but I'm not sure what 
> the conclusion is. I believe we can't assign 15GB RAM to all our test VMs 
> (and we can't tie a specific task to a specific set of VMs at the moment). So 
> I guess we will increase our test VMs memory to some "reasonable" amount and 
> let the few extremely large packages crash with OOM. (That reminds me we 
> should make sure to disable swap in VMs, otherwise that would kill the host). 
> Do you have any advice what this "reasonable" amount of RAM should be? 4 GB? 
> 6 GB? So that 95% of tasks work OK, and just the extreme ones crash. We can 
> then add those to a blacklist.
>
> Speaking of lists, you and Tim were mentioning white/blacklists, also 
> critpath set. So what is the ideal set of packages we should run on 
> initially? All packages? Only critpath packages? Only libraries included in 
> critpath? In case we should run just on libraries, any good recommendation 
> how to recognize that (better than matching "lib*" in package name)? We would 
> need to make the decision without downloading the package, but I guess we 
> could query koji or repo metadata if necessary.

With latest commit [1] in libabigail taskotron task, ABI comparison
will occur only on shared libraries because we call abipkgdiff with
--dso-only option. So, if a package doesn't contains any library file,
it won't run abi checks on files available in package.There is a
related bug[2] which has already been fixed and will be available in
next libabigail release. So, there is no need to look specifically for
lib* package. Also, packages providing libraries may not start/contain
*lib* (e.g. elfutils) in its name.

So, let's say we initially start with packages available in
critpath[3], then we don't have to worry whether a package provides
any shared library or not. Our main concern would be which library in
any of the critpath package consumes more memory (usage of memory is
greater than available in spawned VM).

[1] 
https://github.com/sinnykumari/task-libabigail/commit/752ace2c74b2ccc5aa37a3b6fcaa10e18d4d7cba#diff-70856293f092405ffacb0091cc57b0acR7
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=19961
[3] https://admin.fedoraproject.org/pkgdb/api/critpath
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/qa-devel@lists.fedoraproject.org