diff options
author | Venky Shankar <vshankar@redhat.com> | 2014-03-19 19:32:15 +0530 |
---|---|---|
committer | Venky Shankar <vshankar@redhat.com> | 2014-06-10 09:55:55 -0700 |
commit | ec5d64eafcd77b1746b83173de16f7ec742af7a6 (patch) | |
tree | 0da4e4dded44f3f5031748f2ed96b249bfa0d04d /geo-replication/syncdaemon | |
parent | 99781d55f16373e793138c7b011eea09a62075b9 (diff) |
gsyncd / geo-rep: FSH recommended log locations
Upgrading "working_dir" on the fly is a bit unclean yet
(though it works) as currently config upgrade does not
support "old" values to be expanded by using configuration
variables.
Change-Id: I44ed65c281f2e0ce3b6b467addc5c1c88ac674e7
BUG: 1077516
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Signed-off-by: Kotresh H R <khiremat@redhat.com>
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Signed-off-by: Ajeet Jha <ajha@redhat.com>
Reviewed-on: http://review.gluster.org/7375
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'geo-replication/syncdaemon')
-rw-r--r-- | geo-replication/syncdaemon/configinterface.py | 13 | ||||
-rw-r--r-- | geo-replication/syncdaemon/gsyncd.py | 9 | ||||
-rw-r--r-- | geo-replication/syncdaemon/master.py | 11 | ||||
-rw-r--r-- | geo-replication/syncdaemon/resource.py | 6 |
4 files changed, 31 insertions, 8 deletions
diff --git a/geo-replication/syncdaemon/configinterface.py b/geo-replication/syncdaemon/configinterface.py index c4d47b5dbda..a94e07f0d4b 100644 --- a/geo-replication/syncdaemon/configinterface.py +++ b/geo-replication/syncdaemon/configinterface.py @@ -47,6 +47,19 @@ CONFIGS = ( "", "ssh -oPasswordAuthentication=no -oStrictHostKeyChecking=no " "-i /var/lib/glusterd/geo-replication/tar_ssh.pem"), + ("peersrx . .", + "changelog_log_file", + "", + "${iprefix}/log/glusterfs/geo-replication/${mastervol}" + "/${eSlave}${local_id}-changes.log"), + ("peersrx . .", + "working_dir", + "/var/run/gluster/${mastervol}/${eSlave}", + "${iprefix}/lib/misc/glusterfsd/${mastervol}/${eSlave}"), + ("peersrx . .", + "working_dir", + "/usr/local/var/run/gluster/${mastervol}/${eSlave}", + "${iprefix}/lib/misc/glusterfsd/${mastervol}/${eSlave}"), ) diff --git a/geo-replication/syncdaemon/gsyncd.py b/geo-replication/syncdaemon/gsyncd.py index 7ddd51267a6..b307b87ae14 100644 --- a/geo-replication/syncdaemon/gsyncd.py +++ b/geo-replication/syncdaemon/gsyncd.py @@ -216,6 +216,10 @@ def main_i(): action='callback', callback=store_abs) op.add_option('-l', '--log-file', metavar='LOGF', type=str, action='callback', callback=store_abs) + op.add_option('--iprefix', metavar='LOGD', type=str, + action='callback', callback=store_abs) + op.add_option('--changelog-log-file', metavar='LOGF', type=str, + action='callback', callback=store_abs) op.add_option('--log-file-mbr', metavar='LOGF', type=str, action='callback', callback=store_abs) op.add_option('--state-file', metavar='STATF', type=str, @@ -253,6 +257,7 @@ def main_i(): op.add_option('--state-socket-unencoded', metavar='SOCKF', type=str, action='callback', callback=store_abs) op.add_option('--checkpoint', metavar='LABEL', default='') + # tunables for failover/failback mechanism: # None - gsyncd behaves as normal # blind - gsyncd works with xtime pairs to identify @@ -302,7 +307,9 @@ def main_i(): setattr( a[-1].values, 'log_file', '-'), setattr(a[-1].values, 'log_level', - 'DEBUG'))), + 'DEBUG'), + setattr(a[-1].values, + 'changelog_log_file', '-'))) op.add_option('--path', type=str, action='append') for a in ('check', 'get'): diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index 875f2791e0d..94c58bb3c9d 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -725,6 +725,9 @@ class GMasterChangelogMixin(GMasterCommon): # maximum retries per changelog before giving up MAX_RETRIES = 10 + CHANGELOG_LOG_LEVEL = 9 + CHANGELOG_CONN_RETRIES = 5 + def fallback_xsync(self): logging.info('falling back to xsync mode') gconf.configinterface.set('change-detector', 'xsync') @@ -732,10 +735,8 @@ class GMasterChangelogMixin(GMasterCommon): def setup_working_dir(self): workdir = os.path.join(gconf.working_dir, md5hex(gconf.local_path)) - logfile = os.path.join(workdir, 'changes.log') - logging.debug('changelog working dir %s (log: %s)' % - (workdir, logfile)) - return (workdir, logfile) + logging.debug('changelog working dir %s' % workdir) + return workdir def process_change(self, change, done, retry): pfx = gauxpfx() @@ -1216,7 +1217,7 @@ class GMasterXsyncMixin(GMasterChangelogMixin): self.comlist = [] self.stimes = [] self.sleep_interval = 60 - self.tempdir = self.setup_working_dir()[0] + self.tempdir = self.setup_working_dir() self.tempdir = os.path.join(self.tempdir, 'xsync') logging.info('xsync temp directory: %s' % self.tempdir) try: diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index 8192a54b0d4..ca1dd4cf43b 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -1279,12 +1279,14 @@ class GLUSTER(AbstractUrl, SlaveLocal, SlaveRemote): g1.register() try: - (workdir, logfile) = g2.setup_working_dir() + workdir = g2.setup_working_dir() # register with the changelog library # 9 == log level (DEBUG) # 5 == connection retries changelog_agent.register(gconf.local_path, - workdir, logfile, 9, 5) + workdir, gconf.changelog_log_file, + g2.CHANGELOG_LOG_LEVEL, + g2.CHANGELOG_CONN_RETRIES) g2.register(changelog_agent) g3.register(changelog_agent) except ChangelogException as e: |