heat_template_version: wallaby description: > Ceph NFS Ganeshaservice. parameters: ServiceData: default: {} description: Dictionary packing service data type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. Use parameter_merge_strategies to merge it with the defaults. type: json DefaultPasswords: default: {} type: json RoleName: default: '' description: Role name on which the service is applied type: string RoleParameters: default: {} description: Parameters specific to the role type: json EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json ManilaCephFSCephFSAuthId: type: string default: 'manila' ManilaCephFSNFSIdmapConf: type: string default: '/etc/ganesha/idmap.conf' ManilaCephFSNFSIdmapOverrides: type: json description: Extra config settings to dump into idmap.conf default: {} CephConfigPath: type: string default: "/var/lib/tripleo-config/ceph" description: | The path where the Ceph Cluster config files are stored on the host. resources: CephBase: type: ./ceph-base.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} outputs: role_data: description: Role data for the Ceph NFS Ganesha service. value: service_name: ceph_nfs firewall_rules: '120 ceph_nfs': dport: # We support only NFS 4.1 to start - 2049 upgrade_tasks: - name: Create hiera data to upgrade ceph_nfs in a stepwise manner. when: - step|int == 1 - cluster_recreate|bool block: - name: set ceph_nfs upgrade node facts in a single-node environment set_fact: ceph_nfs_short_node_names_upgraded: "{{ ceph_nfs_short_node_names }}" cacheable: no when: groups['ceph_nfs'] | length <= 1 - name: set ceph_nfs upgrade node facts from the limit option set_fact: ceph_nfs_short_node_names_upgraded: "{{ ceph_nfs_short_node_names_upgraded|default([]) + [item.split('.')[0]] }}" cacheable: no when: - groups['ceph_nfs'] | length > 1 - item.split('.')[0] in ansible_limit.split(':') loop: "{{ ceph_nfs_short_node_names | default([]) }}" - fail: msg: > You can't upgrade ceph_nfs without staged upgrade. You need to use the limit option in order to do so. when: >- ceph_nfs_short_node_names_upgraded is not defined or ceph_nfs_short_node_names_upgraded | length == 0 - debug: msg: "Prepare ceph_nfs upgrade for {{ ceph_nfs_short_node_names_upgraded }}" - name: add the ceph_nfs short name to hiera data for the upgrade. include_role: name: tripleo_upgrade_hiera tasks_from: set.yml vars: tripleo_upgrade_key: ceph_nfs_short_node_names_override tripleo_upgrade_value: "{{ceph_nfs_short_node_names_upgraded}}" - name: remove the extra hiera data needed for the upgrade. include_role: name: tripleo_upgrade_hiera tasks_from: remove.yml vars: tripleo_upgrade_key: ceph_nfs_short_node_names_override when: ceph_nfs_short_node_names_upgraded | length == ceph_nfs_short_node_names | length step_config: 'include tripleo::profile::pacemaker::ceph_nfs' puppet_config: {} # step_config seems to be ignored if docker_config is present #docker_config: {} external_deploy_tasks: list_concat: - {get_attr: [CephBase, role_data, external_deploy_tasks]} - - name: ceph_nfs_external_deploy_init when: step|int == 1 tags: - ceph block: - name: set tripleo-ansible group vars set_fact: ceph_nfs_vars: tripleo_ceph_client_config_home: {get_param: CephConfigPath} tripleo_cephadm_ceph_nfs_bind_addr: {get_param: [EndpointMap, GaneshaInternal, host_nobrackets]} tripleo_cephadm_ceph_nfs_enable_service: false tripleo_cephadm_ceph_nfs_use_pacemaker: true tripleo_cephadm_ceph_nfs_dynamic_exports: true tripleo_cephadm_ceph_nfs_service_suffix: pacemaker tripleo_cephadm_nfs_obj_gw: false tripleo_cephadm_ceph_nfs_rados_backend: true tripleo_cephadm_ceph_nfs_disable_caching: true tripleo_cephadm_ceph_nfs_ceph_user: {get_param: ManilaCephFSCephFSAuthId} tripleo_cephadm_idmap_conf: {get_param: ManilaCephFSNFSIdmapConf} tripleo_cephadm_idmap_overrides: {get_param: ManilaCephFSNFSIdmapOverrides} tripleo_cephadm_ganesha_address_block: list_join: - ',' - get_param: [ServiceData, net_cidr_map, {get_param: [ServiceNetMap, GaneshaNetwork]}] external_update_tasks: [] external_upgrade_tasks: []