Cinder backup requires iSCSI volume and host mount for backing
any iSCSI volume, not only from LVM backend. 'enable_iscsid' is
a catch-all setting for all iSCSI backends that also runs
necessary iSCSI client on the same host.
Change-Id: Ic486a9f72820df2e0a48a18166f043e5ddb5bd0a
Closes-Bug: #1688519
When using cinder lvm backend storage driver, lvcreate will load dm_*
linux modules when need. So /lib/modules is needed by cinder_volume
container.
Change-Id: I80985794d6aaa6b4ddc71680a97e0d07085dafa7
Closes-Bug: #1684378
Currently Cinder configuration hard-codes tgtadm as the only
iSCSI management utility. tgtd and tgtadm are older tools to
manage iSCSI volumes. Newer versions of Linux distros use
targetcli and kernel based iSCSI facilities (LIO) and can be
a preferred way for some users.
Change-Id: I10c0a7d596994a9201218e58ca2ad184774a8ce2
Closes-Bug: #1684139
Currently if Ceph is used for Cinder volumes the only choice of
backup driver is Ceph. It should be possible to use any backup
driver for any volume type, e.g. iSCSI volumes can go to Ceph
based backup storage.
Change-Id: Ifc8a767b9030391580de6a24383bb6b87053835d
Closes-Bug: #1683715
cinder-volume will be hanged if rados_connect_timeout is disabled. And
no error message will be thrown. Disable timeout is not a good idea.
This patch sets the rados_connect_timeout to 5.
Change-Id: I05e7343d09d75399a7031013b4329a2cb81792fb
Closes-Bug: #1676267
Booting from volume require cinder's ceph client secret now. Move cinder
before nova in site.yml, because nova depends on cinder ceph client key
now.
Change-Id: I01c9ed80843d98305b8963894c4917c21a35d3ac
Closes-Bug: #1670676
* Move the tasks to the role
* Skip the task when container is already running
Change-Id: I1990d4dd2a02efa2b3766329000aa23419e0ff17
Closes-Bug: #1670286
We do not use *.j2 filename pattern in custom config folder. Add
nfs_shares without .j2 extension for consistency. And do not remove the
.j2 extension file for back compatibility.
Change-Id: Ic66c2f3188e818b9dff4d693102f0d433d2695ac
Usernames can be configured with variables in
configuration files, but user creation is hardcoded.
Change-Id: I057cfb921d776217db66f59226dcfa79f3eb7368
Closes-Bug: #1661587
At present, cinder/nova/glance/gnocchi relative containers's
ceph.conf aren't be merge from user custom's config.
In some condition, we should add extra parameter to custom's
ceph.conf, for example:rbd_default_features = 1.
So, it is necessary to use merge_configs instead of template.
Closes-Bug: #1656162
Change-Id: I824e0c68af270b85c52382ae35987213266fc6f6
Cinder can be configured to support either
lvm or ceph backend. Using both backends only enables lvm
as the ceph backend configuration is combined
with the lvm backend part via elif code.
Change-Id: I57e515cf7cdd6377d60bfbc45a889553ce87207a
Closes-Bug: #1654996
This commit brings necessary configuration and container start-up
options to use two popular backends for backup - nfs and swift.
Both drivers support incremental backups and should work with any
cinder volume backend.
Change-Id: Ieed29a895dc1b9faad196e160a88ea9d293f9c75
Currently, policy.json is put in
"{{ node_config_directory }}/{{ service_name }}"
in target nodes.
Relocation policy.json to "{{ node_config_directory }}/{{ item }}"
with item is corresponding service compoment config directory.
Currently, the policy.json is copied to all services, but it
should be reviewed and left only in neccesary service
(at many cases, only API service needs that).
Redundant files will be removed in follow up patchset.
Change-Id: I0e997dccf4ec438c9c0436db71ec2fd06650f50d
Closes-Bug: #1639686
Nova and Cinder used a list of glance api servers - this list
does not provide a proper high availability because the servers
are connected at random without recalling who is failed last
time. E.g. out of three controllers with a failed first one nova
and cinder can try connection to the first controller because of
random / shuffled choice of the glance server. A proper solution
is to use VIP that connects to alive server from the beginning.
Also as workaround one could significantly increase max number
of retries in configuration files in hope that a random function
will choose a healthy glance server sometime - not a good choice.
Change-Id: Ifaf8ffe3697ec88a6da4c2b43c83975b63dc2e8c
Closes-Bug: #1643509
Using the `when` conditional on a `with_` loop gets evaluated on each
loop iteration and will not skip a task entirely. Use the `skip`
attribute to ignore errors in this scenario but only `skip` when
`enable_cinder_backend_nfs` is not enabled. If it is enabled the
`nfs_shares` file should be required and this task should fail if it
does not exist.
Co-authored-by: Andrew Widdersheim <amwiddersheim@gmail.com>
Change-Id: I6b997dd943efe7b16beb63899c1488fa5353d996
Closes-Bug: #1641183
Allow cinder-volume, nova-compute and nova-libvirtd to be configured to
use NFS. In order to mount and work with NFS shares, several containers
needed the NFS packages installed during build time.
One somewhat significant change is the addition of an explicit bind
volume for nova-compute that has shared mounts enabled.
According to docker-run(1), the shared mount propagation flag can only
be specified for bind mounted Docker volumes and not named volumes.
In an NFS setup, cinder-volume mounts the NFS shares so that it can
create and manage the Cinder volumes. When a new instance is created
with a Cinder volume or a Cinder volume is attached to an existing
instance, nova-compute mounts the Cinder volume from the NFS share for
nova-libvirtd. In order for nova-libvirtd to then see those Cinder
volumes the shared mounts flag must be enabled for the Docker volume.
Remove the rpcbind container as it is only necessary for operators who
are using NFSv3 or lower. There is no known need for this currently
however, this container can be added in the future should an operator
require it.
Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Co-authored-by: Andrew Widdersheim <amwiddersheim@gmail.com>
Change-Id: Iad77c05bce8876bdcc69b7ec22edd50e3bf48b9f
Closes-Bug: #1530515
Partially implements: blueprint nfs-support-in-cinder