loop_control:
loop_var: config_file
+- name: Implement Workaround for connectivity problem - ping all tunnels
+ k8s:
+ state: present
+ definition: "{{ lookup('template', config_file) }}"
+ with_items:
+ - ping-tunnel-workaround.yaml.j2
+ loop_control:
+ loop_var: config_file
+
- name: Wait until OPERATOR pod is available
k8s_facts:
kind: Pod
until:
- rook_mgr_status.resources is defined
- rook_mgr_status.resources
- retries: 20
+ retries: 40
delay: 5
- name: Create rook cluster
register: rook_cluster_status
until:
- rook_cluster_status.resources
- retries: 10
+ retries: 20
delay: 5
- name: Wait until MGR pods are available
until:
- rook_mgr_status.resources is defined
- rook_mgr_status.resources
- retries: 30
+ retries: 40
delay: 10
- name: Wait until OSD pods are available
until:
- rook_osd_status.resources is defined
- rook_osd_status.resources
- retries: 30
+ retries: 60
delay: 10
- name: Create rook block storage
--- /dev/null
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+ name: pingtunnelworkaround
+ namespace: "{{ rook_namespace }}"
+ labels:
+ app: pingtunnelworkaround
+spec:
+ selector:
+ matchLabels:
+ app: pingtunnelworkaround
+ template:
+ metadata:
+ labels:
+ app: pingtunnelworkaround
+ spec:
+ tolerations:
+ # this toleration is to have the daemonset runnable on master nodes
+ # remove it if your masters can't run pods
+ - key: node-role.kubernetes.io/master
+ effect: NoSchedule
+ nodeSelector:
+ kubernetes.io/os: linux
+ hostNetwork: true
+ containers:
+ - name: busybox
+ image: {{ busybox_repository }}/library/busybox:{{ busybox_version }}
+ command: ["/bin/sh"]
+ args: ["-c", "while true ; do ip route | grep tunl0 | awk -F/ '{print $1}' | xargs -n 1 ping -c 1; sleep 5; done"]
ceph_repository: "{{ server_fqdn }}/ceph/ceph"
rook_repository: "{{ server_fqdn }}/rook/ceph"
+busybox_repository: "{{ server_fqdn }}/library/busybox"
cephcsi_repository: "{{ server_fqdn }}/cephcsi/cephcsi"
csi_node_driver_registrar_repository: "{{ server_fqdn }}/k8scsi/csi-node-driver-registrar"
csi_provisioner_repository: "{{ server_fqdn }}/k8scsi/csi-provisioner"
ceph_repository: "docker.io/ceph/ceph"
rook_repository: "rook/ceph"
+busybox_repository: "docker.io/library/busybox"
cephcsi_repository: "quay.io/cephcsi/cephcsi"
csi_node_driver_registrar_repository: "quay.io/k8scsi/csi-node-driver-registrar"
csi_provisioner_repository: "quay.io/k8scsi/csi-provisioner"
# Kubernetes: Versions of rook, ceph and their dependencies
# -------------------------------------------------------------------------------
rook_version: "v1.1.2"
+busybox_version: "1.32.0"
ceph_version: "v14.2.4-20190917"
cephcsi_version: "v1.2.1"
csi_node_driver_registrar_version: "v1.1.0"