Provided by: python3-nfs-ganesha_4.3-1_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)