c62ed6ccba
Having the db migration scripts within the openstack-placement pypi distribution is desirable for deployment tools, such as openstack-ansible. It provides a known good location for the script, available with a pip install. There are several ways to distribute files with a python package. The method used here was chosen because it works both with tarballs and wheels (the files are already in the tarball, as a result of the way pbr works, but not in the wheel). Here's what's done: * The db migrate scripts are put in their own direcory, placement_db_tools, so that only they are packaged, not the other tools. * To preserve how grenade interacts with these files as well as not disrupt the docs, symlinks from tools to placement_db_tools have been created. * placement_db_tools is added to the list of packages included in the openstack-placement distro. This means that when 'pip install openstack-placement' happens, the python environment will then include placement and placement_db_tools directories. The end result is that the true path to the script can be found with: pkg_resources.resource_filename('placement_db_tools', 'mysql-migrate-db.sh') This has been noted in the to-stein.rst document. A different package was chosen to not muddy the waters of what is "actually placement". Similarly, the 'data_files' functionality provided by pbr was not used, because that requires the file be written to a location on the local filesystem, relative to the install prefix. Dirtying the filesystem outside the python lib with this sort of thing is inappropriate. Change-Id: Ie326ce8a2a0692d20793bc18be606e034fa94a44 Story: 2005535 Task: 30671
57 lines
1.5 KiB
INI
57 lines
1.5 KiB
INI
[metadata]
|
|
name = openstack-placement
|
|
summary = Resource provider inventory usage and allocation service
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-discuss@lists.openstack.org
|
|
home-page = https://docs.openstack.org/placement/latest/
|
|
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 :: 2
|
|
Programming Language :: Python :: 2.7
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.6
|
|
|
|
[global]
|
|
setup-hooks =
|
|
pbr.hooks.setup_hook
|
|
|
|
[files]
|
|
packages =
|
|
placement
|
|
placement_db_tools
|
|
|
|
[entry_points]
|
|
oslo.config.opts =
|
|
placement.conf = placement.conf.opts:list_opts
|
|
|
|
oslo.policy.enforcer =
|
|
placement = placement.policy:get_enforcer
|
|
|
|
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.
|
|
placement = placement.policies:list_rules
|
|
|
|
console_scripts =
|
|
placement-manage = placement.cmd.manage:main
|
|
placement-status = placement.cmd.status:main
|
|
wsgi_scripts =
|
|
placement-api = placement.wsgi:init_application
|
|
|
|
[egg_info]
|
|
tag_build =
|
|
tag_date = 0
|
|
tag_svn_revision = 0
|
|
|
|
[wheel]
|
|
universal = 1
|