simple controller (doesn't work yet with workqueue)
initialize new crd for fence objects with status field
polling nodefence object and start "executions"
execution parse the configuration for node, and start running "isolation" phase methods
under demo directory we have:
templates-fenceconfigs.yaml which includes configmaps for all fence method templates in cluster.
demo-host0-fenceconfigs which includes fence configuration for node name lago-kube-host0
running that and killing kubelet service in node lago-kube-host0 will trigger the controller to create nodefence object in the format
apiVersion: ha.k8s.io/v1
clean_resources: true
hostname: localhost <-- here we update where execution ran (should modified to node name)
kind: NodeFence
node: lago-kube-host0
status: New <-- this is updated by controller after getting execution output
step: Power-Management
under demo directory we have:
running that and killing kubelet service in node lago-kube-host0 will trigger the controller to create nodefence object in the format
deployment: