diff --git a/pre-deploy.yml b/pre-deploy.yml index 907f4e9..3ea2e72 100644 --- a/pre-deploy.yml +++ b/pre-deploy.yml @@ -6,26 +6,55 @@ diff: true vars: ceph_repo: "https://download.ceph.com/debian-squid" + 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' tasks: + - name: download asc from ceph + get_url: + url: https://download.ceph.com/keys/release.asc + dest: /tmp + - name: get gpg key and import it - command: + shell: chdir: /tmp - cmd: "{{ item }}" - loop: - - wget -q 'https://download.ceph.com/keys/release.asc' -O release.asc; - - echo y | gpg -o /usr/share/keyrings/ceph.gpg --dearmor release.asc; # echo y in case of rewriting existing gpg key + 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 }} jammy main" + repo: "deb [signed-by=/usr/share/keyrings/ceph.gpg] {{ ceph_repo }} {{ ansible_distribution_release }} main" state: present - - name: install packages - apt: - pkg: - - cephadm - - lvm2 - - podman - - chrony - state: present \ No newline at end of file + block: # here bootstrap the cluster + - name: download cepadm bootstrapper + get_url: + url: https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm + dest: /tmp + mode: '777' + + +# - name: install packages +# apt: +# pkg: +# - cephadm +# - lvm2 +# - podman +# - chrony +# state: present +# +# - name: Setup ntp client +# template: +# src: chrony.yaml.j2 +# dest: /etc/chrony/chrony.conf +# notify: +# - ceph-rollout:restart +# +# handlers: +# - name: ceph-rollout:restart +# ansible.builtin.systemd_service: +# state: restarted +# name: chronyd +# listen: "restart chronyd service" \ No newline at end of file diff --git a/templates/chrony.yaml.j2 b/templates/chrony.yaml.j2 new file mode 100644 index 0000000..a370abc --- /dev/null +++ b/templates/chrony.yaml.j2 @@ -0,0 +1,63 @@ +# Welcome to the chrony configuration file. See chrony.conf(5) for more +# information about usable directives. + +# Include configuration files found in /etc/chrony/conf.d. +confdir /etc/chrony/conf.d + +# This will use (up to): +# - 4 sources from ntp.ubuntu.com which some are ipv6 enabled +# - 2 sources from 2.ubuntu.pool.ntp.org which is ipv6 enabled as well +# - 1 source from [01].ubuntu.pool.ntp.org each (ipv4 only atm) +# This means by default, up to 6 dual-stack and up to 2 additional IPv4-only +# sources will be used. +# At the same time it retains some protection against one of the entries being +# down (compare to just using one of the lines). See (LP: #1754358) for the +# discussion. +# +# About using servers from the NTP Pool Project in general see (LP: #104525). +# Approved by Ubuntu Technical Board on 2011-02-08. +# See http://www.pool.ntp.org/join.html for more information. +server {{ ntp_server }} iburst prefer +pool ntp.ubuntu.com iburst maxsources 4 +pool 0.ubuntu.pool.ntp.org iburst maxsources 1 +pool 1.ubuntu.pool.ntp.org iburst maxsources 1 +pool 2.ubuntu.pool.ntp.org iburst maxsources 2 + +# Use time sources from DHCP. +sourcedir /run/chrony-dhcp + +# Use NTP sources found in /etc/chrony/sources.d. +sourcedir /etc/chrony/sources.d + +# This directive specify the location of the file containing ID/key pairs for +# NTP authentication. +keyfile /etc/chrony/chrony.keys + +# This directive specify the file into which chronyd will store the rate +# information. +driftfile /var/lib/chrony/chrony.drift + +# Save NTS keys and cookies. +ntsdumpdir /var/lib/chrony + +# Uncomment the following line to turn logging on. +#log tracking measurements statistics + +# Log files location. +logdir /var/log/chrony + +# Stop bad estimates upsetting machine clock. +maxupdateskew 100.0 + +# This directive enables kernel synchronisation (every 11 minutes) of the +# real-time clock. Note that it can't be used along with the 'rtcfile' directive. +rtcsync + +# Step the system clock instead of slewing it if the adjustment is larger than +# one second, but only in the first three clock updates. +makestep 1 3 + +# Get TAI-UTC offset and leap seconds from the system tz database. +# This directive must be commented out when using time sources serving +# leap-smeared time. +leapsectz right/UTC diff --git a/templates/cluster_spec.yml b/templates/cluster_spec.yml new file mode 100644 index 0000000..e69de29