Exemplo n.º 1
0
    def getXML(self):
        """
        <rng model='virtio'>
            <rate period="2000" bytes="1234"/>
            <backend model='random'>/dev/random</backend>
        </rng>
        """
        # TODO: we can simplify both schema and code getting rid
        # of either VmRngDeviceType or VmRngDeviceModel.
        # libvirt supports only one device type, 'virtio'.
        # To do so, we need
        # 1. to ensure complete test coverage
        # 2. cleanup attribute access and names:
        #    we use the 'model' attribute here, does it map
        #    to VmRngDeviceModel? Why we need VmRngDeviceType.
        rng = self.createXmlElem('rng', None, ['model'])

        # <rate... /> element
        if 'bytes' in self.specParams:
            rateAttrs = {'bytes': self.specParams['bytes']}
            if 'period' in self.specParams:
                rateAttrs['period'] = self.specParams['period']

            rng.appendChildWithArgs('rate', None, **rateAttrs)

        # <backend... /> element
        rng_dev = rngsources.get_device(self.specParams['source'])
        rng.appendChildWithArgs('backend', rng_dev, model='random')

        return rng
Exemplo n.º 2
0
Arquivo: core.py Projeto: EdDev/vdsm
    def getXML(self):
        """
        <rng model='virtio'>
            <rate period="2000" bytes="1234"/>
            <backend model='random'>/dev/random</backend>
        </rng>
        """
        # TODO: we can simplify both schema and code getting rid
        # of either VmRngDeviceType or VmRngDeviceModel.
        # libvirt supports only one device type, 'virtio'.
        # To do so, we need
        # 1. to ensure complete test coverage
        # 2. cleanup attribute access and names:
        #    we use the 'model' attribute here, does it map
        #    to VmRngDeviceModel? Why we need VmRngDeviceType.
        rng = self.createXmlElem('rng', None, ['model'])

        # <rate... /> element
        if 'bytes' in self.specParams:
            rateAttrs = {'bytes': self.specParams['bytes']}
            if 'period' in self.specParams:
                rateAttrs['period'] = self.specParams['period']

            rng.appendChildWithArgs('rate', None, **rateAttrs)

        # <backend... /> element
        rng_dev = rngsources.get_device(self.specParams['source'])
        rng.appendChildWithArgs('backend', rng_dev, model='random')

        return rng
Exemplo n.º 3
0
 def uses_source(self, source):
     return rngsources.get_device(self.specParams['source']) == source
Exemplo n.º 4
0
 def matching_source(conf, source):
     return rngsources.get_device(conf['specParams']['source']) == source
Exemplo n.º 5
0
Arquivo: core.py Projeto: EdDev/vdsm
 def uses_source(self, source):
     return rngsources.get_device(self.specParams['source']) == source
Exemplo n.º 6
0
Arquivo: core.py Projeto: EdDev/vdsm
 def matching_source(conf, source):
     return rngsources.get_device(conf['specParams']['source']) == source