Re: Possible QA Devel Projects for GSoC 2014

2014-03-18 Thread Tim Flink
On Tue, 11 Mar 2014 07:52:06 -0400 (EDT)
Kamil Paral kpa...@redhat.com wrote:

   Well, are we sure now how exactly the client setup process will be
   hooked into taskotron or its underlying tools?
  
  I'm not exactly sure how this will work, either. It's going to
  depend on what we end up using for graphical testing, what
  openstack is capable of, what cloud resources we have access to and
  what the cloud SIG ends up needing for their testing.
  
   Are we committed to using buildbot, or might it change?
  
  I don't really see how this is relevant. Can you elaborate on how
  using buildbot or not would factor in here?
 
 Hmm. In AutoQA, we used Autotest for managing test clients. Any
 disposable client support would most probably needed some support in
 Autotest. I assumed it's the same for Buildbot. Instead of using a
 pre-defined machine, it will need to be able to say you there,
 create me a machine matching these requirements; zzz; thank you.

There are several ways that we could go about implementing disposable
clients. Buildbot already has some support for ephemeral slaves using
OpenStack but I've not spent any time with it yet so I can't speak to
how well it would work for our needs.

The only potential problem I see with openstack is that I'm not sure we
can do graphical testing with openstack instances (ie, direct access
to the VNC interface or through libvirt). We'd have to investigate that
to be sure, though.

   So, two different systems (i.e. two different databases)
   displayed in a single web frontend, right? I guess it makes sense.
  
  Yeah, that's what I had in mind, anyways.
  
  Since student registration has started, I'd like to get our proposed
  ideas in the wiki soon. The question of whether any of these
  projects would be worth distracting folks from other dev/testing
  work remains - any thoughts on that front?
 
 So far it seems you're the only candidate for mentoring, you it's
 probably up to your decision and past experience. Of course any of us
 will help the student when needed, but I assume most of the
 communication will be between the mentor and the student. Josef says
 that he recommend picking a project for which we don't need to spend
 weeks to introduce and explain to the student the whole project, our
 needs, etc. Something that is simple to explain, and can be
 implemented without being blocked on us.

Yeah, that's one of my concerns - the time that at least one of us
would need to invest. I concur with Josef's suggestion of something
that doesn't require too much background but I also think that having
multiple mentors and involved folks is also important so it's not just
1 person interacting with a student.

  It sounds like the results middleware project, the graphical
  installation project, the gnome-continuous project and _maybe_ the
  disposable client project are the best candidates. Any thoughts on
  the value for those?
 
 I don't know much about gnome-continuous, but the rest of the
 projects you mentioned really seems to be the best picks. Results
 middleware is probably closest to Josef, graphical testing is closest
 to me and disposable clients is closest to you. When it comes to
 importance, disposable clients have probably the highest priority,
 then results middleware, and then comes the rest. But that's just my
 guesses.

I think that gnome-continuous would be a good way to start getting some
graphical testing done without needing disposable clients but I'm not
clear on how much setup, integration and hw overhead there would be for
the support infrastructure (rpm-ostree, at least AFAIK).

I think that either disposable clients or the results middleware are
going to be the highest priorities of the projects I listed. They're
both things that have been (at least indirectly) asked for several
times over the last couple years and I think that getting them
implemented would help restore some confidence that we're going in the
right direction.

At this point, there are 3 or so days left in the application process
and since we all seem to be on the fence on this a bit, I'm thinking it
would be wise to skip GSoC for this year. I might put the ideas up on
the wiki page tomorrow in case someone sees them and gets inspired for
next year, though.

Tim


signature.asc
Description: PGP signature
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Re: Possible QA Devel Projects for GSoC 2014

2014-03-11 Thread Tim Flink
On Tue, 11 Mar 2014 05:02:28 -0400 (EDT)
Kamil Paral kpa...@redhat.com wrote:


Graphical Installation Testing

Continue the work that Jan started with his thesis or look into
integrating something like openqa. The emphasis here is on the
graphical interface since ks-based installation testing could be
covered by stuff already written for beaker
   
   After talking to Michal Hrusecky from OpenSUSE on DevConf, I'm
   pretty convinced we should collaborate with them on OpenQA. They
   have unleashed their whole Boosters team to work on it, and
   they're fixing many of the previous pain-points (except for Perl,
   unfortunately). They also try to have it pretty generic, without
   unneeded ties to OpenSUSE infrastructure (e.g. they've just
   implemented OpenID login), and they would really appreciate our
   collaboration.
  
  We keep running into this and I really need to spend some time with
  OpenQA again. When I looked at it a couple years ago, there were
  several things that I didn't like about how the framework actually
  works (entire screenshot comparision, forcing keyboard interactions
  etc.) but it's possible that they've fixed those issues.
 
 Look here:
 https://www.google.cz/#q=openqa+site:http:%2F%2Flizards.opensuse.org
 
 They use OpenCV instead of screenshot checksuming now. I'm not sure
 what you mean by keyboard interactions.

IIRC, they were using opencv the last time I looked at openqa. The
image checksumming stuff is worse than the bits I had concerns about,
to be honest :)

What I mean by keyboard interactions is that you can't use the mouse -
it was a strict script of keyboard actions. The runner made keypresses
as scripted and nothing more.

 One major drawback is that they still don't support task distribution
 (to test clients). Everything is executed on a single machine. But
 they say they are able to run lots of test cases every single day,
 and we intend to run just a fraction of it, so performance-wise it
 shouldn't be a problem.

We'd still need to evaluate the system to see if it can do in reality
what we need it to do, what the level of integration work will be and
what kind of patches we'd need to write and submit.

I'm really not itching to write our own system here but at the same
time, I'm also not thrilled about the idea of jumping into a system we
have little to no control over just because it looks like it'd save us
time in the short term. As bad as NIH syndrome is, shoehorning an
existing library/system into a place where it isn't going to work well
and may cause us just as many problems is also not a good thing.


Disposable Client Support


This is another of the big features that we'll be implementing
before too long. It's one of the reasons that we made the shift
from AutoQA to taskotron and is blocking features which folks
say they want to see (user-submitted tasks, mostly).

This would involve some investigation into whether OpenStack
would be practical, if there is another provisioning system we
could use or if we'll be forced to roll our own (which I'd
rather avoid). There should be some tie-in with the graphical
installation support and possibly the gnome integration tests.
   
   As usual, we're still missing the required pieces the student
   should work with. But as a pilot and a way how to discover and
   evaluate possible options, this could be interesting.
  
  What are we missing that wouldn't be part of this project?
 
 Well, are we sure now how exactly the client setup process will be
 hooked into taskotron or its underlying tools?

I'm not exactly sure how this will work, either. It's going to depend
on what we end up using for graphical testing, what openstack is
capable of, what cloud resources we have access to and what the cloud
SIG ends up needing for their testing.

 Are we committed to using buildbot, or might it change?

I don't really see how this is relevant. Can you elaborate on how using
buildbot or not would factor in here?


System for apparent results storage and modification


There has to be a better title for this but it would be one of
the last major steps in enabling bodhi/koji to block
builds/updates on check failures. The idea would be to provide
an interface which can decide whether a build/update is OK
based on what checks were passed/failed. It would have a
mechanism for manual overrides and algorithmic overrides (ie,
we know that foo has problem X and are working on it, ignore
failures for now) so that we don't upset packagers more than 

Re: Possible QA Devel Projects for GSoC 2014

2014-03-11 Thread Kamil Paral
  Well, are we sure now how exactly the client setup process will be
  hooked into taskotron or its underlying tools?
 
 I'm not exactly sure how this will work, either. It's going to depend
 on what we end up using for graphical testing, what openstack is
 capable of, what cloud resources we have access to and what the cloud
 SIG ends up needing for their testing.
 
  Are we committed to using buildbot, or might it change?
 
 I don't really see how this is relevant. Can you elaborate on how using
 buildbot or not would factor in here?

Hmm. In AutoQA, we used Autotest for managing test clients. Any disposable 
client support would most probably needed some support in Autotest. I assumed 
it's the same for Buildbot. Instead of using a pre-defined machine, it will 
need to be able to say you there, create me a machine matching these 
requirements; zzz; thank you.


  So, two different systems (i.e. two different databases) displayed in
  a single web frontend, right? I guess it makes sense.
 
 Yeah, that's what I had in mind, anyways.
 
 Since student registration has started, I'd like to get our proposed
 ideas in the wiki soon. The question of whether any of these projects
 would be worth distracting folks from other dev/testing work remains -
 any thoughts on that front?

So far it seems you're the only candidate for mentoring, you it's probably up 
to your decision and past experience. Of course any of us will help the student 
when needed, but I assume most of the communication will be between the mentor 
and the student. Josef says that he recommend picking a project for which we 
don't need to spend weeks to introduce and explain to the student the whole 
project, our needs, etc. Something that is simple to explain, and can be 
implemented without being blocked on us.

 
 It sounds like the results middleware project, the graphical
 installation project, the gnome-continuous project and _maybe_ the
 disposable client project are the best candidates. Any thoughts on the
 value for those?

I don't know much about gnome-continuous, but the rest of the projects you 
mentioned really seems to be the best picks. Results middleware is probably 
closest to Josef, graphical testing is closest to me and disposable clients is 
closest to you. When it comes to importance, disposable clients have probably 
the highest priority, then results middleware, and then comes the rest. But 
that's just my guesses.
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel


Re: Possible QA Devel Projects for GSoC 2014

2014-03-10 Thread Tim Flink
On Mon, 10 Mar 2014 08:23:16 -0400 (EDT)
Kamil Paral kpa...@redhat.com wrote:

  Fedora has been accepted as a mentoring org for GSoC 2014 and I'm
  planning to sign up as a mentor again this year. I'm trying to
  think of good projects that we could put on the list of suggestions
  of things that we'd like students to work on and figured it was a
  good topic for wider discussion.
  
  I'd like to avoid any blockerbugs projects this year so that we can
  focus on taskotron and keeping forward momentum. I've made a quick
  list of the possible projects that I can think of. Please comment
  on any of them that you think would benefit from having a dedicated
  intern over the summer or add to the list if you can think of other
  projects.
  
  Ideally, the projects would be self-contained enough for the
  student to demonstrate their progress over the summer but not so
  isolated that they wouldn't be interacting with the community.
  Projects should be far enough out that we wouldn't be critically
  blocked on them but close enough that the effects of their work are
  visible before the end of GSoC.
 
 Thanks for thinking about this. Personally I'm really bad at coming
 up with such project topics.
 
 One of the major concerns I have is whether it is efficient to mentor
 someone, or whether it would be better to have your (and/or someone
 else's) time fully devoted to the project itself. We would have to
 come up with such topics that don't require much mentoring from our
 side, and which are not blocked on our future actions (we don't want
 the student to wait until we implement feature X).

Yeah, that's one concern and one of the reason that I'd be more
interested in a project that isn't so isolated - that way we could have
multiple folks helping out with the project instead of the 1:1 stuff
that we've done for the last 2 years of GSoC.

  
  Tim
  
  
  
  Graphical Installation Testing
  
  Continue the work that Jan started with his thesis or look into
  integrating something like openqa. The emphasis here is on the
  graphical interface since ks-based installation testing could be
  covered by stuff already written for beaker
 
 After talking to Michal Hrusecky from OpenSUSE on DevConf, I'm pretty
 convinced we should collaborate with them on OpenQA. They have
 unleashed their whole Boosters team to work on it, and they're fixing
 many of the previous pain-points (except for Perl, unfortunately).
 They also try to have it pretty generic, without unneeded ties to
 OpenSUSE infrastructure (e.g. they've just implemented OpenID login),
 and they would really appreciate our collaboration.

We keep running into this and I really need to spend some time with
OpenQA again. When I looked at it a couple years ago, there were several
things that I didn't like about how the framework actually works
(entire screenshot comparision, forcing keyboard interactions etc.) but
it's possible that they've fixed those issues.

 I'm just not sure about timing. If the task is to integrate it into
 our test infrastructure, we need to have some infrastructure to begin
 with :-)

True, but we do need to start somewhere. I think that we'll have some
new machines by that point but it's certainly something that we should
be more sure of before committing to GSoC.

 I don't know if all of them, but a large number of the Boosters team
 is located in CZ timezone, so Europe-based student would be a better
 fit for this, in order to talk to them on their IRC channel.

Well, we don't often have much control over where interested students
live but in principle, that makes sense.

  
  
  
  Beaker Integration
  
  This is on our roadmap and is certainly something that would be
  useful. It would require a bit of infrastructure work and likely the
  cooperation of the beaker devs but seems like it could be a good
  project even if it isn't the most exciting thing ever.
  
  On the other hand, this could end up being rather critical and may
  not be something that we want to mostly hand off to a student.
 
 I'm not sure this is a good project for a student, because it's
 likely to involve a lot of communication with internal teams. And
 again, I don't think our test infra is ready yet.
 
  
  
  
  Gnome Integration Test Support
  
  
  An over-simplification of this would be to say take the stuff
  that's run as part of gnome continuous [1] and run it on fedora
  packages. The goal would be to have gnome's integration test
  suites running with any new gnome builds.
  
  [1] https://wiki.gnome.org/action/show/Projects/GnomeContinuous
  
  
  

Re: Possible QA Devel Projects for GSoC 2014

2014-03-10 Thread Kamil Paral
 Fedora has been accepted as a mentoring org for GSoC 2014 and I'm
 planning to sign up as a mentor again this year. I'm trying to think of
 good projects that we could put on the list of suggestions of things
 that we'd like students to work on and figured it was a good topic for
 wider discussion.
 
 I'd like to avoid any blockerbugs projects this year so that we can
 focus on taskotron and keeping forward momentum. I've made a quick list
 of the possible projects that I can think of. Please comment on any of
 them that you think would benefit from having a dedicated intern over
 the summer or add to the list if you can think of other projects.
 
 Ideally, the projects would be self-contained enough for the student to
 demonstrate their progress over the summer but not so isolated that
 they wouldn't be interacting with the community. Projects should be far
 enough out that we wouldn't be critically blocked on them but close
 enough that the effects of their work are visible before the end of
 GSoC.

Thanks for thinking about this. Personally I'm really bad at coming up with 
such project topics.

One of the major concerns I have is whether it is efficient to mentor someone, 
or whether it would be better to have your (and/or someone else's) time fully 
devoted to the project itself. We would have to come up with such topics that 
don't require much mentoring from our side, and which are not blocked on our 
future actions (we don't want the student to wait until we implement feature X).

 
 Tim
 
 
 
 Graphical Installation Testing
 
 Continue the work that Jan started with his thesis or look into
 integrating something like openqa. The emphasis here is on the
 graphical interface since ks-based installation testing could be
 covered by stuff already written for beaker

After talking to Michal Hrusecky from OpenSUSE on DevConf, I'm pretty convinced 
we should collaborate with them on OpenQA. They have unleashed their whole 
Boosters team to work on it, and they're fixing many of the previous 
pain-points (except for Perl, unfortunately). They also try to have it pretty 
generic, without unneeded ties to OpenSUSE infrastructure (e.g. they've just 
implemented OpenID login), and they would really appreciate our collaboration.

I'm just not sure about timing. If the task is to integrate it into our test 
infrastructure, we need to have some infrastructure to begin with :-)

I don't know if all of them, but a large number of the Boosters team is located 
in CZ timezone, so Europe-based student would be a better fit for this, in 
order to talk to them on their IRC channel.

 
 
 
 Beaker Integration
 
 This is on our roadmap and is certainly something that would be useful.
 It would require a bit of infrastructure work and likely the
 cooperation of the beaker devs but seems like it could be a good
 project even if it isn't the most exciting thing ever.
 
 On the other hand, this could end up being rather critical and may not
 be something that we want to mostly hand off to a student.

I'm not sure this is a good project for a student, because it's likely to 
involve a lot of communication with internal teams. And again, I don't think 
our test infra is ready yet.

 
 
 
 Gnome Integration Test Support
 
 
 An over-simplification of this would be to say take the stuff that's
 run as part of gnome continuous [1] and run it on fedora packages. The
 goal would be to have gnome's integration test suites running with any
 new gnome builds.
 
 [1] https://wiki.gnome.org/action/show/Projects/GnomeContinuous
 
 
 
 Disposable Client Support
 
 
 This is another of the big features that we'll be implementing before
 too long. It's one of the reasons that we made the shift from AutoQA to
 taskotron and is blocking features which folks say they want to see
 (user-submitted tasks, mostly).
 
 This would involve some investigation into whether OpenStack would be
 practical, if there is another provisioning system we could use or if
 we'll be forced to roll our own (which I'd rather avoid). There should
 be some tie-in with the graphical installation support and possibly the
 gnome integration tests.

As usual, we're still missing the required pieces the student should work with. 
But as a pilot and a way how to discover and evaluate possible options, this 
could be interesting.


 
 
 
 RPM-OSTree Support/Integration
 
 
 I haven't 

Possible QA Devel Projects for GSoC 2014

2014-03-05 Thread Tim Flink
Fedora has been accepted as a mentoring org for GSoC 2014 and I'm
planning to sign up as a mentor again this year. I'm trying to think of
good projects that we could put on the list of suggestions of things
that we'd like students to work on and figured it was a good topic for
wider discussion.

I'd like to avoid any blockerbugs projects this year so that we can
focus on taskotron and keeping forward momentum. I've made a quick list
of the possible projects that I can think of. Please comment on any of
them that you think would benefit from having a dedicated intern over
the summer or add to the list if you can think of other projects.

Ideally, the projects would be self-contained enough for the student to
demonstrate their progress over the summer but not so isolated that
they wouldn't be interacting with the community. Projects should be far
enough out that we wouldn't be critically blocked on them but close
enough that the effects of their work are visible before the end of
GSoC.

Tim



Graphical Installation Testing

Continue the work that Jan started with his thesis or look into
integrating something like openqa. The emphasis here is on the
graphical interface since ks-based installation testing could be
covered by stuff already written for beaker



Beaker Integration

This is on our roadmap and is certainly something that would be useful.
It would require a bit of infrastructure work and likely the
cooperation of the beaker devs but seems like it could be a good
project even if it isn't the most exciting thing ever.

On the other hand, this could end up being rather critical and may not
be something that we want to mostly hand off to a student.



Gnome Integration Test Support


An over-simplification of this would be to say take the stuff that's
run as part of gnome continuous [1] and run it on fedora packages. The
goal would be to have gnome's integration test suites running with any
new gnome builds.

[1] https://wiki.gnome.org/action/show/Projects/GnomeContinuous



Disposable Client Support


This is another of the big features that we'll be implementing before
too long. It's one of the reasons that we made the shift from AutoQA to
taskotron and is blocking features which folks say they want to see
(user-submitted tasks, mostly).

This would involve some investigation into whether OpenStack would be
practical, if there is another provisioning system we could use or if
we'll be forced to roll our own (which I'd rather avoid). There should
be some tie-in with the graphical installation support and possibly the
gnome integration tests.



RPM-OSTree Support/Integration


I haven't used rpm-ostree enough yet to figure out how good of a fit
it'd be with taskotron but from the description of the project and the
discussions I've had with cwalters, it sounds like it could be a good
fit as part of our provisioning system for disposable clients.

If we're serious about proposing this as a GSoC project, we should
probably explore it a bit more to be certain that we'd want it now but
I figured it was worth putting on the list.

[2] https://github.com/cgwalters/rpm-ostree



System for apparent results storage and modification


There has to be a better title for this but it would be one of the last
major steps in enabling bodhi/koji to block builds/updates on check
failures. The idea would be to provide an interface which can decide
whether a build/update is OK based on what checks were passed/failed.
It would have a mechanism for manual overrides and algorithmic
overrides (ie, we know that foo has problem X and are working on it,
ignore failures for now) so that we don't upset packagers more than we
need to.

When Josef and I last talked about this, we weren't sure that putting
this functionality into our results storage mechanism was wise. It's a
different concern that has the potential to make a mess out of the
results storage.


signature.asc
Description: PGP signature
___
qa-devel mailing list
qa-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/qa-devel