From c45485f8a02b7f4efea98bb0acab0d61f3d07bf1 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 16 Sep 2025 17:47:40 +0100 Subject: [PATCH] Migrate setup configuration to pyproject.toml Change-Id: I89c8a43069f60612eca9613d47047b8a5190aeae Signed-off-by: Stephen Finucane --- pyproject.toml | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 80 ----------------------------------------- 2 files changed, 98 insertions(+), 80 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2a38d6bc75..83f6233dd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,101 @@ [build-system] requires = ["pbr>=6.1.1"] build-backend = "pbr.build" + +[project] +name = "glance" +description = "OpenStack Image Service" +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 :: Console", + "Intended Audience :: Developers", + "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.13", +] + +[project.urls] +Homepage = "https://docs.openstack.org/glance" +Repository = "https://opendev.org/openstack/glance" + +[project.entry-points."oslo.config.opts"] +"glance.api" = "glance.opts:list_api_opts" +"glance.scrubber" = "glance.opts:list_scrubber_opts" +"glance.cache" = "glance.opts:list_cache_opts" +"glance.manage" = "glance.opts:list_manage_opts" +"glance" = "glance.opts:list_image_import_opts" + +[project.entry-points."oslo.config.opts.defaults"] +"glance.api" = "glance.common.config:set_config_defaults" + +[project.entry-points."oslo.policy.enforcer"] +glance = "glance.api.policy:get_enforcer" + +[project.entry-points."oslo.policy.policies"] +glance = "glance.policies:list_rules" + +# TODO(stephenfin): Remove this entrypoint. There are no other backends +[project.entry-points."glance.database.metadata_backend"] +sqlalchemy = "glance.db.sqlalchemy.metadata" + +[project.entry-points."glance.flows"] +api_image_import = "glance.async_.flows.api_image_import:get_flow" +import = "glance.async_.flows.base_import:get_flow" +location_import = "glance.async_.flows.location_import:get_flow" + +[project.entry-points."glance.flows.import"] +convert = "glance.async_.flows.convert:get_flow" +introspect = "glance.async_.flows.introspect:get_flow" +ovf_process = "glance.async_.flows.ovf_process:get_flow" + +[project.entry-points."glance.image_import.plugins"] +no_op = "glance.async_.flows.plugins.no_op:get_flow" +inject_image_metadata = "glance.async_.flows.plugins.inject_image_metadata:get_flow" +image_conversion = "glance.async_.flows.plugins.image_conversion:get_flow" +image_decompression = "glance.async_.flows.plugins.image_decompression:get_flow" + +[project.entry-points."glance.image_import.internal_plugins"] +web_download = "glance.async_.flows._internal_plugins.web_download:get_flow" +copy_image = "glance.async_.flows._internal_plugins.copy_image:get_flow" +glance_download = "glance.async_.flows._internal_plugins.glance_download:get_flow" + +[project.scripts] +glance-api = "glance.cmd.api:main" +glance-cache-prefetcher = "glance.cmd.cache_prefetcher:main" +glance-cache-pruner = "glance.cmd.cache_pruner:main" +glance-cache-manage = "glance.cmd.cache_manage:main" +glance-cache-cleaner = "glance.cmd.cache_cleaner:main" +glance-control = "glance.cmd.control:main" +glance-manage = "glance.cmd.manage:main" +glance-replicator = "glance.cmd.replicator:main" +glance-scrubber = "glance.cmd.scrubber:main" +glance-status = "glance.cmd.status:main" + +[tool.setuptools.data-files] +"etc/glance" = [ + "etc/glance-api.conf", + "etc/glance-cache.conf", + "etc/glance-manage.conf", + "etc/glance-scrubber.conf", + "etc/glance-api-paste.ini", +] +"etc/glance/metadefs" = [ + "etc/metadefs/*", +] + +[tool.setuptools] +packages = [ + "glance" +] diff --git a/setup.cfg b/setup.cfg index cbd4601ff0..0d518ae00c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,82 +1,2 @@ [metadata] name = glance -summary = OpenStack Image Service -description_file = - README.rst -author = OpenStack -author_email = openstack-discuss@lists.openstack.org -home_page = https://docs.openstack.org/glance/latest/ -python_requires = >=3.10 -classifier = - 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 :: Only - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - -[files] -data_files = - etc/glance = - etc/glance-api.conf - etc/glance-cache.conf - etc/glance-manage.conf - etc/glance-scrubber.conf - etc/glance-api-paste.ini - etc/glance/metadefs = etc/metadefs/* -packages = - glance - -[entry_points] -console_scripts = - glance-api = glance.cmd.api:main - glance-cache-prefetcher = glance.cmd.cache_prefetcher:main - glance-cache-pruner = glance.cmd.cache_pruner:main - glance-cache-manage = glance.cmd.cache_manage:main - glance-cache-cleaner = glance.cmd.cache_cleaner:main - glance-control = glance.cmd.control:main - glance-manage = glance.cmd.manage:main - glance-replicator = glance.cmd.replicator:main - glance-scrubber = glance.cmd.scrubber:main - glance-status = glance.cmd.status:main -oslo.config.opts = - glance.api = glance.opts:list_api_opts - glance.scrubber = glance.opts:list_scrubber_opts - glance.cache= glance.opts:list_cache_opts - glance.manage = glance.opts:list_manage_opts - glance = glance.opts:list_image_import_opts -oslo.config.opts.defaults = - glance.api = glance.common.config:set_config_defaults -glance.database.metadata_backend = - sqlalchemy = glance.db.sqlalchemy.metadata - -oslo.policy.enforcer = - glance = glance.api.policy:get_enforcer -oslo.policy.policies = - glance = glance.policies:list_rules - -glance.flows = - api_image_import = glance.async_.flows.api_image_import:get_flow - import = glance.async_.flows.base_import:get_flow - location_import = glance.async_.flows.location_import:get_flow - -glance.flows.import = - convert = glance.async_.flows.convert:get_flow - introspect = glance.async_.flows.introspect:get_flow - ovf_process = glance.async_.flows.ovf_process:get_flow - -glance.image_import.plugins = - no_op = glance.async_.flows.plugins.no_op:get_flow - inject_image_metadata=glance.async_.flows.plugins.inject_image_metadata:get_flow - image_conversion=glance.async_.flows.plugins.image_conversion:get_flow - image_decompression=glance.async_.flows.plugins.image_decompression:get_flow - -glance.image_import.internal_plugins = - web_download = glance.async_.flows._internal_plugins.web_download:get_flow - copy_image = glance.async_.flows._internal_plugins.copy_image:get_flow - glance_download = glance.async_.flows._internal_plugins.glance_download:get_flow