[metadata]
name = ironic-inspector
summary = Hardware introspection for OpenStack Bare Metal
description_file = README.rst
author = OpenStack
author_email = openstack-discuss@lists.openstack.org
home_page = https://docs.openstack.org/ironic-inspector/latest/
license = Apache-2
python_requires = >=3.9
classifier =
    Environment :: Console
    Environment :: OpenStack
    Intended Audience :: System Administrators
    Intended Audience :: Information Technology
    License :: OSI Approved :: Apache Software License
    Operating System :: OS Independent
    Programming Language :: Python
    Programming Language :: Python :: Implementation :: CPython
    Programming Language :: Python :: 3 :: Only
    Programming Language :: Python :: 3
    Programming Language :: Python :: 3.9
    Programming Language :: Python :: 3.10
    Programming Language :: Python :: 3.11
    Programming Language :: Python :: 3.12

[files]
packages =
    ironic_inspector

[entry_points]
console_scripts =
    ironic-inspector = ironic_inspector.cmd.all:main
    ironic-inspector-dbsync = ironic_inspector.cmd.dbsync:main
    ironic-inspector-conductor = ironic_inspector.cmd.conductor:main
    ironic-inspector-rootwrap = oslo_rootwrap.cmd:main
    ironic-inspector-migrate-data = ironic_inspector.cmd.migration:main
    ironic-inspector-status = ironic_inspector.cmd.status:main
wsgi_scripts =
    ironic-inspector-api-wsgi = ironic_inspector.cmd.wsgi:initialize_wsgi_app
ironic_inspector.hooks.processing =
    accelerators = ironic_inspector.plugins.accel_device:AccelDevicesHook
    scheduler = ironic_inspector.plugins.standard:SchedulerHook
    validate_interfaces = ironic_inspector.plugins.standard:ValidateInterfacesHook
    ramdisk_error = ironic_inspector.plugins.standard:RamdiskErrorHook
    root_disk_selection = ironic_inspector.plugins.standard:RootDiskSelectionHook
    example = ironic_inspector.plugins.example:ExampleProcessingHook
    extra_hardware = ironic_inspector.plugins.extra_hardware:ExtraHardwareHook
    raid_device = ironic_inspector.plugins.raid_device:RaidDeviceDetection
    capabilities = ironic_inspector.plugins.capabilities:CapabilitiesHook
    local_link_connection = ironic_inspector.plugins.local_link_connection:GenericLocalLinkConnectionHook
    lldp_basic = ironic_inspector.plugins.lldp_basic:LLDPBasicProcessingHook
    pci_devices = ironic_inspector.plugins.pci_devices:PciDevicesHook
    physnet_cidr_map = ironic_inspector.plugins.physnet_cidr_map:PhysnetCidrMapHook
ironic_inspector.hooks.node_not_found =
    example = ironic_inspector.plugins.example:example_not_found_hook
    enroll = ironic_inspector.plugins.discovery:enroll_node_not_found_hook
ironic_inspector.introspection_data.store =
    none = ironic_inspector.plugins.introspection_data:NoStore
    swift = ironic_inspector.plugins.introspection_data:SwiftStore
    database = ironic_inspector.plugins.introspection_data:DatabaseStore
ironic_inspector.rules.conditions =
    eq = ironic_inspector.plugins.rules:EqCondition
    lt = ironic_inspector.plugins.rules:LtCondition
    gt = ironic_inspector.plugins.rules:GtCondition
    le = ironic_inspector.plugins.rules:LeCondition
    ge = ironic_inspector.plugins.rules:GeCondition
    ne = ironic_inspector.plugins.rules:NeCondition
    in-net = ironic_inspector.plugins.rules:NetCondition
    matches = ironic_inspector.plugins.rules:MatchesCondition
    contains = ironic_inspector.plugins.rules:ContainsCondition
    is-empty = ironic_inspector.plugins.rules:EmptyCondition
ironic_inspector.rules.actions =
    example = ironic_inspector.plugins.example:ExampleRuleAction
    fail = ironic_inspector.plugins.rules:FailAction
    set-attribute = ironic_inspector.plugins.rules:SetAttributeAction
    set-capability = ironic_inspector.plugins.rules:SetCapabilityAction
    extend-attribute = ironic_inspector.plugins.rules:ExtendAttributeAction
    add-trait = ironic_inspector.plugins.rules:AddTraitAction
    remove-trait = ironic_inspector.plugins.rules:RemoveTraitAction
ironic_inspector.pxe_filter =
    dnsmasq = ironic_inspector.pxe_filter.dnsmasq:DnsmasqFilter
    iptables = ironic_inspector.pxe_filter.iptables:IptablesFilter
    noop = ironic_inspector.pxe_filter.base:NoopFilter
oslo.config.opts =
    ironic_inspector = ironic_inspector.conf.opts:list_opts
oslo.config.opts.defaults =
    ironic_inspector = ironic_inspector.conf.opts:set_config_defaults
oslo.policy.enforcer =
    ironic_inspector = ironic_inspector.policy:get_oslo_policy_enforcer
oslo.policy.policies =
    ironic_inspector.api = ironic_inspector.policy:list_policies

[codespell]
quiet-level = 4
# Words to ignore:
# cna: Intel CNA card
# assertIn: Python's unittest method
# discoverd: Intentional wrong spelling
# infromation: References a typo fix
ignore-words-list = cna,assertIn,discoverd,infromation
skip = AUTHORS