From ca7fe067f7454cfc9d96ccac6963e26027a6c143 Mon Sep 17 00:00:00 2001 From: Magnus Andersson Date: Mon, 15 Jan 2024 20:28:12 +0100 Subject: [PATCH] Add cloudconfig and fix typo in snap volume definition. --- chrony.conf | 53 ++++++++++++++++++++++++++++++++++++++++++ kubenodes-user.yaml.j2 | 26 +++++++++++++++++++++ kubenodes.yaml | 5 ++-- 3 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 chrony.conf create mode 100644 kubenodes-user.yaml.j2 diff --git a/chrony.conf b/chrony.conf new file mode 100644 index 0000000..42e4cfe --- /dev/null +++ b/chrony.conf @@ -0,0 +1,53 @@ +# Use Debian vendor zone. +#pool 2.debian.pool.ntp.org iburst +# Use ntp from netnod.se +pool gbg1.ntp.netnod.se iburst +pool gbg2.ntp.netnod.se iburst +pool lul1.ntp.netnod.se iburst +pool lul2.ntp.netnod.se iburst +pool mmo1.ntp.netnod.se iburst +pool mmo2.ntp.netnod.se iburst +pool sth1.ntp.netnod.se iburst +pool sth2.ntp.netnod.se iburst +pool sth3.ntp.netnod.se iburst +pool sth4.ntp.netnod.se iburst +pool svl1.ntp.netnod.se iburst +pool svl2.ntp.netnod.se iburst +# 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/kubenodes-user.yaml.j2 b/kubenodes-user.yaml.j2 new file mode 100644 index 0000000..c41943a --- /dev/null +++ b/kubenodes-user.yaml.j2 @@ -0,0 +1,26 @@ +#cloud-config + +packages: + - chrony + - git + - lvm2 + - xfsprogs +write_files: + - path: /etc/chrony/chrony.conf + permissions: "0644" + content: | + {{ lookup('ansible.builtin.file', 'chrony.conf') | indent(6, False ) }} + owner: root:root + +runcmd: + - [ systemctl, enable, chronyd ] + - systemctl restart chronyd + - mkdir -p /var/snap + - vgcreate snapvg /dev/sdb + - lvcreate -n lvol_snap -l 100%FREE snapvg + - mkfs -t xfs -n ftype=1 /dev/snapvg/lvol_snap + - cp -a /etc/fstab /run/fstab.bak + - echo "/dev/snapvg/lvol_snap /var/snap xfs defaults 0 0" >> /etc/fstab + - systemctl daemon-reload + - findmnt --verify || cp -a /run/fstab.bak /etc/fstab + - mount /var/snap diff --git a/kubenodes.yaml b/kubenodes.yaml index 80cf202..1b61243 100644 --- a/kubenodes.yaml +++ b/kubenodes.yaml @@ -13,8 +13,7 @@ openstack.cloud.volume: state: present size: 20 - image: debian-12 - is_bootable: true + is_bootable: false state: present name: kube{{ item }}-matrix-test-sunet-se-snapvol loop: "{{ range(1,4)|list }}" @@ -43,4 +42,6 @@ boot_volume: kube{{ item }}-matrix-test-sunet-se-osvol nics: - port-name: "kube{{ item }}-matrix-test-sunet-se-port" + userdata: | + {{ lookup('ansible.builtin.template', 'kubenodes-user.yaml.j2') | indent(4, False ) }} loop: "{{ range(1,4)|list }}"