WHATSNEW: Add CTDB updates for 4.11
[samba.git] / WHATSNEW.txt
1 Release Announcements
2 =====================
3
4 This is the first preview release of Samba 4.11.  This is *not*
5 intended for production environments and is designed for testing
6 purposes only.  Please report any defects via the Samba bug reporting
7 system at https://bugzilla.samba.org/.
8
9 Samba 4.11 will be the next version of the Samba suite.
10
11
12 UPGRADING
13 =========
14
15
16 NEW FEATURES/CHANGES
17 ====================
18
19 Default samba process model
20 ---------------------------
21
22 The default for the --model argument passed to the samba executable has changed
23 from 'standard' to 'prefork'. This means a difference in the number of samba
24 child processes that are created to handle client connections. The previous
25 default would create a separate process for every LDAP or NETLOGON client
26 connection. For a network with a lot of persistent client connections, this
27 could result in significant memory overhead.  Now, with the new default of
28 'prefork', the LDAP, NETLOGON, and KDC services will create a fixed number of
29 worker processes at startup and share the client connections amongst these
30 workers. The number of worker processes can be configured by the 'prefork
31 children' setting in the smb.conf (the default is 4).
32
33 Authentication Logging.
34 -----------------------
35
36 Winbind now logs PAM_AUTH and NTLM_AUTH events, a new attribute "logonId" has
37 been added to the Authentication JSON log messages.  This contains a random
38 logon id that is generated for each PAM_AUTH and NTLM_AUTH request and is passed
39 to SamLogon, linking the windbind and SamLogon requests.
40
41 The serviceDescription of the messages is set to "winbind", the authDescription
42 is set to one of:
43    "PASSDB, <command>, <pid>"
44    "PAM_AUTH, <command>, <pid>"
45    "NTLM_AUTH, <command>, <pid>"
46 where:
47    <command> is the name of the command makinmg the winbind request i.e. wbinfo
48    <pid>     is the process id of the requesting process.
49
50 The version of the JSON Authentication messages has been changed to 1.2 from 1.1
51
52 LDAP referrals
53 --------------
54
55 The scheme of returned LDAP referrals now reflects the scheme of the original
56 request, i.e. referrals received via ldap are prefixed with "ldap://"
57 and those over ldaps are prefixed with "ldaps://"
58
59 Previously all referrals were prefixed with "ldap://"
60
61 Bind9 logging
62 -------------
63
64 It is now possible to log the duration of DNS operations performed by Bind9
65 This should aid future diagnosis of performance issues, and could be used to
66 monitor DNS performance. The logging is enabled by setting log level to
67 "dns:10" in smb.conf
68
69 The logs are currently Human readable text only, i.e. no JSON formatted output.
70
71 Log lines are of the form:
72
73     <function>: DNS timing: result: [<result>] duration: (<duration>)
74     zone: [<zone>] name: [<name>] data: [<data>]
75
76     durations are in microseconds.
77
78 Default schema updated to 2012_R2
79 ---------------------------------
80
81 Default AD schema changed from 2008_R2 to 2012_R2.  2012_R2 functional level
82 is not yet available.  Older schemas can be used by provisioning with the
83 '--base-schema' argument.  Existing installations can be updated with the
84 samba-tool command "domain schemaupgrade".
85
86 Samba's replication code has also been improved to handle replication
87 with the 2012 schema (the core of this replication fix has also been
88 backported to 4.9.11 and will be in a 4.10.x release).
89
90 GnuTLS 3.2 required
91 -------------------
92
93 Samba is making efforts to remove in-tree cryptographic functionality,
94 and to instead rely on externally maintained libraries.  To this end,
95 Samba has chosen GnuTLS as our standard cryptographic provider.
96
97 Samba now requires GnuTLS 3.2 to be installed (including development
98 headers at build time) for all configurations, not just the Samba AD
99 DC.
100
101 NOTE WELL: The use of GnuTLS means that Samba will honour the
102 system-wide 'FIPS mode' (a reference to the US FIPS-140 cryptographic
103 standard) and so will not operate in many still common situations if
104 this system-wide parameter is in effect, as many of our protocols rely
105 on outdated cryptography.
106
107 A future Samba version will mitigate this to some extent where good
108 cryptography effectively wraps bad cryptography, but for now that above
109 applies.
110
111 samba-tool improvements
112 -----------------------
113
114 A new "samba-tool contact" command has been added to allow the
115 command-line manipulation of contacts, as used for address book
116 lookups in LDAP.
117
118 The "samba-tool [user|group|computer|group|contact] edit" command has been
119 improved to operate more pleasantly on international character sets.
120
121 100,000 USER and LARGER Samba AD DOMAINS
122 ========================================
123
124 Extensive efforts have been made to optimise Samba for use in
125 organisations (for example) targeting 100,000 users, plus 120,000
126 computer objects, as well as large number of group memberships.
127
128 Many of the specific efforts are detailed below, but the net results
129 is to remove barriers to significantly larger Samba deployments
130 compared to previous releases.
131
132 Reindex performance improvements
133 --------------------------------
134
135 The performance of samba-tool dbcheck --reindex has been improved,
136 especially for large domains.
137
138 join performance improvements
139 -----------------------------
140
141 The performance of samba-tool domain join has been improved,
142 especially for large domains.
143
144 LDAP Server memory improvements
145 -------------------------------
146
147 The LDAP server has improved memory efficiency, ensuring that large
148 LDAP responses (for example a search for all objects) is not copied
149 multiple times into memory.
150
151 Setting lmdb map size
152 ---------------------
153
154 It is now possible to set the lmdb map size (The maximum permitted
155 size for the database).  "samba-tool" now accepts the
156 "--backend-store-size" i.e. --backend-store-size=4Gb.  If not
157 specified it defaults to 8Gb.
158
159 This option is avaiable for the following sub commands:
160  * domain provision
161  * domain join
162  * domain dcpromo
163  * drs clone-dc-database
164
165 LDB "batch_mode"
166 ----------------
167
168 To improve performance during batch operations i.e. joins, ldb now
169 accepts a "batch_mode" option.  However to prevent any index or
170 database inconsistencies if an operation fails, the entire transaction
171 will be aborted at commit.
172
173 New LDB pack format
174 -------------------
175
176 On first use (startup of 'samba' or the first transaction write)
177 Samba's sam.ldb will be updated to a new more efficient pack format.
178 This will take a few moments.
179
180 New LDB <= and >= index mode to improve replication performance
181 ---------------------------------------------------------------
182
183 As well as a new pack format, Samba's sam.ldb uses a new index format
184 allowing Samba to efficiently select objects changed since the last
185 replication cycle.  This in turn improves performance during
186 replication of large domains.
187
188 Improvements to ldb search performance
189 --------------------------------------
190
191 Search performance on large LDB databases has been improved by
192 reducing memory allocations made on each object.
193
194 Improvements to subtree rename performance
195 ------------------------------------------
196
197 Improvements have been made to Samba's handling of subtree renames,
198 for example of containers and organisational units, however large
199 renames are still not recommended.
200
201 CTDB changes
202 ============
203
204 * nfs-linux-kernel-callout now defaults to using systemd service names
205
206   The Red Hat service names continue to be the default.
207
208   Other distributions should patch this file when packaging it.
209
210 * The onnode -o option has been removed
211
212 * ctdbd logs when it is using more than 90% of a CPU thread
213
214   ctdbd is single threaded, so can become saturated if it uses the
215   full capacity of a CPU thread.  To help detect this situation, ctdbd
216   now logs messages when CPU utilisation exceeds 90%.  Each change in
217   CPU utilisation over 90% is logged.  A message is also logged when
218   CPU utilisation drops below the 90% threshold.
219
220 * Script configuration variable CTDB_MONITOR_SWAP_USAGE has been removed
221
222   05.system.script now monitors total memory (i.e. physical memory +
223   swap) utilisation using the existing CTDB_MONITOR_MEMORY_USAGE
224   script configuration variable.
225
226
227 REMOVED FEATURES
228 ================
229
230 Web server
231 ----------
232
233 As a leftover from work related to the Samba Web Administration Tool (SWAT),
234 Samba still supported a Python WSGI web server (which could still be turned on
235 from the 'server services' smb.conf parameter). This service was unused and has
236 now been removed from Samba.
237
238
239 samba-tool join subdommain
240 --------------------------
241
242 The subdommain role has been removed from the join command.  This option did
243 not work and has no tests.
244
245
246 Python2 support
247 ---------------
248
249 Samba 4.11 will not have any runtime support for Python 2.
250
251 If you are building Samba using the '--disable-python' option
252 (i.e. you're excluding all the run-time Python support), then this
253 will continue to work on a system that supports either python2 or
254 python3.
255
256 To build Samba with python2 you *must* set the 'PYTHON' environment
257 variable for both the 'configure' and 'make' steps, i.e.
258    'PYTHON=python2 ./configure'
259    'PYTHON=python2 make'
260 This will override the python3 default.
261
262 Except for this specific build-time use of python2, Samba now requires
263 Python 3.4 as a minimum.
264
265 smb.conf changes
266 ================
267
268   Parameter Name                     Description                Default
269   --------------                     -----------                -------
270
271   web port                           Removed
272   fruit:zero_file_id                 Changed default            False
273
274
275 KNOWN ISSUES
276 ============
277
278 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.11#Release_blocking_bugs
279
280
281 #######################################
282 Reporting bugs & Development Discussion
283 #######################################
284
285 Please discuss this release on the samba-technical mailing list or by
286 joining the #samba-technical IRC channel on irc.freenode.net.
287
288 If you do report problems then please try to send high quality
289 feedback. If you don't provide vital information to help us track down
290 the problem then you will probably be ignored.  All bug reports should
291 be filed under the Samba 4.1 and newer product in the project's Bugzilla
292 database (https://bugzilla.samba.org/).
293
294
295 ======================================================================
296 == Our Code, Our Bugs, Our Responsibility.
297 == The Samba Team
298 ======================================================================
299