The cinder-core gerrit group is configured directly in project-config
to act as openstackclient/openstackSDK "service cores". Add info to
the cinder-groups document so that we know where to look if this needs
to be changed or adjusted in the future.
Change-Id: I6b626604f9ff573ab59fd4867fdee7a0178ed7f0
Add some general info about gate tests and a link to the recheck
section of the project team guide.
Change-Id: Iedd11fa49489c9c855cf33ebc221fcbf218fa2a7
Due to Cinder's rolling upgrade support we have to be very careful with
table drops and column alterations and drops.
In our Unit Tests legacy migrations walk, where we go through the
migrations to confirm they are properly applied, we raise an error on
those 3 operations to prevent them from being casually added in new
migrations.
Those checks are missing for the Alembic migrations, so this patch adds
them there as well while consolidating the check code for both types of
migrations into a single decorator called `prevent_drop_alter`.
Change-Id: I577f65968feb9c10488a19c6f99e8c0b720a433d
sqlalchemy-migrate does not (and will not) support sqlalchemy 2.0. We
need to drop these migrations to ensure we can upgrade our sqlalchemy
version.
Change-Id: I39448af0eb8f4c557d591057760c27b1d40d3593
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Add updating the setup.cfg to reflect the current cycle's supported
Python versions to the release cycle tasks list.
Change-Id: I3e309edaa8d4ed9251e91398ff956323f11b1b31
Some drivers may require multiple locks for a critical section, which
could potentially create deadlocks. Like in the following example,
where `PowerMax` method `move_volume_between_storage_groups` creates 2
locks:
@coordination.synchronized(
"emc-sg-{source_storagegroup_name}-{serial_number}")
@coordination.synchronized(
"emc-sg-{target_storagegroup_name}-{serial_number}")
def move_volume_between_storage_groups(
self, serial_number, device_id, source_storagegroup_name,
target_storagegroup_name, extra_specs, force=False,
parent_sg=None):
That code can result in a deadlock if 2 opposite requests come in
concurrently and their first lock acquisition interleaves.
To make it easier for drivers to request multiple locks ensuring that no
deadlock happens the "synchronize" decorator in cinder.coordination
accepts multiple lock templates and acquires them sorted by rendered
name removing duplicates.
This helps prevent deadlocks because the same lock names will always be
acquired in the same order even if they are received in different order.
Change-Id: I820dd137892e032d076762608d746be187ba5019
The 'all-plugin' tox environment was deprecated by this patch [1].
Instead of the 'all-plugin' it is recommended to use the 'all' tox
environment.
This patch removes any reference to 'all-plugin' tox environment and
updates the documentation so that the installation steps work with
the 'all' venv.
[1] https://review.opendev.org/c/openstack/tempest/+/543974
Change-Id: I3150749ddfa8f731f4b17b40df23ebae75197296
Resolve the following RemovedIn20Warning warning:
The legacy calling style of select() is deprecated and will be removed
in SQLAlchemy 2.0. Please use the new calling style described at
select().
Change-Id: I3a944dedc43502183726797279e1db3b1d5cb98d
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Some recent emails have made me realize that the basic contributor
doc doesn't have info about where you can find out who the current
PTL is. This patch moves the PTL info from the bottom of the doc
to a more visible place, and adds a brief description of what the
PTL does and who the electorate is.
Change-Id: Ib1fe4fba3d4911222b2c9393700c411d08fe2805
Currently our code and contributor documentation doesn't mention the
difference between the two different UUIDs we can have and how drivers
should use them.
This patch tries to provide a brief description about it in multiple
places to reduce the number of bugs that happen around it.
Change-Id: I946ead7547571ccd1b2df55ac1f3d4689d1f8089
Migration from and to RBD devices works for in-use volumes since
Ussuri release. Also as of now a migration of in-use volumes for
non-active VMs is prohibited for any backends.
Related-Bug: #1673090
Related-Bug: #1868996
Closes-Bug: #1969913
Change-Id: Id639c412a6f5ad24ab9c80416c56c1d99b3f104c
cinder/docs directory has a references to the Dell EMC company name.
Rename all Dell EMC references to Dell, except for those references where there are paths.
When the user will read the documentation he will see the new company name.
These changes are due to the company’s rebranding.
Closes-Bug: #1970208
Change-Id: I60e06b1b42974ce7ef4d790f050d706dc1a8a7a3
This doc change aims at creating a checklist of points which would
help reviewers provide useful feedback while reviewing patches.
Change-Id: I1af1ea6b1dab2bc2e5420076ffe7977f11a4aa75
Cinder has multiple drivers reporting the same storage_protocol in their
stats but with different strings:
For example we have the following variants:
- nfs and NFS
- nveof, NVMe-oF, NVMeOF
- iSCSI, iscsi
- FC, fc, fibre_channel
This patch documents the right values (to use existing constants) and
makes the scheduler treat all variants as if they were equal.
This is done by changing the storage_protocol into a list in the
scheduler upon reception of the stats from the volume. Most of the code
in the scheduler is already able to handle this, the only changes
necessary are on the filter and goodness function code, which will now
run the respective functions for all the different protocol alternatives
and select the right one, but only when the function actually uses the
storage_protocol.
The API will now report the preferred protocol name in operations like
"cinder get-pools --detail".
Closes-Bug: #1966103
Change-Id: I07d74078dbb102490dd722029e32c74cec3aa44c
These are in the cinder doc tree so of course they're block
storage-related.
Change-Id: Ic1950ff89021a89de397619eef17f8100eb3d847
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Alembic does lots of new things. Provide docs for how to use this. This
doesn't actually work that well at the moment because it appears our
database migrations are not in sync with the models. Those issues will
have to be resolved separately.
Change-Id: I6645ca951114b94ce9ed5a83e5e11d53879a7cd5
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
We've expanded it to include appropriate non-cinder-core people,
so update the description to reflect that.
Change-Id: If9e6d841ada5938a6c42f9fc75b5e11313dd3bcf
- add info about reporting common config options
- update python version testing info for third party CI
- add info about unit test discovery
- add warning about a child driver reporting parent capabilities
that it may not have
Change-Id: Ife214328cdb08ea9a3939b61469fd70b100ed3c7
Move the "how to review" note to the "Getting your patch merged"
section of the new contributor doc, add some info about project
priorities and milestones/freezes, and the importance of having
a +1 from Zuul.
Change-Id: Ia184482946a0afda783004c7902c682141ed9278
This patch changes " running nigthly"
to " running nightly" at the 137 line
in cinder/doc/source/contributor/gerrit.rst
Closes-Bug: #1952683
Change-Id: Ia6ac8cb0b458b6b828c5a54f0475c05d940e93e1
Some due dates have changed, and add info about the 'release-notes'
in the deliverables .yaml files.
Change-Id: I041bf0f9f18788c0dc7f2d3ccb00701672cf8ffb
In addition to reviewing comments, the key thing here is to get
a reference to the reno doc about why you need to patch release
notes directly to a stable branch or else they show up in the
wrong release.
Change-Id: Ice4f70d56aa81d4470ef8067d572fd8294d6cd6f
The Cinder community agreed to do detailed rechecks and try to avoid
doing naked rechecks.
Sometimes it is hard to remember what the agreement was, what is the
recommended format, and what was the reason behind it.
This patch adds a brief explanation to the contributor documentation to
reflect the agreement.
Change-Id: Iba3741aed1927aefb27ac4926bd39e74d08d08c7
File locks are never removed from the system, so they keep increasing in
the locks directory, which can become problematic.
In this patch we start trying to delete these lock files when we delete
a volume or a snapshot.
This affects the 2 type of file locks we currently have:
- Using oslo lockutils synchronized with external=True
- Using coordination.synchronized when deployed in Active-Passive and no
DLM
This will alleviate the ever increasing files in the locks directory.
Deployment tools should implement a service that runs when the host is
booting and cleans of the locks directory before the OpenStack services
are started.
Partial-Bug: #1432387
Change-Id: Ic73ee64257aeb024383c6cb79f2e8c04810aaf69