This avoids the need to duplicate our dependency list in multiple places and allows us to take advantage of tox's dependency management infrastructure, to ensure we always get the latest and greatest version of a package allowed by upper-constraints. It also removes the slowest pre-commit hook (by some distance), making pre-commit faster. Change-Id: Ie241768231f180d5a672bf9f8fdc6a1eb8d7dfdb Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
153 lines
4.8 KiB
TOML
153 lines
4.8 KiB
TOML
[build-system]
|
|
requires = ["pbr>=6.1.1"]
|
|
build-backend = "pbr.build"
|
|
|
|
[project]
|
|
name = "nova"
|
|
description = "Cloud computing fabric controller"
|
|
authors = [
|
|
{name = "OpenStack", email = "openstack-discuss@lists.openstack.org"},
|
|
]
|
|
readme = {file = "README.rst", content-type = "text/x-rst"}
|
|
license = {text = "Apache-2.0"}
|
|
dynamic = ["version", "dependencies"]
|
|
requires-python = ">=3.10"
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: OpenStack",
|
|
"Intended Audience :: Information Technology",
|
|
"Intended Audience :: System Administrators",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
osprofiler = [
|
|
"osprofiler>=1.4.0", # Apache-2.0
|
|
]
|
|
zvm = [
|
|
"zVMCloudConnector>=1.3.0;sys_platform!='win32'", # Apache 2.0 License
|
|
]
|
|
vmware = [
|
|
"oslo.vmware>=3.6.0", # Apache-2.0
|
|
]
|
|
|
|
[project.urls]
|
|
"Bug Tracker" = "https://bugs.launchpad.net/nova/"
|
|
"Documentation" = "https://docs.openstack.org/nova/"
|
|
"Source Code" = "https://opendev.org/openstack/nova"
|
|
|
|
[project.scripts]
|
|
nova-compute = "nova.cmd.compute:main"
|
|
nova-conductor = "nova.cmd.conductor:main"
|
|
nova-manage = "nova.cmd.manage:main"
|
|
nova-novncproxy = "nova.cmd.novncproxy:main"
|
|
nova-policy = "nova.cmd.policy:main"
|
|
nova-rootwrap = "oslo_rootwrap.cmd:main"
|
|
nova-rootwrap-daemon = "oslo_rootwrap.cmd:daemon"
|
|
nova-scheduler = "nova.cmd.scheduler:main"
|
|
nova-serialproxy = "nova.cmd.serialproxy:main"
|
|
nova-spicehtml5proxy = "nova.cmd.spicehtml5proxy:main"
|
|
nova-status = "nova.cmd.status:main"
|
|
|
|
[project.entry-points."oslo.config.opts"]
|
|
"nova.conf" = "nova.conf.opts:list_opts"
|
|
|
|
[project.entry-points."oslo.config.opts.defaults"]
|
|
"nova.conf" = "nova.config:set_lib_defaults"
|
|
|
|
[project.entry-points."oslo.policy.enforcer"]
|
|
nova = "nova.policy:get_enforcer"
|
|
|
|
[project.entry-points."oslo.policy.policies"]
|
|
# The sample policies will be ordered by entry point and then by list
|
|
# returned from that entry point. If more control is desired split out each
|
|
# list_rules method into a separate entry point rather than using the
|
|
# aggregate method.
|
|
nova = "nova.policies:list_rules"
|
|
|
|
[project.entry-points."nova.api.extra_spec_validators"]
|
|
accel = "nova.api.validation.extra_specs.accel"
|
|
aggregate_instance_extra_specs = "nova.api.validation.extra_specs.aggregate_instance_extra_specs"
|
|
capabilities = "nova.api.validation.extra_specs.capabilities"
|
|
hw = "nova.api.validation.extra_specs.hw"
|
|
hw_rng = "nova.api.validation.extra_specs.hw_rng"
|
|
hw_video = "nova.api.validation.extra_specs.hw_video"
|
|
null = "nova.api.validation.extra_specs.null"
|
|
os = "nova.api.validation.extra_specs.os"
|
|
pci_passthrough = "nova.api.validation.extra_specs.pci_passthrough"
|
|
quota = "nova.api.validation.extra_specs.quota"
|
|
resources = "nova.api.validation.extra_specs.resources"
|
|
traits = "nova.api.validation.extra_specs.traits"
|
|
vmware = "nova.api.validation.extra_specs.vmware"
|
|
|
|
[project.entry-points."nova.compute.monitors.cpu"]
|
|
virt_driver = "nova.compute.monitors.cpu.virt_driver:Monitor"
|
|
|
|
[tool.setuptools]
|
|
packages = [
|
|
"nova"
|
|
]
|
|
|
|
[tool.setuptools.data-files]
|
|
"etc/nova" = [
|
|
"etc/nova/api-paste.ini",
|
|
"etc/nova/rootwrap.conf",
|
|
]
|
|
"etc/nova/rootwrap.d" = [
|
|
"etc/nova/rootwrap.d/*",
|
|
]
|
|
|
|
[tool.autopep8]
|
|
aggressive = 3
|
|
in-place = true
|
|
recursive = true
|
|
|
|
[tool.codespell]
|
|
skip = "*.po,*.js,*.css,*.html,*.svg,HACKING.py,*hacking*,*build*,*_static*,doc/dictionary.txt,*.pyc,*.inv,*.gz,*.jpg,*.png,*.vsd,*.graffle,*.json"
|
|
count = true
|
|
quiet-level = 4
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
show_column_numbers = true
|
|
show_error_context = true
|
|
ignore_missing_imports = true
|
|
follow_imports = "skip"
|
|
incremental = true
|
|
check_untyped_defs = true
|
|
warn_unused_ignores = true
|
|
files = [
|
|
"nova/compute/manager.py",
|
|
"nova/compute/pci_placement_translator.py",
|
|
"nova/crypto.py",
|
|
"nova/filesystem.py",
|
|
"nova/limit/local.py",
|
|
"nova/limit/placement.py",
|
|
"nova/network/neutron.py",
|
|
"nova/pci/*.py",
|
|
"nova/privsep/path.py",
|
|
"nova/scheduler/client/report.py",
|
|
"nova/scheduler/request_filter.py",
|
|
"nova/scheduler/utils.py",
|
|
"nova/virt/driver.py",
|
|
"nova/virt/hardware.py",
|
|
"nova/virt/libvirt/machine_type_utils.py",
|
|
"nova/virt/libvirt/__init__.py",
|
|
"nova/virt/libvirt/cpu/__init__.py",
|
|
"nova/virt/libvirt/cpu/api.py",
|
|
"nova/virt/libvirt/cpu/core.py",
|
|
"nova/virt/libvirt/driver.py",
|
|
"nova/virt/libvirt/event.py",
|
|
"nova/virt/libvirt/guest.py",
|
|
"nova/virt/libvirt/host.py",
|
|
"nova/virt/libvirt/utils.py",
|
|
]
|