When the VirtualBox VMs is powered on, Ironic cannot set the boot
device. As a result, VirtualBox driver cannot finish deploying
local harddisk boot VMs and also set and get Virtualbox VMs's
boot devices correctly.
Solution: We get boot device from set_boot_device and store the
target boot device in driver_internal_info. Before next starting up
we set the boot device and clean target_boot_device information,
if the target_boot_device is None, we just skip setting boot device.
For the get_boot_device call, if the VMs is powered off, we call
remotebox to get current boot device. otherwise, we return the target
boot device from driver_internal_info(if target_boot_device
is not None) or we call remotebox to return the current boot device.
Returning target boot device when VMs is powered on will avoid the
problem that even users set the target boot device while returning
the last boot device.
Change-Id: Ice489ba642bf093fe7015aa97e6a92717f676118
Closes-Bug: #1554908