Skip to content

Commit 3bb5698

Browse files
Flake8 fixes, enable long-line errors but set length to 160
1 parent bc54ce7 commit 3bb5698

File tree

15 files changed

+122
-59
lines changed

15 files changed

+122
-59
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ install: bin/$(BIN_NAME)
2727
install -m 0644 README.rst $(SHAREDIR)/$(NAME)/README.rst
2828

2929
flake8:
30-
# Ignore long-lines and space-aligned = and : for now
31-
flake8 --ignore E221,E241,E501 $(PWD)/$(NAME)
30+
# Ignore space-aligned = and : for now, use 160 for max-line-length
31+
flake8 --count --max-line-length=160 --show-source --ignore E221,E241 $(PWD)/$(NAME)
3232

3333
rpm: bin/$(BIN_NAME)
3434
mkdir -p $(MAKE_DIR)/build/rpm/SOURCES

mongodb_consistent_backup/Archive/Zbackup/__init__.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22

33

44
def config(parser):
5-
parser.add_argument("--archive.zbackup.binary", dest="archive.zbackup.binary", help="Path to ZBackup binary (default: /usr/bin/zbackup)", default='/usr/bin/zbackup', type=str)
6-
parser.add_argument("--archive.zbackup.cache_mb", dest="archive.zbackup.cache_mb", help="Megabytes of RAM to use as a cache for ZBackup (default: 128)", default=128, type=int)
7-
parser.add_argument("--archive.zbackup.compression", dest="archive.zbackup.compression", help="Type of compression to use with ZBackup (default: lzma)", default='lzma', choices=['lzma'], type=str)
8-
parser.add_argument("--archive.zbackup.password_file", dest="archive.zbackup.password_file", help="Path to ZBackup backup password file, enables AES encryption (default: none)", default=None, type=str)
9-
parser.add_argument("--archive.zbackup.threads", dest="archive.zbackup.threads", help="Number of threads to use for ZBackup (default: 1-per-CPU)", default=0, type=int)
5+
parser.add_argument("--archive.zbackup.binary", dest="archive.zbackup.binary", default='/usr/bin/zbackup', type=str,
6+
help="Path to ZBackup binary (default: /usr/bin/zbackup)")
7+
parser.add_argument("--archive.zbackup.cache_mb", dest="archive.zbackup.cache_mb", default=128, type=int,
8+
help="Megabytes of RAM to use as a cache for ZBackup (default: 128)")
9+
parser.add_argument("--archive.zbackup.compression", dest="archive.zbackup.compression", default='lzma', choices=['lzma'], type=str,
10+
help="Type of compression to use with ZBackup (default: lzma)")
11+
parser.add_argument("--archive.zbackup.password_file", dest="archive.zbackup.password_file", default=None, type=str,
12+
help="Path to ZBackup backup password file, enables AES encryption (default: none)")
13+
parser.add_argument("--archive.zbackup.threads", dest="archive.zbackup.threads", default=0, type=int,
14+
help="Number of threads to use for ZBackup (default: 1-per-CPU)")
1015
return parser

mongodb_consistent_backup/Archive/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22

33

44
def config(parser):
5-
parser.add_argument("--archive.method", dest="archive.method", help="Archiver method (default: tar)", default='tar', choices=['tar', 'zbackup', 'none'])
5+
parser.add_argument("--archive.method", dest="archive.method", default='tar', choices=['tar', 'zbackup', 'none'],
6+
help="Archiver method (default: tar)")
67
return parser

mongodb_consistent_backup/Backup/Backup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
class Backup(Stage):
66
def __init__(self, manager, config, timer, base_dir, backup_dir, replsets, backup_stop=None, sharding=None):
7-
super(Backup, self).__init__(self.__class__.__name__, manager, config, timer, base_dir, backup_dir, replsets=replsets, backup_stop=backup_stop, sharding=sharding)
7+
super(Backup, self).__init__(self.__class__.__name__, manager, config, timer, base_dir, backup_dir,
8+
replsets=replsets, backup_stop=backup_stop, sharding=sharding)
89
self.task = self.config.backup.method
910
self.init()

mongodb_consistent_backup/Backup/__init__.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33

44
def config(parser):
5-
parser.add_argument("-n", "--backup.name", dest="backup.name", help="Name of the backup set (default: default)", default='default', type=str)
6-
parser.add_argument("-l", "--backup.location", dest="backup.location", help="Base path to store the backup data (default: /var/lib/mongodb-consistent-backup)", default='/var/lib/mongodb-consistent-backup', type=str)
7-
parser.add_argument("-m", "--backup.method", dest="backup.method", help="Method to be used for backup (default: mongodump)", default='mongodump', choices=['mongodump'])
5+
parser.add_argument("-n", "--backup.name", dest="backup.name", default='default', type=str,
6+
help="Name of the backup set (default: default)")
7+
parser.add_argument("-l", "--backup.location", dest="backup.location", default='/var/lib/mongodb-consistent-backup', type=str,
8+
help="Base path to store the backup data (default: /var/lib/mongodb-consistent-backup)")
9+
parser.add_argument("-m", "--backup.method", dest="backup.method", default='mongodump', choices=['mongodump'],
10+
help="Method to be used for backup (default: mongodump)")
811
return parser

mongodb_consistent_backup/Common/Config.py

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,24 @@ def __init__(self, option_strings, dest, nargs=0, **kwargs):
2525
super(PrintVersions, self).__init__(option_strings=option_strings, dest=dest, nargs=nargs, **kwargs)
2626

2727
def __call__(self, parser, namespace, values, option_string=None):
28-
print "%s version: %s, git commit hash: %s" % (mongodb_consistent_backup.prog_name, mongodb_consistent_backup.__version__, mongodb_consistent_backup.git_commit)
28+
print("%s version: %s, git commit hash: %s" % (
29+
mongodb_consistent_backup.prog_name,
30+
mongodb_consistent_backup.__version__,
31+
mongodb_consistent_backup.git_commit
32+
))
2933

3034
import platform
31-
print "Python version: %s" % platform.python_version()
32-
print "Python modules:"
35+
print("Python version: %s" % platform.python_version())
36+
print("Python modules:")
3337

3438
import fabric.version
35-
print "\t%s: %s" % ('Fabric', fabric.version.get_version())
39+
print("\t%s: %s" % ('Fabric', fabric.version.get_version()))
3640

3741
modules = ['pymongo', 'multiprocessing', 'yaml', 'boto', 'filechunkio']
3842
for module_name in modules:
3943
module = __import__(module_name)
4044
if hasattr(module, '__version__'):
41-
print "\t%s: %s" % (module_name, module.__version__)
45+
print("\t%s: %s" % (module_name, module.__version__))
4246
sys.exit(0)
4347

4448

@@ -61,22 +65,33 @@ def makeParser(self):
6165
parser = super(ConfigParser, self).makeParser()
6266
parser.add_argument("-V", "--version", dest="version", help="Print mongodb_consistent_backup version info and exit", action=PrintVersions)
6367
parser.add_argument("-v", "--verbose", dest="verbose", help="Verbose output", default=False, action="store_true")
64-
parser.add_argument("-H", "--host", dest="host", help="MongoDB Hostname, IP address or '<replset>/<host:port>,<host:port>,..' URI (default: localhost)", default="localhost", type=str)
68+
parser.add_argument("-H", "--host", dest="host", default="localhost", type=str,
69+
help="MongoDB Hostname, IP address or '<replset>/<host:port>,<host:port>,..' URI (default: localhost)")
6570
parser.add_argument("-P", "--port", dest="port", help="MongoDB Port (default: 27017)", default=27017, type=int)
6671
parser.add_argument("-u", "--user", "--username", dest="username", help="MongoDB Authentication Username (for optional auth)", type=str)
6772
parser.add_argument("-p", "--password", dest="password", help="MongoDB Authentication Password (for optional auth)", type=str)
6873
parser.add_argument("-a", "--authdb", dest="authdb", help="MongoDB Auth Database (for optional auth - default: admin)", default='admin', type=str)
69-
parser.add_argument("--ssl.enabled", dest="ssl.enabled", help="Use SSL secured database connections to MongoDB hosts (default: false)", default=False, action="store_true")
70-
parser.add_argument("--ssl.insecure", dest="ssl.insecure", help="Do not validate the SSL certificate and hostname of the server (default: false)", default=False, action="store_true")
71-
parser.add_argument("--ssl.ca_file", dest="ssl.ca_file", help="Path to SSL Certificate Authority file in PEM format (default: use OS default CA)", default=None, type=str)
72-
parser.add_argument("--ssl.crl_file", dest="ssl.crl_file", help="Path to SSL Certificate Revocation List file in PEM or DER format (for optional cert revocation)", default=None, type=str)
73-
parser.add_argument("--ssl.client_cert_file", dest="ssl.client_cert_file", help="Path to Client SSL Certificate file in PEM format (for optional client ssl auth)", default=None, type=str)
74+
parser.add_argument("--ssl.enabled", dest="ssl.enabled", default=False, action="store_true",
75+
help="Use SSL secured database connections to MongoDB hosts (default: false)")
76+
parser.add_argument("--ssl.insecure", dest="ssl.insecure", default=False, action="store_true",
77+
help="Do not validate the SSL certificate and hostname of the server (default: false)")
78+
parser.add_argument("--ssl.ca_file", dest="ssl.ca_file", default=None, type=str,
79+
help="Path to SSL Certificate Authority file in PEM format (default: use OS default CA)")
80+
parser.add_argument("--ssl.crl_file", dest="ssl.crl_file", default=None, type=str,
81+
help="Path to SSL Certificate Revocation List file in PEM or DER format (for optional cert revocation)")
82+
parser.add_argument("--ssl.client_cert_file", dest="ssl.client_cert_file", default=None, type=str,
83+
help="Path to Client SSL Certificate file in PEM format (for optional client ssl auth)")
7484
parser.add_argument("-L", "--log-dir", dest="log_dir", help="Path to write log files to (default: disabled)", default='', type=str)
75-
parser.add_argument("--lock-file", dest="lock_file", help="Location of lock file (default: /tmp/mongodb-consistent-backup.lock)", default='/tmp/mongodb-consistent-backup.lock', type=str)
76-
parser.add_argument("--rotate.max_backups", dest="rotate.max_backups", help="Maximum number of backups to keep in backup directory (default: unlimited)", default=0, type=int)
77-
parser.add_argument("--rotate.max_days", dest="rotate.max_days", help="Maximum age in days for backups in backup directory (default: unlimited)", default=0, type=float)
78-
parser.add_argument("--sharding.balancer.wait_secs", dest="sharding.balancer.wait_secs", help="Maximum time to wait for balancer to stop, in seconds (default: 300)", default=300, type=int)
79-
parser.add_argument("--sharding.balancer.ping_secs", dest="sharding.balancer.ping_secs", help="Interval to check balancer state, in seconds (default: 3)", default=3, type=int)
85+
parser.add_argument("--lock-file", dest="lock_file", default='/tmp/mongodb-consistent-backup.lock', type=str,
86+
help="Location of lock file (default: /tmp/mongodb-consistent-backup.lock)")
87+
parser.add_argument("--rotate.max_backups", dest="rotate.max_backups", default=0, type=int,
88+
help="Maximum number of backups to keep in backup directory (default: unlimited)")
89+
parser.add_argument("--rotate.max_days", dest="rotate.max_days", default=0, type=float,
90+
help="Maximum age in days for backups in backup directory (default: unlimited)")
91+
parser.add_argument("--sharding.balancer.wait_secs", dest="sharding.balancer.wait_secs", default=300, type=int,
92+
help="Maximum time to wait for balancer to stop, in seconds (default: 300)")
93+
parser.add_argument("--sharding.balancer.ping_secs", dest="sharding.balancer.ping_secs", default=3, type=int,
94+
help="Interval to check balancer state, in seconds (default: 3)")
8095
return self.makeParserLoadSubmodules(parser)
8196

8297

mongodb_consistent_backup/Oplog/Oplog.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,12 @@ def fsync(self):
100100

101101
def autoflush(self):
102102
if self._oplog and self.do_flush():
103-
logging.debug("Fsyncing %s (secs_since=%.2f, changes=%i, ts=%s)" % (self.oplog_file, self.secs_since_flush(), self._writes_unflushed, self.last_ts()))
103+
logging.debug("Fsyncing %s (secs_since=%.2f, changes=%i, ts=%s)" % (
104+
self.oplog_file,
105+
self.secs_since_flush(),
106+
self._writes_unflushed,
107+
self.last_ts())
108+
)
104109
return self.fsync()
105110

106111
def close(self):

mongodb_consistent_backup/Oplog/Tailer/TailThread.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
# noinspection PyPackageRequirements
55
from multiprocessing import Process
6-
from pymongo.errors import AutoReconnect, ConnectionFailure, CursorNotFound, ExceededMaxWaiters, ExecutionTimeout, NetworkTimeout, NotMasterError, ServerSelectionTimeoutError
6+
from pymongo.errors import AutoReconnect, ConnectionFailure, CursorNotFound, ExceededMaxWaiters
7+
from pymongo.errors import ExecutionTimeout, NetworkTimeout, NotMasterError, ServerSelectionTimeoutError
78
from signal import signal, SIGINT, SIGTERM, SIG_IGN
89
from time import sleep, time
910

mongodb_consistent_backup/Oplog/__init__.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,16 @@
55

66

77
def config(parser):
8-
parser.add_argument("--oplog.compression", dest="oplog.compression", help="Compression method to use on captured oplog file (default: none)", choices=["none", "gzip"], default="none")
9-
parser.add_argument("--oplog.flush.max_docs", dest="oplog.flush.max_docs", help="Maximum number of oplog document writes to trigger a flush of the backup oplog file (default: 1000)", default=1000, type=int)
10-
parser.add_argument("--oplog.flush.max_secs", dest="oplog.flush.max_secs", help="Number of seconds to wait to flush the backup oplog file, if 'max_docs' is not reached (default: 1)", default=1, type=int)
11-
parser.add_argument("--oplog.resolver.threads", dest="oplog.resolver.threads", help="Number of threads to use during resolver step (default: 1-per-CPU)", default=0, type=int)
12-
parser.add_argument("--oplog.tailer.enabled", dest="oplog.tailer.enabled", help="Enable/disable capturing of cluster-consistent oplogs, required for cluster-wide PITR (default: true)", default='true', type=str)
13-
parser.add_argument("--oplog.tailer.status_interval", dest="oplog.tailer.status_interval", help="Number of seconds to wait between reporting oplog tailer status (default: 30)", default=30, type=int)
8+
parser.add_argument("--oplog.compression", dest="oplog.compression", choices=["none", "gzip"], default="none",
9+
help="Compression method to use on captured oplog file (default: none)")
10+
parser.add_argument("--oplog.flush.max_docs", dest="oplog.flush.max_docs", default=1000, type=int,
11+
help="Maximum number of oplog document writes to trigger a flush of the backup oplog file (default: 1000)")
12+
parser.add_argument("--oplog.flush.max_secs", dest="oplog.flush.max_secs", default=1, type=int,
13+
help="Number of seconds to wait to flush the backup oplog file, if 'max_docs' is not reached (default: 1)")
14+
parser.add_argument("--oplog.resolver.threads", dest="oplog.resolver.threads", default=0, type=int,
15+
help="Number of threads to use during resolver step (default: 1-per-CPU)")
16+
parser.add_argument("--oplog.tailer.enabled", dest="oplog.tailer.enabled", default='true', type=str,
17+
help="Enable/disable capturing of cluster-consistent oplogs, required for cluster-wide PITR (default: true)")
18+
parser.add_argument("--oplog.tailer.status_interval", dest="oplog.tailer.status_interval", default=30, type=int,
19+
help="Number of seconds to wait between reporting oplog tailer status (default: 30)")
1420
return parser

mongodb_consistent_backup/Pipeline/Stage.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,11 @@ def run(self):
8989
self.running = False
9090
self.timers.stop(self.stage)
9191
if self._task.completed:
92-
logging.info("Completed running stage %s with task %s in %.2f seconds" % (self.stage, self.task.capitalize(), self.timers.duration(self.stage)))
92+
logging.info("Completed running stage %s with task %s in %.2f seconds" % (
93+
self.stage,
94+
self.task.capitalize(),
95+
self.timers.duration(self.stage))
96+
)
9397
self.completed = True
9498
else:
9599
logging.error("Stage %s did not complete!" % self.stage)

0 commit comments

Comments
 (0)