lgirdk / boardfarm

Automated testing with python
BSD 3-Clause Clear License
21 stars 34 forks source link

Add notion of release images #114

Open mattsm opened 5 years ago

mattsm commented 5 years ago

This would be defined per board, and we would be able to have a test request that image be flashed. Also, it would have a site mirror that contained an http server that hosted the images. So we could go and grab them.

Parumugam commented 5 years ago

Matthew, Is this like a Generic function which we can call with the firmware name and the function can check whether it has the same firmware and if its not the case, it will download the requested firmware from a specific location and flash it in the CM?

mattsm commented 5 years ago

This is for having a matrix of available images and how to retrieve and flash them to the CM.

For the current firmware version we should check with the device.

mattsm commented 5 years ago

For this I envision adding these generic functions that could be called without having to provide an image (the scripts would know how to fetch them from a site mirror):

device.upgrade() - flash to latest image device.downgrade() - flash to an old image device.factory() - flash to a factory image

Passing in images from the command line is more useful for a DevCI workflow where we build images and then test them. It will still be used but for the functions above, we would be testing officially release images so an invocation of the boardfarm scripts does not need to have an image and location passed into it.

Parumugam commented 5 years ago

device.downgrade() - flash to an old image ==> Old Image means, whatever image was available previously on the CM?

Also, it would be good to have a function where we can just mention a image name and the same shall be flashed in the CM?

Persoanly, I beleive, we develop the Automation Code in a stable image (the latest GA image released to field), so that we dont get into any regression breakage. What's your view Matthew?

mattsm commented 5 years ago

Flashing an old image is there to test upgrading to the new image mostly. It would most likely be a previous release, we can add an option here to flash older images at some point

mattsm commented 5 years ago

Getting the current current firmware should just get a function on the device class

get_firmware_version()

I sent info about this in a separate email.

ppalaniappan commented 5 years ago

The better way to get the firmware is via HFS by creating the label name for downgrade and upgrade, then it is easy for us to change the image for test .