Provided by: python3-nfs-ganesha_6.5-5_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)