#56 Add new messages for product-scenario testing
Merged 4 years ago by ralph. Opened 4 years ago by rywillia.
fedora-ci/ rywillia/messages product-scenario  into  master

@@ -0,0 +1,47 @@ 

+ {

+   "contact": {

+     "name": "CSI-QE",

+     "team": "CSI-QE",

+     "docs": "https://somewhere.com",

+     "email": "https://somewhere.com/user-documentation",

+     "url": "csi-qe@somewhere.com"

+   },

+   "artifact": {

+     "type": "product-scenario",

+     "id": "1234",

+     "products":

+       [{

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "rhel",

+         "version": "8.1",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "PreGA",

+         "state": "interop-ready",

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+       },

+       {

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "jbosseap",

+         "version": "7.0",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "GA",

+         "state": "interop ready"

+       }]

+   },

+   "system":

+     [{

+       "os": "RHEL-8.1.0-20190523.0-x86_64",

+       "provider": "openstack",

+       "architecture": "x86_64"

+     }],

+   "generated_at": "2019-06-03T15:15:34.228Z",

+   "version": "0.2.2"

+ }

@@ -0,0 +1,44 @@ 

+ {

+   "contact": {

+     "name": "CSI-QE",

+     "team": "CSI-QE",

+     "docs": "https://somewhere.com",

+     "email": "https://somewhere.com/user-documentation",

+     "url": "csi-qe@somewhere.com"

+   },

+   "artifact": {

+     "type": "product-scenario",

+     "id": "1234",

+     "products": 

+       [{

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "rhel",

+         "version": "8.1",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "PreGA",

+         "state": "interop-ready",

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+       },

+       {

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "jbosseap",

+         "version": "7.0",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "GA",

+         "state": "interop ready"

+       }]

+   },

+   "error": {

+     "reason": "Product scenario preparation failed."

+   },

+   "generated_at": "2019-06-03T15:15:34.228Z",

+   "version": "0.2.2"

+ }

@@ -0,0 +1,58 @@ 

+ {

+   "contact": {

+     "name": "CSI-QE",

+     "team": "CSI-QE",

+     "docs": "https://somewhere.com",

+     "email": "https://somewhere.com/user-documentation",

+     "url": "csi-qe@somewhere.com"

+   },

+   "run": {

+     "url": "https://somewhere.com/job/testjob/1",

+     "log": "https://somewhere.com/job/testjob/1/console"

+   },

+   "artifact": {

+     "type": "product-scenario",

+     "id": "1234",

+     "products": 

+       [{

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "rhel",

+         "version": "8.1",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "PreGA",

+         "state": "interop-ready",

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+       },

+       {

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "jbosseap",

+         "version": "7.0",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "GA",

+         "state": "interop ready"

+       }]

+   },

+   "system":

+   [{

+     "os": "RHEL-8.1.0-20190523.0-x86_64",

+     "provider": "openstack",

+     "architecture": "x86_64"

+   }],

+   "test": {

+     "category": "interoperability",

+     "namespace": "interop",

+     "type": "product-scenario",

+     "result": "passed",

+     "xunit_urls": ["https://somewhere.com/job/testjob/1/artifacts/results.xml"]

+   },

+   "generated_at": "2019-06-03T15:15:34.228Z",

+   "version": "0.2.2"

+ }

@@ -0,0 +1,53 @@ 

+ {

+   "contact": {

+     "name": "CSI-QE",

+     "team": "CSI-QE",

+     "docs": "https://somewhere.com",

+     "email": "https://somewhere.com/user-documentation",

+     "url": "csi-qe@somewhere.com"

+   },

+   "run": {

+     "url": "https://somewhere.com/job/testjob/1",

+     "log": "https://somewhere.com/job/testjob/1/console"

+   },

+   "artifact": {

+     "type": "product-scenario",

+     "id": "1234",

+     "products": 

+       [{

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "rhel",

+         "version": "8.1",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "PreGA",

+         "state": "interop-ready",

+         "repos": ["https://somewhere.com/compose/rhel-8.1/repos"]

+       },

+       {

+         "type": "product-build",

+         "id": "name-version-release",

+         "nvr": "name-version-release",

+         "name": "jbosseap",

+         "version": "7.0",

+         "release": ".01",

+         "architecture": "x86_64",

+         "phase": "testing",

+         "build": "GA",

+         "state": "interop ready"

+       }]

+   },

+   "test": {

+     "category": "interoperability",

+     "namespace": "interop",

+     "type": "product-scenario"

+   },

+   "error": {

+     "reason": "Testing aborted due to CI system infrastructure issues."

+   },

+   "generated_at": "2019-06-03T15:15:34.228Z",

+   "version": "0.2.2"

+ }

file modified
+1 -1
@@ -22,7 +22,7 @@ 

              Version of the specification. Following semantic versioning

              (https://semver.org/). Current version is 0.2.1.

          examples:

-             - 0.2.1

+             - 0.2.2

          type: string

  

  type: object

@@ -0,0 +1,29 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-scenario.build.complete

+ $schema: http://json-schema.org/draft-07/schema#

+ 

+ description:

+     Preparation of the product scenario is finished. The product scenario

+     is ready for further testing.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     artifact:

+         $ref: product-scenario.json

+     system:

+         type: array

+         items:

+             $ref: system.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - artifact

+     - system

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,27 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-scenario.build.error

+ $schema: http://json-schema.org/draft-07/schema#

+ 

+ description:

+     Preparation of the product scenario failed. The product scenario

+     is not ready for further testing.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     artifact:

+         $ref: product-scenario.json

+     error:

+         $ref: error.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - artifact

+     - error

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,36 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-scenario.test.complete

+ $schema: http://json-schema.org/draft-07/schema#

+ 

+ description:

+     Testing of the product scenario has been completed.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     artifact:

+         $ref: product-scenario.json

+     system:

+         type: array

+         items:

+             $ref: system.json

+     test:

+         allOf:

+             - $ref: test-common.json

+             - $ref: test-complete.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - run

+     - artifact

+     - system

+     - test

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,34 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-scenario.test.error

+ $schema: http://json-schema.org/draft-07/schema#

+ 

+ description:

+     Testing of the product scenario did not successfully complete. There was

+     a possible failure in test execution, error in CI system, etc.

+ 

+ properties:

+     contact:

+         $ref: contact.json

+     run:

+         $ref: run.json

+     artifact:

+         $ref: product-scenario.json

+     test:

+         allOf:

+             - $ref: test-common.json

+     error:

+         $ref: error.json

+     generated_at:

+         $ref: common.json#properties/generated_at

+     version:

+         $ref: common.json#properties/version

+ 

+ required:

+     - contact

+     - run

+     - artifact

+     - test

+     - error

+     - generated_at

+     - version

+ 

+ type: object

@@ -0,0 +1,32 @@ 

+ $id: https://pagure.io/fedora-ci/messages/product-scenario

+ $schema: http://json-schema.org/draft-07/schema#

+ 

+ description:

+     Details about the product scenario being tested.

+ 

+ properties:

+     type:

+         description:

+             Artifact type, in this case 'product-scenario'.

+         enum:

+             - product-scenario

+         type: string

+     id:

+         description:

+             The product scenario identification tag in various systems.

+         examples:

+             - csi-qe-1234

+         type: string

+     products:

+         description:

+             List of products making up the scenario being tested.

+         type: array

+         items:

+             $ref: product.json

+ 

+ required:

+     - type

+     - id

+     - products

+ 

+ type: object

These messages can be used to represent a scenario
of multiple products that is ready for testing and handle
reporting test results against the product scenario.

The following messages are being added:

  • product-scenario.build.complete
  • product-scenario.build.error
  • product-scenario.test.complete
  • product-scenario.test.error

In the above messages, the {build} event means
the product scenario is ready for testing and the
{test} event means reporting test results for the
product scenario execution.

I will just note, that these messages will serve as a middlelayer between productmd-compose testing and multi-product QE's testing system

@rywillia could we have the version set to the next release, i.e. 0.2.2 pls?
Also please change schemas/common.yaml to reflect the latest version ...

hmm, I would name the test type the same as in the topic, i.e. product-scenario

@rywillia we need to add system field to the messages, required for all (CC @jbieren :])

@rywillia could we have the version set to the next release, i.e. 0.2.2 pls?
Also please change schemas/common.yaml to reflect the latest version ...

@mvadkert Yes, I will make that update and also update schemas/common.yaml to reflect the updated version.

@rywillia we need to add system field to the messages, required for all (CC @jbieren :])

@mvadkert Sounds good. I will update the messages to include the system field.

1 new commit added

  • Message updates for artifact product-scenario
4 years ago

ok, this looks good to. thanks for the updates @rywillia

@ralph @jbieren @psss @odockal @happz kindly asking for review

Metadata Update from @mvadkert:
- Pull-request tagged with: review-needed

4 years ago

*.error messages don't include the system array

@rywillia feel free to use an empty array, but in another PR we decided that system will be a mandatory field, but can be an empty array ...

@mvadkert @jbieren Thank you both for your additional feedback. Before I make additional changes to the messages I just wanted to get some final clarification.

As I understood all messages are required to have the system field. Based on @jbieren feedback, the system field should be excluded from all .error messages. @mvadkert is this okay? I know you mentioned in your comment it could be an empty array. I just want to make sure I am understanding this correctly before I append changes to remove the system field from all .error messages.

@rywillia sorry, I got confused myself, it is as @jbieren says :)

1 new commit added

  • Remove system field from product-scenario error messages
4 years ago

@mvadkert No problem! I made the modifications as requested.

I had a feeling that we are going to remove product in favor of product-build object, I am not sure now. @mvadkert Can you please clarify? In case we are going to remove it, depending which PR will be merge first (this or https://pagure.io/fedora-ci/messages/pull-request/59), follow up changes must be made (renaming of product to product-build in references).

Well - @odockal, let's get this one through first and then circle back on #59.

@rywillia, this looks good to me. :+1:

Pull-Request has been merged by ralph

4 years ago

Metadata Update from @mvadkert:
- Pull-request untagged with: review-needed
- Pull-request tagged with: review-done

4 years ago