Repository URL to install this package:
Version:
4.0.109 ▾
|
ó ±EYc @ s¸ d Z d d l Z d d l Z d d l m Z d d l Z d d l Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d Z d Z i e j j e j 6Z e j j Z e j j e j j e j j g Z d g Z i d d 6e d 6i i d d 6d d 6d d 6d 6i d d 6e d 6d 6i d d 6e j! d 6d 6i d d 6e j! d 6d 6i d d 6e d 6d 6d 6d g d 6Z" d Z# d Z$ d Z% d S(! sG Example of a PCI alias:: | pci_alias = '{ | "name": "QuicAssist", | "product_id": "0443", | "vendor_id": "8086", | "device_type": "type-PCI", | }' Aliases with the same name and the same device_type are OR operation:: | pci_alias = '{ | "name": "QuicAssist", | "product_id": "0442", | "vendor_id": "8086", | "device_type": "type-PCI", | }' These 2 aliases define a device request meaning: vendor_id is "8086" and product id is "0442" or "0443". iÿÿÿÿN( t jsonutils( t exception( t _( t model( t objects( t fields( t utilst physical_networkt dev_typet pcit objectt typet additionalPropertiest stringi t minLengthi t maxLengtht namet enumt capability_typet patternt product_idt vendor_idt device_typet propertiest requiredc C s6 t j } i } yÜ xÕ | D]Í } t j | } t j | t | j d j } | j d d } | rx | | d <n | | k r | g | | <q | | d d | d k rÄ | | j | q t d | } t j d | q WWnD t j k r n. t k r1} t j d t j | n X| S( s4 Parse and validate PCI aliases from the nova config.R R R i s# Device type mismatch for alias '%s't reasonN( t CONFt pci_aliasR t loadst jsonschemat validatet _ALIAS_SCHEMAt popt stript Nonet appendR R t PciInvalidAliast Exceptiont sixt text_type( t jaliasest aliasest jsonspecst specR R R t e( ( sE /home/tvault/.virtenv/lib/python2.7/site-packages/nova/pci/request.pyt _get_alias_from_configb s* c C sº t } g } x¤ g | j d D] } | j d ^ q" D]w \ } } | j } | | k rt t j d | q; t j d t | d t j | | d | } | j | q; W| S( s>