Traditionally, Ganesha consumes /etc/idmapd.conf, which controls
mapping of user/owner identities under NFSv4+. With containerized service
deployment, this file has beenan immutable part of the container image
and could not be modified.
Recently ceph-ansible was modified to allow the user to set the path
for idmapd.conf and to override ini settings in this file by supplying
json configuration for the overrides in the same way that it can be
supplied for ceph.conf overrides [1]. Also, the default path setting
for the idmapd.conf file is /etc/ganesha/idmap.conf, which already is
reflected into containerized ganesha under /etc/ganesha, solving the
immutability issue. If no overrides are supplied, the file put in this
location will match that originally frozen into the container, so there
is no issue here with backwards compatibility.
This change exposes parameters for idmap.conf file path and override
contents in TripleO and passes them into ceph-ansible. It also sets up
these parameters for cephadm. Cephadm support for OpenStack Ganesha
is WIP so there will likely need to be a followup patch to make these
effective when cephadm replaces ceph ansible.
[1] https://github.com/ceph/ceph-ansible/pull/6422
Change-Id: I422e49f0027efbbb25256d8b4718eb0aa78d90a4
When deploying Manila with CephFS backend it might be preferable
to keep the Ganesha service deployment under control of TripleO but
still point it to an external Ceph cluster.
From version 4.0.0rc9 [1] ceph-ansible is capable of deploying Ganesha and
configure it to use an external Ceph cluster. We can use this feature
TripleO enabling the CephNfs and CephClient services on those roles
where Ganesha needs to go.
It will be possible to deploy Manila with a CephFS backend together
with Ganesha (pacemaker managed) and point them to an external Ceph
cluster combining the two environments:
- manila-cephfsganesha-config.yaml
- ceph-ansible/ceph-ansible-external.yaml
1. 6a6785b719
Change-Id: Iae674127cf948fbc007ee2be96041221f7584ce7
Implements: blueprint manila-external-ganesha
manila now [1] supports configuring an octal value for the
rwx permissions mode of the cephfs volumes and snapshots
and groups of these that back manila shares, snapshots,
and groups.
Expose this parameter in the backend manifests for manila
with cephfs.
[1] https://review.openstack.org/#/c/614332
Depends-on: https://review.openstack.org/638773
Change-Id: I0e3f841523dc0cc213100296bc352ac88eb1ff74
This change combines the previous puppet and docker files into a single
file that performs the docker service installation and configuration
for all manila services.
With this patch the baremetal version of each manila service has been removed.
Related-Blueprint: services-yaml-flattening
Change-Id: I02addc0ecbbbcb60d2c6a0d30d7c9cfa42346f7c
to eliminate special 'docker' names.
Containerized manila is now the standard way to deploy
so we can avoid confusion by just using the regular
manila environment file names for these rather than having
some manila environment files with 'docker' in their names.
Note that we are using the content of
environments/manila-cephfsnative-config-docker.yaml
for
environments/manila-cephfsnative-config.yaml. This resolves an
issue wherein the parameters in the latter file were not updated
when support for the CephFS-NFS back end was added [1].
Closes-Bug: #1782622
[1] Ib408c7827e5fba0c1b01388db26363806fc64370
Change-Id: I08431d848158846a434fecc98d3bee838c7fad68