Comment 4 for bug 1806763

Revision history for this message
Jason Hobbs (jason-hobbs) wrote :

It is a design bug. Adding boot sources and making selections isn't new functionality, and right now, due to an incomplete API, is inherently racy.

The problem is we don't have a way to add boot sources and make boot source selections in a non-racy manner, because the API for this is incomplete and doesn't include a way to tell when boot sources have been synced.

This leads to failures in the field, where we add a boot source, try to make boot source selections, and get errors. This has occurred in multiple field deployments, and we do not have a workaround for it.

We've tried using sleep() between adding boot source and making selections, but that is inherently racy and we haven't been able to figure out any specific amount of time that guarantees the boot sources are available to make selections from.

Do you have some other method in mind of solving this problem that doesn't involve an API change? We need to be able to tell when boot sources are ready and that no error or timeout has occurred that will prevent the boot source from becoming ready.