1 of 8

ACPI hotplug/unplug

Black box testing with openstack

2 of 8

Hot Plug/unplug in the physical world

3 of 8

The Button

Copied from: https://www.slideshare.net/xen_com_mgr/status-updateqemupcie

4 of 8

Manual Unplug

  1. Locate the slot of PCI card to delete.
  2. Press the attention button for the slot. The power LED will begin flashing. During the 5 seconds that the power LED is flashing, you may abort the request by pressing the attention button.

When the green LED stops blinking and goes off it is safe to remove the card.���������http://h10032.www1.hp.com/ctg/Manual/c00273378.pdf

5 of 8

Early hot plug event

The guest OS is designed for the physical world, VMs getting hotplugs events�as the physical machines would. The OS approval is required for device remove.

The guest does not check for button press event at early boot time. The hotplug events sent before the kernel fully initialized can be lost.

tempest/scenario/test_stamp_pattern.py could be unskipped, if we would try to ssh vm before hot plug event (volume attach)

6 of 8

The early unplug event

There are API tests which knows nothing about the guest OS state, therefore the test cannot know when the guest is ready for checking the button press (without logging into the vm).��Many existing “api only” test case will not work (reliably) if we use brick image, because guest/OS cooperation required.��Some cases the event handling timeout on nova side is lower than the timeout on the tempest side, tempest needlessly waits longer for something already failed. (Is the nova action history can indicate failure sooner ?)

Consulting with the nova server actions history might be the solution to handle the wait time better.

Interface, volume, pci-dev detach timeout on slow/loaded systems is related to this issue.�http://paste.openstack.org/show/729704/ (Tested with clihlt image (early freeze))

http://paste.openstack.org/show/729898/

7 of 8

ACPI soft reboot

The soft reboot also send as an ACPI button event and handled by the guest operating system (acpid) .

Openstack automatically switches to hard reboot.

Not possible to tell was it soft or hard reboot in an API test, also does not makes sense to insist on soft reboot when the hard reboot is valid outcome of soft-reboot.

8 of 8

Related presentations