Re: Taskotron Fedmsgs Format

2015-01-29 Thread Ralph Bean
On Thu, Jan 29, 2015 at 08:53:22AM -0700, Tim Flink wrote:
 On Wed, 28 Jan 2015 13:42:23 -0500
 Ralph Bean rb...@redhat.com wrote:
 
  On Wed, Jan 28, 2015 at 12:29:29PM -0500, Martin Krizek wrote:
   Please find proposed format for taskotron fedmsgs below.
   
   { 'i': 1,
  'msg': {'check': {'name': 'upgradepath',
                        'type': 'bodhi_update', 
                        'item': 'wireshark-1.10.12-1.fc20',
                        'arch': 'x86_64'},
      'packages': [{'nvr': 'wireshark-1.10.12-1.fc20', 'name':
   'wireshark'}], 'result': {'id': 123456,
                         'submit_time': '2015-01-27 14:22:53.584210',
                         'outcome': 'failed',
                         'summary': '...',
                         'job_url':
   'http://resultsdb.fedoraproject.org/...', 'log_url':
   'http://taskotron.fedoraproject.org/...'} },
      'msg_id': '2014-0bc98222-a864-4aea-bc6b-e3b090d2cc3d',
      'timestamp': 1395760459,
      'topic': 'org.fedoraproject.{prod, stg,
   dev}.taskotron.result.new', 'username': 'taskotron'
   }
   
   The 'packages' field would be used for all the packages that are
   relevant to the check which result is being sent in the fedmsg, so
   they can be returned by fedmsg.meta.msg2packages and searched on
   using datagrepper.
  
  Looks quite good to me.  :)
  
  So depcheck results would include a long list of relevant packages?
 
 It could, yes. The native output format of depcheck is per-rpm but
 we've always considered updates to be the lowest-level unit against
 which depcheck reports because it doesn't make sense to fail only part
 of an update. However, I think we can add a list of affected packages
 to the fedmsgs emitted for depcheck results.
 
 The thing I'm wondering is if there are interesting use cases which
 aren't well covered by this. Package-specific checks wouldn't be a
 problem, nor would image-based checks. The only thing I can think of
 that may not work so well is stuff like the gnome-installed-tests which
 aren't specific to a single package or a single deliverable. Would FMN
 allow for folks to subscribe to messages from a specific check or are
 only certain fields capable of triggering notification?

Yeah, we could write a specific FMN rule for specific taskotron
checks.  They are just little python functions that accept a message
and return true or false.

See https://github.com/fedora-infra/fmn.rules/tree/develop/fmn/rules


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


Re: Taskotron Fedmsgs Format

2015-01-28 Thread Ralph Bean
On Wed, Jan 28, 2015 at 12:29:29PM -0500, Martin Krizek wrote:
 Please find proposed format for taskotron fedmsgs below.
 
 { 'i': 1,
'msg': {'check': {'name': 'upgradepath',
                      'type': 'bodhi_update', 
                      'item': 'wireshark-1.10.12-1.fc20',
                      'arch': 'x86_64'},
    'packages': [{'nvr': 'wireshark-1.10.12-1.fc20', 'name': 
 'wireshark'}],
            'result': {'id': 123456,
                       'submit_time': '2015-01-27 14:22:53.584210',
                       'outcome': 'failed',
                       'summary': '...',
                       'job_url': 'http://resultsdb.fedoraproject.org/...',
                       'log_url': 'http://taskotron.fedoraproject.org/...'}
    },
    'msg_id': '2014-0bc98222-a864-4aea-bc6b-e3b090d2cc3d',
    'timestamp': 1395760459,
    'topic': 'org.fedoraproject.{prod, stg, dev}.taskotron.result.new',
    'username': 'taskotron'
 }
 
 The 'packages' field would be used for all the packages that are relevant
 to the check which result is being sent in the fedmsg, so they can be
 returned by fedmsg.meta.msg2packages and searched on using datagrepper.

Looks quite good to me.  :)

So depcheck results would include a long list of relevant packages?


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


Re: Planning: Fedmsg Integration

2014-12-12 Thread Ralph Bean
On Thu, Dec 11, 2014 at 11:10:55PM -0700, Tim Flink wrote:
 Almost forgot about this, even though I was talking about it earlier
 today.
 
 The current plan for bodhi2, as I understand it, is shooting for
 production deployment in January or February. This affects us because
 we will no longer be submitting bodhi comments as a feedback mechanism
 for completed tasks.
 
 Before this happens, we will need to enhance resultsdb-backend to send
 out fedmsgs that can be processed by fedmsg-notifier (fmn [1])
 
 [1] https://apps.fedoraproject.org/notifications/
 
 Outside of the technical requirements here, we need to figure out
 whether or not receiving notifications will be optional for maintainers
 or not. This will require some conversation with FESCo as it's more of
 a policy thing but will need driving from our end.

IMHO, it should be optional, but opt-out.  (So we would need to
include it in the new defaults that go out with the next release of
fmn).

 The more technical bits that I'm aware of at this point are:
  - Decide on a schema for the messages we emit
* org.fedoraproject.taskotron.result.package.foo-1.2-3.fc99 etc.
  (not even sure that's a valid message)

I'd rather not have a variable in the package topic -- that will give
us an enormous number of total unique topic in the datagrepper
database.

How about something like:
* org.fedoraproject.taskotron.result.new

..and embed the update, build, and/or package name in the body of the
message.

  - Figure out what information should be in the emitted messages
 
  - Figure out where the messages should be emitted from and add/modify
code to get that happening (resultsdb-backend makes the most sense
to me right now but am open to other ideas)
 
  - Get certs for the emitting machines
 
  - Start emitting messages in staging
 
 
 As a reward when it's done:
 
  - rip out the bodhi comment code from litaskotron and burn it over a
bonfire while we toast marshmallows for s'mores
 
 I'd like to have this ready for deployment in staging by early January,
 so that it can run for a while before we move it into production but
 I'm not sure if that's compatible with vacation schedules.

For what its worth, bodhi2 (unreleased) currently just queries the
resultsdb JSON API to figure out how it should mark or block
updates... all without fedmsg.  fedmsg just gives us a nice
notification layer for end users.

There is another layer of integration that we've not yet begun to stub
out in bodhi2, which is to publish a message when its backend begins a
mash.  We have been hoping that taskotron could listen for that new
message and begin a depcheck run against all the packages in the koji
tag that bodhi is about to mash -- and then later, publish a message
when that check is done.  Bodhi would block, waiting for that
response, and then only proceed with the mash if that depcheck run
passes.


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


Re: Project Locations and Basic Setup

2014-04-07 Thread Ralph Bean
On Mon, Apr 07, 2014 at 03:19:41AM -0400, Martin Krizek wrote:
 - Original Message -
  From: Tim Flink tfl...@redhat.com
  To: qa-devel@lists.fedoraproject.org
  Sent: Friday, April 4, 2014 4:50:25 PM
  Subject: Project Locations and Basic Setup
  
  I think most of this came up in an earlier thread but I'm not finding it
  right now, so I'm starting a new one.
  
  I'm proposing that we make all the taskotron-related projects as
  similar as we can with regard to git repo setup, location and how we do
  reviews. If we keep them all slightly different, it makes asking for
  contributions more difficult and the contributions guide (which still
  needs to be written :-/) more complicated.
  
  To be specific, the repos that I'm including in this are:
   - libtaskotron
   - taskotron-trigger
   - resultsdb
   - resultsdb_frontend
   - resultsdb_api
   - pytap13
   - fake_fedorainfra
  
  The settings that I'm proposing for all those repos are:
  
   - use gitflow and set 'develop' as the default branch
   - host projects under bitbucket/fedoraqa
 * makes it easier to say find our projects at this url instead of
   find projects X,Y and Z here. find A and B here
   - code submissions and issues/tasks are tracked through phabricator
  
  Any objections to doing this to all the repos I mentioned?
  
 
 No objections. In addition, we need to make sure that each repo has 
 its .arcconfig file with correct project_id.

No objections.


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