1
2NSDB-UPDATE-FSL(8) System Manager's Manual NSDB-UPDATE-FSL(8)
3
4
5
7 nsdb-update-fsl - update attributes of a fileset location (FSL) record
8
10 nsdb-update-fsl [-?d] [-D binddn] [-e nce] [-l nsdbname] [-r nsdbport]
11 [-v value] fsl-uuid attribute
12
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
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
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
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
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
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
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
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
248 Chuck Lever <chuck.lever@oracle.com>
249
250
251
252 3 February 2014 NSDB-UPDATE-FSL(8)