Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change evaluation of version to include a flavor #50

Closed
datacharmer opened this issue Feb 4, 2019 · 2 comments

Comments

@datacharmer
Copy link
Owner

commented Feb 4, 2019

Problem.
The database server capabilities (such as GTID, semi-synch, MySQLX) are now evaluated only by comparing the server version with the minimal version where the feature was enabled.

This method works well if we limit ourselves to MySQL server, but will fail if we start adding other flavors, such as NBD server, Percona Server + PXC, or MariaDB with or without Galera.
The method will also fail when we try to add non-MySQL forks such as TiDB.

What can we do
Instead of simply comparing the version, which becomes quickly untenable, we can use a method made of the flavor (e.g. "mysql", "mariadb", "ndb", tidb", and so on) and a version.

cc @morgo

@morgo

This comment has been minimized.

Copy link
Contributor

commented Feb 5, 2019

LGTM

@morgo morgo referenced this issue Feb 5, 2019

Closed

Add TiDB single sandbox support #54

5 of 5 tasks complete

datacharmer added a commit that referenced this issue Feb 9, 2019

Implement flavor and capabilities support
Implement Issue #49 Add support for --client-from=X
Implement Issue #50 Change evaluation of version to include a flavor
Fix Issue #51 unpack command fails when tarball name doesn't include a version
Implement Issue #52 unpack command should create a FLAVOR file for the extracted tarball
Add command "dbdeployer admin capabilities [flavor [version]]"
@datacharmer

This comment has been minimized.

Copy link
Owner Author

commented Feb 10, 2019

implemented in capabilities branch

datacharmer added a commit that referenced this issue Feb 23, 2019

Implement flavor and capabilities support (#55)
* Implement flavor and capabilities support

Implement Issue #49 Add support for --client-from=X
Implement Issue #50 Change evaluation of version to include a flavor
Fix Issue #51 unpack command fails when tarball name doesn't include a version
Implement Issue #52 unpack command should create a FLAVOR file for the extracted tarball
Add command "dbdeployer admin capabilities [flavor [version]]"
Ensure tiDB binaries are recognized as valid.
Look for mysql_install_db only when flavor + version need it.
Fix Go native tests to use flavor and client basedir.
Code formatting.
Add tiDB templates
code formatting and annotations
update .gitignore and improve main test script
Add use template, fixed bug in CONTRIBUTING
fix bug in add_option filename
Add fix to kill script
Add check for template name uniqueness
Add check for tidb template names to use a known prefix
Add check to prevent replication with tidb flavor
Add flavor detection based on files in expanded tarball
Fix unpack panic when top directory not in tarball
Add tests for TiDB, flavor detection, capabilities
Fix Issue #48 MySQLx and group replication
Fix Issue #48 "can't enable mysqlx and group replication at the same time"
Add new script and better flavor support
Change "remote get" docs to reflect changed names
Fix Issue #62 TiDB fails on MacOS
Add script "after_start" to sandboxes (does nothing by default, but it is used by TiDB to clean-up unwanted scripts)
Add pidfile support for TiDB (#64)
Chang tiDB use and status to use regular template
Fix other templates to return compatible error codes and messages
Improve Travis test execution flow
Fix mock tests for TiDB
Add functional tests for TiDB
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.