)]}'
{"glance/cmd/replicator.py":[{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":699,"context_line":"    # Options"},{"line_number":700,"context_line":"    oparser.add_option(\u0027-c\u0027, \u0027--chunksize\u0027, action\u003d\"store\", default\u003d65536,"},{"line_number":701,"context_line":"                       help\u003d\"Amount of data to transfer per HTTP write.\")"},{"line_number":702,"context_line":"    oparser.add_option(\u0027-d\u0027, \u0027--debug\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":703,"context_line":"                       help\u003d\"Print debugging information.\")"},{"line_number":704,"context_line":"    oparser.add_option(\u0027-D\u0027, \u0027--dontreplicate\u0027, action\u003d\"store\","},{"line_number":705,"context_line":"                       default\u003d(\u0027created_at date deleted_at location \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_9df46788","side":"PARENT","line":702,"updated":"2014-10-22 14:12:56.000000000","message":"Looks like we got rid of the debug option here because it\u0027s not being used anywhere. Just for confirmation sake.","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":699,"context_line":"    # Options"},{"line_number":700,"context_line":"    oparser.add_option(\u0027-c\u0027, \u0027--chunksize\u0027, action\u003d\"store\", default\u003d65536,"},{"line_number":701,"context_line":"                       help\u003d\"Amount of data to transfer per HTTP write.\")"},{"line_number":702,"context_line":"    oparser.add_option(\u0027-d\u0027, \u0027--debug\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":703,"context_line":"                       help\u003d\"Print debugging information.\")"},{"line_number":704,"context_line":"    oparser.add_option(\u0027-D\u0027, \u0027--dontreplicate\u0027, action\u003d\"store\","},{"line_number":705,"context_line":"                       default\u003d(\u0027created_at date deleted_at location \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_3b0e1e35","side":"PARENT","line":702,"in_reply_to":"9aa7fdbe_9df46788","updated":"2014-10-22 16:28:00.000000000","message":"nope, it\u0027s provided by oslo.config. and now it should work correctly.","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":707,"context_line":"                       help\u003d\"List of fields to not replicate.\")"},{"line_number":708,"context_line":"    oparser.add_option(\u0027-m\u0027, \u0027--metaonly\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":709,"context_line":"                       help\u003d\"Only replicate metadata, not images.\")"},{"line_number":710,"context_line":"    oparser.add_option(\u0027-l\u0027, \u0027--logfile\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":711,"context_line":"                       help\u003d\"Path of file to log to.\")"},{"line_number":712,"context_line":"    oparser.add_option(\u0027-s\u0027, \u0027--syslog\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":713,"context_line":"                       help\u003d\"Log to syslog instead of a file.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_7d78a3c4","side":"PARENT","line":710,"updated":"2014-10-22 14:12:56.000000000","message":"ditto","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":707,"context_line":"                       help\u003d\"List of fields to not replicate.\")"},{"line_number":708,"context_line":"    oparser.add_option(\u0027-m\u0027, \u0027--metaonly\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":709,"context_line":"                       help\u003d\"Only replicate metadata, not images.\")"},{"line_number":710,"context_line":"    oparser.add_option(\u0027-l\u0027, \u0027--logfile\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":711,"context_line":"                       help\u003d\"Path of file to log to.\")"},{"line_number":712,"context_line":"    oparser.add_option(\u0027-s\u0027, \u0027--syslog\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":713,"context_line":"                       help\u003d\"Log to syslog instead of a file.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_9b1e2a62","side":"PARENT","line":710,"in_reply_to":"9aa7fdbe_7d78a3c4","updated":"2014-10-22 16:28:00.000000000","message":"the same","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":710,"context_line":"    oparser.add_option(\u0027-l\u0027, \u0027--logfile\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":711,"context_line":"                       help\u003d\"Path of file to log to.\")"},{"line_number":712,"context_line":"    oparser.add_option(\u0027-s\u0027, \u0027--syslog\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":713,"context_line":"                       help\u003d\"Log to syslog instead of a file.\")"},{"line_number":714,"context_line":"    oparser.add_option(\u0027-t\u0027, \u0027--token\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":715,"context_line":"                       help\u003d(\"Pass in your authentication token if you have \""},{"line_number":716,"context_line":"                             \"one. If you use this option the same token is \""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_9d7387e6","side":"PARENT","line":713,"updated":"2014-10-22 14:12:56.000000000","message":"ditto","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":710,"context_line":"    oparser.add_option(\u0027-l\u0027, \u0027--logfile\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":711,"context_line":"                       help\u003d\"Path of file to log to.\")"},{"line_number":712,"context_line":"    oparser.add_option(\u0027-s\u0027, \u0027--syslog\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":713,"context_line":"                       help\u003d\"Log to syslog instead of a file.\")"},{"line_number":714,"context_line":"    oparser.add_option(\u0027-t\u0027, \u0027--token\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":715,"context_line":"                       help\u003d(\"Pass in your authentication token if you have \""},{"line_number":716,"context_line":"                             \"one. If you use this option the same token is \""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_db27d2b4","side":"PARENT","line":713,"in_reply_to":"9aa7fdbe_9d7387e6","updated":"2014-10-22 16:28:00.000000000","message":"the same","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":721,"context_line":"    oparser.add_option(\u0027-S\u0027, \u0027--slavetoken\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":722,"context_line":"                       help\u003d(\"Pass in your authentication token if you have \""},{"line_number":723,"context_line":"                             \"one. This is the token used for the slave.\"))"},{"line_number":724,"context_line":"    oparser.add_option(\u0027-v\u0027, \u0027--verbose\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":725,"context_line":"                       help\u003d\"Print more verbose output.\")"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    (options, command, args) \u003d parse_options(oparser, sys.argv[1:])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_dd7d0fb3","side":"PARENT","line":724,"updated":"2014-10-22 14:12:56.000000000","message":"ditto","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":721,"context_line":"    oparser.add_option(\u0027-S\u0027, \u0027--slavetoken\u0027, action\u003d\"store\", default\u003d\u0027\u0027,"},{"line_number":722,"context_line":"                       help\u003d(\"Pass in your authentication token if you have \""},{"line_number":723,"context_line":"                             \"one. This is the token used for the slave.\"))"},{"line_number":724,"context_line":"    oparser.add_option(\u0027-v\u0027, \u0027--verbose\u0027, action\u003d\"store_true\", default\u003dFalse,"},{"line_number":725,"context_line":"                       help\u003d\"Print more verbose output.\")"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    (options, command, args) \u003d parse_options(oparser, sys.argv[1:])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_5b3be2d0","side":"PARENT","line":724,"in_reply_to":"9aa7fdbe_dd7d0fb3","updated":"2014-10-22 16:28:00.000000000","message":"the same","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":65,"context_line":"               help\u003d(\"Pass in your authentication token if you have \""},{"line_number":66,"context_line":"                     \"one. This is the token used for the slave.\")),"},{"line_number":67,"context_line":"    cfg.ListOpt(\u0027slave_ip\u0027,"},{"line_number":68,"context_line":"                short\u003d\u0027i\u0027,"},{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_18c165e4","line":68,"updated":"2014-10-22 14:12:56.000000000","message":"Is this option being used anywhere?","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":65,"context_line":"               help\u003d(\"Pass in your authentication token if you have \""},{"line_number":66,"context_line":"                     \"one. This is the token used for the slave.\")),"},{"line_number":67,"context_line":"    cfg.ListOpt(\u0027slave_ip\u0027,"},{"line_number":68,"context_line":"                short\u003d\u0027i\u0027,"},{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_a0301f02","line":68,"in_reply_to":"9aa7fdbe_18c165e4","updated":"2014-10-22 16:28:00.000000000","message":"sorry, my bad. it was a part of my internal work, so it\u0027s not needed here. I\u0027ll remove it.","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"},{"line_number":72,"context_line":"               help\u003d\"master server\"),"},{"line_number":73,"context_line":"    cfg.StrOpt(\u0027slave\u0027,"},{"line_number":74,"context_line":"               help\u003d\"slave server\"),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027command\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_d8027d0a","line":72,"updated":"2014-10-22 14:12:56.000000000","message":"master and slave were earlier collected as args. Does making these config opts introduce a slightly different way of using them than earlier?","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"c07f357591953feec696ff5621708e8a05c4feef","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"},{"line_number":72,"context_line":"               help\u003d\"master server\"),"},{"line_number":73,"context_line":"    cfg.StrOpt(\u0027slave\u0027,"},{"line_number":74,"context_line":"               help\u003d\"slave server\"),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027command\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_beb820c9","line":72,"in_reply_to":"9aa7fdbe_28224401","updated":"2014-10-23 14:50:36.000000000","message":"I looked at L718-723, that\u0027s really not what I meant to talk about. I was talking about the change in the way replicator would now have to invoked with master and slave being treated as opts and not args(positional).\nI mean, they would now have to be specified as \u0027--master \u003cmaster\u003e --slave \u003cslave\u003e\u0027 as opposed to \u0027\u003ccommand\u003e \u003cmaster\u003e \u003cslave\u003e\u0027\n\nDoes I make sense? Let me know if I\u0027m missing something here. \nSorry, if I was vague earlier.","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"7af353a287aeb6c962ff683e555e85b31569775d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"},{"line_number":72,"context_line":"               help\u003d\"master server\"),"},{"line_number":73,"context_line":"    cfg.StrOpt(\u0027slave\u0027,"},{"line_number":74,"context_line":"               help\u003d\"slave server\"),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027command\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_95eef6b2","line":72,"in_reply_to":"9aa7fdbe_7b6426e5","updated":"2014-10-22 20:46:55.000000000","message":"But do you think it may introduce regression?","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"6be499d09538ff00ee3f6314ae2f5ca77e916c1a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"},{"line_number":72,"context_line":"               help\u003d\"master server\"),"},{"line_number":73,"context_line":"    cfg.StrOpt(\u0027slave\u0027,"},{"line_number":74,"context_line":"               help\u003d\"slave server\"),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027command\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_28224401","line":72,"in_reply_to":"9aa7fdbe_95eef6b2","updated":"2014-10-23 07:44:45.000000000","message":"nope. take a look at L718-723. we\u0027ll take master and slave to args list. and every method in this module check the quantity of args inside itself. we can do it better, but it\u0027s not smthg that should be done in this patch.","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"f4bee1e8f0a007f814065a79222cbf5a5bb317e2","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"},{"line_number":72,"context_line":"               help\u003d\"master server\"),"},{"line_number":73,"context_line":"    cfg.StrOpt(\u0027slave\u0027,"},{"line_number":74,"context_line":"               help\u003d\"slave server\"),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027command\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_2e55d0fa","line":72,"in_reply_to":"9aa7fdbe_beb820c9","updated":"2014-10-24 10:14:42.000000000","message":"Hm, looks like I can\u0027t get your point of view. For example if we make it args (positional) as it defined in oslo.config we\u0027ll get error when we\u0027ll want to read help as glance-replicator help.\nBut well, I\u0027ll think about it","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                default\u003d[],"},{"line_number":70,"context_line":"                help\u003d\"list of slaves for compliance command\"),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027master\u0027,"},{"line_number":72,"context_line":"               help\u003d\"master server\"),"},{"line_number":73,"context_line":"    cfg.StrOpt(\u0027slave\u0027,"},{"line_number":74,"context_line":"               help\u003d\"slave server\"),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027command\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_7b6426e5","line":72,"in_reply_to":"9aa7fdbe_d8027d0a","updated":"2014-10-22 16:28:00.000000000","message":"we can collect it as args, but I prefer to collect it as it is now with --master, --slave.","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":78,"context_line":"]"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"CONF \u003d cfg.CONF"},{"line_number":81,"context_line":"CONF.register_group(cfg.OptGroup(\"replicator_opts\"))"},{"line_number":82,"context_line":"CONF.register_cli_opts(cli_opts)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"# If ../glance/__init__.py exists, add ../ to Python search path, so that"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_b8c9397a","line":81,"updated":"2014-10-22 14:12:56.000000000","message":"We don\u0027t seem to be using the group anywhere, do we need this? or am I missing anything here?","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":78,"context_line":"]"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"CONF \u003d cfg.CONF"},{"line_number":81,"context_line":"CONF.register_group(cfg.OptGroup(\"replicator_opts\"))"},{"line_number":82,"context_line":"CONF.register_cli_opts(cli_opts)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"# If ../glance/__init__.py exists, add ../ to Python search path, so that"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_bb304ee9","line":81,"in_reply_to":"9aa7fdbe_b8c9397a","updated":"2014-10-22 16:28:00.000000000","message":"as L68","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"15a32da3f88d8178ebb08013bd02d94ea05b8961","unresolved":false,"context_lines":[{"line_number":676,"context_line":"def lookup_command(command_name):"},{"line_number":677,"context_line":"    \"\"\"Lookup a command."},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"    parser: the command parser"},{"line_number":680,"context_line":"    command_name: the command name"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"    Returns: a method which implements that command"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_720d323e","line":679,"updated":"2014-10-22 14:12:56.000000000","message":"Looks like we can get rid of this.","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4462759411333c65c60313a409121d03bafa7596","unresolved":false,"context_lines":[{"line_number":676,"context_line":"def lookup_command(command_name):"},{"line_number":677,"context_line":"    \"\"\"Lookup a command."},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"    parser: the command parser"},{"line_number":680,"context_line":"    command_name: the command name"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"    Returns: a method which implements that command"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_40177351","line":679,"in_reply_to":"9aa7fdbe_720d323e","updated":"2014-10-22 16:28:00.000000000","message":"yeap, I\u0027ll remove it.","commit_id":"962b77b0556576b0a6b51e66aa06d3189739e36a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"9587495a3295b972c2d258fff3139e92216540ce","unresolved":false,"context_lines":[{"line_number":716,"context_line":"        args \u003d [CONF.master]"},{"line_number":717,"context_line":"    else:"},{"line_number":718,"context_line":"        args \u003d []"},{"line_number":719,"context_line":" "},{"line_number":720,"context_line":"    command \u003d lookup_command(CONF.command)"},{"line_number":721,"context_line":""},{"line_number":722,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_bb2da948","line":719,"updated":"2014-10-22 19:34:49.000000000","message":"This space will cause pep failure,\n\n./glance/cmd/replicator.py:719:1: W293 blank line contains whitespace","commit_id":"7f4d5baf738e55d29f8ab0e9c17384d9097356e4"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"bde3147b91f83bf6977c6c65f6e439316b4b5270","unresolved":false,"context_lines":[{"line_number":716,"context_line":"        args \u003d [CONF.master]"},{"line_number":717,"context_line":"    else:"},{"line_number":718,"context_line":"        args \u003d []"},{"line_number":719,"context_line":" "},{"line_number":720,"context_line":"    command \u003d lookup_command(CONF.command)"},{"line_number":721,"context_line":""},{"line_number":722,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_3bdc59e4","line":719,"in_reply_to":"9aa7fdbe_bb2da948","updated":"2014-10-22 19:48:51.000000000","message":"yeah. thx for review. I think I fix this, but I was mistaken.","commit_id":"7f4d5baf738e55d29f8ab0e9c17384d9097356e4"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"30faaaff065eb20d6c014d39dad3736d96f578e6","unresolved":false,"context_lines":[{"line_number":671,"context_line":"def lookup_command(command_name):"},{"line_number":672,"context_line":"    \"\"\"Lookup a command."},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"    parser: the command parser"},{"line_number":675,"context_line":"    command_name: the command name"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"    Returns: a method which implements that command"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aa7fdbe_2997b391","line":674,"updated":"2014-10-22 20:48:04.000000000","message":"Nit: Think we missed getting rid of this one","commit_id":"feeacd01da405958f9e3e80401d1f9f036c99733"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"0b769ff3150c8020fc78285ecf82e7687590604c","unresolved":false,"context_lines":[{"line_number":671,"context_line":"def lookup_command(command_name):"},{"line_number":672,"context_line":"    \"\"\"Lookup a command."},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"    parser: the command parser"},{"line_number":675,"context_line":"    command_name: the command name"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"    Returns: a method which implements that command"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aa7fdbe_48f3089e","line":674,"in_reply_to":"9aa7fdbe_2997b391","updated":"2014-10-23 07:44:13.000000000","message":"yeap.","commit_id":"feeacd01da405958f9e3e80401d1f9f036c99733"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"f46109104195bf45d3c94bcdc1269644702438c4","unresolved":false,"context_lines":[{"line_number":639,"context_line":"    return (options, command, args)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"def print_help(options, args):"},{"line_number":643,"context_line":"    \"\"\"Print help specific to a command."},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"    options: the parsed command line options"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_def5e457","side":"PARENT","line":642,"updated":"2014-10-23 14:57:20.000000000","message":"oops, looks like this is being used in L667.","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"7b4c18f2cb27c98b459a63f75ace0aa9d6405cf0","unresolved":false,"context_lines":[{"line_number":639,"context_line":"    return (options, command, args)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"def print_help(options, args):"},{"line_number":643,"context_line":"    \"\"\"Print help specific to a command."},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"    options: the parsed command line options"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_f3bf31a8","side":"PARENT","line":642,"in_reply_to":"9aa7fdbe_def5e457","updated":"2014-10-24 05:40:47.000000000","message":"yeap, I\u0027ll work on it for 2 days.","commit_id":"38dd10bb98a480d6fff9f1cf507e5b25e5ac10e6"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"705e5a36295dc20b13cdc7455d08b2d522a9c098","unresolved":false,"context_lines":[{"line_number":705,"context_line":"    if CONF.token:"},{"line_number":706,"context_line":"        CONF.slavetoken \u003d CONF.token"},{"line_number":707,"context_line":"        CONF.mastertoken \u003d CONF.token"},{"line_number":708,"context_line":"    if CONF.master and CONF.slave:"},{"line_number":709,"context_line":"        args \u003d [CONF.master, CONF.slave]"},{"line_number":710,"context_line":"    elif CONF.master and not CONF.slave:"},{"line_number":711,"context_line":"        args \u003d [CONF.master]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9aa7fdbe_cefb0dbf","line":708,"updated":"2014-10-28 15:38:50.000000000","message":"Are CONF.master and CONF.slave still around?\nIt looks like you replaced them with positional args. Let me know if I\u0027m misreading it.","commit_id":"ee16bd6b7357f44489c08a4b1a253f7547f08c4d"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"e498127d584e6f845f065054599cf6ed73a8c11b","unresolved":false,"context_lines":[{"line_number":705,"context_line":"    if CONF.token:"},{"line_number":706,"context_line":"        CONF.slavetoken \u003d CONF.token"},{"line_number":707,"context_line":"        CONF.mastertoken \u003d CONF.token"},{"line_number":708,"context_line":"    if CONF.master and CONF.slave:"},{"line_number":709,"context_line":"        args \u003d [CONF.master, CONF.slave]"},{"line_number":710,"context_line":"    elif CONF.master and not CONF.slave:"},{"line_number":711,"context_line":"        args \u003d [CONF.master]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9aa7fdbe_e4746038","line":708,"in_reply_to":"9aa7fdbe_cefb0dbf","updated":"2014-10-29 07:08:51.000000000","message":"yeah. thank you for this notice. I\u0027m a little bit distrait.","commit_id":"ee16bd6b7357f44489c08a4b1a253f7547f08c4d"},{"author":{"_account_id":13717,"name":"Inessa Vasilevskaya","email":"ivasilevskaya@mirantis.com","username":"ivasilevskaya"},"change_message_id":"018572f6f39fe1e925000db9c7bd53c0f8b5c09d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                help\u003d\"arguments for the command\"),"},{"line_number":70,"context_line":"    cfg.StrOpt(\u0027command\u0027,"},{"line_number":71,"context_line":"               positional\u003dTrue,"},{"line_number":72,"context_line":"               help\u003d\"command to be given to replicator\"),"},{"line_number":73,"context_line":"]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a8c0949_bbdb02ec","line":72,"updated":"2014-11-05 12:24:46.000000000","message":"Sorry if I got it wrong: looks like the former version had several options (like --syslog, for example), that are not represented in the current version. Are the missing arguments handled by oslo.config by default?","commit_id":"41db6747443d1c8443398dc535d36c35a8583e24"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"f55e2d92f6ce0fe7a8abc64b02100202656ec7e9","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                help\u003d\"arguments for the command\"),"},{"line_number":70,"context_line":"    cfg.StrOpt(\u0027command\u0027,"},{"line_number":71,"context_line":"               positional\u003dTrue,"},{"line_number":72,"context_line":"               help\u003d\"command to be given to replicator\"),"},{"line_number":73,"context_line":"]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a8c0949_512afd7e","line":72,"in_reply_to":"7a8c0949_7e3c28e3","updated":"2014-11-05 13:22:05.000000000","message":"Yeap, Mike is right.","commit_id":"41db6747443d1c8443398dc535d36c35a8583e24"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"43c37c894a1465965857a2e34de08b5cb7aeebb8","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                help\u003d\"arguments for the command\"),"},{"line_number":70,"context_line":"    cfg.StrOpt(\u0027command\u0027,"},{"line_number":71,"context_line":"               positional\u003dTrue,"},{"line_number":72,"context_line":"               help\u003d\"command to be given to replicator\"),"},{"line_number":73,"context_line":"]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a8c0949_7e3c28e3","line":72,"in_reply_to":"7a8c0949_bbdb02ec","updated":"2014-11-05 13:21:07.000000000","message":"I think it\u0027s alright. Default params for glance and others are described here https://wiki.openstack.org/wiki/Oslo/Config\n\nGlance\u0027s entire set of options is:\n\n    --verbose, --debug : set the log level to INFO or DEBUG, WARNING otherwise\n    --config-file : a .ini style configuration file\n    --log-config : python logging config\n    --log-date-format, --log-file, --log-dir, --use-syslog : other logging config, overwriting the logging config file if supplied\n    --use-syslog : log to syslog","commit_id":"41db6747443d1c8443398dc535d36c35a8583e24"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"3bce958b845c54fe366629309d4f74f2641b1ff0","unresolved":false,"context_lines":[{"line_number":697,"context_line":"    try:"},{"line_number":698,"context_line":"        config.parse_args()"},{"line_number":699,"context_line":"    except RuntimeError as e:"},{"line_number":700,"context_line":"        sys.exit(\"ERROR: %s\" % e)"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"    # Setup logging"},{"line_number":703,"context_line":"    log.setup(\u0027glance\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_48b7c7d8","line":700,"updated":"2014-11-12 15:11:05.000000000","message":"I think its a general practice in Glance to use this function on exception, \nhttps://github.com/openstack/glance/blob/master/glance/common/utils.py#L618","commit_id":"41db6747443d1c8443398dc535d36c35a8583e24"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"6eeac5e296088ee50ac550e2b7d5f4c8b09bcca8","unresolved":false,"context_lines":[{"line_number":697,"context_line":"    try:"},{"line_number":698,"context_line":"        config.parse_args()"},{"line_number":699,"context_line":"    except RuntimeError as e:"},{"line_number":700,"context_line":"        sys.exit(\"ERROR: %s\" % e)"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"    # Setup logging"},{"line_number":703,"context_line":"    log.setup(\u0027glance\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_401cc913","line":700,"in_reply_to":"5a890539_48b7c7d8","updated":"2014-11-13 15:00:44.000000000","message":"yeap, you should be right.","commit_id":"41db6747443d1c8443398dc535d36c35a8583e24"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"a029edbc443a52097bd5b7369513257c03b3db6b","unresolved":false,"context_lines":[{"line_number":708,"context_line":"    try:"},{"line_number":709,"context_line":"        command(CONF, CONF.args)"},{"line_number":710,"context_line":"    except TypeError as e:"},{"line_number":711,"context_line":"        LOG.error(_LE(command.__doc__) % {\u0027prog\u0027: command.__name__})  # noqa"},{"line_number":712,"context_line":"        sys.exit(\"ERROR: %s\" % e)"},{"line_number":713,"context_line":"    except ValueError as e:"},{"line_number":714,"context_line":"        LOG.error(_LE(command.__doc__) % {\u0027prog\u0027: command.__name__})  # noqa"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a890539_d46f9bc3","line":711,"updated":"2014-11-13 16:14:38.000000000","message":"Please, change it to utils.exception_to_str(e) while you are here.","commit_id":"3632d94604acf54a2207cd61414caf7adbdac400"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"a029edbc443a52097bd5b7369513257c03b3db6b","unresolved":false,"context_lines":[{"line_number":711,"context_line":"        LOG.error(_LE(command.__doc__) % {\u0027prog\u0027: command.__name__})  # noqa"},{"line_number":712,"context_line":"        sys.exit(\"ERROR: %s\" % e)"},{"line_number":713,"context_line":"    except ValueError as e:"},{"line_number":714,"context_line":"        LOG.error(_LE(command.__doc__) % {\u0027prog\u0027: command.__name__})  # noqa"},{"line_number":715,"context_line":"        sys.exit(\"ERROR: %s\" % e)"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5a890539_146923be","line":714,"updated":"2014-11-13 16:14:38.000000000","message":"and this one too.","commit_id":"3632d94604acf54a2207cd61414caf7adbdac400"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"9890dcf95664de089528fce1f370af3afa11af38","unresolved":false,"context_lines":[{"line_number":67,"context_line":"               help\u003d(\"Pass in your authentication token if you have \""},{"line_number":68,"context_line":"                     \"one. This is the token used for the slave.\")),"},{"line_number":69,"context_line":"    cfg.ListOpt(\u0027args\u0027,"},{"line_number":70,"context_line":"                positional\u003dTrue,"},{"line_number":71,"context_line":"                help\u003d\"arguments for the command\"),"},{"line_number":72,"context_line":"    cfg.StrOpt(\u0027command\u0027,"},{"line_number":73,"context_line":"               positional\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a890539_7d4407b7","line":70,"updated":"2014-11-13 18:37:03.000000000","message":"Since we made \u0027args\u0027 a positional arg, shouldn\u0027t we move this after \u0027command\u0027, which also another positional arg? I feel that\u0027d be more intuitive like \"replicator.py \u003ccommand\u003e \u003cargs\u003e\" instead of \"replicator.py  \u003cargs\u003e command\u003e\" ?\n\nPlease also look at my comment on this PS about an oslo-config bug with positional args.","commit_id":"96d2a6afac35162f316c0de096d98d94bb5a6654"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"6211f4e415624cc962682c486efcaebab9226aab","unresolved":false,"context_lines":[{"line_number":67,"context_line":"               help\u003d(\"Pass in your authentication token if you have \""},{"line_number":68,"context_line":"                     \"one. This is the token used for the slave.\")),"},{"line_number":69,"context_line":"    cfg.ListOpt(\u0027args\u0027,"},{"line_number":70,"context_line":"                positional\u003dTrue,"},{"line_number":71,"context_line":"                help\u003d\"arguments for the command\"),"},{"line_number":72,"context_line":"    cfg.StrOpt(\u0027command\u0027,"},{"line_number":73,"context_line":"               positional\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a890539_c09c3012","line":70,"in_reply_to":"5a890539_7d4407b7","updated":"2014-11-13 18:47:05.000000000","message":"yeah, you\u0027re right.","commit_id":"96d2a6afac35162f316c0de096d98d94bb5a6654"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"ae3552bfbc4937bf2ac51f5776e5fd8342850722","unresolved":false,"context_lines":[{"line_number":43,"context_line":"# NOTE: positional arguments \u003cargs\u003e will be parsed before \u003ccommand\u003e until"},{"line_number":44,"context_line":"# this bug is corrected https://bugs.launchpad.net/oslo.config/+bug/1392428"},{"line_number":45,"context_line":"cli_opts \u003d ["},{"line_number":46,"context_line":"    cfg.StrOpt(\u0027chunksize\u0027,"},{"line_number":47,"context_line":"               short\u003d\u0027c\u0027,"},{"line_number":48,"context_line":"               default\u003d65536,"},{"line_number":49,"context_line":"               help\u003d\"Amount of data to transfer per HTTP write.\"),"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a930d6b_6fbd6468","line":46,"updated":"2015-01-22 15:07:44.000000000","message":"Would IntOpt be a better choice?","commit_id":"dc84143f1053d26eef1e039fb2a3c90bf9be3bd8"}]}
