Commit Graph

90 Commits

Author SHA1 Message Date
Rajat Dhasmana 35ea8e3eb6 Update minimum requirements in os-brick
This patch updates os-brick requirements of related OpenStack projects.
Following are the updates:

oslo.concurrency: 4.5.0 -> 5.0.0, released: 4 Aug '2022, u-c: 5.0.1
oslo.config: 8.1.0 -> 9.0.0, released: 12 July '2022, u-c: 9.1.0
oslo.context: 3.4.0 -> 4.1.0, released: 17 Feb '2022, u-c: 5.0.0
oslo.log: 4.6.1 -> 4.8.0, released: 5 May '2022, u-c: 5.0.0
oslo.privsep: 2.6.2 -> 3.0.0, released: 12 July '2022, u-c: 3.0.1
oslo.serialization: 4.2.0 -> 4.3.0, released: 16 Feb '2022, u-c: 5.0.0
oslo.utils: 4.12.1 -> 6.0.0, released: 23 June '2022, u-c: 6.1.0
oslo.win: 5.5.0 -> 5.7.0, released: 18 May '2022, u-c: 5.8.0
oslo.vmware: 3.10.0 -> 4.0.0, released: 17 June '2022, u-c: 4.0.1

Change-Id: I8c19fad8e4a2bcc6756c46cf5ef56367823e5a17
2023-02-09 15:55:40 +00:00
Eric Harney acefd44df0 Remove eventlet from requirements
Eventlet hasn't actually been a direct os-brick
requirement since Ussuri Change-Id I9684db.

Leave it in test-reqs since we have a unit test
that mocks it.  (Used via oslo.service.)

Change-Id: I9a72d41c9bb70ad568e5cd9218730b93b226b202
2022-11-09 10:48:12 -05: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
Brian Rosmaita 8fb0282630 Update requirements minima for Yoga release
Had to raise min oslo.vmware to 3.10.0 or can't run on py3.9.
So while I was in there, looked at the other requirements.
Updated most of the openstack libraries, left the third party
ones alone (see notes below).

requirements
------------
pbr>=5.5.1                -> >=5.8.0      in u-c for 3 months
oslo.concurrency>=4.4.0   -> >=4.5.0      in u-c for 4 months
oslo.context>=3.1.1       -> >=3.4.0      in u-c for 4 months
oslo.log>=4.4.0           -> >=4.6.1      in u-c for 4 months
oslo.i18n>=5.0.1          -> >=5.1.0      in u-c for 5 months
oslo.privsep>=2.4.0       -> >=2.6.2      in u-c for 6 months
oslo.serialization>=4.1.0 -> >=4.2.0      in u-c for 6 months
oslo.service>=2.5.0       -> >=2.8.0      in u-c for 1 month
oslo.utils>=4.8.0         -> >=4.12.1     in u-c for 3 weeks
os-win>=5.4.0             -> >=5.5.0      in u-c for 6 months

eventlet >=0.30.1  ->  >=0.30.1,!=0.32.0
- 0.33.0 has been in u-c for about 3 months
- 0.32.0 breaks ironic
- no reason to raise the min right now

requests >=2.25.1  ->  unchanged
- 2.27.1 has been in u-c for 1 month
- 2.26.0 drops py3.5 support
- no reason to raise the min right now

test requirements
-----------------
castellan>=3.7.0          -> >=3.10.0     in u-c for 4 months
oslo.vmware>=3.8.0        -> >=3.10.0     in u-c for 4 months
oslotest>=4.4.1           -> >=4.5.0      in u-c for 5 months
stestr>=3.1.0             -> >=3.2.1      in u-c for 4 months

coverage>=5.5  ->  unchanged
- 6.3: stopped supporting py3.6; u-c caps py3.6 at 6.2
- current is 6.3.1 which is also the u-c cap for py3.8
- no reason to raise the min right now

Change-Id: Iec14833ab502b4bb342938d5477c57742068f1b8
2022-02-14 09:34:06 -05:00
Brian Rosmaita 9a59547a4b Update requirements for wallaby release
Raise the minimum versions in the various requirements files to
reflect what we're actually testing with right now.

Change-Id: Ie7dcc859e1291bd1d50b1ae516be38d8732de836
2021-03-04 21:03:58 -05:00
Lucian Petrut 4d4c5e82c9 Update requirements
The latest pip version has a stricter dependency resolver,
which broke the "lower-constraints" job for quite a few openstack
projects, including os-brick and cinder.

This change alings the os-brick dependency version constraints with
the ones used by Cinder, thus fixing the lower constraints job.

Change-Id: I4a6ac7ec0974372dc6f1585a797c7023c2fd8d78
2020-12-14 15:01:54 +00:00
Ade Lee 1425a834dd Replace md5 with oslo version
md5 is not an approved algorithm in FIPS mode, and trying to
instantiate a hashlib.md5() will fail when the system is running in
FIPS mode.

md5 is allowed when in a non-security context.  There is a plan to
add a keyword parameter (usedforsecurity) to hashlib.md5() to annotate
whether or not the instance is being used in a security context.

In the case where it is not, the instantiation of md5 will be allowed.
See https://bugs.python.org/issue9216 for more details.

Some downstream python versions already support this parameter.  To
support these versions, a new encapsulation of md5() has been added to
oslo_utils.  See https://review.opendev.org/#/c/750031/

This patch is to replace the instances of hashlib.md5() with this new
encapsulation, adding an annotation indicating whether the usage is
a security context or not.

In this case, we use md5 in a single case, when creating an identifier
for a mount point.

Change-Id: I08226895818185337425ebffc2464db05f3969c9
Depends-On: https://review.opendev.org/#/c/760160
2020-10-29 15:39:01 -04:00
Sean McGinnis d95ebc4ec2 Update lower-constraints versions
This updates lower constraints to versions that will work with py38 so
that when we move to running on focal nodes, which has py38 as its
default py3 runtime, the lower-constraints job will continue to pass.

It also cleans out some secondary requirements that are no longer needed
due to our direct dependencies being updated.

Linters are removed that are kept in the global requirements blacklist
as those are not version tracked and are not relevant for our
lower-constraints unit test runs.

Change-Id: Ic9b2b425a4910809a21bd250a4d9730a30fadf22
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-06-09 13:39:16 -05:00
Zuul 70b3925f0d Merge "Add oslo.context dependency" 2020-06-09 17:37:20 +00:00
Zuul 2d3b249e74 Merge "Add oslo.serialization dependency" 2020-06-08 18:45:02 +00:00
Sean McGinnis 3f1314674d
Switch from retrying to tenacity
This switching our retry mechanism over from the retrying library to the
tenacity library. Retrying has been active for a few years now and
appears to be no longer maintained.

This has a small behavior change in that before we were applying an
exponential backoff to the first time a retry was needed. This no longer
happens, but retries will exponentially back off with each retry.

Also cleaned up some minor nits with unit test assert argument order.

Closes-bug: #1635397

Change-Id: I24cab206b16e63859d4886c55d40a03d398ce30d
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-05-06 09:08:01 -05:00
Eric Harney 720270d1e5 Add oslo.context dependency
This is used in os_brick/executor.py.

Change-Id: I98c332841323d5d8bf29d795a3d0ba6e53604eea
2020-04-29 15:45:57 -04:00
Eric Harney 223a849c7c Add oslo.serialization dependency
This is used as of

9415b3b41 rbd: Use showmapped to find the root RBD

Change-Id: Ie1f4295006ad2a4adc4899784931d96ed0bd5d6b
2020-04-29 15:45:56 -04: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
Zuul c7ebe82f54 Merge "Blacklist eventlet 0.25.0" 2019-11-27 18:21:32 +00:00
Eric Harney 521546e331 Require oslo.privsep 1.32.0
Cinder and Nova already require this version,
as it provides significant performance enhancements.

Change-Id: I42623a2172ebd80a237006e880189095bc27e70f
2019-09-16 10:03:00 -04:00
pengyuesheng 686791c21f Blacklist eventlet 0.25.0
more details https://review.opendev.org/#/c/678078/

Change-Id: Ibe723f6db5a9a8deb17aabe5b9991744977da2b4
2019-09-05 16:42:23 +08:00
Doug Hellmann 9dde35fd11 uncap eventlet
We will manage the eventlet version using constraints now. See the
thread starting at
http://lists.openstack.org/pipermail/openstack-dev/2018-April/129096.html
for more details.

Change-Id: Ibfb9e78a8eb734f7246f0d06c3e7e03c72219cb1
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-04-11 11:52:27 -04:00
OpenStack Proposal Bot 1c43a21cde Updated from global requirements
Change-Id: I22a4797c22e712f00ab637b62934e504445eaf1b
2018-03-26 08:20:01 +00:00
OpenStack Proposal Bot 47f74d42f7 Updated from global requirements
Change-Id: Ib265868dd20eab5b6004f1e742e544549d62dccc
2018-01-27 21:47:41 +00:00
OpenStack Proposal Bot c4ed763329 Updated from global requirements
Change-Id: I30933d182943b4d74d2ee90a94ec5a2d14ebe3c1
2018-01-16 12:45:11 +00:00
Eric Harney effd16e33e Remove requirement on oslo.serialization
This is unused.

Change-Id: I7afbdd8529d3b9b13112f937749058b6e720124d
2018-01-05 11:14:30 -05:00
OpenStack Proposal Bot 6835b885dc Updated from global requirements
Change-Id: I3d851f3f774336db6af8e31e8893dc50cf5853fc
2017-12-19 02:05:57 +00:00
OpenStack Proposal Bot e8fa8fd7d3 Updated from global requirements
Change-Id: Ia68bad671c55ac56a0b13649741139b1f6c65e6c
2017-11-16 11:19:54 +00:00
OpenStack Proposal Bot d5a69a49fc Updated from global requirements
Change-Id: Ie5f1960ab0dd2e67221fc6c22ccae673b106d929
2017-11-13 10:26:05 +00:00
OpenStack Proposal Bot 259a32e457 Updated from global requirements
Change-Id: I36a46d9f59099e1aa4da1d05119299a4cb60aec5
2017-09-16 23:03:38 +00:00
OpenStack Proposal Bot c0b8608ac1 Updated from global requirements
Change-Id: Iadd635005b6bdb019aba5ecd34a0cd3bc41f57e1
2017-08-24 05:57:57 +00:00
OpenStack Proposal Bot 13b0affae5 Updated from global requirements
Change-Id: I09185c6b29b2cc684fe30c3f1b68ef619d33ed36
2017-07-18 01:54:17 +00:00
OpenStack Proposal Bot 455acbbcf1 Updated from global requirements
Change-Id: I51b79c64fbc61667d8a3d07bff59a50d1cf0d059
2017-06-19 19:06:27 +00:00
OpenStack Proposal Bot 7fb287762e Updated from global requirements
Change-Id: Ia622c7964bcee29bbaccb5993c2f3c30e766a0fb
2017-05-26 17:26:52 +00:00
OpenStack Proposal Bot e48d21b8fa Updated from global requirements
Change-Id: I34808d9e6ac7eb6d56424f3c75b5ea5853dc6c5d
2017-05-17 13:47:19 +00:00
OpenStack Proposal Bot 520e756be6 Updated from global requirements
Change-Id: I8766cd2cc3e8bbcad8a623929ed0415e8469946d
2017-04-20 22:53:19 +00:00
OpenStack Proposal Bot 0732dcb4da Updated from global requirements
Change-Id: Iabea386e946f9882464ca2c682058c2e26b2bd01
2017-04-18 16:54:16 +00:00
OpenStack Proposal Bot 36b9573e26 Updated from global requirements
Change-Id: I08e641db6c15fe24c4bbd7e2d244453571a0b365
2017-03-30 00:29:57 +00:00
OpenStack Proposal Bot 57f6eb74e7 Updated from global requirements
Change-Id: Ie349318c8d62712a63fd7c10bc2b7d86bc2543f8
2017-03-10 19:12:09 +00:00
OpenStack Proposal Bot 6a18026556 Updated from global requirements
Change-Id: I48e8da6af2781158d886c3c8460dd56a118ca9f5
2017-01-24 20:13:04 +00:00
OpenStack Proposal Bot 871cd1a6f2 Updated from global requirements
Change-Id: If2f1bbadaa1ba7421038d26db6b77d43f80a8ea9
2017-01-11 11:22:07 +00:00
Eric Harney d2fa76cdad Move castellan to test-reqs
This is not imported by os-brick, it's
only needed for tests.

Change-Id: I5d8c69f151142db4d0244c37097b12654dbcf386
2016-12-07 12:23:28 -05:00
OpenStack Proposal Bot 8d0248dabc Updated from global requirements
Change-Id: I56943c3b5fe4b3d9c83c3b8cc8e75a131261dae7
2016-12-05 09:58:49 +00:00
OpenStack Proposal Bot edca93b275 Updated from global requirements
Change-Id: Ib71a44521205d55260804f15ea6d0666b7de0181
2016-11-17 23:17:51 +00:00
OpenStack Proposal Bot fb0b7e3e3e Updated from global requirements
Change-Id: I3b59db31f0eca901d76fec1e0417967700a5f7ec
2016-11-08 21:53:46 +00:00
OpenStack Proposal Bot dbde8fee8e Updated from global requirements
Change-Id: If9a94c3a0c7a159613683654279ebf542b0d1a43
2016-11-07 18:45:29 +00:00
OpenStack Proposal Bot bc9cba0250 Updated from global requirements
Change-Id: Ib942f0fd49f7a5cedfcfa667a675288199d2c0c6
2016-11-01 13:33:40 +00:00
OpenStack Proposal Bot 884e0a8433 Updated from global requirements
Change-Id: I61b5091656d02c73a69f3082d14b956947a7fc7d
2016-09-29 00:09:44 +00:00
OpenStack Proposal Bot 920880e289 Updated from global requirements
Change-Id: Iad9d018454da899f378a641d160ac6b66652b8e7
2016-07-29 02:33:32 +00:00
OpenStack Proposal Bot 3979749f79 Updated from global requirements
Change-Id: Id23a69b42337cf8a8a5b1e031e14f0c60dd9ccdd
2016-07-09 19:25:26 +00:00
OpenStack Proposal Bot 02eda08243 Updated from global requirements
Change-Id: Ifb1a249edea7067df206e56f16bfeb076823eb3b
2016-07-06 08:49:23 +00:00
Lucian Petrut 585445eecf Add Windows iSCSI connector
This patch adds a Windows iSCSI connector while the following
changes will add SMBFS and Fibre Channel connectors as well.

os-win is added as a requirement, as well as ddt. Note that
both are in the global requirements list. os-win is under OpenStack
governance and already being used by multiple OpenStack projects
such as Nova and Cinder.

The patch using Windows os-brick connectors in the Hyper-V
Nova driver: https://review.openstack.org/#/c/273504/

Change-Id: I19dfc8dd2e9e8a1b17675b55c63de903804480e4
Partial-Implements: blueprint os-brick-windows-support
2016-06-22 10:45:48 -07:00
OpenStack Proposal Bot 76c979c270 Updated from global requirements
Change-Id: I82deefc83a0b9727f689240aef6a5ecb0cbbbccc
2016-06-21 18:04:00 +00:00
Jenkins 3f8c9e1c98 Merge "Copy encryptors from Nova to os-brick" 2016-06-08 15:19:44 +00:00