)]}'
{"tempest/common/validation_resources.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        creds \u003d auth.get_credentials(\u0027http://mycloud/identity/v3\u0027,"},{"line_number":55,"context_line":"                                     username\u003d\u0027me\u0027, project_name\u003d\u0027me\u0027,"},{"line_number":56,"context_line":"                                     password\u003d\u0027secret\u0027, domain_name\u003d\u0027Default\u0027)"},{"line_number":57,"context_line":"        os \u003d clients.ServiceClients(creds, \u0027http://mycloud/identity/v3\u0027)"},{"line_number":58,"context_line":"        # Security group for IPv4 tests"},{"line_number":59,"context_line":"        sg4 \u003d vr.create_ssh_security_group(os, add_rule\u003dTrue)"},{"line_number":60,"context_line":"        # Security group for IPv6 tests"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_c6de126c","line":57,"range":{"start_line":57,"start_character":8,"end_line":57,"end_character":10},"updated":"2017-08-14 02:15:35.000000000","message":"clients?","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"1eb97178b0b2790078a47b42cb3ea5e415715895","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        creds \u003d auth.get_credentials(\u0027http://mycloud/identity/v3\u0027,"},{"line_number":55,"context_line":"                                     username\u003d\u0027me\u0027, project_name\u003d\u0027me\u0027,"},{"line_number":56,"context_line":"                                     password\u003d\u0027secret\u0027, domain_name\u003d\u0027Default\u0027)"},{"line_number":57,"context_line":"        os \u003d clients.ServiceClients(creds, \u0027http://mycloud/identity/v3\u0027)"},{"line_number":58,"context_line":"        # Security group for IPv4 tests"},{"line_number":59,"context_line":"        sg4 \u003d vr.create_ssh_security_group(os, add_rule\u003dTrue)"},{"line_number":60,"context_line":"        # Security group for IPv6 tests"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_c95e1e43","line":57,"range":{"start_line":57,"start_character":8,"end_line":57,"end_character":10},"in_reply_to":"9f436f4f_09d426bc","updated":"2017-08-14 08:44:01.000000000","message":"oh i c, I\u0027m ok with \u0027os\u0027","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c75cf08e9a2b9e3a90deb89c6ac0d5eb982ca518","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        creds \u003d auth.get_credentials(\u0027http://mycloud/identity/v3\u0027,"},{"line_number":55,"context_line":"                                     username\u003d\u0027me\u0027, project_name\u003d\u0027me\u0027,"},{"line_number":56,"context_line":"                                     password\u003d\u0027secret\u0027, domain_name\u003d\u0027Default\u0027)"},{"line_number":57,"context_line":"        os \u003d clients.ServiceClients(creds, \u0027http://mycloud/identity/v3\u0027)"},{"line_number":58,"context_line":"        # Security group for IPv4 tests"},{"line_number":59,"context_line":"        sg4 \u003d vr.create_ssh_security_group(os, add_rule\u003dTrue)"},{"line_number":60,"context_line":"        # Security group for IPv6 tests"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_09d426bc","line":57,"range":{"start_line":57,"start_character":8,"end_line":57,"end_character":10},"in_reply_to":"9f436f4f_c6de126c","updated":"2017-08-14 08:38:48.000000000","message":"This was deliberate. While the method argument is called clients, I didn\u0027t want to use clients for the variable name, since clients is also a module name and the variable name may override the module import in people\u0027s code.\n\nI could go for os_clients or my_clients if you prefer, but I\u0027d rather not re-spin only for this. If there are no other comments I can fix it on top if that\u0027s fine with you.","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                                     password\u003d\u0027secret\u0027, domain_name\u003d\u0027Default\u0027)"},{"line_number":57,"context_line":"        os \u003d clients.ServiceClients(creds, \u0027http://mycloud/identity/v3\u0027)"},{"line_number":58,"context_line":"        # Security group for IPv4 tests"},{"line_number":59,"context_line":"        sg4 \u003d vr.create_ssh_security_group(os, add_rule\u003dTrue)"},{"line_number":60,"context_line":"        # Security group for IPv6 tests"},{"line_number":61,"context_line":"        sg6 \u003d vr.create_ssh_security_group(os, ethertype\u003d\u0027IPv6\u0027, add_rule\u003dTrue)"},{"line_number":62,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_46d46248","line":59,"range":{"start_line":59,"start_character":43,"end_line":59,"end_character":45},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        # Security group for IPv4 tests"},{"line_number":59,"context_line":"        sg4 \u003d vr.create_ssh_security_group(os, add_rule\u003dTrue)"},{"line_number":60,"context_line":"        # Security group for IPv6 tests"},{"line_number":61,"context_line":"        sg6 \u003d vr.create_ssh_security_group(os, ethertype\u003d\u0027IPv6\u0027, add_rule\u003dTrue)"},{"line_number":62,"context_line":"    \"\"\""},{"line_number":63,"context_line":"    network_service \u003d _network_service(clients, use_neutron)"},{"line_number":64,"context_line":"    security_groups_client \u003d network_service.SecurityGroupsClient()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_26d95e7e","line":61,"range":{"start_line":61,"start_character":43,"end_line":61,"end_character":45},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        creds \u003d auth.get_credentials(\u0027http://mycloud/identity/v3\u0027,"},{"line_number":143,"context_line":"                                     username\u003d\u0027me\u0027, project_name\u003d\u0027me\u0027,"},{"line_number":144,"context_line":"                                     password\u003d\u0027secret\u0027, domain_name\u003d\u0027Default\u0027)"},{"line_number":145,"context_line":"        os \u003d clients.ServiceClients(creds, \u0027http://mycloud/identity/v3\u0027)"},{"line_number":146,"context_line":"        # Request keypair and floating IP"},{"line_number":147,"context_line":"        resources \u003d dict(keypair\u003dTrue, security_group\u003dFalse,"},{"line_number":148,"context_line":"                         security_group_rules\u003dFalse, floating_ip\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_66bac60a","line":145,"range":{"start_line":145,"start_character":8,"end_line":145,"end_character":10},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        resources \u003d dict(keypair\u003dTrue, security_group\u003dFalse,"},{"line_number":148,"context_line":"                         security_group_rules\u003dFalse, floating_ip\u003dTrue)"},{"line_number":149,"context_line":"        resources \u003d vr.create_validation_resources("},{"line_number":150,"context_line":"            os, use_neutron\u003dTrue,"},{"line_number":151,"context_line":"            floating_network_id\u003d\u00274240E68E-23DA-4C82-AC34-9FEFAA24521C\u0027,"},{"line_number":152,"context_line":"            **resources)"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_463902a2","line":150,"range":{"start_line":150,"start_character":12,"end_line":150,"end_character":14},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        LOG.debug(\"Validation resource key %s created\", keypair_name)"},{"line_number":165,"context_line":"    if security_group:"},{"line_number":166,"context_line":"        validation_data[\u0027security_group\u0027] \u003d create_ssh_security_group("},{"line_number":167,"context_line":"            clients, security_group_rules, use_neutron\u003duse_neutron,"},{"line_number":168,"context_line":"            ethertype\u003dethertype)"},{"line_number":169,"context_line":"    if floating_ip:"},{"line_number":170,"context_line":"        floating_ip_client \u003d _network_service("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_067c1a70","line":167,"range":{"start_line":167,"start_character":21,"end_line":167,"end_character":41},"updated":"2017-08-14 02:15:35.000000000","message":"here seems \"add_rule\u003dsecurity_group_rules\" will be more readable","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c75cf08e9a2b9e3a90deb89c6ac0d5eb982ca518","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        LOG.debug(\"Validation resource key %s created\", keypair_name)"},{"line_number":165,"context_line":"    if security_group:"},{"line_number":166,"context_line":"        validation_data[\u0027security_group\u0027] \u003d create_ssh_security_group("},{"line_number":167,"context_line":"            clients, security_group_rules, use_neutron\u003duse_neutron,"},{"line_number":168,"context_line":"            ethertype\u003dethertype)"},{"line_number":169,"context_line":"    if floating_ip:"},{"line_number":170,"context_line":"        floating_ip_client \u003d _network_service("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_89dff6d4","line":167,"range":{"start_line":167,"start_character":21,"end_line":167,"end_character":41},"in_reply_to":"9f436f4f_067c1a70","updated":"2017-08-14 08:38:48.000000000","message":"yeah good point","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    :param clients: Instance of `tempest.lib.services.clients.ServiceClients`"},{"line_number":201,"context_line":"        or of a subclass of it. Resources are provisioned using clients from"},{"line_number":202,"context_line":"        `clients`."},{"line_number":203,"context_line":"    :param keypair: A dictionary with the keypair to be deleted. Defaults to"},{"line_number":204,"context_line":"        None."},{"line_number":205,"context_line":"    :param floating_ip: A dictionary with the floating_ip to be deleted."},{"line_number":206,"context_line":"        Defaults to None."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_c66bb2b4","line":203,"range":{"start_line":203,"start_character":20,"end_line":203,"end_character":32},"updated":"2017-08-14 02:15:35.000000000","message":"is keypair a dictionary?","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"78076578e47ebd3258d66c1c294fec352ee71d81","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    :param clients: Instance of `tempest.lib.services.clients.ServiceClients`"},{"line_number":201,"context_line":"        or of a subclass of it. Resources are provisioned using clients from"},{"line_number":202,"context_line":"        `clients`."},{"line_number":203,"context_line":"    :param keypair: A dictionary with the keypair to be deleted. Defaults to"},{"line_number":204,"context_line":"        None."},{"line_number":205,"context_line":"    :param floating_ip: A dictionary with the floating_ip to be deleted."},{"line_number":206,"context_line":"        Defaults to None."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_86748aff","line":203,"range":{"start_line":203,"start_character":20,"end_line":203,"end_character":32},"in_reply_to":"9f436f4f_c66bb2b4","updated":"2017-08-14 02:39:46.000000000","message":"my misunderstand, pls ignore this","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        `clients`."},{"line_number":203,"context_line":"    :param keypair: A dictionary with the keypair to be deleted. Defaults to"},{"line_number":204,"context_line":"        None."},{"line_number":205,"context_line":"    :param floating_ip: A dictionary with the floating_ip to be deleted."},{"line_number":206,"context_line":"        Defaults to None."},{"line_number":207,"context_line":"    :param security_group: A dictionary with the security_group to be deleted."},{"line_number":208,"context_line":"        Defaults to None."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_86612ad6","line":205,"range":{"start_line":205,"start_character":24,"end_line":205,"end_character":36},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"78076578e47ebd3258d66c1c294fec352ee71d81","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        `clients`."},{"line_number":203,"context_line":"    :param keypair: A dictionary with the keypair to be deleted. Defaults to"},{"line_number":204,"context_line":"        None."},{"line_number":205,"context_line":"    :param floating_ip: A dictionary with the floating_ip to be deleted."},{"line_number":206,"context_line":"        Defaults to None."},{"line_number":207,"context_line":"    :param security_group: A dictionary with the security_group to be deleted."},{"line_number":208,"context_line":"        Defaults to None."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_6671a60c","line":205,"range":{"start_line":205,"start_character":24,"end_line":205,"end_character":36},"in_reply_to":"9f436f4f_86612ad6","updated":"2017-08-14 02:39:46.000000000","message":"my misunderstand, pls ignore this","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        None."},{"line_number":205,"context_line":"    :param floating_ip: A dictionary with the floating_ip to be deleted."},{"line_number":206,"context_line":"        Defaults to None."},{"line_number":207,"context_line":"    :param security_group: A dictionary with the security_group to be deleted."},{"line_number":208,"context_line":"        Defaults to None."},{"line_number":209,"context_line":"    :param use_neutron: When True resources are provisioned via neutron, when"},{"line_number":210,"context_line":"        False resources are provisioned via nova."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_665e4613","line":207,"range":{"start_line":207,"start_character":27,"end_line":207,"end_character":39},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"78076578e47ebd3258d66c1c294fec352ee71d81","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        None."},{"line_number":205,"context_line":"    :param floating_ip: A dictionary with the floating_ip to be deleted."},{"line_number":206,"context_line":"        Defaults to None."},{"line_number":207,"context_line":"    :param security_group: A dictionary with the security_group to be deleted."},{"line_number":208,"context_line":"        Defaults to None."},{"line_number":209,"context_line":"    :param use_neutron: When True resources are provisioned via neutron, when"},{"line_number":210,"context_line":"        False resources are provisioned via nova."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_065ada81","line":207,"range":{"start_line":207,"start_character":27,"end_line":207,"end_character":39},"in_reply_to":"9f436f4f_665e4613","updated":"2017-08-14 02:39:46.000000000","message":"my misunderstand, pls ignore this","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        creds \u003d auth.get_credentials(\u0027http://mycloud/identity/v3\u0027,"},{"line_number":222,"context_line":"                                     username\u003d\u0027me\u0027, project_name\u003d\u0027me\u0027,"},{"line_number":223,"context_line":"                                     password\u003d\u0027secret\u0027, domain_name\u003d\u0027Default\u0027)"},{"line_number":224,"context_line":"        os \u003d clients.ServiceClients(creds, \u0027http://mycloud/identity/v3\u0027)"},{"line_number":225,"context_line":"        # Request keypair and floating IP"},{"line_number":226,"context_line":"        resources \u003d dict(keypair\u003dTrue, security_group\u003dFalse,"},{"line_number":227,"context_line":"                         security_group_rules\u003dFalse, floating_ip\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_263efe8b","line":224,"range":{"start_line":224,"start_character":8,"end_line":224,"end_character":10},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        resources \u003d dict(keypair\u003dTrue, security_group\u003dFalse,"},{"line_number":227,"context_line":"                         security_group_rules\u003dFalse, floating_ip\u003dTrue)"},{"line_number":228,"context_line":"        resources \u003d vr.create_validation_resources("},{"line_number":229,"context_line":"            os, validation_resources\u003dresources, use_neutron\u003dTrue,"},{"line_number":230,"context_line":"            floating_network_id\u003d\u00274240E68E-23DA-4C82-AC34-9FEFAA24521C\u0027)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        # Now cleanup the resources"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_e6435612","line":229,"range":{"start_line":229,"start_character":12,"end_line":229,"end_character":14},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8b702be186849282cb6cf03397f70f78bd95c4bc","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        # Now cleanup the resources"},{"line_number":233,"context_line":"        try:"},{"line_number":234,"context_line":"            vr.clear_validation_resources(os, use_neutron\u003dTrue, **resources)"},{"line_number":235,"context_line":"        except Exception as e:"},{"line_number":236,"context_line":"            LOG.exception(\u0027Something went wrong during cleanup, ignoring\u0027)"},{"line_number":237,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_664f6634","line":234,"range":{"start_line":234,"start_character":42,"end_line":234,"end_character":44},"updated":"2017-08-14 02:15:35.000000000","message":"ditto","commit_id":"8ed6d257f35098a6ed0d6914acac836110a0bd16"}],"tempest/test.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"157a659cb9cc4d461f2b07266e61b9e89758c1a7","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                ethertype\u003d\u0027IPv\u0027 + str(CONF.validation.ip_version_for_ssh),"},{"line_number":392,"context_line":"                floating_network_id\u003dCONF.network.public_network_id,"},{"line_number":393,"context_line":"                floating_network_name\u003dCONF.network.floating_network_name,"},{"line_number":394,"context_line":"                **vr)"},{"line_number":395,"context_line":"        else:"},{"line_number":396,"context_line":"            LOG.warning(\"Client manager not found, validation resources not\""},{"line_number":397,"context_line":"                        \" created\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_7e768b72","line":394,"range":{"start_line":394,"start_character":16,"end_line":394,"end_character":20},"updated":"2017-08-16 03:36:07.000000000","message":"nit: hot about to put it directly?  \"**cls.validation_resources\"","commit_id":"8871fca323c109bc232640b2afd79a99ce6a9f86"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"157a659cb9cc4d461f2b07266e61b9e89758c1a7","unresolved":false,"context_lines":[{"line_number":408,"context_line":"                vr \u003d cls.validation_resources"},{"line_number":409,"context_line":"                vresources.clear_validation_resources("},{"line_number":410,"context_line":"                    cls.os_primary,"},{"line_number":411,"context_line":"                    use_neutron\u003dCONF.service_available.neutron, **vr)"},{"line_number":412,"context_line":"                cls.validation_resources \u003d {}"},{"line_number":413,"context_line":"            else:"},{"line_number":414,"context_line":"                LOG.warning(\"Client manager not found, validation resources \""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_fe071bc9","line":411,"range":{"start_line":411,"start_character":64,"end_line":411,"end_character":68},"updated":"2017-08-16 03:36:07.000000000","message":"ditto","commit_id":"8871fca323c109bc232640b2afd79a99ce6a9f86"}]}
