Guillaume Boutry 0bda4738e3
[tests] migrate tests to k8s
Migrate tests from microk8s to ck8s.
Bootstrap a controller on a manual cloud, and add ck8s to available
clouds.

Upgrade juju to 3.5

Configure ephemeral device when available, configure k8s to use it for
local storage.

Change-Id: Ief491f8b339307f0c43d11639336b02d9f6479b4
Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
2024-09-18 12:31:05 +02:00

65 lines
1.6 KiB
YAML

- name: Set partition names
ansible.builtin.set_fact:
opt_partition: "{{ ephemeral_device }}1"
- name: Ensure ephemeral device is unmounted
become: true
ansible.posix.mount:
name: "{{ ephemeral_device }}"
state: "{{ item }}"
with_items:
- unmounted
- absent
- name: Get existing partitions
become: true
community.general.parted:
device: "{{ ephemeral_device }}"
unit: MiB
register: ephemeral_partitions
- name: Remove any existing partitions
become: true
community.general.parted:
device: "{{ ephemeral_device }}"
number: "{{ item.num }}"
state: absent
with_items:
- "{{ ephemeral_partitions.partitions }}"
- name: Create new disk label
become: true
community.general.parted:
label: msdos
device: "{{ ephemeral_device }}"
- name: Create opt partition
become: true
community.general.parted:
device: "{{ ephemeral_device }}"
number: 1
state: present
part_start: "0%"
part_end: "100%"
- name: Create /opt filesystem
become: true
community.general.filesystem:
fstype: ext4
# The default ratio is 16384 bytes per inode or so. Reduce that to 8192
# bytes per inode so that we get roughly twice the number of inodes as
# by default. This should still be well above the block size of 4096.
# We do this because we have found in at least a couple locations that
# more inodes is useful and is painful to fix after the fact.
opts: -i 8192
dev: "{{ opt_partition }}"
- name: Add opt to fstab and mount
become: true
ansible.posix.mount:
path: /opt
src: "{{ opt_partition }}"
fstype: ext4
opts: noatime
state: mounted