machine-id-setup: generate machine-id from DMI product ID on Amazon EC2

Amazon EC2 Nitro hypervisor is technically based on KVM[1].

[1] https://aws.amazon.com/ec2/faqs/
This commit is contained in:
Bertrand Jacquin
2021-04-30 12:26:22 -07:00
committed by Noah Meyerhans
parent b6eca3731d
commit 382a46d129
+5 -4
View File
@@ -60,13 +60,14 @@ static int generate_machine_id(const char *root, sd_id128_t *ret) {
return 0;
}
} else if (detect_vm() == VIRTUALIZATION_KVM) {
} else if (IN_SET(detect_vm(), VIRTUALIZATION_KVM, VIRTUALIZATION_AMAZON, VIRTUALIZATION_QEMU)) {
/* If we are not running in a container, see if we are running in qemu/kvm and a
* machine ID was passed in via -uuid on the qemu/kvm command line */
/* If we are not running in a container, see if we are running in a VM that provides
* a system UUID via the SMBIOS/DMI interfaces. Such environments include QEMU/KVM
* with the -uuid on the qemu command line or the Amazon EC2 Nitro hypervisor. */
if (id128_get_product(ret) >= 0) {
log_info("Initializing machine ID from KVM UUID.");
log_info("Initializing machine ID from VM UUID.");
return 0;
}
}