#245 Sending pipeline build results to ResultsDB
Closed: Fixed 5 years ago by rayson. Opened 5 years ago by rayson.

Hi all,

Currently I am experimenting sending pipeline build results to ResultsDB. I am not very familiar with ResultsDB, can anyone help answer those questions?

  1. It doesn't seem to me that ResultsDB require any authentication. Can anonymous users put any data to ResultsDB?

  2. How and when should I create TestCases and ResultGroups in ResultsDB? Should they be pre-created or dynamically created after each test run? Do those Test Case objects map all the test cases in a unit test and functional test? What should I do if there are test case changes?

  3. After creating a Result, can I update it later? If I rerun a test for the same build, should I update the previous Result or create a new Result? If latter, how can I represent the relationships between those test runs?

  4. Does the team have the schema or template of TestCase, ResultGroup, and Result objects specifically for WaiverDB project?


@gnaponie Can you help Yuxiang with these questions? The only thought I have is that I think we generally prefer sending results to resultsDB via the resultsdb-updater service by publishing the results to the UMB, but I don't know if that's a requirement.

I'll try to reply, but unfortunately I don't have full knowledge on ResultsDB. I'll do my best. Maybe @mprahl knows more than me.

  1. I'm not actually sure 100% about the answer. I know that the OIDC Configuration is there (https://pagure.io/taskotron/resultsdb/blob/develop/f/resultsdb/config.py#_55), but I'm not sure how is configured the production instance. If I try to submit a result in the stage instance I get 403 status code. Retrieving is fine.

  2. ResultsDB doesn't have any kind of "intelligence" behind these concepts. The user should configure them in a proper way. At the moment of the result creation, if the corresponding testcase doesn't exist it will get automatically created. The same happens for the ResultGroup(s).

  3. You cannot update a result. You should create new results and if you want to ignore the previous one I would just submit a waiver.

  4. not sure what you mean. Which kind of schema would you need?

Anyhow, if that helps, we have a Jenkins job that is publishing messages on the internal UMB and that triggers the creation of a new result. I will find it and send you an email.

@gnaponie Thanks for your help. Much more clear to me :)

For the question 4, as you said ResultsDB doesn't have any kind of "intelligence" behind these concepts. The user should configure them in a proper way.. To make the results ready to be used by multiple systems, a definition of Result objects for C3I related builds (such as what common values should be assigned to the properties of Result, what custom key-value pairs should be set , what ResultGroups should be preconfigured) could be necessary. I can try to define some and share to the team for review if the team doesn't have.

@acorvin Thank you. I'll take a look at the resultsdb-updater service.

@ralph Do you have any docs about resultsdb-updater that can help me send a message to update the resultsdb?

Update:
1. Filed an issue about extending the CI message spec to support CI/CD pipeline produced container images (https://pagure.io/fedora-ci/messages/issue/17).
2. Filed issues to extend Greenwave to support making decisions of image gating and pull-request acceptance (https://pagure.io/greenwave/issue/333 https://pagure.io/greenwave/issue/332).

Metadata Update from @rayson:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

5 years ago

Login to comment on this ticket.

Metadata