1
1
#! /usr/bin/env python
2
# -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
# -*- mode: python; indent-tabs-mode: nil; -*-
3
3
# vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
5
5
# Copyright (C) 2010,2011 Patrick Crews
44
def __init__( self, name, server_manager, default_storage_engine
44
def __init__( self, name, server_manager, code_tree, default_storage_engine
45
45
, server_options, requester, workdir_root):
46
super(drizzleServer, self).__init__( name, server_manager
46
super(drizzleServer, self).__init__( name
47
49
, default_storage_engine
48
, server_options, requester
50
self.code_tree = self.system_manager.code_tree
51
53
self.preferred_base_port = 9306
56
self.drizzledump = self.code_tree.drizzledump
57
self.drizzle_client = self.code_tree.drizzle_client
58
self.drizzleimport = self.code_tree.drizzleimport
59
self.drizzleslap = self.code_tree.drizzleslap
60
self.server_path = self.code_tree.drizzle_server
61
self.drizzle_client_path = self.code_tree.drizzle_client
62
self.schemawriter = self.code_tree.schemawriter
53
65
self.port_block = self.system_manager.port_manager.get_port_block( self.name
54
66
, self.preferred_base_port
56
68
self.master_port = self.port_block[0]
57
69
self.drizzle_tcp_port = self.port_block[1]
58
70
self.mc_port = self.port_block[2]
59
71
self.pbms_port = self.port_block[3]
60
72
self.rabbitmq_node_port = self.port_block[4]
73
self.json_server_port = self.port_block[5]
63
75
# Generate our working directories
64
76
self.dirset = { self.name : { 'var': {'std_data_ln':( os.path.join(self.code_tree.testdir,'std_data'))
99
111
self.secure_file_string = "--secure-file-priv='%s'" %(self.vardir)
100
112
self.user_string = '--user=root'
103
self.drizzledump = self.code_tree.drizzledump
104
self.drizzle_client = self.code_tree.drizzle_client
105
self.drizzleimport = self.code_tree.drizzleimport
106
self.drizzleadmin = self.code_tree.drizzleadmin
107
self.drizzleslap = self.code_tree.drizzleslap
108
self.server_path = self.code_tree.drizzle_server
109
self.drizzle_client_path = self.code_tree.drizzle_client
110
self.schemawriter = self.code_tree.schemawriter
112
114
self.initialize_databases()
113
115
self.take_db_snapshot()
116
self.logging.debug_class(self)
117
self.logging.debug_class(self)
118
119
def report(self):
119
120
""" We print out some general useful info """
166
167
def get_stop_cmd(self):
167
168
""" Return the command that will shut us down """
169
return "%s --user=root --port=%d --shutdown " %(self.drizzle_client_path, self.master_port)
170
return "%s --user=root --port=%d --connect-timeout=5 --silent --password= --shutdown " %(self.drizzle_client_path, self.master_port)
172
173
def get_ping_cmd(self):
200
config_data = [ "master-host=127.0.0.1"
201
config_data = [ "[master1]"
202
, "master-host=127.0.0.1"
201
203
, "master-port=%d" %self.master_port
202
204
, "master-user=root"
203
205
, "master-pass=''"
204
206
, "max-reconnects=100"
205
, "seconds-between-reconnects=20"
207
#, "seconds-between-reconnects=20"
207
209
outfile = open(self.slave_config_file,'w')
208
210
for line in config_data: