205ca3336a
pysendfile[1] was added as an optional dependency but the library hasn't been maintained and has got no release since 2014. What is worse, the sendfile implementation is not actually working since The SendFileIterator class was removed[2]. (Follow-up[3] removed the remaining reference to the class). The broken implementation has not been detected because the client is not currently used to upload contents. Remove the incomplete implementation to get rid of the dependency on the unmaintained library. [1] https://pypi.org/project/pysendfile/ [2] 76c3620c7effb15be577450c276db1e394c2de3e [3] 0c151d7d7ea00627fad182898958db55b1fef3fd Closes-Bug: #2062573 Change-Id: Ia4784f59d16660e8d40c0e409f092ac4e46870b4
81 lines
3.3 KiB
ReStructuredText
81 lines
3.3 KiB
ReStructuredText
..
|
|
Copyright 2016-present OpenStack Foundation
|
|
All Rights Reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
not use this file except in compliance with the License. You may obtain
|
|
a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
License for the specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
Requirements
|
|
============
|
|
|
|
|
|
External Requirements Affecting Glance
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Like other OpenStack projects, Glance uses some external libraries for a subset
|
|
of its features. Some examples include the ``qemu-img`` utility used by the
|
|
tasks feature, ``pydev`` to debug using popular IDEs, ``python-xattr`` for
|
|
Image Cache using "xattr" driver.
|
|
|
|
On the other hand, if ``dnspython`` is installed in the environment, Glance
|
|
provides a workaround to make it work with IPV6.
|
|
|
|
Additionally, some libraries like ``xattr`` are not compatible when
|
|
using Glance on Windows (see :ref:`the documentation on config options
|
|
affecting the Image Cache <configuring>`).
|
|
|
|
|
|
Guideline to include your requirement in the requirements.txt file
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
As described above, we don't include all the possible requirements needed by
|
|
Glance features in the source tree requirements file. So, when an operator
|
|
decides to use an **advanced feature** in Glance, we ask them to check the
|
|
documentation/guidelines for those features to set up the feature in a workable
|
|
way. In order to reduce the operator pain, the development team likes to work
|
|
with different operators to figure out when a popular feature should have its
|
|
dependencies included in the requirements file. However, there's a tradeoff in
|
|
including more of requirements in source tree as it becomes more painful for
|
|
packagers. So, it is a bit of a haggle among different stakeholders and a
|
|
judicious decision is taken by the project PTL or release liaison to determine
|
|
the outcome.
|
|
|
|
To simplify the identification of an **advanced feature** in Glance we can
|
|
think of it as something not being used and deployed by most of the
|
|
upstream/known community members.
|
|
|
|
To name a few features that have been identified as advanced:
|
|
|
|
* glance tasks
|
|
* image signing
|
|
* image prefetcher
|
|
* glance db purge utility
|
|
* image locations
|
|
|
|
|
|
Steps to include your requirement in the requirements.txt file
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
1. First step is to propose a change against the ``openstack/requirements``
|
|
project to include the requirement(s) as a part of ``global-requirements`` and
|
|
``upper-constraints`` files.
|
|
|
|
2. If your requirement is not a part of the project, you will have to propose a
|
|
change adding that requirement to the requirements.txt file in Glance. Please
|
|
include a ``Depends-On: <ChangeID>`` flag in the commit message, where the
|
|
``ChangeID`` is the gerrit ID of corresponding change against
|
|
``openstack/requirements`` project.
|
|
|
|
3. A sync bot then syncs the global requirements into project requirements on a
|
|
regular basis, so any updates to the requirements are synchronized on a timely
|
|
basis.
|