Description of problem: Installation of RHEL7 KVM guest from Satellite webUI to RHEL7 KVM host is about 2 times slower than to RHEL6 host. Version-Release number of selected component (if applicable): KVM host is RHEL7: koan-2.0.7-41.el7sat.noarch spacewalk-koan-2.0.1-3.el7sat.noarch Satellite 5.6.0 How reproducible: always Steps to Reproduce: 1. Use Satellite webUI to provision RHEL7 KVM guest on RHEL7 KVM host. This command is issued: # rhn_check -vv [...] - ['virt-install', '--connect', 'qemu:///system', '--name', 'jhutar3', '--ram', '800', '--vcpus', '1', '--autostart', '--nographics', '--virt-type', 'kvm', '--machine', 'pc', '--extra-args=ks=http://<fqdn>/cblr/svc/op/ks/system/localhost.localdomain:1:jhutar3 ksdevice=link kssendmac lang= text ', '--location', 'http://<fqdn>/ty/P3uBiKwM/', '--os-variant', 'generic26', '--disk', 'path=/var/lib/libvirt/images/jhutar3,size=5', '--network', 'bridge=virbr0,mac=00:16:3e:5f:38:37', '--wait', '0', '--noautoconsole'] [...] Actual results: It took about 44 minutes to install the virtual machine (with 800MB RAM). When I have tried command above manually with "bus=virtio" added to "--disk" and "model=virtio" to "--network", it took about 22 minutes (but manual "Force Shutdown" was needed at the end, do not know why). When I have reinstalled mine KVM host to RHEL6 and used that to provision RHEL7 KVM guest, it took about 15 minutes (though kickstart was slightly different but package number seems to +- match). Manual "Force Shutdown" was needed at the end as well. Expected results: RHEL7 KVM guest should install in similar time on RHEL7 and RHEL6 KVM host. Additional info: Maybe also "--os-variant" have impact? I can not compare the command with RHEL6 as koan there uses python API, but this might help: [...] D: handle_action{'action': "<?xml version='1.0'?>\n<methodCall>\n<methodName>kickstart_guest.initiate</methodName>\n<params>\n<param>\n<value><string><fqdn></string></value>\n</param>\n<param>\n<value><string>localhost.localdomain:1:jhutar1-sherr-rhel-7</string></value>\n</param>\n<param>\n<value><string>qemu</string></value>\n</param>\n<param>\n<value><int>170</int></value>\n</param>\n<param>\n<value><string>jhutar1-sherr-rhel-7</string></value>\n</param>\n<param>\n<value><int>800</int></value>\n</param>\n<param>\n<value><int>1</int></value>\n</param>\n<param>\n<value><int>3</int></value>\n</param>\n<param>\n<value><string>virbr0</string></value>\n</param>\n<param>\n<value><string>/var/lib/libvirt/images/jhutar1-sherr-rhel-7</string></value>\n</param>\n<param>\n<value><string> </string></value>\n</param>\n</params>\n</methodCall>\n", 'version': 2, 'id': 6216} D: handle_action actionid = 6216, version = 2 D: do_call kickstart_guest.initiate('<fqdn>', 'localhost.localdomain:1:jhutar1-sherr-rhel-7', 'qemu', 170, 'jhutar1-sherr-rhel-7', 800, 1, 3, 'virbr0', '/var/lib/libvirt/images/jhutar1-sherr-rhel-7', ' '){'cache_only': None} [...]
Most probably related to bug 1029493.
--os-variant', 'generic26' causes libvirt to choose an IDE disk !!! If we want to get kvm acceleration involved we need to be more specific about --os-variant, as generic26 is not enough. Or we can try to omit "--os-variant generic26" and see if libvirt OS guessing steps in.
Unless you're reporting something new that has not been discussed up till now, I believe it is highly misleading to day that it creates guests without kvm acceleration. "Kvm acceleration" without any other modifiers would refer to whether the CPU is using kvm or being fully emulated with qemu, and unless I'm very wrong the CPU is still using kvm acceleration on RHEL 7. I will take another look at this today to see what we can do.
s/day/say
Okay, I have an update that will resolve this issue IF the update is applied before the kickstart distros are created / synced / updated. This should be fine for real-world use, since it is probable that customers will apply the update long before RHEL 7 GA. Basically we are updating Satellite / cobbler to know the real os_version, not just stick in a 'generic26'. This will allow libvirt to use all available accelerations, including using virtio drivers for network and disk by default on hosts where they are available. If you want to update distros that were created / synced before the update was applied then you can find the RHEL 7 distros in the list: sudo cobbler distro list And update them to know that they are RHEL 7 distros: sudo cobbler distro edit --os-version rhel7 --name <distro_name> The above should not be necessary for any distro created or first synced after the update is applied. Committed to Spacewalk master: e47ee0029ed9e3ff8a655fd936d6873053007a2a
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2014-0541.html