mayastor icon indicating copy to clipboard operation
mayastor copied to clipboard

[Doc Source]: Quickstart is missing information for cluster preparation

Open cmontemuino opened this issue 11 months ago • 5 comments

Are you reporting an issue with existing content?

Section "Label Mayastor Node Candidates" from "Quickstart -> Preparing the cluster" is not complete. The requisite is to label nodes with openebs.io/engine=mayastor, but if you set csi.​node.​topology.​nodeSelector, then label openebs.io/csi-node=mayastor is also required.

  • Otherwise, DaemonSet csi-controller and agent-ha-node will not spawn pods.
  • Ref: https://mayastor.gitbook.io/introduction/quickstart/preparing-the-cluster#label-mayastor-node-candidates

The situation is a bit more complicated with the agent-ha-node. Only by inspecting the chart I could realize it is using the selectors defined under the csi.node.topology section. This is very confusing.

  • Ref: https://github.com/openebs/mayastor-extensions/blob/develop/chart/templates/mayastor/agents/ha/ha-node-daemonset.yaml#L41-L44

Are you proposing new content, or a change to the existing documentation layout or structure?

  • Update the aforementioned quikstart section to mention the label openebs.io/csi-node=mayastor
  • Update the documentation for csi.​node.​topology.​nodeSelector element in chart values to include the agent-ha-node daemonset too.
    • Current doc: "Add topology segments to the csi-node daemonset node selector"
    • Proposed doc: "Add topology segments to the csi-node and agent-ha-node daemonset node selector"
    • Perhaps better: move the topology segments outside csi

cmontemuino avatar Mar 14 '24 10:03 cmontemuino

I can open a PR with proposed changes if required.

cmontemuino avatar Mar 14 '24 11:03 cmontemuino

but it is also required to label them with openebs.io/csi-node=mayastor.

hmm it's not necessary, only if you want to control on which nodes to run - by default they will run on any node.

tiagolobocastro avatar Mar 14 '24 11:03 tiagolobocastro

but it is also required to label them with openebs.io/csi-node=mayastor.

hmm it's not necessary, only if you want to control on which nodes to run - by default they will run on any node.

Yes, you're right. I've updated the description with this note:

... but if you set csi.​node.​topology.​nodeSelector, then label openebs.io/csi-node=mayastor is also required

It's kind of OKish if it was only the CSI Controller. Having the agent-ha-node daemonset using the same labels is a bit baffling. I still believe the documentation can be improved; otherwise there's no other action possible for users than looking at the chart implementation (as I had to do).

cmontemuino avatar Mar 14 '24 13:03 cmontemuino

The agent-ha-node should run on the same nodes as the csi-nodes, but I agree it does make it confusing.

I suggest as a first step let's improve the docs; then maybe we can think about how to improve label usage somehow or even potentially joining ha-node in the same pod as the csi, though I'm not quite sure if it's a good idea to do that.

tiagolobocastro avatar Mar 14 '24 14:03 tiagolobocastro

@tiagolobocastro -- I've opened two PRs to address this issue:

  • https://github.com/openebs/mayastor-docs/pull/207
  • https://github.com/openebs/mayastor-extensions/pull/439

cmontemuino avatar Mar 15 '24 09:03 cmontemuino

Completed by @cmontemuino

tiagolobocastro avatar Jun 04 '24 22:06 tiagolobocastro