Commit Graph

17 Commits

Author SHA1 Message Date
Alexander Deiter 7ec7321053 [Infinidat] fixed host assisted migration
Fixed an issue in Infinidat driver to support host assisted migration.
And added new configuration options:
* `infinidat_snapdir_accessible` to configure access to the `.snapshot`
  directory on the client side.
* `infinidat_snapdir_visible` to configure visibility of the `.snapshot`
  directory on the client side.

Closes-Bug: #1992443
Signed-off-by: Alexander Deiter <adeiter@infinidat.com>
Change-Id: I29b51fcec28dd5110de6ad196ff8b67c875ce8fa
2022-12-05 22:20:54 +02:00
Alexander Deiter 25d3306f9f [Infinidat] bump driver version and update docs
Incremented driver version to 1.1 and updated documentation
with SSL options, added by commit 52dac7619.

Closes-Bug: #1989283
Change-Id: Icc567a50b8498c06c2cfc76f6ae82731df63cafd
Signed-off-by: Alexander Deiter <adeiter@infinidat.com>
2022-09-12 21:51:17 +03:00
Alexander Deiter 52dac76194 [Infinidat] add support for TLS/SSL communication
Infinidat driver doesn't support TLS/SSL communication
and uses plain HTTP for storage management operations.

This patch adds support for SSL/TLS communication for
storage management operations. Use `infinidat_use_ssl`
under backend section to enable or disable TLS/SSL
communication between the Manila share service and the
storage backend. And `infinidat_suppress_ssl_warnings`
under backend section to suppress requests library SSL
certificate warnings.

Closes-Bug: #1986653
Signed-off-by: Alexander Deiter <adeiter@infinidat.com>
Change-Id: Ia6bbde9aa1702be83f737ab6876a522fa30381c7
2022-08-21 15:20:05 +03:00
Manish Honap 6431b86f19 Add config option reserved_share_extend_percentage
'reserved_share_extend_percentage' backend config option allows Manila
to consider different reservation percentage for share extend
operation. With this option, under existing limit of
'reserved_share_percentage', we do not want user to create new share if
limit is hit, but allow user to extend existing share.

DocImpact

Closes-Bug: #1961087
Change-Id: I000a7f530569ff80495b1df62a91981dc5865023
2022-06-14 23:08:31 +05:30
haixin a73b299374 Remove usage of six lib for third party/vendors drivers.
Python2 is no longer supported, so in this patch
set we remove the usage of the six (py2 and py3
compatibility library) in favor of py3 syntax.

Change-Id: I3ddfad568a1b578bee23a6d1a96de9551e336bb4
2022-01-29 03:01:17 +00:00
kpdev 6ca10003a9 Add config option reserved_share_from_snapshot_percentage.
This config option allows different value for reservation percentage,
mostly useful on the platforms, where shares can only be created from
the snapshot on the host where snapshot was taken. The lower value of
this config option against existing (reserved_share_percentage) allows
to create shares from the snapshot on the same host up to a higher
threshold even though non-snapshot/regular share create fails.
In case this config option is not set, the shares created from snapshot
will use reservation percentage value set in 'reserved_share_percentage'.
This will be useful for users who want to keep same reservation percentage
for both non-snapshot/regular and snapshot shares.

DocImpact

Closes-Bug: #1938060
Change-Id: I390da933fe92875e3c7ee40709eacacc030278dc
2021-08-27 19:10:36 +02:00
Goutham Pacha Ravi 1161a56a74 Fix ipaddress issues in the infinidat driver
In python3.8.11 and python3.9.6, the behavior of the
ipaddress.ip_network.hosts() method changed. Now /32
addresses are returned by that method as a single
element list. This was apparently done as a bugfix [1]

Change-Id: Iab6d96351fa21131d834ccf07ffddd70555f25a7
Closes-Bug: #1934345
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
[1] https://bugs.python.org/issue27683
2021-07-01 10:31:02 -07:00
Douglas Viroel 6c47b193b0 Create share from snapshot in another pool or backend
This patch enables the creation of a share from snapshot
specifying another pool or backend. In the scheduler, a
new filter and weigher were implemented in order to consider
this operation if the backend supports it. Also, a new
field called 'progress' was added in the share and share
instance. The 'progress' field indicates the status
of the operation create share from snapshot (in percentage).
Finally, a new periodic task was added in order to constantly
check the share status.

Partially-implements: bp create-share-from-snapshot-in-another-pool-or-backend

DOCImpact
Change-Id: Iab13a0961eb4a387a502246e5d4b79bc9046e04b
Co-authored-by: carloss <ces.eduardo98@gmail.com>
Co-authored-by: dviroel <viroel@gmail.com>
2020-04-09 11:15:22 -03:00
Amit Oren 1beaf63579 INFINIDAT: suppress 'no-member' pylint errors
The INFINIDAT 'infinisdk' module uses the 'capacity' module to describe
capacity sizes (as similar to the 'oslo_units' module). As the module
might not be present in its testing environment, pylint has a hard time
recognizing some of the module's members. This change suppresses the
pylint errors only where needed, as the 'capacity' module is used only
in very specific methods in the driver.

Change-Id: Ife41e05c743a8f21ff2a91c0c3b9999b1cc25245
Closes-Bug: #1816646
2019-03-21 16:40:05 +02:00
Amit Oren 9d530e152c INFINIDAT: add host.created_by metadata key
This patch adds the "host.created_by" metadata key. The metadata value
indicates the name and version of the INFINIDAT tool which created the
relevant system object.

TrivialFix

Change-Id: Ib5a78593a30a6b530dade412fab576981a7f2241
2018-07-31 17:27:05 +03:00
Arnon Yaari f76aae99b8 INFINIDAT: change create_child to create_snapshot
create_child method was deprecated in favor of create_snapshot
in infinisdk package. This is an internal change and should have
no customer impact.

Change-Id: I47a29c2223c05e89da4a528350d23a2201751182
2018-07-03 17:57:11 +03:00
Zuul b0bfc671e7 Merge "INFINIDAT: set REST API client parameters" 2018-03-08 21:24:52 +00:00
Zuul 81bfab8248 Merge "INFINIDAT: load-balance shares inside network space" 2018-03-01 18:36:50 +00:00
Amit Oren dc8f020d77 INFINIDAT: set REST API client parameters
Communicating with the INFINIDAT InfiniBox backend is done using a
REST API through a client implemented by the infinisdk package.
This change sets the number of retries in case of an erroneous API
call and sets the User-Agent string for the client.

Change-Id: I58dceebcfd088a0f584c3107b9f0545eb86bd5eb
2018-02-28 15:15:20 +00:00
Amit Oren 6a85a6f5e3 INFINIDAT: load-balance shares inside network space
Instead of always using the first IP from the INFINIDAT InfiniBox
network space, utilize the export_locations attribute of the share
and return the IPs of all enabled network space IPs.

Change-Id: I2319d574cb95f8cc688e608a7e455743e4e63f93
2018-02-05 16:02:20 +02:00
Amit Oren 09da8f8d9d INFINIDAT: support deleting datasets with snapshots
Deleting a share or a snapshot from the INFINDIAT InfiniBox should
support a case where the share or snapshot has snapshots that were
created externally (i.e. through the InfiniBox interface).

Change-Id: Ic9d03493283c573506330a620fa21516bbd09c26
Closes-Bug: #1746439
2018-02-05 12:08:50 +02:00
Amit Oren f7f30542ed INFINIDAT add Manila driver
Adding basic driver version for the INFINIDAT Infinibox storage array.

Change-Id: I8299915a12b51c80a044f41ceb7a49da32745272
Implements: blueprint infinidat-manila-driver
2017-12-07 17:04:48 +02:00