--- - name: deploy all the needed tools for ceph hosts: all become: true gather_facts: true diff: true vars: ceph_repo: "https://download.ceph.com/debian-reef" ntp_server: "ntp.int.nt-com.ru" first_mon_ip: "10.63.1.19" cluster_network: "10.63.0.0/24" public_network: "10.63.1.0/24" CEPH_RELEASE: '19.2.0' initial_dashboard_user: 'admin' initial_dashboard_password: 'qweqwe' allow_fqdn_hostname: 'true' tasks: - name: download asc from ceph get_url: url: https://download.ceph.com/keys/release.asc dest: /tmp - name: Delete previously install ceph.gpg file: path: /usr/share/keyrings/ceph.gpg state: absent - name: import downloaded asc shell: chdir: /tmp cmd: echo y | gpg -o /usr/share/keyrings/ceph.gpg --dearmor release.asc; - name: Add ceph repo apt_repository: filename: ceph repo: "deb [signed-by=/usr/share/keyrings/ceph.gpg] {{ ceph_repo }} {{ ansible_distribution_release }} main" state: present # - name: here bootstrap the the first node # block: # - name: download cephadm bootstrapper # get_url: # url: https://download.ceph.com/rpm-{{CEPH_RELEASE}}/el9/noarch/cephadm # dest: /tmp # mode: '777' - name: Prepare customized ceph.conf template: src: ceph.conf.j2 dest: /root/ceph.conf - name: install packages apt: pkg: - ceph-common - cephadm - lvm2 - podman - chrony - mc state: present - name: Setup ntp client template: src: chrony.yaml.j2 dest: /etc/chrony/chrony.conf notify: - ceph-rollout:restart - name: Templating cluster-spec template: src: cluster_spec.yml.j2 dest: /root/cluster_spec.yml trim_blocks: true lstrip_blocks: true run_once: true delegate_to: ceph01 - name: Flush restart handlers meta: flush_handlers - name: running ceph bootstrap pause: prompt: run this command to bootstrap 1st node "cephadm bootstrap --mon-ip {{ first_mon_ip }} --cluster-network {{ cluster_network }} --initial-dashboard-user {{ initial_dashboard_user }} --initial-dashboard-password {{ initial_dashboard_password }} --apply-spec /root/cluster_spec.yml" handlers: - name: ceph-rollout:restart ansible.builtin.systemd_service: state: restarted name: chronyd listen: "restart chronyd service"