Commit Graph

32 Commits

Author SHA1 Message Date
Brian Rosmaita a47cc468a4 Update CI for Dalmatian
Only change is to remove the py38 classifier from setup.cfg;
did not modify the python_requires (which is currently >=3.8)

The brick tox.ini doesn't specify specific python versions, so
no modifications there.  We rely on the openstack-python3-jobs
template to specify what versions of python should run in the
gate.

Change-Id: Id27841ba03b915fe3c1cde86273c76e24c521b88
2024-04-10 09:25:14 -04:00
Ghanshyam Mann 2f5af5f6bc Update python classifier in setup.cfg
As per the current release tested runtime, we test
till python 3.11 so updating the same in python
classifier in setup.cfg

Change-Id: I06e453b6d02ac8c7b615d3d61b06173eb249dc27
2024-01-08 20:21:04 -08:00
Brian Rosmaita d38bcebe69 Remove egg_info from setup.cfg
This was removed from cinder by change If7db350ea55a that removed
py27 support, but apparently we missed it in os-brick.

Change-Id: Ie49b70e69ed07589a9ca155524685d95c460374f
2023-07-21 12:33:32 +00:00
Zuul b6f0f3c25e Merge "Set packages in setup.cfg" 2023-04-21 16:39:09 +00:00
Eric Harney e15edf6c17 Add Python 3.10 to setup.cfg metadata
We support 3.10 as of Antelope.

Change-Id: Ie3eaf0d16e27e35ec30635c82b38c634db9c4541
2023-03-09 11:21:49 -05:00
Eric Harney f184c8a809 Set packages in setup.cfg
Without this, "tox -e py38" fails with an error from
setuptools:
    error: Multiple top-level packages discovered in
    a flat-layout: ['etc', 'os_brick', 'releasenotes'].

Change-Id: Icd68f845d83df2d4875e61a7e92630e73e4564c4
2023-03-09 11:02:13 -05:00
tushargite96 0639af4fc8 Update metadata in setup.cfg
we are using some "aliases" that the setuptools docs say 
"are supported for compatibility reasons" but their use is not advised[1].

[1] https://setuptools.pypa.io/en/latest/userguide/declarative_config.html#metadata

maintaining setup.cfg as per other repos[2]

[2] https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/828475

Change-Id: I9ab95a274f79bbcd8a706662e9e03d0bdcb45654
2022-09-23 14:29:46 +00:00
Eric Harney aa97f4455c mypy: set no_implicit_optional
The current version of PEP-484 indicates that
type checkers should not allow implicit optional
parameters.

- https://www.python.org/dev/peps/pep-0484/#union-types
- https://github.com/python/mypy/issues/9091

Change-Id: Ie3301798462a89af9fc0053070055a77a2437415
2022-08-23 15:11:56 +00:00
Gorka Eguileor b72c034885 Support independent file lock path
OS-Brick uses file locks to ensure single access to critital sections,
and uses the oslo concurrency "lock_path" configuration option to
determine where to create these locks.

This is fine when each host has a single service using os-brick, which
is the case of Compute nodes and Controller nodes where Glance is not
using Cinder as its backend.

The problem happens when we have an HCI deployment where Cinder and Nova
are collocated on the same host or when Glance uses Cinder as its
backend and is running on the same host.  In those scenarios os-brick
will create file locks in different paths for each service, which is not
the intended behavior.

A possible solutions is to set the "lock_path" of all the services to
the same location, which is not great, not only because we'll have all
nova, cinder, glance, and os-brick locks mixed in a single location
(service prefixes help a bit here), but also because then Cinder will
have permissions on the Nova and Glance locks, which doesn't seem right.

This patch introduces a new mechanism in os-brick to have its own
"lock_path" configuration option in the "os_brick" group.  It defaults
to the current behavior if not explicitly defined, so it will use olso
concurrency's "lock_path".

To do this the patch introduces the oslo.config dependency and adds a
new "setup" method that sets the default of the os_brick "lock_path".

This new "setup" method is required because the order in which
configuration options for the different namespaces are imported cannot
be guaranteed, so the setup must be called *after* the service has
already imported all (or at least the ones os-brick cares about)
configuration option namespaces.

In other words, when os-brick files are loaded the value for oslo
concurrency's "lock_path" is not yet known, so it cannot be used as a
default, and the oslo_config substitution feature does not support
values from other namespaces, so we cannot default the "lock_path" from
the os_brick namespace to the value in "oslo_concurrency".

Since the value that is going to be used as the "lock_path" is not known
until the "setup" method is called, we cannot use the standard
"synchronized" method from "oslo_concurrency.lock_utils" and we need to
use our own.

In the current os-brick code, each connector that requires a lock is
importing and creating its own "synchronized" instance, but this patch
changes this behavior and creates a single instance, just like Cinder
does.

This feature requires changes in multiple projects -os-brick, cinder,
nova, glance, glance_store, devstack- to be fully supported, but this is
the base of all this effort.

Change-Id: Ic52338278eb5bb3d90ce582fe6b23f37eb5568c4
2022-07-15 09:21:19 +00:00
Ghanshyam Mann 6ca48e79ba Update python testing as per zed cycle teting runtime
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support.

[1] https://governance.openstack.org/tc/reference/runtimes/zed.html

Change-Id: I0373229fdceabb38a56ed9b94c5ef561b79577b3
2022-05-10 19:50:04 -05:00
tushargite96 3f033107e0 Updating python testing as per Yoga testing runtime
Yoga testing runtime[1] has been updated to add py39
testing as voting and as we are testing py3.6 and py3.9
we do not need to test py3.7|8 explicitly. Unit tests update are
handled by the job template change in openstack-zuul-job

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286

this commit makes update the classifier in setup.cfg file.

[1] https://governance.openstack.org/tc/reference/runtimes/yoga.html

Change-Id: If47dbc692e8e2ae1eab89cd190e0299c530b9d43
2022-02-14 19:52:59 +05:30
Eric Harney f18a33b322 Introduce mypy
This adds the "tox -e mypy" environment which works
the same way we have introduced mypy in Cinder.

Files added to mypy-files.txt are validated with mypy.

Change-Id: I6d09422dbdf5ea58661aad7a63c4d4d7a2839833
2021-05-21 16:58:22 -04:00
Yandong Xuan 534c04ca9c setup.cfg: Replace dashes with underscores
Resolves warnings like the following:

  UserWarning: Usage of dash-separated 'description-file' will not be
  supported in future versions. Please use the underscore name
  'description_file' instead

Change-Id: Ibda458a394207539db128d99fbd45a1d4560562c
2021-04-27 08:55:04 +08:00
melissaml 499d3a8495 Remove translation sections from setup.cfg
These translation sections are not needed anymore, Babel can
generate translation files without them.

Change-Id: I07cac802653e5b266d598387e72f5556936551e9
2020-05-15 09:28:48 +08:00
Zuul 73434e0152 Merge "Add py38 package metadata" 2020-05-03 14:08:49 +00:00
qiufossen bbf6143a4b Remove Babel requirement
Babel is not needed as requirement, remove it.

See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-April/014227.html

Change-Id: Ibafccbb3da579bdb4e396c72d0ea586b19d246f7
2020-04-26 19:00:04 +08:00
Sean McGinnis 22f7ddcca3
Add py38 package metadata
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.

Change-Id: I74edd4b312c2a59f413ea66f9e26fe097146579f
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-24 08:23:11 -05:00
Andreas Jaeger 807bd19777 Cleanup py27 support
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
  know about the requirement
- Remove obsolete sections from setup.cfg
- Update classifiers

Change-Id: I34abafc045b4f50ded19bd0b8d87fa3c77f1a1b9
2020-04-05 17:43:12 +02:00
Brian Rosmaita ecff5ec771 Remove Python 2.7 support from testing and gates
Makes Python 3 the base python for all tox venvs and removes
py2 jobs from zuul.yaml.

Remaining:
- move the legacy gate jobs from openstack-zuul-jobs to the os-brick
  repo and make them py3 jobs
- adjust setup.cfg to require py3 and remove py2 requirements from
  test-requirements.txt and doc/requirements.txt

Partial-bug: #1853372

Change-Id: Ib447656aa213914bafd50380b3821090f93776f8
2019-12-04 16:29:40 -05:00
whoami-rajat b6de2cce49 Remove py35 from setup.cfg
This is a followup to Drop py35 jobs from gate and tox env[1].

[1] https://review.openstack.org/#/c/639387/

Change-Id: I9e27e95a4493d9887a7dd8c7d7c7c5b511277f95
2019-02-28 11:02:40 +05:30
qingszhao 48097057bb Change openstack-dev to openstack-discuss
Mailinglists have been updated. Openstack-discuss replaces openstack-dev.

Change-Id: Ic8589bef7e15316e1d1aa036b2a7c002eb5897ef
2018-12-04 17:15:35 +00:00
qingszhao 9a6fe1741b removing older python version 3.4 from setup.cfg
Change-Id: Iaf3b46dc8d7426cf8f25daa89b21ac33bb6899d6
Closes-Bug:  #1801855
2018-11-06 06:59:04 +00:00
Jenkins 1d617b2adb Merge "Update and replace http with https for doc links" 2017-09-01 14:22:15 +00:00
Stephen Finucane 4fc0a51a17 doc: Restructure docs for doc-migration
We have three populated sections:

- install
- user
- reference

There are three docs removed, as they served little useful purpose and
were mostly unreferenced.

Sphinx's 'warning-is-error' option is enabled to catch the few issues
that has snuck into the docs.

Change-Id: I04e426faf337f0b03175f439c80b3369d4066733
2017-08-08 15:44:29 +01:00
howardlee b00cee15d8 Update and replace http with https for doc links
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links

Change-Id: Ib98f33de8d7f6ef84a2f6ecb498530b336da875b
2017-07-26 02:18:44 +00:00
Cao Xuan Hoang 99eda1580a Add Python 3.5 classifier and venv
Now that there is a passing gate job, we can claim
support for Python 3.5 in the classifier.
This patch also adds the convenience py35 venv.

Change-Id: Ic3967cf2461add370a03cd15e71087664b9ec1d7
2017-01-23 08:21:39 +07:00
Tony Xu ca703533c2 Drop py33 support
"Python 3.3 support is being dropped since OpenStack Liberty."
written in following URL.
https://wiki.openstack.org/wiki/Python3

And already the infra team and the oslo team are dropping py33
support from their projects.

Since we rely on oslo for a lot of our work, and depend on infra
for our CI, we should drop py33 support too.

Change-Id: Ia5dba7d192e283bc1ba2ab24868402ab4a958870
2016-10-27 09:46:24 +08:00
zhangyanxian 7a75b47f7b Update the home-page info with the developer documentation
Since there are so many components in openstack,
by describing the URL info in the configuration file,
it is more convenient to find the developer documentation
than from the unified portal

Change-Id: I624427a3d18007121f04e53e7382140c6f29cefa
2016-08-03 01:41:34 +00:00
Doug Hellmann 97c5768e9a remove python 2.6 trove classifier
OpenStack projects are no longer being tested under Python 2.6, so
remove the trove classifier implying that this project supports 2.6.

Change-Id: I9047beded251de0083bf6b6d48688e40872437d1
2015-12-23 01:31:13 +00:00
Walter A. Boring IV c16abad3d8 Add rootwrap filters
This patch adds os-bricks list of rootwrap filters for commands
that are needed to execute.   The filters are a self contained entire
list of expected filters that os-brick needs to run.  It's expected that
this filter file is added to any rootwrap enabled service that needs to use
os-brick.

Devstack associated patch: https://review.openstack.org/#/c/207677/

Partial-Bug: #1479842
UpgradeImpact:  Need to place the os-brick.filters file in service's
                rootwrap.d directory to enable filters.

Change-Id: I2b1e657b87c7b27548200a20b991f34c3413c24b
2015-08-25 16:29:07 -07:00
Walter A. Boring IV 88afc6c17e renamed the project to os-brick
As per discussion in IRC, we have renamed brick to
os-brick, which creates the pacakge os_brick.  There was
a conflict in pypi for the 'brick' name.
2015-02-05 23:58:37 +00:00
Walter A. Boring IV 81b1dbebdf Created the Brick library from Cinder
This is the external Brick library that came from
Cinder's codebase.  It's intended to be used as a
standalone library and subproject of Cinder.
2015-01-22 19:09:30 +00:00