de512f2c02
tl;dr: We're adding the default VirtIO-RNG device to ensure guests are not starved of entropy (and thus not hang) during boot time. Background ---------- From Nova Git history, commitb94550f419
("libvirt: configuration element for a random number generator device") _did_ add a default RNG device (but with its entropy source to the undesirable '/dev/random'). However, the default RNG device was immediately removed in another commit (605677c
-- "libvirt: remove explicit /dev/random rng default"), with this rationale: libvirt (or rather qemu) will default to /dev/random if no rng device path is specified [...] It's preferable for us to not duplicate this default to allow for a future where libvirt or the hypervisor needs to make more intelligent decisions about the default device to use. The above reasoning doesn't hold up, because: (a) libvirt does not make "policy" decisions, such as choosing an entropy source (or any other such). Therefore Nova, as a management application, should make the decision here. (b) More importantly, when QEMU exposes a VirtIO-RNG device to the guest, that device needs a source of entropy; and QEMU by default uses the legacy and problematic `/dev/random` as the source — instead of the preferred `/dev/urandom`. So QEMU's default for VirtIO-RNG devices is not sufficient, and Nova should not rely on it. (Discussion[+] on 'qemu-devel' list to consider changing QEMU's default.) * * * In this patch: - Make Nova configure a VirtIO-RNG device by default for guests. (Which will be using `/dev/urandom` as the default entropy source.) This will also work for Windows guests, when using VirtIO-Win drivers[*] on the Linux host. - The 'hw_rng_model' image metadata property is now rendered (temporarily) useless -- as it's not used anywhere outside the _add_rng_device() method. But we don't want to deprecate it yet, as we may extend it (see code comment for details); docucment that. [*] https://docs.pagure.org/docs-fedora/create-windows-vms-using-virtio.html [+] https://lists.nongnu.org/archive/html/qemu-devel/2018-09/msg02724.html -- "[RFC] Virtio RNG: Consider changing the default entropy source to /dev/urandom?" Closes-Bug: #1789868 Change-Id: I28e66c9640c38d23b8c0dbd0b05f5260bfcf6d30 Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
10 lines
393 B
YAML
10 lines
393 B
YAML
---
|
|
features:
|
|
- |
|
|
When using the libvirt driver, Nova instances will now get a
|
|
VirtIO-RNG (Random Number Generator) device by default. This is to
|
|
ensure guests are not starved of entropy during boot time. In case
|
|
you want to *disallow* setting an RNG device for some reason, it can
|
|
be done by setting the flavor Extra Spec property ``hw_rng:allowed``
|
|
to ``False``.
|