The 2016.2 release marks the start of the migration to the pipeline dispatcher. The previous dispatcher code, the documentation for that code and the support for JSON job formats are now *deprecated*. As a result, the corresponding lava-server code has also been *deprecated*, this includes Bundles, Filters and Image Reports (original and 2.0). The deprecated Dashboard is replaced by Results with Queries and Charts which have been ported to the data produced by the pipeline testjobs.
Future development within LAVA will be based solely on the pipeline dispatcher and associated server side objects. Support for the deprecated dispatcher will be maintained for future releases only during the migration and *will be removed* once the migration is complete. The migration is expected to take most of 2016. Individual devices and particular items of job support will be gradually disabled until the migration completes for all devices and all jobs.
The migration process involves: 0: Adding pipeline support for devices and deployment methods 1: Migrating user submissions and automated submissions to the pipeline support. For the Linaro LAVA instances, this will happen within the particular teams inside Linaro. 2: Making selected devices exclusive to the pipeline so that JSON jobs can no longer be submitted for those devices. At this point, support for JSON jobs which rely on those devices will cease. 3: Once all devices are exclusive, reject all JSON submissions. 4: Disable the old scheduler daemon on the LAVA instance.
At some point, probably in 2017 - a month or two after JSON submissions cease - the migration will complete by executing:
5: Removal of code support for the old dispatcher in lava-dispatcher and lava-tool codebases and associated documentation. 6: Removal of code support for database objects specific to the old dispatcher, like Bundle, in lava-server with associated documentation. This will involve the deletion of the Bundle data as well as image reports, filters and BundleStreams. TestJob objects which are not pipeline jobs will also be deleted. 7: Removal of the rest of the code which is still dependent upon or only used to support deprecated objects and functions. 8: Modification of code which only exists to isolate the deprecated objects from the pipeline objects. e.g. newly created jobs or devices will default to pipeline support.
LAVA instances outside Linaro will need to manage their own migrations during 2016 if updates are to be applied during 2017.
It is not possible to retain the database objects without the deprecated code, so owners of individual instances may choose to create an archive instance which has no online devices, accepts no submissions, just provides access to a snapshot of the data at the time that JSON submissions ceased. To maintain access to the archived data, this instance must not upgrade to LAVA releases after the archive is created and the original devices should persist in the database but be kept in the Offline state. Devices should also have submissions restricted to a single administrator account for which no API token exists.
More information on the details of the migration and the state of support for jobs using the old dispatcher will be announced on this mailing list.
As a reminder - lava-announce is a read-only list. Posts to this list are only made by the LAVA software team. Replies need to be directed to linaro-validation@lists.linaro.org - your email client should do this for you, using the Reply-To header added by mailman.
linaro-validation@lists.linaro.org