Provided by: python3-nfs-ganesha_4.3-8ubuntu1_all bug

NAME

       ganesha_conf - Ganesha configuration editor

SYNOPSIS

       ganesha_conf set <block-description> [--key1 value1 [--key2 value2]...]
       ganesha_conf del <block-description> [--key1 [--key2 ]...]

DESCRIPTION

       The set command adds or changes the given key value parameters in the block. It also creates the block if
       the block corresponding to the given block description (see  section  BLOCK  DESCRIPTION  below)  is  not
       present in the configuration.

       The  del  command  deletes  given  keys  from  the  ganesha  configuration  block  described by the block
       description. It will delete the block itself if no keys are provided.

BLOCK DESCRIPTION:

       Block description is a list of block names and possibly some key value parameters that uniquely  identify
       a ganesha configuration block.

       NFS Ganesha configuration file contains a list of blocks. Each block starts with a block name followed by
       a left brace, then a list of key = value; entries. The block may optionally have  sub  blocks  (note  the
       recursive definition!).  Finally, the block ends with a right brace.  (Note that key = value; entries can
       come after a sub block as well, but we don't allow this with ganesha_conf editor! All key  value  entries
       should come before any sub blocks.)

       An example of a ganesha configuration block:

           nfs_core_param {
               Nb_Worker = 256;
               Clustered = TRUE;
               NFS_Protocols = 3,4;
           }

       Since  there  should  be  only  one  nfs_core_param block, we just need the name of the block to uniquely
       identify it. So "nfs_core_param" would be its block description!

       An example of a ganesha configuration block with a couple sub blocks:

           log {
               default_log_level = EVENT;
               format {
                   date_format = ISO-8601;
                   time_format = ISO-8601;
                   thread_name = TRUE;
               }
               components {
                   all = EVENT;
               }
           }

       Ganesha configuration should have only one log block as well, so "log" would identify the log  block.  To
       identify format sub block inside the log block, "log format" would be the block description for the above
       format sub block. Similarly "log components" would be the block description for the above components  sub
       block.

       An  export  block is special in that there can be many export blocks, one for each export. A client block
       is also special. There can be many client blocks and they are always sub  blocks  inside  export  blocks.
       export_id  key value uniquely identifies an export block.  clients key value uniquely identifies a client
       block inside a given export block.

       Here are couple export blocks with couple client blocks in them:

           export {
               export_id = 1;
               path = /fs1/export1;
               pseudo = /fs1/export1;
               manage_gids = true;
               client {
                   clients = 192.168.122.31;
                   access_type = RW;
               }
               client {
                   clients = *;
                   access_type = RO;
               }
           }

           export {
               export_id = 2;
               path = /fs1/export2;
               pseudo = /fs1/export2;
               manage_gids = true;
               client {
                   clients = 192.168.122.31;
                   access_type = RW;
               }
               client {
                   clients = 192.168.122.32;
                   access_type = RO;
               }
           }

       To identify the correct export block, we need to supply its export_id.  For example "export export_id  2"
       identifies  the  second  export  block above.  export blocks can be uniquely identified by pseudo or path
       keys in some environments. One could specify "export path /fs1/export2" to  identify  the  second  export
       block  as  well.   Similarly,  a  client block needs additional clients key value to identify the correct
       client block. For example, "export export_id 2 client clients 192.168.122.31" identifies the first client
       block in the second export block above!

EXAMPLES:

       1. To change number of ganesha worker threads:

       ganesha_conf set nfs_core_param --nb_worker 256

       2. To change the date and time format of ganesha log messages:

       ganesha_conf set log format --date_format ISO-8601 --time_format ISO-8601

       3.  Create  an export and allow client with IP address 192.168.122.31 to be able to do read write and all
       other clients to do read only:

       ganesha_conf set export path /fs1/export2 --export_id 2 --pseudo /fs1/export2 --manage_gids true
       ganesha_conf set export path /fs1/export2 client clients 192.168.122.31 --access_type RW
       ganesha_conf set export path /fs1/export2 client clients 192.168.122.32 --access_type RO

NOTES:

       ganesha_conf  by  default  uses  /etc/ganesha/ganesha.conf  file  as  the  configuration  file.  If  your
       environment  uses  a  different  file  (or  set  of  files), you can use CONFFILE environment variable to
       override  the  default  configuration  file.    For   example,   "CONFFILE=/etc/ganesha/ganesha.main.conf
       ganesha_conf  set  nfs_core_param  --nb_worker  256"  will  use  /etc/ganesha/ganesha.main.conf  file for
       changing the worker threads.

       ganesha_conf can't handle comments within a block at this point.

       Neither block descriptions nor key value parameters are verified to be valid ganesha configuration blocks
       or parameter values currently.

                                                   21 Mar 2017                                   ganesha_conf(8)