One potential frustration for users is the limbo period while a repo is being downloaded. Currently, any installs will fail if the repo is not ready yet. Better behavior would be to defer installation, either via a sleep script (like the microkernel waits for a policy to bind) or a simple reboot.
- Defer installation of nodes if the repo was created via `iso-url` and has not been successfully created
- Render delay ipxe script for nodes to call /svc/boot again later
- Add config `repo_not_ready_retry_timeout` (name debatable) with default of 30 seconds
- Call /svc/boot again with same arguments after config timeout/sleep expires
Out of Scope
- Add `status` field to repo, with values (`pending`, `downloading`, `extracting`, `finished`, and `errored`) [RAZOR-787]
- Update repo status when created, download starts, extract starts, and extract/move finishes. [RAZOR-787]
- Add a stock "delay" template to render instead of `template = @task.boot_template(@node)` (app.rb:374) if the repo's status != `finished`.