heat_template_version: wallaby description: > Ceph RBD Mirror service. 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. This mapping overrides those in ServiceNetMapDefaults. 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 CephRbdMirrorCopyAdminKey: default: false description: Some admins like to copy the admin key everywhere type: boolean CephRbdMirrorConfigure: default: true description: Perform mirror configuration between local and remote pool type: boolean CephRbdMirrorPool: default: '' description: Name of the local pool to mirror to remote cluster type: string CephRbdMirrorRemoteCluster: default: 'not-ceph' description: The name given to the remote Ceph cluster from the local cluster. keys will reside in the /etc/ceph directory type: string CephRbdMirrorRemoteUser: default: '' description: The rbd-mirror daemon needs a user to authenticate with the remote cluster. By default, this key should be available under /etc/ceph/.client..keyring type: string resources: CephBase: type: ./ceph-base.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} CephRbdMirrorAnsibleVars: type: OS::Heat::Value properties: type: json value: vars: copy_admin_key: {get_param: CephRbdMirrorCopyAdminKey} ceph_rbd_mirror_configure: {get_param: CephRbdMirrorConfigure} ceph_rbd_mirror_pool: {get_param: CephRbdMirrorPool} ceph_rbd_mirror_remote_cluster: {get_param: CephRbdMirrorRemoteCluster} ceph_rbd_mirror_remote_user: {get_param: CephRbdMirrorRemoteUser} outputs: role_data: description: Role data for the Ceph RBD Mirror service. value: service_name: ceph_rbdmirror firewall_rules: '114 ceph_rbdmirror': dport: - '6800-7300' upgrade_tasks: [] puppet_config: config_image: '' config_volume: '' step_config: '' docker_config: {} external_deploy_tasks: list_concat: - {get_attr: [CephBase, role_data, external_deploy_tasks]} - - name: ceph_rbdmirror_external_deploy_init when: step|int == 1 tags: - ceph - ceph_fstobs - ceph_systemd block: - name: set ceph-ansible group vars rbdmirrors set_fact: ceph_ansible_group_vars_rbdmirrors: {get_attr: [CephRbdMirrorAnsibleVars, value, vars]} - name: generate ceph-ansible group vars rbdmirrors copy: dest: "{{playbook_dir}}/ceph-ansible/group_vars/rbdmirrors.yml" content: "{{ceph_ansible_group_vars_rbdmirrors|to_nice_yaml}}" external_update_tasks: {get_attr: [CephBase, role_data, external_update_tasks]} external_upgrade_tasks: {get_attr: [CephBase, role_data, external_upgrade_tasks]}