Hi,
Running test_get_disk_mapping_stable_rescue_ide_cdrom on arm64 or ppcel64 results in failure:
> ======================================================================
> FAIL: nova.tests.unit.virt.libvirt.test_blockinfo.LibvirtBlockInfoTest.test_get_disk_mapping_stable_rescue_ide_cdrom
> nova.tests.unit.virt.libvirt.test_blockinfo.LibvirtBlockInfoTest.test_get_disk_mapping_stable_rescue_ide_cdrom
> ----------------------------------------------------------------------
> testtools.testresult.real._StringException: pythonlogging:'': {{{
> 2020-12-05 01:40:10,410 WARNING [oslo_policy.policy] JSON formatted policy_file support is deprecated since Victoria release. You need to use YAML format which will be default in future. You can use ``oslopolicy-convert-json-to-yaml`` tool to convert existing JSON-formatted policy file to YAML-formatted in backward compatible way: https://docs.openstack.org/oslo.policy/latest/cli/oslopolicy-convert-json-to-yaml.html.
> 2020-12-05 01:40:10,411 WARNING [oslo_policy.policy] JSON formatted policy_file support is deprecated since Victoria release. You need to use YAML format which will be default in future. You can use ``oslopolicy-convert-json-to-yaml`` tool to convert existing JSON-formatted policy file to YAML-formatted in backward compatible way: https://docs.openstack.org/oslo.policy/latest/cli/oslopolicy-convert-json-to-yaml.html.
> 2020-12-05 01:40:10,412 WARNING [oslo_policy.policy] Policy Rules ['os_compute_api:extensions', 'os_compute_api:os-floating-ip-pools', 'os_compute_api:os-quota-sets:defaults', 'os_compute_api:os-availability-zone:list', 'os_compute_api:limits', 'project_reader_api', 'os_compute_api:os-lock-server:unlock:unlock_override', 'os_compute_api:servers:create:zero_disk_flavor', 'compute:servers:resize:cross_cell'] specified in policy files are the same as the defaults provided by the service. You can remove these rules from policy files which will make maintenance easier. You can detect these redundant rules by ``oslopolicy-list-redundant`` tool also.
> }}}
>
> Traceback (most recent call last):
> File "/<<PKGBUILDDIR>>/nova/tests/unit/virt/libvirt/test_blockinfo.py", line 352, in test_get_disk_mapping_stable_rescue_ide_cdrom
> self._test_get_disk_mapping_stable_rescue(
> File "/<<PKGBUILDDIR>>/nova/tests/unit/virt/libvirt/test_blockinfo.py", line 293, in _test_get_disk_mapping_stable_rescue
> self.assertEqual(expected, mapping)
> File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 415, in assertEqual
> self.assertThat(observed, matcher, message)
> File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 502, in assertThat
> raise mismatch_error
> testtools.matchers._impl.MismatchError: !=:
> reference = {'disk': {'boot_index': '1', 'bus': 'virtio', 'dev': 'vda', 'type': 'disk'},
> 'disk.rescue': {'bus': 'ide', 'dev': 'hda', 'type': 'cdrom'},
> 'root': {'boot_index': '1', 'bus': 'virtio', 'dev': 'vda', 'type': 'disk'}}
> actual = {'disk': {'boot_index': '1', 'bus': 'virtio', 'dev': 'vda', 'type': 'disk'},
> 'disk.rescue': {'bus': 'scsi', 'dev': 'sda', 'type': 'cdrom'},
> 'root': {'boot_index': '1', 'bus': 'virtio', 'dev': 'vda', 'type': 'disk'}}
Looks like 'bus': 'ide' is not happening as expected...
FYI, doing something like this should fix it:
+ expect_ disk_config_ rescue = { libvirt_ utils.get_ arch({} ) disk_config_ rescue[ 'bus'] = 'scsi' disk_config_ rescue[ 'dev'] = 'sda'
+ 'bus': 'ide', 'dev': 'hda', 'type': 'cdrom'}
+ libvirt_g_a = blockinfo.
+ if libvirt_g_a == 'aarch64' or libvirt_g_a == 'ppc64le':
+ expect_
+ expect_