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
Allow operators to use their custom policy files.
Avoid maintain policy files in kolla repos, only copying
the files when an operator add their custom config.
Implements: blueprint custom-policies
Change-Id: Icf3c961b87cbc7a1f1dd2ffbfffcf271d151d862