and add functional tests for it.
Which can be enabled/disabled using
'run_share_servers_tests' config option.
Change-Id: I07c5b03d576b41a61867a90d828a112c8a3f4f4b
Closes-Bug: #1629317
The Oslo team has moved all previously incubated code from the
openstack/oslo-incubator repository into separate library repositories
and released those libraries to the Python Package Index. Many of our
big tent project teams are still using the old, unsupported, incubated
versions of the code. The Oslo team has been working to remove that
incubated code from projects, and the time has come to finish that work.
As one of community-wide goals in Ocata, please see:
https://github.com/openstack/governance/blob/master/goals/ocata/remove-incubated-oslo-code.rst
Note: This commit also fix pep8 violations.
Change-Id: I03288adb94c702d1d63df88ef9ba33a2ff59eaa3
Commands like
- security-service-delete
- share-network-delete
- share-server-delete
- snapshot-delete
- snapshot-force-delete
- type-delete
do not allow specifying more than one resource for deletion.
Add support to allow deletion of multiple resources, and add
unit tests for that.
Change-Id: I3c484bcc1fb8d5a2c31680889863403f8e58ee74
Closes-bug: #1611506
The share-types POST API in Manila accepts a dictionary of extra-specs.
However, the CLI only accepts values for DHSS and snapshot_support.
Fix is to make provision of specifying more extra-specs in type_create.
Change-Id: I4a0fbf572653d331f6351bc07bfdd58bbc5a74b5
Closes-Bug: #1561171
This patch adds '--new_share_type' to 'migration-start' CLI
command, allowing a user to change the share type during migration.
Depends-On: I3200eaaa5b66d9b8ce1cbd16c1658db8516c70fb
Partially implements: blueprint newton-migration-improvements
Change-Id: Ib0a43369bad5a72eef619cb73c417a8dde153b56
Implemented new parameters:
- Added 'Writable' API parameter: user chooses whether share must
remain writable during migration.
- Added 'Preserve Metadata' API parameter: user chooses whether
share must preserve all file metadata on migration.
- Added 'Non-disruptive' API parameter: user chooses whether
migration of share must be performed non-disruptively.
- Removed 'Notify' parameter.
- Renamed existing 'Force Host Copy' parameter to
'Skip Optimized Migration'.
- Added 'New Share Network' API parameter: user chooses new
share network to migrate to if desired.
Implements: blueprint newton-migration-improvements
Depends-On: Ief49a46c86ed3c22d3b31021aff86a9ce0ecbe3b
Change-Id: I6e7a1d854d9a09f10511c5d47715b1979813f947
Expose access credentials/keys returned by storage
backends (e.g. Ceph) with an internal authentication
system for client identities that are granted share
access.
Partially implements bp auth-access-keys
Depends-On: I486064f117cf3001dba7735ca92a7d89aee3ce5b
Change-Id: I312dd311fcee74a7c62bfc62823e5e3cbf2371ec
Support new API entry points for share snapshot instances:
- share-snapshot-instance-list
- share-snapshot-instance-show
- share-snapshot-instance-reset-status
Implements: blueprint snapshot-instances
Change-Id: Ica1e81012f19926e0f1ba9cd6d8eecc5fbbf40b5
The share-replica-list command does not allow specifying
the required columns to format the output of the command.
Add parameter "--columns" and add a unit test for that.
Change-Id: I5d266572cb6efb1b2771e6b61e57a4aebc12ad89
Closes-bug: #1608664
For the moment we cannot use experimental APIs using "python" client.
It is possible only if we use shell client (CLI).
It means, we cannot use "share replication", "share migration" and
"consistency groups" APIs of python manilaclient from other apps
such as Manila UI. So, add special experimental header on python
client level instead of CLI.
Change-Id: I6eed5dcfd1cb309817e083856b40e10cc6f970f6
Closes-Bug: #1599586
Both 'manila list --all-tenants' and 'manila list --public'
should show column Project ID. Project/Tenant ownership of
shares is vital information, e.g. when working with project
quota allocations.
'manila list' doesn't show public shares of other projects.
Without '--all-tenants' and without '--public' the result
is scoped to the project/tenant of the user issuing the command.
So, it would be redundant to display a column for this.
Same fix has been put for snapshot-list --all-tenants too.
DocImpact
Change-Id: I7afae542c391041d48c28e268ab59c83447bb940
Closes-Bug: #1570085
For the moment if default value for CLI option with
"single_alias" action is different than None we cannot redefine it.
Fix it and cover with unit tests.
Also, fix existing aliases and add some where good to have.
Change-Id: Ic61426d9bd894b01f9b035d6d19bb7bd113f96ad
Closes-Bug: #1552771
This duplicates the validation that is
done server side, as is the case for
the existing auth types. This auth type
is supported for cephfs protocol.
Also a unit test that was unnecessarily
testing a helper text was removed.
Co-Authored-By: Ramana Raja <rraja@redhat.com>
Change-Id: If33e6d847d3c1e6a72ce334b645b45538576058d
This patch displays the preferred flag for share export
locations, adjusts the other values displayed for export
locations to match the updated summary views from the server,
and updates the minimum microversion to match the server.
Change-Id: I40b236b38a97146dfb6aa2b7f20648c5e1ffa81c
Implements: blueprint update-export-location-retrieval-apis
Add a new resource class called ShareReplicas
to support the new Manila API calls.
Add commands to create, delete, list, show,
promote, resync, reset-state, reset-replica-state
and force-delete share replicas.
Co-Authored-By: Goutham Pacha Ravi <gouthamr@netapp.com>
Implements: blueprint manilaclient-share-replication
Change-Id: Ibb9802a80ffd78ef5c80782396b14bea11a6282a
Currently, issuing manila help command, lists all APIs.
Therefore, there is no way to identify which is admin-only
and which is not. Fixed by tagging the admin-only api
as (Admin only) in help text.
Change-Id: I0f676901675b8d57e16c4275c5b579fcfa0ca2ae
Closes-Bug: #1457155
Changed the help of access-create to reflect the correct
default value for argument access_level, which is 'rw' not None.
Change-Id: I45463a9ef34c8320da15f2c2a9422c0c64d4ac3c
Closes-Bug: #1539632
Mechanism to show selected columns in all list
commands.All list commands are worked except those
which just return two columns, Property & Value.
Any listing that is just a list of key/value pairs
would seem to not benefit from this change.
Change-Id: I173d588238b2f9f8956143b6228dc1ccf67aa465
Implements: blueprint manila-show-selected-columns-list-command
Similar issue has been handled in CinderClient in
bug/1511167.
The API docs list the size units as gibibytes(GiBs).
Client should request/report share size in GiB instead
of gigabyes(GB). Hence made the corrections.
Change-Id: I25465e68a713613646e2350a443660fc4b3850a2
Closes-bug: 1516841
This fix allows manila-manage command to explicitly
set visibility (key '--public') similar to using API
"create".
Depends-On: I8725719b8c7ff5557fa20ebbb5314f3e770ffcc0
Change-Id: I4e9be0a9c2168ab6c89a0d0e1c281e4a05a05c6b
Closes-Bug: #1436865
CLI output for command "type-create *" used to return list of one element
But should return info as dictionary as it is for all other resources.
Hence made the changes.
Change-Id: I5da7a97b116873aebc7d8746c216da3c5bfc84da
Closes-Bug: #1446700
The Manila client needs the following changes to support microversions:
* Maintain backwards compatibility with Kilo. When the client detects
that the server doesn't support microversions it will fall back to
using the v1 API.
* The --os-share-api-version option supports overriding the version.
* If 1.0 is specified as the version the client will load the v1
client and use the server's v1 API.
* The client will send a request for the server's API version and
determine if the client's supported versions and the server's
supported versions overlap. If not the client will display an error
and quit. See diagram 1 below.
* The client supports the @wraps annotation. The annotation is used
with the v2/shell.py commands and any class that inherits from
the Manager class in manilaclient/base.py.
* If an appropriate command version isn't found for commands using
@wraps then the client will display an error and quit.
following commit: ab49d645befd04c84272f0d24e1b604012d191dd.
Diagram 1:
Client:
2.5 2.8
|-------------|
Server1:
2.0 2.5
|-------------|
Client uses version 2.5
Server2:
2.7 2.10
|-------------|
Client uses version 2.8
Server3:
2.9 2.12
|-------------|
Client displays error and quits
Server4:
1.0 (Kilo Server)
|-|
Client detects pre-microversion server and loads v1 client
Example usage of wraps annotation:
* Support 2.0 - 2.4: @api_versions.wraps("2.0", "2.4")
* Support 2.5 - latest: @api_versions.wraps("2.5")
Implements: blueprint manila-client-advanced-microversion-support
Change-Id: I3733fe85424e39566addc070d42609e508259f19