<html><head><meta http-equiv=Content-Type content="text/html; charset=UTF-8"><META name="Author" content="GroupWise WebAccess"><style type="text/css"> 
body p 

        margin: 0px; 
}
</style></head><body style='font-family: Helvetica, Arial, sans-serif; font-size: 13px; '>With default ganesha you have possible options:<br><br>1. Ganesha + RGW + Cephfs<br>   When both mds and rgw are defined. <br><br>2. Ganesha + RGW:<br>    If you don't have any mfs role define, but have a rgw, ganesha.conf will define export block for each user defined in rgw.sls under "rgw_configurations". <br><br>3. Ganesha + Cephfs<br>    Only mds role.<br><br>The example ganesha_rgw and ganesha_cephfs is applicable when admin wants to run only Ganesha+Cephfs on one node and Ganesha +RGW on other. With defaul "ganesha" role its not possible. <br><br><div id="GroupWiseSection_1497469008000_Supriti.Singh@suse.com_453DD381075E0000B9656D6538303861_" class="GroupWiseMessageBody"><span></span><span class="GroupwiseReplyHeader"><br><br/><div style='clear: both;'><div><font size="2">------</font></div><div><font size="2">Supriti Singh </font><div><font size="2">SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,</font></div><div><font size="2">HRB 21284 (AG Nürnberg)</font></div><div><div style="color: black;"> </div></div></div><br/>>>> Nathan Cutler <ncutler@suse.cz> 06/14/17 7:18 PM >>><br></span>I like this idea, I think. If I understand correctly, with the default <br>"ganesha" role I can do cephfs FSAL by itself, or cephfs + rgw FSAL, but <br>I cannot do rgw FSAL by itself. So I will need the custom role <br>ganesha_rgw for that.<br><br>On 06/14/2017 05:44 PM, Supriti Singh wrote:<br>> Hello,<br>> <br>> I am writing the mail to explain the logic behind introducing custom <br>> roles for NFS-Ganesha in Deepsea.<br>> <br>> Normal use case:<br>> -------------------------<br>> Deepsea provides a default "Ganesha" role. This role uses the <br>> configuration from the /srv/salt/ceph/ganesha/files/ganesha.conf.j2. If <br>> you look at this file it defines both FSALs, cephfs and rgw. For cephfs, <br>> things are pretty simple. But for rgw, we also need to populate the FSAL <br>> block with user_id, access_key and secret_access_key. To do so we need a <br>> list of users. That should be provided in the file /srv/pillar/ceph/rgw.sls.<br>> <br>> Example rgw.sls:<br>> rgw_configurations:<br>>     rgw:<br>>       users:<br>>         - { uid: "demo", name: "Demo", email: "demo@demo.nil" }<br>>         - { uid: "demo1", name: "Demo1", email: "demo1@demo.nil" }<br>> <br>> Ganesha will read this file and populate the RGW FSAL with users "demo" <br>> and "demo1".<br>> <br>> Custom roles:<br>> --------------------<br>> In the default setup, we are running both the FSALs on the same ganesha <br>> server node. But there may be a case where user wants to run NFS-Ganesha <br>> + Ceph FSAL on one set of nodes and NFS-Ganesha + RGW FSAL on other set <br>> of nodes. With just the role "ganesha", its not possible. There is <br>> another case possible, where admin may want to run NFS-Ganesha + RGW <br>> with user1, and for other user2 on other node. To handle such cases we <br>> added support for custom roles.<br>> <br>> 1. NFS-Ganesha server with CephFS and RGW on different nodes<br>> <br>>   * Assign custom roles, ganesha_cephfs and ganesha_rgw to nodes (in<br>>     policy.cfg)<br>>   * Add new conf file, ganesha_cephfs.conf.j2 and ganesha_rgw.conf.j2,<br>>     with their respective FSALs.<br>>   * Add keyring file, ganesha_cephfs.j2 and ganesha_rgw.j2<br>>   * Update rgw.sls to reflect new ganesha_configurations and<br>>     rgw_configurations.<br>>   * Run the stages upto 4<br>> <br>> In this case rgw.sls:<br>> <br>> rgw_configurations:<br>>    ganesha_rgw:<br>>       users:<br>>         - { uid: "demo", name: "Demo", email: "demo@demo.nil" }<br>>         - { uid: "demo1", name: "Demo1", email: "demo1@demo.nil" }<br>> <br>> <br>> ganesha_configurations:<br>> <br>>   - ganesha_rgw:<br>> <br>> <br>> 2. NFS-Ganesha + Custom RGW:<br>> <br>>     The other use case could be where admin wants to run NFS-Ganesha RGW <br>> FSAL but with different users on different nodes. Let say these <br>> different set of nodes are named as "silver" and "gold".<br>> <br>>     So, we want only silver users to run on silver node. Similarly, only <br>> gold users to run on gold nodes. To do so, we define the following rgw.sls<br>> <br>> <br>> rgw.sls<br>> <br>> -----------<br>> <br>> rgw_configurations:<br>>     silver:<br>>       users:<br>>         - { uid: "demo", name: "Demo", email: "demo@demo.nil" }<br>> <br>>    gold:<br>>       users:<br>>         - { uid: "demo", name: "Demo", email: "demo@demo.nil" }<br>> <br>> <br>> <br>> ganesha_configurations:<br>> <br>>   - silver<br>>   - gold<br>> <br>>   * Assign custom roles,silver and gold to nodes (in policy.cfg)<br>>   * Add new conf file, silver.conf.j2 and gold.conf.j2, with their<br>>     respective FSALs.<br>>   * Add keyring file, silver.j2 and gold.j2<br>>   * Update rgw.sls to reflect new ganesha_configurations and<br>>     rgw_configurations. Similar to above example.<br>>   * Run the stages upto 4<br>> <br>> SIlver and gold are just names.<br>> <br>> <br>> Thanks,<br>> <br>> Supriti<br>> <br>> <br>> ------<br>> Supriti Singh<br>> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,<br>> HRB 21284 (AG Nürnberg)<br>> <br>> <br>> <br>> _______________________________________________<br>> Deepsea-users mailing list<br>> Deepsea-users@lists.suse.com<br>> http://lists.suse.com/mailman/listinfo/deepsea-users<br>> <br><br>-- <br>Nathan Cutler<br>Software Engineer Distributed Storage<br>SUSE LINUX, s.r.o.<br>Tel.: +420 284 084 037<br>_______________________________________________<br>Deepsea-users mailing list<br>Deepsea-users@lists.suse.com<br>http://lists.suse.com/mailman/listinfo/deepsea-users<br></div></body></html>