From 17722fc7908d01a67ff82a59fc6c51422e651f0e Mon Sep 17 00:00:00 2001 From: Magnus Andersson Date: Tue, 16 Jan 2024 10:41:22 +0100 Subject: [PATCH] Add README.md --- README.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..72cafb1 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Matrixtest-IaC +This opentofu project creates a three node cluster in openstack. + +In this case a microk8s cluster. + +The following tasks is executed by this tofu deployment. +- Creates a custom security group with rules to accept traffic between the nodes. +- Create an os volume from the debian-12 image. +- Create an snap volume to be used as an LVM volume for easy resize and mounted on /lib/snap. +- Query all security groups in the project. +- Create an network port for each node and use a selection of the queried security groups. +- Create an instance with os volume, snap volume and port attached and a custom cloudinit config. + +Auth is provided to the openstack provider by environment variables. +Source the rc file of app credentials for the desired openstack project. + +## Cloudinit config. + +Cloudinit does the following tasks. +- Install tools for LVM2,XFS and the Chronyd ntp sevice. +- Configure Chronyd to use netnod.se as a source. +- Configure a lvol_snap LVM volume and format it with XFS. +- Add a mount record of the lvm volume in fstab and verifies it. + +## Expansion of volume by online resize + +To expand the attached snap volume first query the api version of the volume endpoint from the management node and set the new size of the volume. +- curl -L https://v2.api.dco.safedc.net:8776/ | jq '.versions[1].version' # Returns 3.60 +- openstack --os-volume-api-version 3.60 volume set --size 30 6f1a238d-f746-4604-92c9-0985ad4b83fd + +From inside the instance run the following commands. +- sudo pvresize /dev/sdb +- sudo lvresize -l +100%FREE snapvg/lvol_snap +- sudo xfs_growfs /dev/snapvg/lvol_snap + +Now we have expanded the mounted device with zero downtime.