<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><div class="gmail_default">Hi all, </div><div class="gmail_default"><br></div><div class="gmail_default">This mail is open for discussion on gluster block store integration with heketi and its REST API interface design constraints.</div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">                         ___ Volume Request ...</div><div class="gmail_default">                        | </div><div class="gmail_default">                        |                                  </div><div class="gmail_default">PVC claim -&gt; Heketi ---&gt;|</div><div class="gmail_default">                        |</div><div class="gmail_default">                        |</div><div class="gmail_default"><div class="gmail_default"><div class="gmail_default"><div class="gmail_default">                        |</div><div class="gmail_default">                        |</div>                        |                            __ BlockCreate</div><div class="gmail_default">                        |                           |</div>                        |                           |__ BlockInfo</div><div class="gmail_default">                        |                           |</div></div><div class="gmail_default">                        |___ Block Request (APIS)-&gt; |__ BlockResize</div><div class="gmail_default">                                                    |</div><div class="gmail_default">                                                    |__ BlockList</div><div class="gmail_default" style="font-size:12.8px"><div class="gmail_default">                                                    |</div><div class="gmail_default">                                                    |__ BlockDelete</div><div class="gmail_default"><br></div><div class="gmail_default">Heketi will have block API and volume API, when user submit a Persistent volume claim, Kubernetes provisioner based on the storage class(from PVC) talks to heketi for storage, heketi intern calls block or volume API&#39;s based on request.</div><div class="gmail_default"><div class="gmail_default"><br></div><div class="gmail_default">With my limited understanding, heketi currently creates clusters from provided nodes, creates volumes and handover them to the user.<br></div><div class="gmail_default">For block related API&#39;s, it has to deal with files right ? <br></div><div class="gmail_default"><br></div><div class="gmail_default">Here is how block API&#39;s look like in short-</div></div><div class="gmail_default">Create: heketi has to create file in the volume and export it as a iscsi target device and hand it over to user.</div><div class="gmail_default">Info: show block stores information across all the clusters, connection info, size etc.</div><div class="gmail_default">resize: resize the file in the volume, refresh connections from initiator side</div><div class="gmail_default">List: List the connections</div><div class="gmail_default">Delete: logout the connections and delete the file in the gluster volume</div></div><div class="gmail_default"><br></div><div class="gmail_default">Couple of questions:<br></div><div class="gmail_default">1. Should Block API have sub API&#39;s such as FileCreate, FileList, FileResize, File delete and etc then get it used in Block API as they mostly deal with files.</div><div class="gmail_default">2. How do we create the actual file in the volume, meaning using FUSE mount (which may involve an extra process running) or gfapi, again if gfapi should we go with c API&#39;s, python bindings or go bindings ?</div><div class="gmail_default">3. Should we get targetcli related (LUN exporting) setup done from heketi or do we seek help from gdeploy for this ?     </div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">Thoughts?<br></div><div class="gmail_default"><br></div><div class="gmail_default">Note: nothing is fixed as put in this mail, its all just part of initial discussions.<br></div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">Cheers,</div><div style="font-family:arial,sans-serif;font-size:12.8px"><div dir="ltr"><font face="monospace, monospace">--<br>Prasanna</font></div></div></div>
</div>