Beispiel #1
0
 def test_get_osarch_by_rpm(self):
     """
     Get os_arch if RPM package is installed.
     :return:
     """
     subprocess_mock = MagicMock()
     subprocess_mock.Popen = MagicMock()
     subprocess_mock.Popen().communicate = MagicMock(return_value=["Z80"])
     with patch("salt.utils.pkg.rpm.subprocess", subprocess_mock):
         assert rpm.get_osarch() == "Z80"
     assert subprocess_mock.Popen.call_count == 2  # One within the mock
     subprocess_mock.Popen.assert_called_with(
         ["rpm", "--eval", "%{_host_cpu}"],
         close_fds=True,
         stderr=ANY,
         stdout=ANY)
Beispiel #2
0
 def test_get_osarch_by_rpm(self):
     """
     Get os_arch if RPM package is installed.
     :return:
     """
     subprocess_mock = MagicMock()
     subprocess_mock.Popen = MagicMock()
     subprocess_mock.Popen().communicate = MagicMock(return_value=["Z80"])
     with patch("salt.utils.pkg.rpm.subprocess", subprocess_mock):
         assert rpm.get_osarch() == "Z80"
     assert subprocess_mock.Popen.call_count == 2  # One within the mock
     assert subprocess_mock.Popen.call_args[1]["close_fds"]
     assert subprocess_mock.Popen.call_args[1]["shell"]
     assert len(subprocess_mock.Popen.call_args_list) == 2
     assert subprocess_mock.Popen.call_args[0][
         0] == 'rpm --eval "%{_host_cpu}"'
Beispiel #3
0
 def test_get_osarch_by_rpm(self):
     '''
     Get os_arch if RPM package is installed.
     :return:
     '''
     subprocess_mock = MagicMock()
     subprocess_mock.Popen = MagicMock()
     subprocess_mock.Popen().communicate = MagicMock(return_value=['Z80'])
     with patch('salt.utils.pkg.rpm.subprocess', subprocess_mock):
         assert rpm.get_osarch() == 'Z80'
     assert subprocess_mock.Popen.call_count == 2  # One within the mock
     assert subprocess_mock.Popen.call_args[1]['close_fds']
     assert subprocess_mock.Popen.call_args[1]['shell']
     assert len(subprocess_mock.Popen.call_args_list) == 2
     assert subprocess_mock.Popen.call_args[0][
         0] == 'rpm --eval "%{_host_cpu}"'
Beispiel #4
0
def test_get_disk_convert_volumes(make_mock_vm, make_mock_storage_pool):
    vm_def = """<domain type='kvm' id='3'>
      <name>srv01</name>
      <devices>
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2' cache='none' io='native'/>
          <source file='/path/to/default/srv01_system'/>
          <target dev='vda' bus='virtio'/>
          <alias name='virtio-disk0'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
        </disk>
        <disk type='block' device='disk'>
          <driver name='qemu' type='raw'/>
          <source dev='/path/to/default/srv01_data'/>
          <target dev='vdb' bus='virtio'/>
          <alias name='virtio-disk1'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
        </disk>
        <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2' cache='none' io='native'/>
          <source file='/path/to/srv01_extra'/>
          <target dev='vdc' bus='virtio'/>
          <alias name='virtio-disk1'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
        </disk>
      </devices>
    </domain>
    """
    domain_mock = make_mock_vm(vm_def)

    pool_mock = make_mock_storage_pool("default", "dir", ["srv01_system", "srv01_data"])

    subprocess_mock = MagicMock()
    popen_mock = MagicMock(spec=virt.subprocess.Popen)
    popen_mock.return_value.communicate.return_value = [
        """[
        {
            "virtual-size": 214748364800,
            "filename": "/path/to/srv01_extra",
            "cluster-size": 65536,
            "format": "qcow2",
            "actual-size": 340525056,
            "format-specific": {
                "type": "qcow2",
                "data": {
                    "compat": "1.1",
                    "lazy-refcounts": false,
                    "refcount-bits": 16,
                    "corrupt": false
                }
            },
            "dirty-flag": false
        }
    ]
    """
    ]
    subprocess_mock.Popen = popen_mock

    with patch.dict(virt.__dict__, {"subprocess": subprocess_mock}):
        assert {
            "vda": {
                "type": "disk",
                "file": "default/srv01_system",
                "file format": "qcow2",
                "disk size": 12345,
                "virtual size": 1234567,
            },
            "vdb": {
                "type": "disk",
                "file": "default/srv01_data",
                "file format": "raw",
                "disk size": 12345,
                "virtual size": 1234567,
            },
            "vdc": {
                "type": "disk",
                "file": "/path/to/srv01_extra",
                "file format": "qcow2",
                "cluster size": 65536,
                "disk size": 340525056,
                "virtual size": 214748364800,
            },
        } == virt.get_disks("srv01")