)]}'
{"etc/object-server.conf-sample":[{"author":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"change_message_id":"eaf5a8457e72388cb1b3d2184b3dc7c1c1827f10","unresolved":false,"context_lines":[{"line_number":477,"context_line":"# it is safer to put this after healthcheck."},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"# TODO: think of the daemon name, perhaps we may want to make it as"},{"line_number":480,"context_line":"# index-server?"},{"line_number":481,"context_line":"[object-rpcmanager]"},{"line_number":482,"context_line":"# TODO: check if we could configure kinds of log things (e.g. log_name)"},{"line_number":483,"context_line":"volcheck \u003d /usr/local/bin/swift-losf-volume-check"}],"source_content_type":"application/octet-stream","patch_set":12,"id":"dfbec78f_24a859d9","line":480,"updated":"2019-05-13 11:13:17.000000000","message":"Agree that something like index-server might make its role obvious. We can change it later, as you prefer","commit_id":"9d980e2a11f359338e27da74893546447db8c032"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"91598cb7b6c7394d3283ceed61c332d4ebf5343c","unresolved":false,"context_lines":[{"line_number":477,"context_line":"# it is safer to put this after healthcheck."},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"# TODO: think of the daemon name, perhaps we may want to make it as"},{"line_number":480,"context_line":"# index-server?"},{"line_number":481,"context_line":"[object-rpcmanager]"},{"line_number":482,"context_line":"# TODO: check if we could configure kinds of log things (e.g. log_name)"},{"line_number":483,"context_line":"volcheck \u003d /usr/local/bin/swift-losf-volume-check"}],"source_content_type":"application/octet-stream","patch_set":12,"id":"dfbec78f_9295b935","line":480,"in_reply_to":"dfbec78f_24a859d9","updated":"2019-05-14 05:42:02.000000000","message":"OK, will do.","commit_id":"9d980e2a11f359338e27da74893546447db8c032"}],"requirements.txt":[{"author":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"change_message_id":"eaf5a8457e72388cb1b3d2184b3dc7c1c1827f10","unresolved":false,"context_lines":[{"line_number":19,"context_line":"# grpcio will fail to work with eventlet starting with 1.3.5."},{"line_number":20,"context_line":"# see this for a similar issue with gevent: https://github.com/grpc/grpc/issues/4629 and https://github.com/gevent/gevent/issues/786"},{"line_number":21,"context_line":"# don\u0027t use eventlet for the object-server ?"},{"line_number":22,"context_line":"grpcio\u003e\u003d1.10.0"},{"line_number":23,"context_line":"fusepy\u003e\u003d2.0.4"},{"line_number":24,"context_line":"protobuf"}],"source_content_type":"text/plain","patch_set":12,"id":"dfbec78f_4486ad68","line":22,"updated":"2019-05-13 11:13:17.000000000","message":"Hmm I\u0027m surprised it worked with that version, I have seen hangs with anything \u003e\u003d 1.3.5 (so 1.3.3 is the latest version to use, 1.3.4 does not exist)","commit_id":"9d980e2a11f359338e27da74893546447db8c032"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"91598cb7b6c7394d3283ceed61c332d4ebf5343c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"# grpcio will fail to work with eventlet starting with 1.3.5."},{"line_number":20,"context_line":"# see this for a similar issue with gevent: https://github.com/grpc/grpc/issues/4629 and https://github.com/gevent/gevent/issues/786"},{"line_number":21,"context_line":"# don\u0027t use eventlet for the object-server ?"},{"line_number":22,"context_line":"grpcio\u003e\u003d1.10.0"},{"line_number":23,"context_line":"fusepy\u003e\u003d2.0.4"},{"line_number":24,"context_line":"protobuf"}],"source_content_type":"text/plain","patch_set":12,"id":"dfbec78f_b2a9dd7c","line":22,"in_reply_to":"dfbec78f_4486ad68","updated":"2019-05-14 05:42:02.000000000","message":"As I commented in the patch you tried to pin it, we may dig more why the version doesn\u0027t work (or even working with \u003e\u003d1.10.0)\n\nLooking at the issue (https://github.com/grpc/grpc/issues/4629), monkey patching may resolve the problem that the monkey patch retrieve the control of async io from future under eventlet (and gevent) and IIRC Swift servers are always patch the events in wsgi servers [1] that implemented at [2].\n\nSo if we could have where the grpc request stacks, we could make sure the request would be actually monkey patched by eventlet (or used as native future async io)\n\n1: https://github.com/openstack/swift/blob/master/swift/common/wsgi.py#L1047\n\n2: https://github.com/openstack/swift/blob/master/swift/common/utils.py#L535-L544","commit_id":"9d980e2a11f359338e27da74893546447db8c032"},{"author":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"change_message_id":"eaf5a8457e72388cb1b3d2184b3dc7c1c1827f10","unresolved":false,"context_lines":[{"line_number":21,"context_line":"# don\u0027t use eventlet for the object-server ?"},{"line_number":22,"context_line":"grpcio\u003e\u003d1.10.0"},{"line_number":23,"context_line":"fusepy\u003e\u003d2.0.4"},{"line_number":24,"context_line":"protobuf"}],"source_content_type":"text/plain","patch_set":12,"id":"dfbec78f_648bb16d","line":24,"updated":"2019-05-13 11:13:17.000000000","message":"At some point we\u0027ll want to pin the version","commit_id":"9d980e2a11f359338e27da74893546447db8c032"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"91598cb7b6c7394d3283ceed61c332d4ebf5343c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"# don\u0027t use eventlet for the object-server ?"},{"line_number":22,"context_line":"grpcio\u003e\u003d1.10.0"},{"line_number":23,"context_line":"fusepy\u003e\u003d2.0.4"},{"line_number":24,"context_line":"protobuf"}],"source_content_type":"text/plain","patch_set":12,"id":"dfbec78f_b2fa3d40","line":24,"in_reply_to":"dfbec78f_648bb16d","updated":"2019-05-14 05:42:02.000000000","message":"OIC. please make the patch if you prefer to pin.","commit_id":"9d980e2a11f359338e27da74893546447db8c032"}],"setup.cfg":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"f409b709026d4190d7f442637d5b392bf837a667","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    bin/swift-ring-composer"},{"line_number":66,"context_line":"    bin/swift-object-rpcmanager"},{"line_number":67,"context_line":"    bin/swift-losf-volume-check"},{"line_number":68,"context_line":"    # Note that we MUST call make file before setup to garantee"},{"line_number":69,"context_line":"    # the swift-rpc-losf binary exists, so uncomment for now"},{"line_number":70,"context_line":"    # because *NOT* all tests doesn\u0027t build the module everytime."},{"line_number":71,"context_line":"    # bin/swift-rpc-losf"},{"line_number":72,"context_line":"    bin/swift-mount-losf"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"[extras]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"dfbec78f_25fd323a","line":71,"range":{"start_line":68,"start_character":0,"end_line":71,"end_character":24},"updated":"2019-05-04 19:45:06.000000000","message":"OK. it looks like inline comment is not allowed so we should remove those lines simply.","commit_id":"50348ed4135c671ee297f74eb0b85a1c1cb28f8d"}],"test/functional/__init__.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"5e792ffd4bdfae680257e029b1427ab773334ff6","unresolved":false,"context_lines":[{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    with open(swift_conf_file, \u0027w\u0027) as fp:"},{"line_number":491,"context_line":"        conf.write(fp)"},{"line_number":492,"context_line":"    return proxy_conf_file, swift_conf_file"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"# Mapping from possible values of the variable"}],"source_content_type":"text/x-python","patch_set":9,"id":"dfbec78f_cb0d4538","line":492,"updated":"2019-05-04 22:24:16.000000000","message":"do we think someone is going to need to start the rpc manager?  I\u0027m not sure how \"in-process\" that is going to be :\\","commit_id":"029c0f93d286fc021da3b3c39c2f231bcfcd9e42"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"f595032a060a8628cbb67fe03b607e3ff67ff279","unresolved":false,"context_lines":[{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    with open(swift_conf_file, \u0027w\u0027) as fp:"},{"line_number":491,"context_line":"        conf.write(fp)"},{"line_number":492,"context_line":"    return proxy_conf_file, swift_conf_file"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"# Mapping from possible values of the variable"}],"source_content_type":"text/x-python","patch_set":9,"id":"dfbec78f_ab0ed1e2","line":492,"in_reply_to":"dfbec78f_cb0d4538","updated":"2019-05-04 23:10:39.000000000","message":"Oh I see. And we won\u0027t need this change in the future because we\u0027re moving to saio setup vm, thanks for heads up.","commit_id":"029c0f93d286fc021da3b3c39c2f231bcfcd9e42"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"305cb1345d0260d60790c0436a8894f5348dc5b8","unresolved":false,"context_lines":[{"line_number":459,"context_line":"    return test_conf_file, swift_conf_file"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"def _load_losf_as_default_policy(proxy_conf_file, swift_conf_file, **kwargs):"},{"line_number":463,"context_line":"    \"\"\""},{"line_number":464,"context_line":"    Override swift.conf [storage-policy:0] section to use REPL LOSF policy."},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    :param proxy_conf_file: Source proxy conf filename"},{"line_number":467,"context_line":"    :param swift_conf_file: Source swift conf filename"},{"line_number":468,"context_line":"    :returns: Tuple of paths to the proxy conf file and swift conf file to use"},{"line_number":469,"context_line":"    \"\"\""},{"line_number":470,"context_line":"    _debug(\u0027Setting configuration for default LOSF policy\u0027)"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    conf \u003d ConfigParser()"},{"line_number":473,"context_line":"    conf.read(swift_conf_file)"},{"line_number":474,"context_line":"    # remove existing policy sections that came with swift.conf-sample"},{"line_number":475,"context_line":"    for section in list(conf.sections()):"},{"line_number":476,"context_line":"        if section.startswith(\u0027storage-policy\u0027):"},{"line_number":477,"context_line":"            conf.remove_section(section)"},{"line_number":478,"context_line":"    # add new policy 0 section for an EC policy"},{"line_number":479,"context_line":"    conf.add_section(\u0027storage-policy:0\u0027)"},{"line_number":480,"context_line":"    ec_policy_spec \u003d {"},{"line_number":481,"context_line":"        \u0027name\u0027: \u0027losf-test\u0027,"},{"line_number":482,"context_line":"        \u0027policy_type\u0027: \u0027replication\u0027,"},{"line_number":483,"context_line":"        \u0027diskfile_module\u0027: \u0027egg:swift#replication.kv\u0027,"},{"line_number":484,"context_line":"        \u0027default\u0027: True"},{"line_number":485,"context_line":"    }"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    for k, v in ec_policy_spec.items():"},{"line_number":488,"context_line":"        conf.set(\u0027storage-policy:0\u0027, k, str(v))"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    with open(swift_conf_file, \u0027w\u0027) as fp:"},{"line_number":491,"context_line":"        conf.write(fp)"},{"line_number":492,"context_line":"    return proxy_conf_file, swift_conf_file"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":""},{"line_number":495,"context_line":"# Mapping from possible values of the variable"}],"source_content_type":"text/x-python","patch_set":10,"id":"dfbec78f_cbe1c500","line":492,"range":{"start_line":462,"start_character":0,"end_line":492,"end_character":43},"updated":"2019-05-04 23:15:37.000000000","message":"Still need to address Clay\u0027s comment. Probably we don\u0027t need those change in this file.","commit_id":"e35399ac76c2012da8d2cf83c4128ed9038cba29"}]}
