ceph seems broken

This commit is contained in:
2022-11-03 01:34:34 +13:00
parent d9a28d21a8
commit 5bd82a4d33
4 changed files with 286 additions and 82 deletions

View File

@ -1,91 +1,101 @@
---
- name: create target directory for rook files
ansible.builtin.file:
path: "{{ ansible_search_path[0] }}/files/rook"
state: directory
mode: 0775
# - name: create target directory for rook files
# ansible.builtin.file:
# path: "{{ ansible_search_path[0] }}/files/rook"
# state: directory
# mode: 0775
- name: load rbd kernel module
become: true
delegate_to: "{{ item }}"
with_items: "{{ groups['k8s_worker'] }}"
community.general.modprobe:
name: rbd
state: present
# - name: load rbd kernel module
# become: true
# delegate_to: "{{ item }}"
# with_items: "{{ groups['k8s_worker'] }}"
# community.general.modprobe:
# name: rbd
# state: present
- name: set rbd kernel module to load at boot
become: true
delegate_to: "{{ item }}"
with_items: "{{ groups['k8s_worker'] }}"
ansible.builtin.copy:
dest: /etc/modules-load.d/rbd.conf
content: rbd
owner: root
group: root
mode: 0660
# - name: set rbd kernel module to load at boot
# become: true
# delegate_to: "{{ item }}"
# with_items: "{{ groups['k8s_worker'] }}"
# ansible.builtin.copy:
# dest: /etc/modules-load.d/rbd.conf
# content: rbd
# owner: root
# group: root
# mode: 0660
- name: install lvm2 package
become: true
delegate_to: "{{ item }}"
with_items: "{{ groups['k8s_worker'] }}"
community.general.pacman:
name: lvm2
state: latest
update_cache: true
# - name: install lvm2 package
# become: true
# delegate_to: "{{ item }}"
# with_items: "{{ groups['k8s_worker'] }}"
# community.general.pacman:
# name: lvm2
# state: latest
# update_cache: true
- name: download the rook manifests
ansible.builtin.uri:
url: https://raw.githubusercontent.com/rook/rook/{{ rook_version }}/deploy/examples/{{ item }}.yaml
dest: "{{ ansible_search_path[0] }}/files/rook/rook_{{ item }}_{{ rook_version }}.yaml"
creates: "{{ ansible_search_path[0] }}/files/rook/rook_{{ item }}_{{ rook_version }}.yaml"
mode: 0664
with_items:
- crds
- common
- operator
- cluster
# - name: download the rook manifests
# ansible.builtin.uri:
# url: https://raw.githubusercontent.com/rook/rook/{{ rook_version }}/deploy/examples/{{ item }}.yaml
# dest: "{{ ansible_search_path[0] }}/files/rook/rook_{{ item }}_{{ rook_version }}.yaml"
# creates: "{{ ansible_search_path[0] }}/files/rook/rook_{{ item }}_{{ rook_version }}.yaml"
# mode: 0664
# with_items:
# - crds
# - common
# - operator
# - cluster
- name: deploy the rook manifest # The order of the items is important, crds > common > operator , see https://github.com/rook/rook/blob/v1.10.4/deploy/examples/common.yaml
# - name: deploy the rook manifest # The order of the items is important, crds > common > operator , see https://github.com/rook/rook/blob/v1.10.4/deploy/examples/common.yaml
# kubernetes.core.k8s:
# src: "{{ ansible_search_path[0] }}/files/rook/rook_{{ item }}_{{ rook_version }}.yaml"
# state: present
# with_items:
# - crds
# - common
# - operator
# # TODO somehow turn this command:
# # kubectl -n rook-ceph get pod -o json | jq '.items[].status.containerStatuses[].ready'
# # into a gate, not proceeding until it returns true, and timing out at some limit, ~2m
# - name: read the default rook cluster config into memory
# ansible.builtin.slurp:
# src: "{{ ansible_search_path[0] }}/files/rook/rook_cluster_{{ rook_version }}.yaml"
# register: rook_file_raw
# - name: parse rook cluster settings from the file data
# ansible.builtin.set_fact:
# rook_default_cluster: "{{ rook_file_raw['content'] | b64decode | from_yaml }}"
# - name: update the rook cluster settings with desired changes
# ansible.utils.update_fact:
# updates:
# - path: rook_default_cluster.spec.storage.useAllDevices
# value: "{{ k8s_storage_all_devices }}"
# - path: rook_default_cluster.spec.storage.deviceFilter
# value: "{{ k8s_storage_device_filter }}"
# register: rook_updated_cluster
# - name: debug the updated rook cluster settings
# ansible.builtin.debug:
# var: rook_updated_cluster.rook_default_cluster
# - name: write the updated rook cluster settings out to file
# ansible.builtin.copy:
# content: "{{ rook_updated_cluster.rook_default_cluster | to_nice_yaml }}"
# dest: "{{ ansible_search_path[0] }}/files/rook/rook_cluster_modified.yaml"
# - name: apply the rook cluster manifest
# kubernetes.core.k8s:
# src: "{{ ansible_search_path[0] }}/files/rook/rook_cluster_modified.yaml"
# state: present
# TODO create a check and wait until cluster is created and running
- name: create the storage providers
kubernetes.core.k8s:
src: "{{ ansible_search_path[0] }}/files/rook/rook_{{ item }}_{{ rook_version }}.yaml"
src: "{{ ansible_search_path[0] }}/files/config/{{ item }}"
state: present
with_items:
- crds
- common
- operator
# TODO somehow turn this command:
# kubectl -n rook-ceph get pod -o json | jq '.items[].status.containerStatuses[].ready'
# into a gate, not proceeding until it returns true, and timing out at some limit, ~2m
- name: read the default rook cluster config into memory
ansible.builtin.slurp:
src: "{{ ansible_search_path[0] }}/files/rook/rook_cluster_{{ rook_version }}.yaml"
register: rook_file_raw
- name: parse rook cluster settings from the file data
ansible.builtin.set_fact:
rook_default_cluster: "{{ rook_file_raw['content'] | b64decode | from_yaml }}"
- name: update the rook cluster settings with desired changes
ansible.utils.update_fact:
updates:
- path: rook_default_cluster.spec.storage.useAllDevices
value: "{{ k8s_storage_all_devices }}"
- path: rook_default_cluster.spec.storage.deviceFilter
value: "{{ k8s_storage_device_filter }}"
register: rook_updated_cluster
- name: debug the updated rook cluster settings
ansible.builtin.debug:
var: rook_updated_cluster.rook_default_cluster
- name: write the updated rook cluster settings out to file
ansible.builtin.copy:
content: "{{ rook_updated_cluster.rook_default_cluster | to_nice_yaml }}"
dest: "{{ ansible_search_path[0] }}/files/rook/rook_cluster_modified.yaml"
- name: apply the rook cluster manifest
kubernetes.core.k8s:
src: "{{ ansible_search_path[0] }}/files/rook/rook_cluster_modified.yaml"
state: present
- blockpool_ssd_replica.yaml
- filesystem_multi.yaml