You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:46:09 UTC
[06/50] brooklyn-library git commit: allow server options to be
specified for MySQL, including a convenience for lower_case_table_names
allow server options to be specified for MySQL, including a convenience for lower_case_table_names
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-library/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-library/commit/71c8f496
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-library/tree/71c8f496
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-library/diff/71c8f496
Branch: refs/heads/0.4.0
Commit: 71c8f496c477224065352496086b77b702d7511d
Parents: 98c29a3
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Sep 21 11:48:46 2012 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Mon Sep 24 08:31:39 2012 -0400
----------------------------------------------------------------------
.../java/brooklyn/entity/database/mysql/MySqlNode.groovy | 8 +++++---
.../brooklyn/entity/database/mysql/MySqlSshDriver.groovy | 9 +++++++++
2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/71c8f496/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlNode.groovy
----------------------------------------------------------------------
diff --git a/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlNode.groovy b/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlNode.groovy
index e287b73..99d53dc 100644
--- a/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlNode.groovy
+++ b/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlNode.groovy
@@ -1,14 +1,13 @@
package brooklyn.entity.database.mysql
+import brooklyn.config.ConfigKey
import brooklyn.entity.Entity
import brooklyn.entity.basic.SoftwareProcessEntity
-
import brooklyn.event.basic.BasicAttributeSensor
import brooklyn.event.basic.BasicConfigKey
+import brooklyn.event.basic.MapConfigKey
import brooklyn.event.basic.PortAttributeSensorAndConfigKey
-
import brooklyn.location.basic.PortRanges
-
import brooklyn.util.flags.SetFromFlag
public class MySqlNode extends SoftwareProcessEntity {
@@ -25,6 +24,9 @@ public class MySqlNode extends SoftwareProcessEntity {
@SetFromFlag("creationScriptUrl")
public static final BasicConfigKey<String> CREATION_SCRIPT_URL = [ String, "mysql.creation.script.url", "URL where MySQL creation script can be found", "" ]
+
+ public static final MapConfigKey<String> MYSQL_SERVER_CONF = [ Object, "mysql.server.conf", "Configuration options for mysqld" ]
+ public static final ConfigKey<Object> MYSQL_SERVER_CONF_LOWER_CASE_TABLE_NAMES = MYSQL_SERVER_CONF.subKey("lower_case_table_names", "See MySQL guide. Set 1 to ignore case in table names (useful for OS portability)");
/** download mirror, if desired; defaults to Austria which seems one of the fastest */
@SetFromFlag("mirrorUrl")
http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/71c8f496/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlSshDriver.groovy
----------------------------------------------------------------------
diff --git a/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlSshDriver.groovy b/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlSshDriver.groovy
index 81c8001..1e84b67 100644
--- a/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlSshDriver.groovy
+++ b/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlSshDriver.groovy
@@ -107,6 +107,7 @@ port = ${port}
socket = /tmp/mysql.sock.${socketUid}.${port}
basedir = ${basedir}
datadir = .
+"""+getMySqlServerOptionsString()+"""
"""+"END_MYSQL_CONF_${entity.id}\n",
"${basedir}/scripts/mysql_install_db "+
@@ -124,6 +125,14 @@ datadir = .
"kill \$MYSQL_PID"
).execute();
}
+
+ protected String getMySqlServerOptionsString() {
+ Map options = entity.getConfig(MySqlNode.MYSQL_SERVER_CONF);
+ if (!options) return "";
+ String result = "";
+ options.each { k,v -> result += ""+k+" = "+v+"\n" }
+ return result;
+ }
@Override
public void launch() {