- Here is the corresponding CR and resultant of lvmd configmap
- Issue:
phase: ""
isn't being set and so overall CR is in phase: Failure
---
apiVersion: topolvm.cybozu.com/v2
kind: TopolvmCluster
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"topolvm.cybozu.com/v2","kind":"TopolvmCluster","metadata":{"annotations":{},"name":"sample-cr","namespace":"topolvm-system"},"spec":{"storage":{"className":"hdd","devices":[{"name":"/dev/nvme1n1","type":"disk"},{"name":"/dev/nvme2n1","type":"disk"},{"name":"/dev/nvme3n1","type":"disk"},{"name":"/dev/nvme4n1","type":"disk"}],"useAllDevices":false,"useAllNodes":true,"useLoop":false,"volumeGroupName":"test-master"},"topolvmVersion":"quay.io/topolvm/topolvm-with-sidecar:0.10.2"}}
creationTimestamp: "2021-11-18T04:12:09Z"
finalizers:
- topolvmcluster.topolvm.cybozu.com
generation: 1
name: sample-cr
namespace: topolvm-system
resourceVersion: "25599"
uid: a64f6090-56c3-414f-b219-cc92b5b12914
spec:
storage:
className: hdd
devices:
- name: /dev/nvme1n1
type: disk
- name: /dev/nvme2n1
type: disk
- name: /dev/nvme3n1
type: disk
- name: /dev/nvme4n1
type: disk
useAllDevices: false
useAllNodes: true
useLoop: false
volumeGroupName: test-master
topolvmVersion: quay.io/topolvm/topolvm-with-sidecar:0.10.2
status:
nodeStorageState:
- failClasses: []
loops: null
node: ip-10-0-146-72.ap-south-1.compute.internal
phase: "" # why is this empty :/
successClasses:
- className: hdd
state: create successful
vgName: test-master
phase: Failure # due to empty phase overall phase is 'Failure'
---
apiVersion: v1
data:
lvmd.yaml: |
socket-name: /run/topolvm/lvmd.sock
device-classes:
- name: hdd
volume-group: test-master
default: true
status.json: '{"node":"ip-10-0-146-72.ap-south-1.compute.internal","phase":"","failClasses":[],"successClasses":[{"className":"hdd","vgName":"test-master","state":"create
successful"}],"loops":null}'
kind: ConfigMap
metadata:
annotations:
node-name: ip-10-0-146-72.ap-south-1.compute.internal
creationTimestamp: "2021-11-18T04:12:20Z"
labels:
topolvm/lvmdconfig: lvmdconfig
name: lvmdconfig-ip-10-0-146-72.ap-south-1.compute.internal
namespace: topolvm-system
ownerReferences:
- apiVersion: topolvm.cybozu.com/v2
blockOwnerDeletion: true
controller: true
kind: TopolvmCluster
name: sample-cr
uid: a64f6090-56c3-414f-b219-cc92b5b12914
resourceVersion: "25598"
uid: 92e247a0-e58a-45c4-9295-c1eacb703571
- o/p from single node cluster
sh-4.4# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme1n1 test-master lvm2 a-- <10.00g <10.00g
/dev/nvme2n1 test-master lvm2 a-- <10.00g <10.00g
/dev/nvme3n1 test-master lvm2 a-- <10.00g <10.00g
/dev/nvme4n1 test-master lvm2 a-- <10.00g <10.00g
sh-4.4# vgs
VG #PV #LV #SN Attr VSize VFree
test-master 4 0 0 wz--n- 39.98g 39.98g
sh-4.4# lvs
sh-4.4#
- Corresponding logs from operator
2021-11-18 04:12:20.236230 D | lvmd-config: got configmap start process
2021-11-18 04:12:20.240571 D | topolvm-cluster-reconciler: UpdateStatus phase:Failure
2021-11-18 04:12:20.245161 D | topolvm-cluster-reconciler: start reconcile
2021-11-18 04:12:20.250330 I | lvmd-config: psp topolvm-node existing
2021-11-18 04:12:20.252129 I | lvmd-config: psp topolvm-preparevg existing
2021-11-18 04:12:20.254318 I | topolvm-cluster-reconciler: class info nothing change no need to start prepare volumegroup job
2021-11-18 04:12:20.257338 I | topolvm-cluster-reconciler: controller deployment no change need not reconcile
2021-11-18 04:12:20.259146 I | lvmd-config: cmlvmdconfig-ip-10-0-146-72.ap-south-1.compute.internal update but data not change no need to update node deployment
2021-11-18 04:12:20.260313 I | topolvm-cluster-reconciler: node deployment no change need not reconcile
2021-11-18 04:12:29.950809 D | topolvm-cluster-reconciler: no need to update cluster status
2021-11-18 04:12:29.950833 D | op-k8sutil: creating servicemonitor topolvm-service-monitor
[...] last two lines are repeated and no o/p of another reconcile
- This function isn't being reconciled and just updates the status only once
https://github.com/alauda/topolvm-operator/blob/29fb862c949804637241b7157c9d4c2c539ca485/controllers/topolvmcluster_controller.go#L440