コード例 #1
0
    def test_overwrite_existing_data(self):
        test_xml = u'''<?xml version="1.0" encoding="utf-8"?>
<domain type="kvm" xmlns:ovirt-vm="http://ovirt.org/vm/1.0">
  <uuid>68c1f97c-9336-4e7a-a8a9-b4f052ababf1</uuid>
  <metadata>
    <ovirt-vm:vm>
      <ovirt-vm:device mac_address='00:1a:4a:16:20:30'>
        <ovirt-vm:custom>
  <ovirt-vm:vnic_id>da688238-8b79-4a5f-9f0e-0b207463ff1f</ovirt-vm:vnic_id>
  <ovirt-vm:provider_type>EXTERNAL_NETWORK</ovirt-vm:provider_type>
        </ovirt-vm:custom>
      </ovirt-vm:device>
    </ovirt-vm:vm>
  </metadata>
</domain>'''
        md_desc = metadata.Descriptor.from_xml(test_xml)
        nic_params = {
            'device': hwclass.NIC,
            'macAddr': '00:1a:4a:16:20:30',
            'network': 'test',
        }
        expected_xml = """<ovirt-vm:vm xmlns:ovirt-vm="http://ovirt.org/vm/1.0">
    <ovirt-vm:device mac_address="00:1a:4a:16:20:30">
        <ovirt-vm:network>test</ovirt-vm:network>
    </ovirt-vm:device>
</ovirt-vm:vm>"""
        dev_map = common.empty_dev_map()
        dev_map[hwclass.NIC].append(network.Interface(self.log, **nic_params))
        common.save_device_metadata(md_desc, dev_map, self.log)
        self.assertXMLEqual(md_desc.to_xml(), expected_xml)
コード例 #2
0
 def setUp(self):
     self.drives = [
         FakeDrive(
             name='sda',
             serial='scsi0000',
             alias='ua-0000'
         ),
         FakeDrive(
             name='vdb',
             serial='virtio0000',
             alias='ua-2001'
         ),
     ]
     self.devices_conf = [
         {'alias': 'dimm0', 'type': 'memory', 'size': 1024},
         {'alias': 'ac97', 'type': 'sound'}
     ]
     self.devices = common.empty_dev_map()
     self.device_xml = xmlutils.fromstring("""
         <devices>
           <disk><alias name='ua-1'/></disk>
           <hostdev><alias name='ua-2'/></hostdev>
           <interface><alias name='ua-3'/></interface>
         </devices>
     """)
コード例 #3
0
    def test_devices_storage(self):
        drive_params = {
            'device': hwclass.DISK,
            'iface': 'sata',
            'index': 0,
            # *ID are not validated by the Drive class
            'shared': 'transient',
            'domainID': 'domainID',
            'imageID': 'imageID',
            'poolID': 'poolID',
            'volumeID': 'volumeID',
        }
        expected_xml = """<ovirt-vm:vm xmlns:ovirt-vm="http://ovirt.org/vm/1.0">
    <ovirt-vm:device devtype="disk" name="sda">
        <ovirt-vm:domainID>domainID</ovirt-vm:domainID>
        <ovirt-vm:imageID>imageID</ovirt-vm:imageID>
        <ovirt-vm:poolID>poolID</ovirt-vm:poolID>
        <ovirt-vm:shared>transient</ovirt-vm:shared>
        <ovirt-vm:volumeID>volumeID</ovirt-vm:volumeID>
    </ovirt-vm:device>
</ovirt-vm:vm>"""
        dev_map = common.empty_dev_map()
        dev_map[hwclass.DISK].append(storage.Drive(self.log, **drive_params))
        common.save_device_metadata(self.md_desc, dev_map, self.log)
        self.assertXMLEqual(self.md_desc.to_xml(), expected_xml)
コード例 #4
0
 def test_device_no_metadata(self):
     dev_map = common.empty_dev_map()
     dev_map[hwclass.LEASE].append(
         lease.Device(self.log,
                      lease_id='l',
                      sd_id='s',
                      path='p',
                      offset='0'))
     common.save_device_metadata(self.md_desc, dev_map, self.log)
     self.assertXMLEqual(self.md_desc.to_xml(), self.EMPTY_XML)
コード例 #5
0
 def setUp(self):
     self.drives = [
         FakeDrive(name='sda', serial='scsi0000', alias='ua-0000'),
         FakeDrive(name='vdb', serial='virtio0000', alias='ua-2001'),
     ]
     self.devices_conf = [{
         'alias': 'dimm0',
         'type': hwclass.MEMORY,
         'size': 1024
     }, {
         'alias': 'ac97',
         'type': hwclass.SOUND
     }]
     self.devices = common.empty_dev_map()
コード例 #6
0
ファイル: metadata_test.py プロジェクト: guozhonghua216/vdsm
    def test_devices_storage_iotune(self):
        drive_params = {
            'index': 0,
            'cache': 'none',
            'name': 'vda',
            'format': 'raw',
            'bootOrder': '1',
            'discard': False,
            'diskType': 'block',
            'specParams': {
                'ioTune': {
                    'write_bytes_sec': 0,
                    'total_iops_sec': 0,
                    'read_iops_sec': 100,
                    'read_bytes_sec': 0,
                    'write_iops_sec': 100,
                    'total_bytes_sec': 0
                }
            },
            'iface': 'virtio',
            'device': 'disk',
            'path': '/some/path',
            'serial': 'random-serial',
            'propagateErrors': 'off',
            'type': 'disk',
            # *ID are not validated by the Drive class
            'shared': 'transient',
            'domainID': 'domainID',
            'imageID': 'imageID',
            'poolID': 'poolID',
            'volumeID': 'volumeID',
        }
        expected_xml = """<ovirt-vm:vm xmlns:ovirt-vm="http://ovirt.org/vm/1.0">
    <ovirt-vm:device devtype="disk" name="vda">
        <ovirt-vm:domainID>domainID</ovirt-vm:domainID>
        <ovirt-vm:imageID>imageID</ovirt-vm:imageID>
        <ovirt-vm:managed type="bool">False</ovirt-vm:managed>
        <ovirt-vm:poolID>poolID</ovirt-vm:poolID>
        <ovirt-vm:shared>transient</ovirt-vm:shared>
        <ovirt-vm:volumeID>volumeID</ovirt-vm:volumeID>
        <ovirt-vm:specParams />
    </ovirt-vm:device>
</ovirt-vm:vm>"""
        dev_map = common.empty_dev_map()
        dev_map[hwclass.DISK].append(storage.Drive(self.log, **drive_params))
        common.save_device_metadata(self.md_desc, dev_map, self.log)
        self.assertXMLEqual(self.md_desc.to_xml(), expected_xml)
コード例 #7
0
ファイル: device_lookup_test.py プロジェクト: nirs/vdsm
 def setUp(self):
     self.drives = [
         FakeDrive(
             name='sda',
             serial='scsi0000',
             alias='ua-0000'
         ),
         FakeDrive(
             name='vdb',
             serial='virtio0000',
             alias='ua-2001'
         ),
     ]
     self.devices_conf = [
         {'alias': 'dimm0', 'type': hwclass.MEMORY, 'size': 1024},
         {'alias': 'ac97', 'type': hwclass.SOUND}
     ]
     self.devices = common.empty_dev_map()
コード例 #8
0
    def test_devices_network(self):
        nic_params = {
            'device': hwclass.NIC,
            'macAddr': '00:00:00:00:00:00',
            'network': 'test',
            'portMirroring': ['net1', 'net2'],
        }
        expected_xml = """<ovirt-vm:vm xmlns:ovirt-vm="http://ovirt.org/vm/1.0">
    <ovirt-vm:device mac_address="00:00:00:00:00:00">
        <ovirt-vm:network>test</ovirt-vm:network>
        <ovirt-vm:portMirroring>
          <ovirt-vm:network>net1</ovirt-vm:network>
          <ovirt-vm:network>net2</ovirt-vm:network>
        </ovirt-vm:portMirroring>
    </ovirt-vm:device>
</ovirt-vm:vm>"""
        dev_map = common.empty_dev_map()
        dev_map[hwclass.NIC].append(network.Interface(self.log, **nic_params))
        common.save_device_metadata(self.md_desc, dev_map, self.log)
        self.assertXMLEqual(self.md_desc.to_xml(), expected_xml)
コード例 #9
0
ファイル: metadata_test.py プロジェクト: guozhonghua216/vdsm
    def test_disk_specParams_payload_device(self):
        payload_params = {
            u'index': u'3',
            u'iface': u'ide',
            u'specParams': {
                u'vmPayload': {
                    u'volId': u'config-2',
                    u'file': {
                        u'openstack/content/0000': u'A',
                        u'openstack/latest/meta_data.json': u'B',
                        u'openstack/latest/user_data': u'C',
                    }
                }
            },
            u'readonly': u'true',
            u'deviceId': u'e5cd57aa-6eb6-424b-b16b-83ef07bf9cca',
            u'shared': u'false',
            u'device': u'cdrom',
            u'path': u'',
            u'type': u'disk'
        }
        expected_xml = """<ovirt-vm:vm xmlns:ovirt-vm="http://ovirt.org/vm/1.0">
<ovirt-vm:device name="hdd" devtype="disk">
  <ovirt-vm:deviceId>e5cd57aa-6eb6-424b-b16b-83ef07bf9cca</ovirt-vm:deviceId>
  <ovirt-vm:managed type="bool">False</ovirt-vm:managed>
    <ovirt-vm:shared>false</ovirt-vm:shared>
    <ovirt-vm:specParams>
     <ovirt-vm:vmPayload>
       <ovirt-vm:volId>config-2</ovirt-vm:volId>
       <ovirt-vm:file path='openstack/content/0000'>A</ovirt-vm:file>
       <ovirt-vm:file path='openstack/latest/meta_data.json'>B</ovirt-vm:file>
       <ovirt-vm:file path='openstack/latest/user_data'>C</ovirt-vm:file>
     </ovirt-vm:vmPayload>
    </ovirt-vm:specParams>
  </ovirt-vm:device>
</ovirt-vm:vm>"""
        dev_map = common.empty_dev_map()
        dev_map[hwclass.DISK].append(storage.Drive(self.log, **payload_params))
        common.save_device_metadata(self.md_desc, dev_map, self.log)
        self.assertXMLEqual(self.md_desc.to_xml(), expected_xml)
コード例 #10
0
 def test_device_no_metadata(self):
     dev_map = common.empty_dev_map()
     dev_map[hwclass.SOUND].append(core.Sound(self.log))
     common.save_device_metadata(self.md_desc, dev_map, self.log)
     self.assertXMLEqual(self.md_desc.to_xml(), self.EMPTY_XML)
コード例 #11
0
 def test_no_devices(self):
     dev_map = common.empty_dev_map()
     common.save_device_metadata(self.md_desc, dev_map, self.log)
     self.assertXMLEqual(self.md_desc.to_xml(), self.EMPTY_XML)