Skip to content
Snippets Groups Projects
Commit bcfb972a authored by ale's avatar ale
Browse files

persist ssh control sockets

parent 00a1a147
Branches
Tags v0.1.2
No related merge requests found
import glob
import logging
import optparse
import os
......@@ -39,21 +40,33 @@ def sshcmd(*args):
'-o', 'StrictHostKeyChecking=no',
'-o', 'ControlMaster=auto',
'-o', 'ControlPath=.ssh_ctrl_%h',
'-o', 'ControlPersist=yes',
] + list(args)
def ssh_cleanup():
log.info('cleaning up SSH control sockets...')
for path in glob.glob('.ssh_ctrl_*'):
subprocess.check_call([
'ssh',
'-o', 'ControlMaster=auto',
'-o', 'ControlPath=%s' % path,
'-O', 'exit',
'unused'])
class MysqlNoblogs(object):
conn = collections.namedtuple('DbData',
['host', 'port', 'user', 'password', 'db'])
def __init__(self, old_host,old_port,old_user,old_pass,old_db,
new_host,new_port,new_user,new_pass,new_db,**kwd):
self.old = self.conn(old_host,old_port,old_user,old_pass, old_db)
self.new = self.conn(new_host,new_port,new_user,new_pass, new_db)
def __init__(self, old_host, old_port, old_user, old_pass, old_db,
new_host, new_port, new_user, new_pass, new_db, **kwd):
self.old = self.conn(old_host, old_port, old_user, old_pass, old_db)
self.new = self.conn(new_host, new_port, new_user, new_pass, new_db)
def options(self, conn):
return '-h%s -P%s -u%s -p%s' % (conn.host,conn.port,
conn.user,conn.password)
return '-h%s -P%s -u%s -p%s' % (conn.host, conn.port,
conn.user, conn.password)
@property
def old_options(self):
......@@ -180,6 +193,7 @@ def process_rm_data(blog_id, value, progress):
class NoblogsStateMachine(state.StateMachine):
pass
class NoblogsMoveStateMachine(NoblogsStateMachine):
states = {
......@@ -261,6 +275,8 @@ use the `--recover' option.
sm.run()
ssh_cleanup()
if opts.noexit:
# This will never return.
httpserver.join()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment