1
2NSDB-UPDATE-FSL(8)          System Manager's Manual         NSDB-UPDATE-FSL(8)
3
4
5

NAME

7       nsdb-update-fsl - update attributes of a fileset location (FSL) record
8

SYNOPSIS

10       nsdb-update-fsl  [-?d] [-D binddn] [-e nce] [-l nsdbname] [-r nsdbport]
11       [-v value] fsl-uuid attribute
12

INTRODUCTION

14       RFC 5716 introduces the  Federated  File  System  (FedFS,  for  short).
15       FedFS  is an extensible standardized mechanism by which system adminis‐
16       trators construct a coherent namespace  across  multiple  file  servers
17       using file system referrals.  For further details, see fedfs(7).
18
19       The  bulk  of FedFS junction information in a FedFS domain is stored on
20       one or more LDAP servers.  These servers are known as  namespace  data‐
21       bases, or NSDBs, for short.
22
23       FedFS-enabled file servers and clients access the information stored on
24       NSDBs via standard LDAP queries.  FedFS-enabled file servers use  these
25       queries  to  resolve FedFS junctions.  FedFS administrators use them to
26       manage information about file sets contained in  a  FedFS  domain  name
27       space.
28

DESCRIPTION

30       The  nsdb-update-fsl(8)  command  is  part of a collection of low-level
31       single-use programs that is intended for testing the NSDB  protocol  or
32       for  use  in  scripts.   This  command modifies attributes contained in
33       fileset location (FSL) records on an NSDB.
34
35       A fileset location, or FSL, uniquely identifies  the  location  of  one
36       replica  of  a  fileset.   An  FSL  record contains two UUIDs and other
37       information, depending on the subtype of the FSL.  The meaning of these
38       items is described in more detail in fedfs(7).
39
40       FSLs  are  stored  in  records on an NSDB.  These records are stored as
41       children of FSN records.  Replicas of these records can exist  on  more
42       than one LDAP server.
43
44       The  nsdb-update-fsl(8) command can modify certain attributes of an FSL
45       record.  It does not create FSL records.  To create  FSL  records,  use
46       the   nsdb-create-fsl(8)   command.    It  does  not  update  base  FSL
47       attributes, such as the servername.  To modify those attributes, a  new
48       FSL record must be created.
49
50       The   fedfsAnnotation   and   fedfsDescr   attributes  are  multi-value
51       attributes.  To modify them, use nsdb-annotate(8) and nsdb-describe(8),
52       respectively.
53
54       This command has two positional parameters.  The first parameter speci‐
55       fies the UUID of the FSL record to modify.  If a record  for  this  FSL
56       does not already exist, the nsdb-update-fsl(8) command fails.  The sec‐
57       ond parameter specifies the name of the attribute to update.   If  that
58       attribute does not already exist, it is added to the target FSL record.
59

OPTIONS

61       -d, --debug
62              Enables debugging messages during operation.
63
64       -?, --help
65              Displays nsdb-update-fsl(8) version information and a usage mes‐
66              sage on stderr.
67
68       -D, --binddn=bind-distinguished-name
69              Specifies a distinguished name of an entity used to bind to  the
70              LDAP  server  where the NSDB resides.  If the --binddn option is
71              not specified, the value  of  the  FEDFS_NSDB_ADMIN  environment
72              variable  is  consulted.   If this variable is not set, the NSDB
73              connection parameter database is searched for this DN.  If  none
74              of  these  is specified, or if this entity does not have permis‐
75              sion to modify this area of the server's DIT,  the  nsdb-update-
76              fsl(8) command fails.
77
78       -e, --nce=NSDB-container-entry-distinguished-name
79              Specifies  the  distinguished  name  of the NSDB container entry
80              under which the specified FSL  record  resides.   If  the  --nce
81              option  is  not specified, the value of the FEDFS_NSDB_NCE envi‐
82              ronment variable is consulted.  If this  variable  is  not  set,
83              then the NSDB connection parameter database is searched for this
84              DN.  If none of these is specified, the nsdb-update-fsl(8)  com‐
85              mand fails.
86
87       -l, --nsdbname=NSDB-hostname
88              Specifies  the  hostname  of  the  NSDB  where the specified FSL
89              record resides.  If the --nsdbname option is not specified,  the
90              value  of the FEDFS_NSDB_HOST environment variable is consulted.
91              If the variable is not set and  the  --nsdbname  option  is  not
92              specified, the nsdb-update-fsl(8) command fails.
93
94       -r, --nsdbport=NSDB-port
95              Specifies the IP port of the NSDB where the specified FSL record
96              resides.  If the --nsdbport option is not specified,  the  value
97              of  the  FEDFS_NSDB_PORT environment variable is consulted.  The
98              default value if the variable is not set is 389.
99
100       -v, --value=LDAP-value
101              Specifies the new value that should be stored in  the  specified
102              attribute.   If  the  specified  attribute does not exist, it is
103              created and assigned the specified value.  Otherwise the  exist‐
104              ing  value is replaced.  If the --value option is not specified,
105              the nsdb-update-fsl(8) command attempts to delete the  specified
106              attribute.
107

EXIT CODES

109       The  NSDB  returns  a  value that reflects the success of the requested
110       operation.
111
112       FEDFS_OK
113              The LDAP modify request succeeded.
114
115       FEDFS_ERR_ACCESS
116              The bound  entity  does  not  have  permission  to  perform  the
117              requested operation.
118
119       FEDFS_ERR_INVAL
120              One of the arguments was not valid.
121
122       FEDFS_ERR_SVRFAULT
123              An unanticipated non-protocol error occurred.
124
125       FEDFS_ERR_NSDB_ROUTE
126              The nsdb-update-fsl(8) command was unable to find a route to the
127              specified NSDB.
128
129       FEDFS_ERR_NSDB_DOWN
130              The nsdb-update-fsl(8) command  determined  that  the  specified
131              NSDB was down.
132
133       FEDFS_ERR_NSDB_CONN
134              The nsdb-update-fsl(8) command was unable to establish a connec‐
135              tion with the specified NSDB.
136
137       FEDFS_ERR_NSDB_AUTH
138              The nsdb-update-fsl(8) command was unable  to  authenticate  and
139              establish a secure connection with the specified NSDB.
140
141       FEDFS_ERR_NSDB_LDAP
142              A non-specific LDAP error occurred on the connection between the
143              nsdb-update-fsl(8) command and specified NSDB.
144
145       FEDFS_ERR_NSDB_LDAP_VAL
146              An LDAP error occurred  on  the  connection  between  the  nsdb-
147              update-fsl(8)  command  and  specified NSDB.  The specific error
148              may be displayed on the command line.
149
150       FEDFS_ERR_NSDB_NONCE
151              The nsdb-update-fsl(8) command was unable to locate the  NCE  on
152              the specified NSDB.
153
154       FEDFS_ERR_NSDB_NOFSN
155              The  nsdb-update-fsl(8)  command was unable to locate the speci‐
156              fied FSN on the specified NSDB.
157
158       FEDFS_ERR_NSDB_NOFSL
159              The nsdb-update-fsl(8) command was unable to locate  the  speci‐
160              fied FSL for the specified FSN on the specified NSDB.
161
162       FEDFS_ERR_NSDB_RESPONSE
163              The  nsdb-update-fsl(8)  command  received  a malformed response
164              from the specified NSDB.
165
166       FEDFS_ERR_NSDB_FAULT
167              An unanticipated error related to the specified NSDB occurred.
168
169       FEDFS_ERR_NSDB_PARAMS
170              The local NSDB connection parameter database does not  have  any
171              connection parameters on record for the specified NSDB.
172
173       FEDFS_ERR_NSDB_LDAP_REFERRAL
174              The nsdb-update-fsl(8) command received an LDAP referral that it
175              was unable to follow.
176
177       FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL
178              The nsdb-update-fsl(8) command received an LDAP referral that it
179              was  unable to follow.  A specific error may be displayed on the
180              command line.
181
182       FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED
183              The nsdb-update-fsl(8) command received an LDAP referral that it
184              chose  not  to  follow,  either because the local implementation
185              does not support following LDAP referrals or LDAP referral  fol‐
186              lowing is disabled.
187
188       FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL
189              The nsdb-update-fsl(8) command received an LDAP referral that it
190              chose not to follow because the local NSDB connection  parameter
191              database  had  no connection parameters for the NSDB targeted by
192              the LDAP referral.
193

EXAMPLES

195       Suppose you are the FedFS administrator of the example.net FedFS domain
196       and  that  you  have  created  a new FSN for some fileset.  The new FSN
197       looks like:
198
199                   FSN UUID: 8e246ddc-7b46-11e0-8252-000c297fd679
200                   NSDB: nsdb.example.net:389
201
202       Further suppose the NSDB nsdb.example.net:389  has  an  NSDB  container
203       entry whose distinguished name is o=fedfs, and that an FSL child record
204       with the UUID 323c5068-7c11-11e0-8d38-000c297fd679 already exists.
205
206       To change the NFS minor version used when clients mount  this  location
207       from zero to one, you might use:
208
209              $ nsdb-update-fsl -D cn=Manager -e o=fedfs \
210                   -x 323c5068-7c11-11e0-8d38-000c297fd679 \
211                   -l nsdb.example.net \
212                   8e246ddc-7b46-11e0-8252-000c297fd679 \
213                   fedfsNfsMinorVer -v 1
214              Enter NSDB password:
215              Successfully updated FSL record
216                fedfsFslUuid=323c5068-7c11-11e0-8d38-000c297fd679,
217                fedfsFsnUuid=8e246ddc-7b46-11e0-8252-000c297fd679,o=fedfs
218
219       To see the contents of the updated FSL record, use nsdb-resolve-fsn(8).
220

SECURITY

222       Permission  to  modify  the  LDAP's  DIT  is  required to update an FSL
223       record.  The nsdb-update-fsl(8) command must bind as an entity  permit‐
224       ted  to  modify  the  DIT  to perform this operation.  The nsdb-update-
225       fsl(8) command asks for a password on stdin.  Standard password  blank‐
226       ing techniques are used to obscure the password on the user's terminal.
227
228       The  target LDAP server must be registered in the local NSDB connection
229       parameter database.  The connection security mode listed  in  the  NSDB
230       connection parameter database for the target LDAP server is used during
231       this operation.  See nsdbparams(8) for details on how  to  register  an
232       NSDB in the local NSDB connection parameter database.
233

SEE ALSO

235       fedfs(7), nsdb-create-fsl(8), nsdb-annotate(8), nsdb-describe(8), nsdb-
236       resolve-fsn(8), nsdbparams(8)
237
238       RFC 5716 for FedFS requirements and overview
239
240       RFC 4510 for an introduction to LDAP
241

COLOPHON

243       This page is part of the fedfs-utils package.   A  description  of  the
244       project   and   information  about  reporting  bugs  can  be  found  at
245       http://wiki.linux-nfs.org/wiki/index.php/FedFsUtilsProject.
246

AUTHOR

248       Chuck Lever <chuck.lever@oracle.com>
249
250
251
252                                3 February 2014             NSDB-UPDATE-FSL(8)
Impressum