download images only once per conductor in pxe driver
Bug #1199665 reported by
Ghe Rivero
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
Medium
|
Dmitry Tantsur |
Bug Description
Revise the logic when requestiong to download multiple images (similars or not), so different tasks don't download the same image twice.
ironic/
Changed in ironic: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in ironic: | |
assignee: | nobody → Max Lobur (max-lobur) |
Changed in ironic: | |
status: | Triaged → In Progress |
Changed in ironic: | |
assignee: | Max Lobur (max-lobur) → nobody |
status: | In Progress → Triaged |
Changed in ironic: | |
assignee: | nobody → Dmitry "Divius" Tantsur (divius) |
Changed in ironic: | |
milestone: | none → juno-1 |
status: | Fix Committed → Fix Released |
Changed in ironic: | |
milestone: | juno-1 → 2014.2 |
To post a comment you must log in.
This bug covers two different things:
- don't download the same image twice [to the same conductor]
- download images in parallel.
The former is an efficiency gain, the latter is actually often going to be a pessimisation. Why? because unless there are multiple workers at both ends, parallelisation just means 'context switch more often' - e.g. if we don't read() at wire speed, tcp won't fully open and we'll see slower downloads of each image (particularly visible on faster networks where we can't easily keep up).
So, I'd like to make this bug be 'download any given image once only', and we can use profiling to see whether image download performance is an issue. If it is, we'll need this to be a configurable setting, because a machine with only one hard disk will almost always be better off downloading one thing at a time (less seeks == more throughput) particularly if images exceed the working set on the machine. Long term for performance we should be downloading only the kernel and ramdisk anyway, and using some more efficient (bittorrent/ multicast/ bitfountain) method for image deployment straight out of glance.