1bbbd9b6eSWillian Rampazzo# Functional test that hotplugs a CPU and checks it on a Linux guest 2bbbd9b6eSWillian Rampazzo# 3bbbd9b6eSWillian Rampazzo# Copyright (c) 2021 Red Hat, Inc. 4bbbd9b6eSWillian Rampazzo# 5bbbd9b6eSWillian Rampazzo# Author: 6bbbd9b6eSWillian Rampazzo# Cleber Rosa <crosa@redhat.com> 7bbbd9b6eSWillian Rampazzo# 8bbbd9b6eSWillian Rampazzo# This work is licensed under the terms of the GNU GPL, version 2 or 9bbbd9b6eSWillian Rampazzo# later. See the COPYING file in the top-level directory. 10bbbd9b6eSWillian Rampazzo 11*816d4201SThomas Huthfrom avocado_qemu.linuxtest import LinuxTest 12bbbd9b6eSWillian Rampazzo 13bbbd9b6eSWillian Rampazzo 14bbbd9b6eSWillian Rampazzoclass HotPlugCPU(LinuxTest): 15bbbd9b6eSWillian Rampazzo 16bbbd9b6eSWillian Rampazzo def test(self): 17bbbd9b6eSWillian Rampazzo """ 18bbbd9b6eSWillian Rampazzo :avocado: tags=arch:x86_64 19bbbd9b6eSWillian Rampazzo :avocado: tags=machine:q35 20bbbd9b6eSWillian Rampazzo :avocado: tags=accel:kvm 21bbbd9b6eSWillian Rampazzo """ 22bbbd9b6eSWillian Rampazzo self.require_accelerator('kvm') 23bbbd9b6eSWillian Rampazzo self.vm.add_args('-accel', 'kvm') 24bbbd9b6eSWillian Rampazzo self.vm.add_args('-cpu', 'Haswell') 25bbbd9b6eSWillian Rampazzo self.vm.add_args('-smp', '1,sockets=1,cores=2,threads=1,maxcpus=2') 26bbbd9b6eSWillian Rampazzo self.launch_and_wait() 27bbbd9b6eSWillian Rampazzo 28bbbd9b6eSWillian Rampazzo self.ssh_command('test -e /sys/devices/system/cpu/cpu0') 29bbbd9b6eSWillian Rampazzo with self.assertRaises(AssertionError): 30bbbd9b6eSWillian Rampazzo self.ssh_command('test -e /sys/devices/system/cpu/cpu1') 31bbbd9b6eSWillian Rampazzo 32684750abSVladimir Sementsov-Ogievskiy self.vm.cmd('device_add', 33bbbd9b6eSWillian Rampazzo driver='Haswell-x86_64-cpu', 34bbbd9b6eSWillian Rampazzo socket_id=0, 35bbbd9b6eSWillian Rampazzo core_id=1, 36bbbd9b6eSWillian Rampazzo thread_id=0) 37bbbd9b6eSWillian Rampazzo self.ssh_command('test -e /sys/devices/system/cpu/cpu1') 38