Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
ce60e48
[Doc] Address code block issue
ashrod98 Apr 30, 2025
0a6c1f0
pre-commit: Bump hacking and use native flake8 hook
kajinamit Jun 11, 2025
6c56e45
Remove Python 3.9 support
kajinamit Jun 10, 2025
c21de5e
Zuul: do not use USE_PYTHON3
CyrilRoelandteNovance Jun 27, 2025
5586281
Add negative functional test for message
RealRTorres Jul 2, 2025
37565db
Merge "Zuul: do not use USE_PYTHON3"
Jul 15, 2025
50add91
Fixed negative user messages test names
RealRTorres Jul 10, 2025
2bf13b1
Merge "Remove Python 3.9 support"
Aug 13, 2025
0953eff
Add option to override API endpoint
kpawar89 May 20, 2025
cc5c1f8
Add support of encryption_key_ref option for share create
kpawar89 Jan 20, 2025
b0b44cb
Merge "pre-commit: Bump hacking and use native flake8 hook"
Aug 28, 2025
4996e2b
Add support for out of place share backup restores
zgoggin Apr 11, 2025
ad10dae
Merge "Add option to override API endpoint"
Aug 28, 2025
b5292dc
Merge "Add support for out of place share backup restores"
Aug 28, 2025
43ee9f0
Fixes an issue that prevented ensure shares to be run
silvacarloss Aug 29, 2025
30e9491
Update master for stable/2025.2
openstackadmin Sep 5, 2025
4bde775
Merge "Fixed negative user messages test names"
Sep 5, 2025
7ed6482
Merge "Fixes an issue that prevented ensure shares to be run"
Oct 16, 2025
529d860
Add --wait flag to share-server-unmanage
Premlata84277 Oct 22, 2025
d0060a4
Allow settings --task-state without value (to send null) or None
llmtech-dev Oct 22, 2025
8019cc5
fix respect region name in client initialization
Denver-Baraka Oct 23, 2025
5564749
Merge "fix respect region name in client initialization"
Oct 28, 2025
4bf0b2b
Merge "Allow settings --task-state without value (to send null) or None"
Oct 28, 2025
53ca6e9
Fix neutron validation in share network creation
Denver-Baraka Oct 18, 2025
deba38c
Merge "Fix neutron validation in share network creation"
Oct 30, 2025
845d6e8
Migrate setup configuration to pyproject.toml
stephenfin Oct 10, 2025
b255a5c
pre-commit: Bump versions
stephenfin Oct 10, 2025
0ef57c0
Add ruff
stephenfin Oct 10, 2025
95bd3ac
Fix outstanding ruff issues
stephenfin Oct 10, 2025
16aaa8e
Fix outstanding hacking issues
stephenfin Oct 10, 2025
3e3b385
Re-enable E501 errors
stephenfin Oct 31, 2025
f5ef2c6
Remove unnecessary call
stephenfin Oct 10, 2025
3162ce4
reno: Update master for unmaintained/2024.1
openstackadmin Nov 5, 2025
b140205
Merge "reno: Update master for unmaintained/2024.1"
Nov 5, 2025
4149fac
Merge "Fix outstanding ruff issues"
Nov 6, 2025
af8fe2c
Merge "Fix outstanding hacking issues"
Nov 6, 2025
312f65d
Merge "Re-enable E501 errors"
Nov 7, 2025
6aaab36
Merge "Remove unnecessary call"
Nov 7, 2025
c4b53ce
Add a git-blame-ignore-revs file
gouthampacha Nov 7, 2025
e5a56f2
Test for share instances
RealRTorres Jul 18, 2025
c87b227
Add func test for share instance export locations
Espy2 Oct 17, 2025
875a29e
Add missing api_versions decorator for _update_share_group
HanzJas Nov 26, 2025
2038516
Remove dead code
stephenfin Dec 5, 2025
67483f3
ruff: Use more specific name to enable pyupgrade rule
stephenfin Dec 5, 2025
07a537b
Merge "Add missing api_versions decorator for _update_share_group"
Dec 11, 2025
678d8ed
Drop workaround for Python < 3.10
kajinamit Jan 7, 2026
bede7e6
Merge "Drop workaround for Python < 3.10"
Jan 7, 2026
e448fc8
Remove the legacy "manila" CLI
gouthampacha Jan 16, 2026
b46eeee
Add requests-mock to test-requirements.txt
gouthampacha Jan 19, 2026
eb25613
Switch auth to keystoneauth
gouthampacha Jan 20, 2026
e4edf76
Add mount_point_name option for manage shares
Dec 2, 2025
495f213
fix share server get migration progress
kpawar89 Feb 9, 2026
bd29094
Merge "Remove the legacy "manila" CLI"
Feb 9, 2026
89f32a0
Merge "fix share server get migration progress"
Feb 10, 2026
7154448
Merge "Switch auth to keystoneauth"
Feb 10, 2026
bb84761
Support filtering services by ensuring field
silvacarloss Sep 13, 2024
630697a
Merge "Add mount_point_name option for manage shares"
Feb 19, 2026
e01c79c
Remove unused Makefile for doc
kajinamit Feb 21, 2026
a29ecbe
Add support for QoS type and specs (2.94)
kpawar89 Dec 2, 2025
cca3585
Merge "Support filtering services by ensuring field"
Feb 26, 2026
6ecb5c1
Merge "Add support for QoS type and specs (2.94)"
Feb 26, 2026
2b3100b
Metadata for Share Replica
Saikumar1016 Jan 20, 2026
8a25cfa
Handle single digit versions
stephenfin Dec 12, 2025
29bba37
Merge "Remove unused Makefile for doc"
Feb 26, 2026
b8497a2
Merge "Metadata for Share Replica"
Feb 26, 2026
57679fa
Merge "Handle single digit versions"
Feb 26, 2026
3996ff3
Update master for stable/2026.1
openstackadmin Mar 6, 2026
df6f2dd
Fix option to override API endpoint
kpawar89 Feb 27, 2026
6c2b5c8
Fix typo 'occured' should be 'occurred'
sallykinyua Mar 25, 2026
e4a56ac
doc: Update OS_TENANT_NAME to OS_PROJECT_NAME
Denver-Baraka Mar 25, 2026
87e0e67
doc: Fix wrong class references in manager docstrings
Denver-Baraka Mar 25, 2026
d4d5d19
doc: fix share network docstrings
Denver-Baraka Mar 25, 2026
ed3a69b
fix formatting errors in pyproject.toml
Denver-Baraka Mar 26, 2026
c3402be
update stale OpenStack references in README.rst
Denver-Baraka Mar 26, 2026
a960e55
fix stale API examble and typo in user/api.rst
Denver-Baraka Mar 26, 2026
ab992fc
Merge "fix formatting errors in pyproject.toml"
Apr 1, 2026
cda3013
Merge "doc: fix share network docstrings"
Apr 2, 2026
195eb99
Merge "doc: Fix wrong class references in manager docstrings"
Apr 2, 2026
5d76184
Merge "doc: Update OS_TENANT_NAME to OS_PROJECT_NAME"
Apr 2, 2026
6fb8909
Merge "update stale OpenStack references in README.rst"
Apr 2, 2026
0b7d330
Follow up on share replica metadata changes
medhac1403 Apr 13, 2026
6d7881d
Merge "Fix option to override API endpoint"
Apr 16, 2026
569b82f
Merge "Follow up on share replica metadata changes"
Apr 20, 2026
e1f84b7
Graduate share migration feature
medhac1403 Apr 30, 2026
397105a
Replace OVN Metadata agent with OVN agent
kajinamit May 3, 2026
2ceb369
Merge "Replace OVN Metadata agent with OVN agent"
May 4, 2026
97edb9b
Merge "Graduate share migration feature"
May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Git blame ignore revisions
# This file contains commit hashes that should be ignored by git blame
# to avoid showing formatting/style changes in blame output.
#
# To use this file, run:
# git config blame.ignoreRevsFile .git-blame-ignore-revs

# Ruff formatting commits to ignore
0ef57c0f49b9c0a6be358a87fff67869c0dc95b4
95bd3aca64ddec062b884521349914866ddb4672
16aaa8e7439bb8441c7a9ceff8d398fda276c553
3e3b385c8c20b94b57255a3f34b39a249ba0a3ae
31 changes: 15 additions & 16 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
---
default_language_version:
# force all unspecified python hooks to run python3
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: mixed-line-ending
args: ['--fix', 'lf']
exclude: '.*\.(svg)$'
- id: check-byte-order-marker
- id: fix-byte-order-marker
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: debug-statements
- id: check-yaml
files: .*\.(yaml|yml)$
exclude: '^(zuul.d|rally-jobs)/.*$'
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.0
hooks:
- id: ruff-check
args: ['--fix', '--unsafe-fixes']
- id: ruff-format
- repo: https://opendev.org/openstack/hacking
rev: 7.0.0
hooks:
- id: hacking
additional_dependencies: []
exclude: '^(doc|releasenotes|tools)/.*$'
- repo: https://github.com/PyCQA/doc8
rev: v1.1.1
rev: v2.0.0
hooks:
- id: doc8
args: ['--ignore', 'D001']
Expand All @@ -27,13 +36,3 @@ repos:
hooks:
- id: bashate
args: ['--ignore', 'E006,E042,E043']
- repo: local
hooks:
- id: flake8
name: flake8
additional_dependencies:
- hacking>=6.1.0,<6.2.0
language: python
entry: flake8
files: '^.*\.py$'
exclude: '^(doc|releasenotes|tools)/.*$'
14 changes: 7 additions & 7 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,20 +52,20 @@ Command-line API
----------------

Installing this package gets you a shell command, ``manila``, that you
can use to interact with any Rackspace compatible API (including OpenStack).
can use to interact with the OpenStack Manila API.

You'll need to provide your OpenStack username and password. You can do this
with the ``--os-username``, ``--os-password`` and ``--os-tenant-name``
with the ``--os-username``, ``--os-password`` and ``--os-project-name``
params, but it's easier to just set them as environment variables::

export OS_USERNAME=foouser
export OS_PASSWORD=barpass
export OS_TENANT_NAME=fooproject
export OS_PROJECT_NAME=fooproject

You will also need to define the authentication url either with param
``--os-auth-url`` or as an environment variable::

export OS_AUTH_URL=http://example.com:5000/v2.0/
export OS_AUTH_URL=http://example.com:5000/v3/

Since Keystone can return multiple regions in the Service Catalog, you
can specify the one you want with ``--os-region-name`` (or
Expand All @@ -81,9 +81,9 @@ There's also a complete Python API, but it has not yet been documented.

Quick-start using keystone::

# use v2.0 auth with http://example.com:5000/v2.0/
>>> from manilaclient.v1 import client
>>> nt = client.Client(USER, PASS, TENANT, AUTH_URL, service_type="share")
# use v3 auth with http://example.com:5000/v3/
>>> from manilaclient.v2 import client
>>> nt = client.Client("2", USER, PASS, PROJECT, AUTH_URL, service_type="share")
>>> nt.shares.list()
[...]

Expand Down
1 change: 0 additions & 1 deletion doc/.gitignore

This file was deleted.

90 changes: 0 additions & 90 deletions doc/Makefile

This file was deleted.

6 changes: 5 additions & 1 deletion doc/source/cli/decoder.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@
OpenStackClient Mapping Guide
=============================

.. note::

The legacy ``manila`` CLI has been removed. This guide is maintained for
historical reference to help users upgrading from older versions.

The following is a mapping between the legacy ``manila`` CLI client and
OpenStackClient. Command options are only shown when necessary.


.. only:: html

.. csv-table::
Expand Down
7 changes: 7 additions & 0 deletions doc/source/cli/osc/v2/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -221,3 +221,10 @@ resource locks

.. autoprogram-cliff:: openstack.share.v2
:command: share lock *

=========
qos types
=========

.. autoprogram-cliff:: openstack.share.v2
:command: share qos type *
9 changes: 8 additions & 1 deletion doc/source/cli/osc_plugin_cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,17 @@ environment variables::

export OS_USERNAME=foo
export OS_PASSWORD=bar
export OS_TENANT_NAME=foobarproject
export OS_PROJECT_NAME=foobarproject
export OS_AUTH_URL=http://...
export OS_SHARE_API_VERSION=2.51

It is possible to use different Manila endpoint while using Openstack
Client. In this case, you can use configuration option
``--os-endpoint-override`` or set the corresponding environment
variable::

export OS_SHARED_FILE_SYSTEM_ENDPOINT_OVERRIDE=http://...


Getting help
============
Expand Down
19 changes: 13 additions & 6 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc',
'openstackdocstheme',
'sphinxcontrib.programoutput',
'cliff.sphinxext']
extensions = [
'sphinx.ext.autodoc',
'openstackdocstheme',
'sphinxcontrib.programoutput',
'cliff.sphinxext',
]

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
Expand Down Expand Up @@ -87,8 +89,13 @@
# (source start file, target name, title, author, documentclass
# [howto/manual]).
latex_documents = [
('index', 'Manila-client.tex', 'Manila Python Client Documentation',
'Manila contributors', 'manual'),
(
'index',
'Manila-client.tex',
'Manila Python Client Documentation',
'Manila contributors',
'manual',
),
]

# The name of an image file (relative to this directory) to place at the top of
Expand Down
8 changes: 4 additions & 4 deletions doc/source/contributor/functional-tests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ run manila, a good place to start would be the `manila contributor guide`_.
You can use the following local.conf file to configure DevStack including
Manila using a few fake back ends:

.. code-block:: console
.. code-block:: bash

[[local|localrc]]

Expand Down Expand Up @@ -117,7 +117,7 @@ For DevStack
On your DevStack machine, you can run the following script. It assumes that
``devstack`` is cloned onto your base folder.

.. code-block:: console
.. code-block:: bash

DEST=${DEST:-/opt/stack}
MANILACLIENT_DIR=${MANILACLIENT_DIR:-$DEST/python-manilaclient}
Expand Down Expand Up @@ -163,7 +163,7 @@ On your DevStack machine, you can run the following script. It assumes that
# Create share network and use it for functional tests if required
USE_SHARE_NETWORK=$(trueorfalse True USE_SHARE_NETWORK)

.. code-block:: console
.. code-block:: bash

if [[ ${USE_SHARE_NETWORK} = True ]]; then
SHARE_NETWORK_NAME=${SHARE_NETWORK_NAME:-ci}
Expand All @@ -177,7 +177,7 @@ On your DevStack machine, you can run the following script. It assumes that

fi

.. code-block:: console
.. code-block:: bash

# Set share type if required
if [[ "$SHARE_TYPE" ]]; then
Expand Down
27 changes: 5 additions & 22 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,24 @@ Python bindings to the OpenStack Manila API
===========================================

This is a client for OpenStack Manila API. There's :doc:`a Python API
<user/api>` (the :mod:`manilaclient` module), and a :doc:`command-line script
<user/shell>` (installed as :program:`manila`). Each implements the entire
OpenStack Manila API. See :ref:`project-structure` for more information.
<user/api>` (the :mod:`manilaclient` module) for programmatic access, and
a command-line interface via the OpenStack CLI client. See
:ref:`project-structure` for more information.

You'll need credentials for an OpenStack cloud that implements the
Manila API in order to use the manila client.

Command-Line Reference
~~~~~~~~~~~~~~~~~~~~~~
There are two shell implementations in python-manilaclient.

.. important::

The legacy "manila" shell client is deprecated as of version ``5.0.0``.
A future version of python-manilaclient may not ship this legacy shell
client. If you rely on it, it is highly recommended that you begin using
the openstack CLI client right away. Refer to the `mapping guide
<cli/decoder.html>`_ to help with this transition.

The "openstack" CLI client intends to be fully compatible with the manila API:
Use the "openstack" CLI client to interact with the Manila API from the
command line:

.. toctree::
:maxdepth: 1

cli/osc_plugin_cli
cli/decoder

The legacy "manila" client is deprecated and may not support newer API
features:

.. toctree::
:maxdepth: 2

user/shell

Using the python module
~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
4 changes: 2 additions & 2 deletions doc/source/user/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ token and identify which endpoint you wish to speak to. Once you have
done so, you can use the API like so::

>>> from manilaclient import client
>>> manila = client.Client('1', $OS_USER_NAME, $OS_PASSWORD, $OS_TENANT_NAME, $OS_AUTH_URL)
>>> manila = client.Client('2', $OS_USER_NAME, $OS_PASSWORD, $OS_PROJECT_NAME, $OS_AUTH_URL)
>>> manila.shares.list()
[]
>>> share = manila.shares.create(share_proto="nfs", size=1, share_network_id="some_share_network_id")
Expand All @@ -26,7 +26,7 @@ done so, you can use the API like so::

In addition to creating and deleting shares, the manilaclient can manage
share-types, access controls, and more! Using CephFS with Ganesha for NFS
support as an example (assuumes this continues from the above initialization)::
support as an example (assumes this continues from the above initialization)::

>>> share_type = client.share_types.create(
>>> name="cephfsnfstype", spec_driver_handles_share_servers=False,
Expand Down
Loading