"storage_availability_zone" in the [DEFAULT] section of
manila's configuration file has allowed deployers to configure
and manage both service (scheduler, share manager) and storage
system availability. However, quite often manila's services
(api, scheduler, share and data managers) are run on a dedicated
control plane that is a different failure domain from that of
the storage that manila manages.
Also, when using share replication, deployers would need to
run multiple manila share manager services with different
configuration files, each with their own
"storage_availability_zone".
To allow flexibility of separating service and storage
availability zones, we introduce a new configuration option
"backend_availability_zone" within the share driver/backend
section. When this option is used, it will override the value
of the "storage_availability_zone" from the [DEFAULT] section.
Change-Id: Ice99a880dd7be7af94dea86b31a6db88be3d7d9b
Implements: bp per-backend-availability-zones
Implement revert to snapshot support for Dell EMC Unity driver.
Change-Id: I3a4da4a506ae4c2dbcd97207121ce19ecfb98043
Implements: unity-revert-to-snapshot
Connections to backends via paramiko often fail for obscure
reasons.
If the service log level is DEBUG, increase paramiko logging
to DEBUG level as well so that we have more information when issues
of this sort occur.
Change-Id: I44d8902d58c2ad48b8a37dfbff96c5b9471651e4
The current implementation of ssh_utils never sends keepalive packets.
In ssh_utils.SSHPool, the socket timeout parameter is set to None
intending to keep ssh connections open.
However, when the parameter is set to None, ssh_utils does not run the
code to compare idle duration and keepalive interval.
This patch reverts the socket timeout parameter to default (0.1 sec).
The ssh_utils compares them every 0.1 seconds, and sends a keepalive
packet if idle duration > keepalive interval (= self.conn_timeout).
See cinder change: I8234083107207b9ebc0849947e8de92b5cf3e36e
Change-Id: Ib13e5c6246412d667554cb0bd9c419b513af70c7
Related-Bug: #1673662
There might be a rescan for volume groups needed before checking if
the volume group is already there. Otherwise, the check for the volume
group fails which means the code tries to create the volume, but that
fails then because the volume is already there.
Here is the devstack run log:
[...]
plugin.sh:configure_backing_file:538 sudo losetup -f --show /opt/stack/data/lvm-shares-backing-file
plugin.sh:configure_backing_file:538 DEV=/dev/loop2
plugin.sh:configure_backing_file:543 sudo vgs lvm-shares
Volume group "lvm-shares" not found
Cannot process volume group lvm-shares
plugin.sh:configure_backing_file:543 sudo vgcreate lvm-shares /dev/loop2
Physical volume '/dev/loop2' is already in volume group 'lvm-shares'
Unable to add physical volume '/dev/loop2' to volume group 'lvm-shares'
/dev/loop2: physical volume not initialized.
plugin.sh:configure_backing_file:1 exit_trap
[...]
Change-Id: I0189580ae40b180249fd5846aa986052e44ce2c2
There are two situation may cause the size of share/snapshot
managed by manila is inconsistent with the NAS backend.
One is to create a share from snapshot. While the other one
is to manage an existing snapshot.
Change-Id: Iaef8d8cb4be0d8872a2796c0fc69279c14f15a80
Closes-Bug: #1810476
The following config option was moved to another place:
- [Default]sqlite_db : Only used for testing so move it to the test
config options. That way, it is not visible in the
manila.conf.sample file
The following config options were removed and are now handled via
oslo.db:
- [Default]sqlite_synchronous : already handled by oslo.db . The new
place is "[database]sqlite_synchronous" but the deprecated
section/names are handled
- [Default]sql_idle_timeout : already handled by oslo.db . The new
place is "[database]connection_recycle_time" but the deprecated
section/names are handled
- [Default]sql_max_retries : already handled by oslo.db . The new
place is "[database]max_retries" but the deprecated
section/names are handled
- [Default]sql_retry_interval : already handled by oslo.db . The new
place is "[database]retry_interval" but the deprecated
section/names are handled
Change-Id: I17e9b69d4ce4b8e624313d05f72d25b3fc2b458c
We need these for python3 support since the CentOS
jobs will not run correctly under python3.
Depends-on: https://review.openstack.org/#/c/627037/
Change-Id: I0e4baaaca5046f9c0ee32cf3de78133f743fd66d
Generic driver jobs are failing because of timeouts when
establishing the initial ssh connection from manila-share
to the service VM.
Bump up the default value of the connection timeout for paramiko
client and also set the banner timeout since the failure occurred
during banner exchange. Set the two timeouts to the same value
for now. This ensures that the connection timeout is at least as
long as the banner timeout and there is no current need in manila
to control these independently.
This is more of a workaround than a real fix since a real fix
would remove the delay during banner exchange. I suspect that
the real fix will need to be in neutron/ovs though.
Change-Id: Ib5e59faaf9667b9cb5e7d4072531b7d6c3d4da39
Partial-bug: #1807216
Restructure the development environment documentation
and include sample devstack config to get folks
started easy when they're coding manila changes.
Change-Id: If2df8bdf88e77eec32e8795020b8ef349b55b41b
In the past, the options ca_certificates_file,
nova_ca_certificates_file, cinder_ca_certificates_file,
api_insecure, nova_api_insecure, cinder_api_insecure
were supplied to instantiate nova, neutron and cinder
clients. These options have now been subsumed in a more
generic way into the Keystone session logic as 'cafile'
and 'insecure'. Deprecate the older options in Stein so
that we can remove them in a future release.
This deprecation began many releases ago when we switched
to using keystone sessions [1]. However, we were still
overriding the values of "insecure" and "cafile" if provided,
forcing users to continue using deprecated parameters
"api_insecure" and "ca_certificates_file". So despite
this fix originating in the Stein release, it would be
prudent to backport it to all maintained releases and
remove support for these older options in/beyond Train
release (9.0.0).
[1] Ic211a11308a3295409467efd88bff413482ee58d
Change-Id: I148e9079c7c1ab119f519f727d4ad97758473325
Related-Bug: #1802393
Closes-Bug: #1809318
And use a 'file://' url for the custom manila image.
See also https://review.openstack.org/#/c/623330. These
are interdependent patches but no harm is done by merging
this one first and having 623330 depend on it since retrieval
of the image name is not working correctly anyways.
Partial-Bug: #1807969
Change-Id: Ib3a74d170f159dfbc38b5302f00800f3530f4921
These jobs often fail due to timeouts so only enable the services
required for devstack tests with these back ends.
Change-Id: Ib620ec3c2a9999ea9908a7c23aa7172c40a4cbd9
- When the URL refers to cloning or using git repositories, use the
cloning URL (https://git.openstack.org/openstack/<project>)
- When the URL refers to the browsable version of the repository, use
the cgit frontend (https://git.openstack.org/cgit/openstack/<project>)
Change-Id: I11a8e15c6d663786465c090b40db9e20b19194e6