forked from datacharmer/dbdeployer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog
421 lines (417 loc) · 16.8 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
1.14.0 11-Nov-2018
Code readability improvements:
- Added function IsEnvSet
- Added variables for features minimum versions
- Added constants for sandbox script names
- Added constants for most used error messages
- Added comparison functions for testing in a separate package
- Replaced manual path composition with path.Join
NEW FEATURES:
- Added support for MySQL 4.1
- Added version info to sandbox scripts
1.13.0 27-Oct-2018
ADJUSTMENTS
- Added ability of unpacking "tar.xz" files (tarballs for Linux are
compressed with xz instead of gzip as of MySQL 8.0.12)
BUG FIXES
- Fixed minor issue in unpack-shell. The unpacker was trying to
move the shell extracted directory to the server directory.
1.12.4 14-Oct-2018 (not released)
- Code cleanup: fixed many code style violations
- Added unit test for abbreviations module.
1.12.3 07-Oct-2018
- Merged in PR #39 (add port to prompt)
- Added tests for common/checks and common/tprintf
- Refactored some code to improve testability
1.12.2 30-Sep-2018 (not released)
- Replaced stack implementation
- Added tests for stack and concurrency
1.12.1 23-Sep-2018
NEW FEATURES:
- Added cookbook scripts
BUGS FIXED:
- Fixed Issue #38 "--force does not check for locked sb"
- Added missing copyright on some files.
- Added check for missing copyright to sanity_check.sh
1.12.0 22-Sep-2018
NEW FEATURES:
- Added sandbox operations logging (on demand)
- Added option --log-sb-operations to enable logging
- Added option --log-directory to change the default directory ($SANDBOX_HOME)
- Added log-sb-operations and log-directory fields to default values.
1.11.0 09-Sep-2018
NEW FEATURES:
- Added option --repl-crash-safe (Issue #36) to get crash safe params without GTID.
BUGS FIXED:
- Fixed Issue #35 (--gtid should include relay-log-recovery)
- Fixed Issue #37 (slave initialization with GTID should use
MASTER_AUTO_POSITION) and added test for GTID behavior.
- Some code refactoring: simplified exit procedure
1.10.2 08-Sep-2018 (not released)
- Code cleanup and formatting
- Moved build script to ./scripts
- Added option to build compressed executables (but defaults is still
uncompressed)
- Added ./scripts/sanity_check.sh to verify formatting and code complaint.
1.10.1 01-Sep-2018
- Fixed Issue#34 "dbdeployer fails when .mylogin.cnf is found"
1.10.0 27-Aug-2018
- Fixed Issue#32 "Error log was not created in data directory"
- Added command 'dbdeployer admin upgrade sandbox1 sandbox2' (Issue#33)
1.9.0 12-Aug-2018
- Implemented Issue#31 "Add feature to extract and merge a mysql-shell
tarball into a regular one"
1.8.4 11-Aug-2018
- Fixed Issue #30 "--rpl-user and --db-user should not allow root"
1.8.3 05-Aug-2018
- Fixed Issue #26 "Port management glitch"
1.8.2 05-Aug-2018
- Added ./vendor folder (simplifies dependencies)
1.8.1 03-Aug-2018
- Fixed Issue #27 "undetected deps when building with MKDOCS"
No binary releases for this issue, as only build.sh is affected.
1.8.1 12-Jul-2018
- Improved naming of error log for each sandbox
1.8.0 08-Jul-2018
NEW FEATURES
- Implemented Issue 21 "Add support for directly using path to binaries"
BUGS FIXED
- unpack would not act on old tarball where files were not
explicitly marked as regular.
- Fixed Issue 22 "dbdeployer should check whether the binaries are for the
current OS"
TESTING
- Added test for Issue 21
1.7.0 01-Jul-2018
NEW FEATURES
- Added option for custom history file for each sandbox
- Added option for unified history file in replication sandboxes.
BUGS FIXED
- Fixed bug in functional-test.sh, where some of the subtests were not
executed.
TESTING
- Improved error checking in all test scripts
1.6.0 19-Jun-2018
NEW FEATURES
Now it is possible to invoke dbdeployer with a short version number,
such as 5.7 or 8.0. In this case, dbdeployer will look for the latest
release of that MySQL version and use it.
BUGS FIXED
- Command line was not saved to dbdeployer catalog
TESTING
- Added test for short versions
- Added test for command line in catalog
1.5.3 10-Jun-2018
- Fixed Issue #16 "Rename during unpack command fails" by making
sure the path for sandbox-home and sandbox-binary are absolute ones.
1.5.2 09-Jun-2018
BUGS FIXED
- Added a stack of cleanup operations for group sandboxes when a depending
sandbox installation fails
- Fixed help message of "unpack" command.
ADJUSTMENTS
- When using mysqld-debug, plugins are loaded from
$BASEDIR/lib/plugin/debug (https://bugs.mysql.com/bug.php?id=89688)
TESTING
- Added test for data dictionary tables exposure
1.5.1 05-Jun-2018
- Improved documentation.
- Minor code refactoring
1.5.0 12-May-2018
NEW FEATURES
- Added option --binary-version, which allows the basedir to be other than
{prefix}x.x.xx
- Added command line record to sbdescription.json, to the catalog,
and to the defaults listing.
BUGS FIXED
- Fixed Issue #10 (again). The directory for symlinks was not created
timely, resulting in errors with some tarballs.
VARIOUS
- Minor code refactoring
- Changes in templates for single sandbox scripts. Now almost all scripts
source a file containing common code (sb_include). The behavior
of the scripts is unchanged.
TESTING
- Added test for --binary-version
1.4.2 06-May-2018
- Code reformatting and minor refactoring
- Fixed syntax error in code for tree.go
- Added coding sample minimal-sandbox2.go
1.4.1 05-May-2018
- Merged pull request #11 from percona-csalguero/include_version_in_dir
- Fixed Issue #12 "deploying a sandbox with invalid version does not fail"
- Fixed minor bugs
- Removed unnecessary parameter in CreateSingleSandbox
- Added instructions to call CreateSingleSandbox from other apps
See ./docs/coding
- Minor code refactoring for Exit calls
- Added mock sandbox creation for unit tests
1.4.0 28-Apr-2018
NEW FEATURES:
- Added option --enable-mysqlx (MySQL 5.7.12+)
- Added options --enable-general-log and --init-general-log
- Added list of "reserverd-ports" to defaults
- Increased documentation inside command "usage"
- Added dbdeployer version and timestamp to sandbox descriprtion files.
- Added "mysqlsh" script to sandboxes 5.7.12+ with Xplugin enabled
- Added "show_log" script to all sandboxes
- Improved interface of show_binlog and show_relaylog
TESTING
- Added tests for reserved-ports
- Added test for mysqlsh and show_* creation
VARIOUS
- Updated documentation
1.3.0 21-Apr-2018
ADJUSTMENTS:
- Added support for mysqlx plugin being enabled by default (MySQL 8.0.11+)
- Added flag "--disable-mysqlx" to disable mysqlx plugin (8.0.11+)
NEW FEATURES:
- Added scripts use_all_masters and use_all_slaves to all replication
sandboxes.
- Added option --verbosity={0,1,2} to *unpack* command.
BUGS FIXED:
- Fixed Issue#10 "dbdeployer unpack does not handle symlinks"
- Fixed minor bug in documentation test builder.
TESTING
- Added tests for number of ports, log errors, use_all_masters,
use_all_slaves, running processes.
- Added options to stop tests after a given set of operations.
- Removed restriction on running 5.6 tests in docker for Mac.
1.2.0 14-Apr-2018
- Added option --skip-start
- Added report-port and report-host automatically to my.sandbox.cnf
- Added options --skip-report-host and --skip-report-port
- Added documentation dbdeployer compiling.
- Added documentation for --skip-start
- Enhanced build.sh to handle dependencies.
- Added tests for --skip-start and report-host/report-port behavior.
1.1.1 02-Apr-2018
- Added more documentation
- Added bash-completion script
- Moved hidden command "tree" to conditional compiling.
Now there is a separated build for docs-enabled dbdeployer
- Added ability of producing more documentation using command "tree"
1.1.0 30-Mar-2018
- Added ability of handling environment variables
in configuration file. $HOME and $PWD are expanded
to actual values.
- Added hidden command "tree" that can generate the
full dbdeployer API. Using this feature, from now on
we can compare API changes automatically.
- Fixed visualization of sandboxes from catalog
- Fixed minor code issues.
- Added tests for environment variable replacement
1.0.1 28-Mar-2018
- Fixed Issue #5 "Single deployment doesn't show the location of the
sandbox"
- Added API definition (./docs/API-1.0.md)
- Added test for Issue #5
- Fixed typos and improved docs.
1.0.0 26-Mar-2018
- General Availability.
- Fixed bug with single deployment and --force. On the second deployment,
the port was changed.
- More tests added. The test suite now runs a total of 3,013 tests (MacOS)
and 3,143 (Linux). A total of 6,156 tests that ran at least twice (once
with concurrency and once without)
0.3.9 25-Mar-2018
- Added version detection to *unpack* command. now --unpack-version
becomes mandatory only if a version is not detected from the tarball
name.
- Added --header flag to *sandboxes* command.
- More tests and improved tests.
0.3.8 24-Mar-2018
- Fixed deployment bug in fan-in replication
- Added tests for fan-in replication, sandbox completeness, start,
restart, and add_options.
0.3.7 24-Mar-2018
- Added --semi-sync option to replication
- Added more tests
0.3.6 21-Mar-2018
- Minor change to templates
- Added test for export/import templates
- Added more tests for pre/post grants SQL
0.3.5 21-Mar-2018
- Added test for on-the-fly template replacement
- Trivial changes to "sandboxes" output
0.3.4 20-Mar-2018
- Changed test for group replication (now uses the
same defined for multi-source replication)
- Improved usability of tests.
- Made tests easier to extend.
- Added test for pre/post grants SQL.
0.3.3 16-Mar-2018
- Added (mock) tests for unpack command
- Improved test reporting
- Added list of environment variables
0.3.2 15-Mar-2018
- Minor bug fixes
- Added more tests
0.3.1 12-Mar-2018
- Added topologies "fan-in" and "all-masters"
- Feature complete: This is release candidate for 1.0
- Fixed bug on UUID generation.
0.3.0 11-Mar-2018
- Implemented parallel deployment of multiple sandboxes
- Flag --concurrent is available for *deploy* and *delete*
- Improved tests
0.2.5 10-Mar-2018
- Added --catalog to "sandboxes" command
- Improved tests
0.2.4 08-Mar-2018
- INCOMPATIBLE CHANGES:
. MySQL 8.0.x now starts with caching_sha2_password by default.
. flag "--keep-auth-plugin" was removed. Instead, we now have
"--native-auth-plugin", false by default, which will use the old
plugin if enabled.
. The sandbox catalog is now enabled by default. It can be disabled
using either the environment variable SKIP_DBDEPLOYER_CATALOG
or using the configuration file.
- Added workaround for bug#89959: replication with 8.0 and
caching_sha2_password fails
0.2.3 07-Mar-2018 (not released)
- Improved mock test speed by parametrizing sleep intervals:
. 200 mock sandboxes tested in 73 seconds (previously, 15 minutes).
. 2144 mock sandboxes tested in 23 minutes (previously, 145 minutes)
0.2.2 07-Mar-2018
- Now dbdeployer finds unused ports automatically, to avoid conflicts.
- Added ability of running faster tests with mock MySQL packages.
0.2.1 04-Mar-2018
- Added --defaults flag
- Removed hardcoded names for multiple sandbox directories and shortcuts.
- Added directory names and shortcuts for multiple sandboxes to configuration data
- Added ability of exporting/importing a single template.
- Fixed visualization error with template export
- Added interactivity to main test script.
0.2.0 27-Feb-2018
- INCOMPATIBLE CHANGES:
. "single", "multiple", and "replication" are now subcommands of "deploy".
. Previous "admin" commands are now under "defaults"
. "templates" is now a subcommand of "defaults"
. New "admin" command only supports "lock" and "unlock"
- EXPERIMENTAL FEATURE:
There is a sandbox catalog being created and updated in
$HOME/.dbdeployer/sandboxes.json
The deployment and deletion commands handle the catalog
transparently. Disabled by default. It can be enabled by
setting the environment variable DBDEPLOYER_CATALOG
0.1.25 26-Feb-2018
- Added commands "admin lock" and "admin unlock" to prevent/allow deletion
of a sandbox.
- Added placeholder fields for multi-source clustering in defaults
0.1.24 20-Feb-2018
- Fixed bug with "sandboxes" command. It would not check if the
sandbox_home directory existed.
- Fixed bug in "sandboxes" command. It would not report sandboxes
created by other applications (MySQL-Sandbox)
- Added check for template version during export/import
- Added tests for UUID generation
- Improved docker test
0.1.23 19-Feb-2018
- Added "test-replication" to "global" command
- Added several aliases to "unpack"
- Changed template init_db, to allow for easier customization
- Added test for docker. The full test suite can run in a container.
- Simplified test.sh by using "dbdeployer global" rather than hand made
loops.
0.1.22 18-Feb-2018
- All values used for sandbox deployment are now modifiable.
- Added command "admin" to deal with default values:
show, store, remove, load, update, export
- Refactored global variables to become modifiable through the "admin"
command
- Added commands for template export and import.
0.1.21 16-Feb-2018
- Added flag --expose-dd-tables to show data dictionary hidden tables
- Added flag --custom-mysqld to use different server executable
0.1.20 14-Feb-2018
- Added flags for pre and post grants SQL execution.
- --pre-grants-sql-file
- --pre-grants-sql
- --post-grants-sql-file
- --post-grants-sql
- Fixed bug (in cobra+pflag package) that splits multiple commands by comma.
0.1.19 14-Feb-2018
- MySQL 8.0+ sandboxes now use roles instead of direct privilege
assignments.
- Added global flag --force to overwrite an existing deployment
- Added global flag --my-cnf-file to use a customized my.cnf
- Added flag --master-ip to replication deployments
- Fixed bug in abbreviations: flags were not considered correctly.
0.1.18 12-Feb-2018
- The "delete" command now supports "ALL" as argument. It will delete all installed sandboxes.
- Added flag "--skip-confirm" for the "delete" command, to delete without confirmation.
- Fixed mistake during initialization: the version search was happening before the check
for the sandbox home directory.
- Added the "global" command to propagate a command to all sandboxes
0.1.17 11-Feb-2018
- Added automated README generation
- minor code changes
0.1.16 10-Feb-2018
- Added automatic generation of human-readable server-UUID
- Added flag --keep-server-uuid to prevent the above change
0.1.15 08-Feb-2018
- Changed default port and sandbox directory for single-primary group
replication.
- Added custom abbreviations feature.
0.1.14 07-Feb-2018
- Added script test_sb to every single sandbox
- Added script test_sb_all to all multiple/group/replication sandbox
- Added script test_replication to replication sandboxes
- Added test/test.sh, which runs a comprehensive test of most dbdeployer features
0.1.13 06-Feb-2018
- Added command "templates export"
- Added flag --single-primary for group replication
- Added flags --sandbox-directory, --port, and base-port
to allow deploying several sandboxes of the same version.
- Added a check for clash on installed ports
- INCOMPATIBLE change: Changed format of sbdescription.json:
now can list several ports per sandbox.
0.1.12 04-Feb-2018
- Added a check for version before applying gtid.
- Added commands templates list/show/describe
- Added --use-template=template_name:file_name flag
0.1.11 31-Jan-2018
- Improved check for tarball as an argument to single, replication,
multiple.
- Improved help for single, multiple, and replication
- Added customized prompt for configuration file
0.1.10 30-Jan-2018
- Changed initialization method to use tarball libraries
- Fixed glitch in "unpack" when original tarball has clashing name
0.1.09 30-Jan-2018
- Updated README.md
- Changed formatting for "usage" command
- Run detection of invalid group replication earlier.
- Added version to sandbox description file
0.1.08 29-Jan-2018
- Added sandbox description file
- 'sandboxes' command uses above file for sandbox listing
- Added 'delete' command
0.1.07 29-Jan-2018
- improved documentation
- Added "usage" command
- Added description to "sandboxes" output
- Added check for version format
- Changed message for missing argument
- Added check for sandbox-home existence
0.1.06 28-Jan-2018
- Added group replication topology.
0.1.05 27-Jan-2018
- Added option --master to 'single' command
- Added new commands to each sandbox: add_option, show_binlog,
show_relaylog, my.
0.1.04 26-Jan-2018
- Added short names for some flags.
- Improved commands usage text
0.1.03 26-Jan-2018
- Modified --my-cnf-options and --init-options to be accepted multiple
times
0.1.02 25-Jan-2018
- Fixed bug in unpack when basedir was not created.
0.1.01 25-Jan-2018
- Fixed inclusion of options in my.sandbox.cnf (--my-cnf-options)
- Added command 'multiple'
- Enhanced documentation
0.1.00 24-Jan-2018
- Initial commit with basic features migrated from MySQL-Sandbox