Module Import alias ImportFrom alias identifier ImportFrom alias ImportFrom alias Assign NameStore Call AttributeLoad NameLoad attr NameLoad ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign NameStore Num While CompareLt NameLoad NameLoad body If Call AttributeLoad NameLoad attr NameLoad body AugAssignAdd NameStore Num Expr Call AttributeLoad NameLoad attr NameLoad orelse Break Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore ListComp ListComp NameLoad comprehension NameStore Call NameLoad NameLoad comprehension NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr Call NameLoad Str Return NameLoad For NameStore Call NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad SubscriptLoad NameLoad Index NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If CompareLt NameLoad NameLoad body Assign NameStore BinOpSub NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad BinOpAdd ListComp NameLoad comprehension NameStore Call NameLoad NameLoad ListComp NameLoad comprehension NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Dict Str Str SubscriptLoad NameLoad Index NameLoad NameLoad Return NameLoad decorator_list decorator_list
N/A N/A copy oslo_log log logging nova.i18n _LW nova_solverscheduler.scheduler.solvers constraints N/A LOG N/A N/A logging getLogger __name__ PciPassthroughConstraint N/A N/A constraints BaseLinearConstraint N/A N/A Constraint that schedules instances on a host if the host has devices
    to meet the device requests in the 'extra_specs' for the flavor.

    PCI resource tracker provides updated summary information about the
    PCI devices for each host, like:
    [{"count": 5, "vendor_id": "8086", "product_id": "1520",
        "extra_info":'{}'}],
    and VM requests PCI devices via PCI requests, like:
    [{"count": 1, "vendor_id": "8086", "product_id": "1520",}].

    The constraint checks if the host passes or not based on this information.
     _get_acceptable_pci_requests_times N/A N/A self max_times_to_try pci_requests host_pci_stats N/A N/A N/A acceptable_times 0 N/A N/A acceptable_times max_times_to_try N/A N/A N/A N/A host_pci_stats support_requests pci_requests N/A N/A acceptable_times 1 N/A N/A N/A host_pci_stats apply_requests pci_requests N/A N/A N/A acceptable_times N/A get_constraint_matrix N/A N/A self hosts filter_properties N/A N/A N/A num_hosts N/A len hosts N/A num_instances N/A N/A filter_properties get num_instances N/A constraint_matrix N/A N/A True N/A j N/A xrange num_instances N/A i N/A xrange num_hosts N/A pci_requests N/A N/A filter_properties get pci_requests N/A N/A pci_requests N/A N/A N/A N/A LOG warn N/A _LW PciPassthroughConstraint check is skipped because requested instance PCI requests is unavailable. N/A constraint_matrix N/A i N/A xrange num_hosts N/A N/A host_pci_stats N/A N/A copy deepcopy N/A N/A hosts N/A i pci_stats N/A acceptable_num_instances N/A N/A self _get_acceptable_pci_requests_times num_instances pci_requests host_pci_stats N/A N/A acceptable_num_instances num_instances N/A N/A inacceptable_num N/A num_instances acceptable_num_instances N/A N/A constraint_matrix N/A i N/A N/A True N/A j N/A xrange acceptable_num_instances N/A False N/A j N/A xrange inacceptable_num N/A N/A N/A LOG debug %(host)s can accept %(num)s requested instances according to PciPassthroughConstraint. N/A host num N/A hosts N/A i acceptable_num_instances N/A constraint_matrix N/A N/A