)]}'
{"ironic/conf/xclarity.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e72bf61cdc7cf1eb5d01064d92c6975f59d015f1","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    cfg.StrOpt(\u0027address\u0027,"},{"line_number":21,"context_line":"               help\u003d_(\u0027IP address of the XClarity Controller. \u0027"},{"line_number":22,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":23,"context_line":"                      \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":24,"context_line":"                      \u0027field to use \"xclarity_address\" instead\u0027)),"},{"line_number":25,"context_line":"    cfg.StrOpt(\u0027username\u0027,"},{"line_number":26,"context_line":"               help\u003d_(\u0027Username for the XClarity Controller. \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_8dcf7156","line":23,"range":{"start_line":23,"start_character":30,"end_line":23,"end_character":35},"updated":"2018-04-27 19:20:23.000000000","message":"Realistically it late to deprecate and remove in this cycle. It will need to be in Stein.","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"8e396b5c211784e1c2e06b62d3392ac457a55ba8","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    cfg.StrOpt(\u0027address\u0027,"},{"line_number":21,"context_line":"               help\u003d_(\u0027IP address of the XClarity Controller. \u0027"},{"line_number":22,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":23,"context_line":"                      \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":24,"context_line":"                      \u0027field to use \"xclarity_address\" instead\u0027)),"},{"line_number":25,"context_line":"    cfg.StrOpt(\u0027username\u0027,"},{"line_number":26,"context_line":"               help\u003d_(\u0027Username for the XClarity Controller. \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_70ce6d84","line":23,"range":{"start_line":23,"start_character":30,"end_line":23,"end_character":35},"in_reply_to":"9f6a8fd7_8dcf7156","updated":"2018-04-28 04:00:57.000000000","message":"Done","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e72bf61cdc7cf1eb5d01064d92c6975f59d015f1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    cfg.StrOpt(\u0027username\u0027,"},{"line_number":26,"context_line":"               help\u003d_(\u0027Username for the XClarity Controller. \u0027"},{"line_number":27,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":28,"context_line":"                      \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":29,"context_line":"                      \u0027field to use \"xclarity_username\" instead\u0027)),"},{"line_number":30,"context_line":"    cfg.StrOpt(\u0027password\u0027,"},{"line_number":31,"context_line":"               help\u003d_(\u0027Password for XClarity Controller username. \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_cde569de","line":28,"range":{"start_line":28,"start_character":29,"end_line":28,"end_character":35},"updated":"2018-04-27 19:20:23.000000000","message":"Same as below","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"8e396b5c211784e1c2e06b62d3392ac457a55ba8","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    cfg.StrOpt(\u0027username\u0027,"},{"line_number":26,"context_line":"               help\u003d_(\u0027Username for the XClarity Controller. \u0027"},{"line_number":27,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":28,"context_line":"                      \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":29,"context_line":"                      \u0027field to use \"xclarity_username\" instead\u0027)),"},{"line_number":30,"context_line":"    cfg.StrOpt(\u0027password\u0027,"},{"line_number":31,"context_line":"               help\u003d_(\u0027Password for XClarity Controller username. \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_f09fdd62","line":28,"range":{"start_line":28,"start_character":29,"end_line":28,"end_character":35},"in_reply_to":"9f6a8fd7_cde569de","updated":"2018-04-28 04:00:57.000000000","message":"Done","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e72bf61cdc7cf1eb5d01064d92c6975f59d015f1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                      \u0027field to use \"xclarity_username\" instead\u0027)),"},{"line_number":30,"context_line":"    cfg.StrOpt(\u0027password\u0027,"},{"line_number":31,"context_line":"               help\u003d_(\u0027Password for XClarity Controller username. \u0027"},{"line_number":32,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":33,"context_line":"                      \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_6dc1bd2e","line":33,"range":{"start_line":32,"start_character":24,"end_line":33,"end_character":43},"updated":"2018-04-27 19:20:23.000000000","message":"s/Rocky/Stein/","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"8e396b5c211784e1c2e06b62d3392ac457a55ba8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                      \u0027field to use \"xclarity_username\" instead\u0027)),"},{"line_number":30,"context_line":"    cfg.StrOpt(\u0027password\u0027,"},{"line_number":31,"context_line":"               help\u003d_(\u0027Password for XClarity Controller username. \u0027"},{"line_number":32,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":33,"context_line":"                      \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_10a5b1b5","line":33,"range":{"start_line":32,"start_character":24,"end_line":33,"end_character":43},"in_reply_to":"9f6a8fd7_6dc1bd2e","updated":"2018-04-28 04:00:57.000000000","message":"Done","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e72bf61cdc7cf1eb5d01064d92c6975f59d015f1","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027"},{"line_number":38,"context_line":"                       \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":39,"context_line":"                       \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":40,"context_line":"                       \u0027field to use \"xclarity_port\" instead\u0027)),"},{"line_number":41,"context_line":"]"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_4dd95920","line":39,"range":{"start_line":39,"start_character":32,"end_line":39,"end_character":36},"updated":"2018-04-27 19:20:23.000000000","message":"Same.","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"8e396b5c211784e1c2e06b62d3392ac457a55ba8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027"},{"line_number":38,"context_line":"                       \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":39,"context_line":"                       \u0027in the Rocky release. Please update the driver_info \u0027"},{"line_number":40,"context_line":"                       \u0027field to use \"xclarity_port\" instead\u0027)),"},{"line_number":41,"context_line":"]"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_b0a96591","line":39,"range":{"start_line":39,"start_character":32,"end_line":39,"end_character":36},"in_reply_to":"9f6a8fd7_4dd95920","updated":"2018-04-28 04:00:57.000000000","message":"Done","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"515fa4deced9b020beb4c4ce00e2163860c1f48a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":33,"context_line":"                      \u0027in the Stein release. Please update the driver_info \u0027"},{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027"},{"line_number":38,"context_line":"                       \u0027Configuration here is deprecated and will be removed \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_76ac1c8c","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":23},"updated":"2018-05-07 08:53:52.000000000","message":"May be you could retain the \u0027port\u0027 through config option, (though you can change its name to \u0027xclarity_port\u0027) as normally same port number is used across controllers. It is available as an config option for irmc [1] and ilo drivers [1] https://github.com/openstack/ironic/blob/master/ironic/conf/irmc.py#L43-L47\n[2] https://github.com/openstack/ironic/blob/master/ironic/conf/ilo.py#L24-L26","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":33,"context_line":"                      \u0027in the Stein release. Please update the driver_info \u0027"},{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027"},{"line_number":38,"context_line":"                       \u0027Configuration here is deprecated and will be removed \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_a6cb5d51","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":23},"in_reply_to":"5f7c97a3_76ac1c8c","updated":"2018-05-07 14:17:44.000000000","message":"Thank you for your advice, I\u0027ll retain the \u0027port\u0027 as irmc and ilo drivers.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from ironic.common.i18n import _"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027address\u0027,"},{"line_number":21,"context_line":"               help\u003d_(\u0027IP address of the XClarity Controller. \u0027"},{"line_number":22,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":23,"context_line":"                      \u0027in the Stein release. Please update the driver_info \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3f0e623b","line":20,"range":{"start_line":20,"start_character":16,"end_line":20,"end_character":23},"updated":"2018-05-08 09:08:49.000000000","message":"We cannot change the name of the deprecated parameter. It should remain \u0027manager_ip\u0027.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5f79207468b66b95f4292e6e0a8943289753e4d","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from ironic.common.i18n import _"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027address\u0027,"},{"line_number":21,"context_line":"               help\u003d_(\u0027IP address of the XClarity Controller. \u0027"},{"line_number":22,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":23,"context_line":"                      \u0027in the Stein release. Please update the driver_info \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_91bbe6c2","line":20,"range":{"start_line":20,"start_character":16,"end_line":20,"end_character":23},"in_reply_to":"5f7c97a3_3f0e623b","updated":"2018-05-08 13:21:11.000000000","message":"++","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from ironic.common.i18n import _"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027address\u0027,"},{"line_number":21,"context_line":"               help\u003d_(\u0027IP address of the XClarity Controller. \u0027"},{"line_number":22,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":23,"context_line":"                      \u0027in the Stein release. Please update the driver_info \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3fd419bd","line":20,"range":{"start_line":20,"start_character":16,"end_line":20,"end_character":23},"in_reply_to":"5f7c97a3_3f0e623b","updated":"2018-05-09 05:41:05.000000000","message":"I\u0027ll change it back to \u0027manager_ip\u0027. And for consistency, I\u0027ll change \u0027xclarity_address\u0027 in driver_info to \u0027xclarity_manager_ip\u0027 too.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from ironic.common.i18n import _"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027address\u0027,"},{"line_number":21,"context_line":"               help\u003d_(\u0027IP address of the XClarity Controller. \u0027"},{"line_number":22,"context_line":"                      \u0027Configuration here is deprecated and will be removed \u0027"},{"line_number":23,"context_line":"                      \u0027in the Stein release. Please update the driver_info \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_ffd541b8","line":20,"range":{"start_line":20,"start_character":16,"end_line":20,"end_character":23},"in_reply_to":"5f7c97a3_91bbe6c2","updated":"2018-05-09 05:41:05.000000000","message":"Done","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027)),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_dfec0e2b","line":37,"range":{"start_line":37,"start_character":64,"end_line":37,"end_character":72},"updated":"2018-05-08 09:08:49.000000000","message":"Why username? Does it depend on user that is connecting to the XClarity Controller?","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027)),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_df03a541","line":37,"range":{"start_line":37,"start_character":64,"end_line":37,"end_character":72},"in_reply_to":"5f7c97a3_91e0c6ce","updated":"2018-05-09 05:41:05.000000000","message":"Done","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027)),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3fedf98a","line":37,"range":{"start_line":37,"start_character":64,"end_line":37,"end_character":72},"in_reply_to":"5f7c97a3_dfec0e2b","updated":"2018-05-09 05:41:05.000000000","message":"It doesn\u0027t depend on user, I\u0027ll change it to connection.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5f79207468b66b95f4292e6e0a8943289753e4d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027field to use \"xclarity_password\" instead\u0027)),"},{"line_number":35,"context_line":"    cfg.PortOpt(\u0027port\u0027,"},{"line_number":36,"context_line":"                default\u003d443,"},{"line_number":37,"context_line":"                help\u003d_(\u0027Port to be used for XClarity Controller username. \u0027)),"},{"line_number":38,"context_line":"]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_91e0c6ce","line":37,"range":{"start_line":37,"start_character":64,"end_line":37,"end_character":72},"in_reply_to":"5f7c97a3_dfec0e2b","updated":"2018-05-08 13:21:11.000000000","message":"s/username/connection/","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"}],"ironic/drivers/fake.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e72bf61cdc7cf1eb5d01064d92c6975f59d015f1","unresolved":false,"context_lines":[{"line_number":365,"context_line":"            \u0027power\u0027: \u0027oneview\u0027"},{"line_number":366,"context_line":"        }"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"class FakeXClarityDriver(base.BaseDriver):"},{"line_number":370,"context_line":"    \"\"\"Fake XClarity driver.\"\"\""},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    def __init__(self):"},{"line_number":373,"context_line":"        if not importutils.try_import(\u0027xclarity_client.client\u0027):"},{"line_number":374,"context_line":"            raise exception.DriverLoadError("},{"line_number":375,"context_line":"                driver\u003dself.__class__.__name__,"},{"line_number":376,"context_line":"                reason\u003d_(\u0027Unable to import python-xclarityclient library\u0027))"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        self.power \u003d xclarity_power.XClarityPower()"},{"line_number":379,"context_line":"        self.management \u003d xclarity_mgmt.XClarityManagement()"},{"line_number":380,"context_line":"        self.boot \u003d fake.FakeBoot()"},{"line_number":381,"context_line":"        self.deploy \u003d fake.FakeDeploy()"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    @classmethod"},{"line_number":384,"context_line":"    def to_hardware_type(cls):"},{"line_number":385,"context_line":"        return \u0027fake-hardware\u0027, {"},{"line_number":386,"context_line":"            \u0027management\u0027: \u0027xclarity\u0027,"},{"line_number":387,"context_line":"            \u0027power\u0027: \u0027xclarity\u0027,"},{"line_number":388,"context_line":"            \u0027boot\u0027: \u0027fake\u0027,"},{"line_number":389,"context_line":"            \u0027deploy\u0027: \u0027fake\u0027,"},{"line_number":390,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_ad235505","line":390,"range":{"start_line":368,"start_character":0,"end_line":390,"end_character":9},"updated":"2018-04-27 19:20:23.000000000","message":"I\u0027m confused, why do we need this, why has this been added?  All classic drivers, which this is constructing, are deprecated and slated for removal.","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"8e396b5c211784e1c2e06b62d3392ac457a55ba8","unresolved":false,"context_lines":[{"line_number":365,"context_line":"            \u0027power\u0027: \u0027oneview\u0027"},{"line_number":366,"context_line":"        }"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"class FakeXClarityDriver(base.BaseDriver):"},{"line_number":370,"context_line":"    \"\"\"Fake XClarity driver.\"\"\""},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    def __init__(self):"},{"line_number":373,"context_line":"        if not importutils.try_import(\u0027xclarity_client.client\u0027):"},{"line_number":374,"context_line":"            raise exception.DriverLoadError("},{"line_number":375,"context_line":"                driver\u003dself.__class__.__name__,"},{"line_number":376,"context_line":"                reason\u003d_(\u0027Unable to import python-xclarityclient library\u0027))"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        self.power \u003d xclarity_power.XClarityPower()"},{"line_number":379,"context_line":"        self.management \u003d xclarity_mgmt.XClarityManagement()"},{"line_number":380,"context_line":"        self.boot \u003d fake.FakeBoot()"},{"line_number":381,"context_line":"        self.deploy \u003d fake.FakeDeploy()"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    @classmethod"},{"line_number":384,"context_line":"    def to_hardware_type(cls):"},{"line_number":385,"context_line":"        return \u0027fake-hardware\u0027, {"},{"line_number":386,"context_line":"            \u0027management\u0027: \u0027xclarity\u0027,"},{"line_number":387,"context_line":"            \u0027power\u0027: \u0027xclarity\u0027,"},{"line_number":388,"context_line":"            \u0027boot\u0027: \u0027fake\u0027,"},{"line_number":389,"context_line":"            \u0027deploy\u0027: \u0027fake\u0027,"},{"line_number":390,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_309d5566","line":390,"range":{"start_line":368,"start_character":0,"end_line":390,"end_character":9},"in_reply_to":"9f6a8fd7_ad235505","updated":"2018-04-28 04:00:57.000000000","message":"I referenced other classic drivers and find that they have such in \"fake.py\", so I added this. Since these are deprecated, I\u0027ll remove it in the next patch.","commit_id":"30badac79d4c59d1e099fc3976970561a8c56cb4"}],"ironic/drivers/modules/xclarity/common.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"31a67c0374e49b54d95e54dca8034c0a8f7c31a8","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d driver_info.get(\u0027xclarity_port\u0027, 443)"},{"line_number":75,"context_line":"    port \u003d parsed_driver_info[\u0027xclarity_port\u0027]"},{"line_number":76,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d utils.validate_network_port("},{"line_number":77,"context_line":"        port, \u0027xclarity_port\u0027)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    if error_msgs:"},{"line_number":80,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_b7e1882d","line":77,"range":{"start_line":77,"start_character":15,"end_line":77,"end_character":28},"updated":"2018-04-26 10:20:35.000000000","message":"driver_info[\u0027xclarity_port\u0027]","commit_id":"8bf5e25df1dd4ef2977913abf41ff68e11815110"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"834f4ac60ab9d64bb2f0aefc1fb7f7a310fdb4b4","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d driver_info.get(\u0027xclarity_port\u0027, 443)"},{"line_number":75,"context_line":"    port \u003d parsed_driver_info[\u0027xclarity_port\u0027]"},{"line_number":76,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d utils.validate_network_port("},{"line_number":77,"context_line":"        port, \u0027xclarity_port\u0027)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    if error_msgs:"},{"line_number":80,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_b8e083ce","line":77,"range":{"start_line":77,"start_character":15,"end_line":77,"end_character":28},"in_reply_to":"9f6a8fd7_b7e1882d","updated":"2018-04-27 06:10:33.000000000","message":"Done","commit_id":"8bf5e25df1dd4ef2977913abf41ff68e11815110"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"31a67c0374e49b54d95e54dca8034c0a8f7c31a8","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":98,"context_line":"    try:"},{"line_number":99,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":100,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027],"},{"line_number":101,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027],"},{"line_number":102,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027],"},{"line_number":103,"context_line":"            port\u003ddriver_info[\u0027xclarity_port\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_f7caa06c","line":100,"updated":"2018-04-26 10:20:35.000000000","message":"I don\u0027t think unfortunately it can be done this way, we need to still support the options, but mark them as deprecated, and remove next cycle. here we could use smth like ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.manager_ip","commit_id":"8bf5e25df1dd4ef2977913abf41ff68e11815110"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"834f4ac60ab9d64bb2f0aefc1fb7f7a310fdb4b4","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":98,"context_line":"    try:"},{"line_number":99,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":100,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027],"},{"line_number":101,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027],"},{"line_number":102,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027],"},{"line_number":103,"context_line":"            port\u003ddriver_info[\u0027xclarity_port\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_d8d8d71f","line":100,"in_reply_to":"9f6a8fd7_f7caa06c","updated":"2018-04-27 06:10:33.000000000","message":"Thank you Vladyslav for your suggestion. I will modify the code to still support the options, and mark them as deprecated in the CONF file.","commit_id":"8bf5e25df1dd4ef2977913abf41ff68e11815110"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"515fa4deced9b020beb4c4ce00e2163860c1f48a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \u0027xclarity_username\u0027: _(\"Username for the XClarity Controller \""},{"line_number":34,"context_line":"                           \"with administrator privileges.\"),"},{"line_number":35,"context_line":"    \u0027xclarity_password\u0027: _(\"Password for xclarity_username.\"),"},{"line_number":36,"context_line":"    \u0027xclarity_hardware_id\u0027: _(\"Server Hardware ID managed by XClarity. \"),"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_9647784c","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":25},"updated":"2018-05-07 08:53:52.000000000","message":"As per the spec this should be \u0027xclarity_hostid\u0027\nhttps://specs.openstack.org/openstack/ironic-specs/specs/approved/xclarity-driver.html","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \u0027xclarity_username\u0027: _(\"Username for the XClarity Controller \""},{"line_number":34,"context_line":"                           \"with administrator privileges.\"),"},{"line_number":35,"context_line":"    \u0027xclarity_password\u0027: _(\"Password for xclarity_username.\"),"},{"line_number":36,"context_line":"    \u0027xclarity_hardware_id\u0027: _(\"Server Hardware ID managed by XClarity. \"),"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_c9d9ca83","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":25},"in_reply_to":"5f7c97a3_669ea564","updated":"2018-05-07 14:17:44.000000000","message":"Yeah, I\u0027ll revise the spec.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4cd453d0cc5a4d129a9228a45ad50cc053cde23b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \u0027xclarity_username\u0027: _(\"Username for the XClarity Controller \""},{"line_number":34,"context_line":"                           \"with administrator privileges.\"),"},{"line_number":35,"context_line":"    \u0027xclarity_password\u0027: _(\"Password for xclarity_username.\"),"},{"line_number":36,"context_line":"    \u0027xclarity_hardware_id\u0027: _(\"Server Hardware ID managed by XClarity. \"),"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_669ea564","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":25},"in_reply_to":"5f7c97a3_9647784c","updated":"2018-05-07 13:39:03.000000000","message":"Lets just revise the spec. There has been lots of back and forth on this.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \u0027xclarity_username\u0027: _(\"Username for the XClarity Controller \""},{"line_number":34,"context_line":"                           \"with administrator privileges.\"),"},{"line_number":35,"context_line":"    \u0027xclarity_password\u0027: _(\"Password for xclarity_username.\"),"},{"line_number":36,"context_line":"    \u0027xclarity_hardware_id\u0027: _(\"Server Hardware ID managed by XClarity. \"),"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_a9dc8e74","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":25},"in_reply_to":"5f7c97a3_9647784c","updated":"2018-05-07 14:17:44.000000000","message":"Well, I think we can modify the spec then, since there has been many revisions on this,","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"515fa4deced9b020beb4c4ce00e2163860c1f48a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d utils.validate_network_port("},{"line_number":78,"context_line":"        port, \u0027xclarity_port\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if error_msgs:"},{"line_number":81,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"},{"line_number":82,"context_line":"                 \u0027driver_info:\\n%s\u0027) % \u0027\\n\u0027.join(error_msgs))"},{"line_number":83,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    return parsed_driver_info"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_36d2245e","line":83,"range":{"start_line":80,"start_character":4,"end_line":83,"end_character":50},"updated":"2018-05-07 08:53:52.000000000","message":"For backward compatibility, it should not throw exception in this release if the parameters are missing in driver_info. The parameters may be present in the CONF file. It should be a warning message if parameters are not present in driver_info and are available in CONF file through deprecated configs.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d utils.validate_network_port("},{"line_number":78,"context_line":"        port, \u0027xclarity_port\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if error_msgs:"},{"line_number":81,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"},{"line_number":82,"context_line":"                 \u0027driver_info:\\n%s\u0027) % \u0027\\n\u0027.join(error_msgs))"},{"line_number":83,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    return parsed_driver_info"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_e9dcc647","line":83,"range":{"start_line":80,"start_character":4,"end_line":83,"end_character":50},"in_reply_to":"5f7c97a3_268aed1a","updated":"2018-05-07 14:17:44.000000000","message":"Done","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4cd453d0cc5a4d129a9228a45ad50cc053cde23b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d utils.validate_network_port("},{"line_number":78,"context_line":"        port, \u0027xclarity_port\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if error_msgs:"},{"line_number":81,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"},{"line_number":82,"context_line":"                 \u0027driver_info:\\n%s\u0027) % \u0027\\n\u0027.join(error_msgs))"},{"line_number":83,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    return parsed_driver_info"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_268aed1a","line":83,"range":{"start_line":80,"start_character":4,"end_line":83,"end_character":50},"in_reply_to":"5f7c97a3_36d2245e","updated":"2018-05-07 13:39:03.000000000","message":"++","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    parsed_driver_info[\u0027xclarity_port\u0027] \u003d utils.validate_network_port("},{"line_number":78,"context_line":"        port, \u0027xclarity_port\u0027)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if error_msgs:"},{"line_number":81,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"},{"line_number":82,"context_line":"                 \u0027driver_info:\\n%s\u0027) % \u0027\\n\u0027.join(error_msgs))"},{"line_number":83,"context_line":"        raise exception.InvalidParameterValue(msg)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    return parsed_driver_info"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_29d39e3a","line":83,"range":{"start_line":80,"start_character":4,"end_line":83,"end_character":50},"in_reply_to":"5f7c97a3_36d2245e","updated":"2018-05-07 14:17:44.000000000","message":"I agree with you there should be a warning message if parameters are not in driver_info but in CONF file, and at the same time, since \"xclarity_hardware_id\" is only in driver_info, we should also throw exception when detecting \"xclarity_hardware_id\" isn\u0027t in driver_info. I\u0027ll update the code in the next patch.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"515fa4deced9b020beb4c4ce00e2163860c1f48a","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":99,"context_line":"    try:"},{"line_number":100,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_566560b4","line":101,"range":{"start_line":101,"start_character":15,"end_line":101,"end_character":71},"updated":"2018-05-07 08:53:52.000000000","message":"This will cause KeyError if driver_info does not have \u0027xclarity_address\u0027. It should be:-\n\nip\u003ddriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4cd453d0cc5a4d129a9228a45ad50cc053cde23b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":99,"context_line":"    try:"},{"line_number":100,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_c67a1923","line":101,"range":{"start_line":101,"start_character":15,"end_line":101,"end_character":71},"in_reply_to":"5f7c97a3_566560b4","updated":"2018-05-07 13:39:03.000000000","message":"++","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":99,"context_line":"    try:"},{"line_number":100,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_a9e6ce15","line":101,"range":{"start_line":101,"start_character":15,"end_line":101,"end_character":71},"in_reply_to":"5f7c97a3_566560b4","updated":"2018-05-07 14:17:44.000000000","message":"Done","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":99,"context_line":"    try:"},{"line_number":100,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_c9e30a05","line":101,"range":{"start_line":101,"start_character":15,"end_line":101,"end_character":71},"in_reply_to":"5f7c97a3_c67a1923","updated":"2018-05-07 14:17:44.000000000","message":"Done","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4cd453d0cc5a4d129a9228a45ad50cc053cde23b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    try:"},{"line_number":100,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"},{"line_number":105,"context_line":"            CONF.xclarity.password,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_86742137","line":102,"updated":"2018-05-07 13:39:03.000000000","message":"Same as above.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    try:"},{"line_number":100,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"},{"line_number":105,"context_line":"            CONF.xclarity.password,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_89ed12f1","line":102,"in_reply_to":"5f7c97a3_86742137","updated":"2018-05-07 14:17:44.000000000","message":"Done","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4cd453d0cc5a4d129a9228a45ad50cc053cde23b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"},{"line_number":105,"context_line":"            CONF.xclarity.password,"},{"line_number":106,"context_line":"            port\u003ddriver_info[\u0027xclarity_port\u0027] or CONF.xclarity.port"},{"line_number":107,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_4694c937","line":104,"updated":"2018-05-07 13:39:03.000000000","message":"same as above.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            ip\u003ddriver_info[\u0027xclarity_address\u0027] or CONF.xclarity.address,"},{"line_number":102,"context_line":"            username\u003ddriver_info[\u0027xclarity_username\u0027] or"},{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"},{"line_number":105,"context_line":"            CONF.xclarity.password,"},{"line_number":106,"context_line":"            port\u003ddriver_info[\u0027xclarity_port\u0027] or CONF.xclarity.port"},{"line_number":107,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_29bcfeda","line":104,"in_reply_to":"5f7c97a3_4694c937","updated":"2018-05-07 14:17:44.000000000","message":"Done","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4cd453d0cc5a4d129a9228a45ad50cc053cde23b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"},{"line_number":105,"context_line":"            CONF.xclarity.password,"},{"line_number":106,"context_line":"            port\u003ddriver_info[\u0027xclarity_port\u0027] or CONF.xclarity.port"},{"line_number":107,"context_line":"        )"},{"line_number":108,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":109,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_e698756b","line":106,"updated":"2018-05-07 13:39:03.000000000","message":"same as above.","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            CONF.xclarity.username,"},{"line_number":104,"context_line":"            password\u003ddriver_info[\u0027xclarity_password\u0027] or"},{"line_number":105,"context_line":"            CONF.xclarity.password,"},{"line_number":106,"context_line":"            port\u003ddriver_info[\u0027xclarity_port\u0027] or CONF.xclarity.port"},{"line_number":107,"context_line":"        )"},{"line_number":108,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":109,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_09bb42e2","line":106,"in_reply_to":"5f7c97a3_e698756b","updated":"2018-05-07 14:17:44.000000000","message":"Done","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"515fa4deced9b020beb4c4ce00e2163860c1f48a","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        )"},{"line_number":108,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":109,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""},{"line_number":110,"context_line":"                 \"Error: %(exc)s\"), {\u0027ip\u0027: driver_info[\u0027xclarity_address\u0027],"},{"line_number":111,"context_line":"                                     \u0027exc\u0027: exc})"},{"line_number":112,"context_line":"        raise exception.XClarityError(error\u003dmsg)"},{"line_number":113,"context_line":"    return xclarity_client"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_b6739480","line":110,"range":{"start_line":110,"start_character":43,"end_line":110,"end_character":74},"updated":"2018-05-07 08:53:52.000000000","message":"This may not be available. You may have to specify as\ndriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"1d863a7103f6492d13339602ae98e52fdc33fc72","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        )"},{"line_number":108,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":109,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""},{"line_number":110,"context_line":"                 \"Error: %(exc)s\"), {\u0027ip\u0027: driver_info[\u0027xclarity_address\u0027],"},{"line_number":111,"context_line":"                                     \u0027exc\u0027: exc})"},{"line_number":112,"context_line":"        raise exception.XClarityError(error\u003dmsg)"},{"line_number":113,"context_line":"    return xclarity_client"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_a9cfae7d","line":110,"range":{"start_line":110,"start_character":43,"end_line":110,"end_character":74},"in_reply_to":"5f7c97a3_b6739480","updated":"2018-05-07 14:17:44.000000000","message":"Done","commit_id":"a903a1aef74231a99ad3fde40c8f3d4ee00c80d3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \u0027xclarity_username\u0027: _(\"Username for the XClarity Controller \""},{"line_number":34,"context_line":"                           \"with administrator privileges.\"),"},{"line_number":35,"context_line":"    \u0027xclarity_password\u0027: _(\"Password for xclarity_username.\"),"},{"line_number":36,"context_line":"    \u0027xclarity_hardware_id\u0027: _(\"Server Hardware ID managed by XClarity. \"),"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_5f931ea4","line":36,"range":{"start_line":36,"start_character":70,"end_line":36,"end_character":71},"updated":"2018-05-08 09:08:49.000000000","message":"nit: extra space.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \u0027xclarity_username\u0027: _(\"Username for the XClarity Controller \""},{"line_number":34,"context_line":"                           \"with administrator privileges.\"),"},{"line_number":35,"context_line":"    \u0027xclarity_password\u0027: _(\"Password for xclarity_username.\"),"},{"line_number":36,"context_line":"    \u0027xclarity_hardware_id\u0027: _(\"Server Hardware ID managed by XClarity. \"),"},{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_fffea136","line":36,"range":{"start_line":36,"start_character":70,"end_line":36,"end_character":71},"in_reply_to":"5f7c97a3_5f931ea4","updated":"2018-05-09 05:41:05.000000000","message":"Done","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"},{"line_number":40,"context_line":"    \u0027xclarity_port\u0027: _(\"Port to be used for xclarity_username. Optional\"),"},{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"COMMON_PROPERTIES \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_1fa84675","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":18},"updated":"2018-05-08 09:08:49.000000000","message":"Normally we keep the same name for config param and driver_info property. In config file it is named as \u0027port\u0027. Would it be better to change the name in config file to \u0027xclarity_port\u0027?","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d5f79207468b66b95f4292e6e0a8943289753e4d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"},{"line_number":40,"context_line":"    \u0027xclarity_port\u0027: _(\"Port to be used for xclarity_username. Optional\"),"},{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"COMMON_PROPERTIES \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_71b88ac7","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":18},"in_reply_to":"5f7c97a3_1fa84675","updated":"2018-05-08 13:21:11.000000000","message":"I think it is fine and at this point it is up to the driver implementer.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"},{"line_number":40,"context_line":"    \u0027xclarity_port\u0027: _(\"Port to be used for xclarity_username. Optional\"),"},{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"COMMON_PROPERTIES \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_ff71c1df","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":18},"in_reply_to":"5f7c97a3_1fa84675","updated":"2018-05-09 05:41:05.000000000","message":"We try to keep the names in the same form. So in the driver_info, they all start with \u0027xclarity_\u0027, but in the config file, as they are all in \u0027[xclarity]\u0027 group, so we don\u0027t use the prefix \u0027xclarity_\u0027.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":37,"context_line":"}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPTIONAL_ON_DRIVER_INFO \u003d {"},{"line_number":40,"context_line":"    \u0027xclarity_port\u0027: _(\"Port to be used for xclarity_username. Optional\"),"},{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"COMMON_PROPERTIES \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_1f46fd7d","line":40,"range":{"start_line":40,"start_character":5,"end_line":40,"end_character":18},"in_reply_to":"5f7c97a3_71b88ac7","updated":"2018-05-09 05:41:05.000000000","message":"++","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            # corresponding config names don\u0027t have \u0027xclarity_\u0027 prefix"},{"line_number":77,"context_line":"            parsed_driver_info[param] \u003d str(driver_info.get("},{"line_number":78,"context_line":"                param, CONF.xclarity.get(param[len(\u0027xclarity_\u0027):])))"},{"line_number":79,"context_line":"            if param not in driver_info and\\"},{"line_number":80,"context_line":"                    CONF.xclarity.get(param[len(\u0027xclarity_\u0027):]) !\u003d \u0027None\u0027:"},{"line_number":81,"context_line":"                LOG.warning(\u0027The configuration [xclarity]/%(config)s \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_1a3614e8","line":78,"range":{"start_line":78,"start_character":23,"end_line":78,"end_character":66},"updated":"2018-05-08 09:08:49.000000000","message":"You also need to validate that these values are not None, else the actual client call to controller will fail. Need to throw the exception if the parameter is not present in driver_info and is also not available through config","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            # corresponding config names don\u0027t have \u0027xclarity_\u0027 prefix"},{"line_number":77,"context_line":"            parsed_driver_info[param] \u003d str(driver_info.get("},{"line_number":78,"context_line":"                param, CONF.xclarity.get(param[len(\u0027xclarity_\u0027):])))"},{"line_number":79,"context_line":"            if param not in driver_info and\\"},{"line_number":80,"context_line":"                    CONF.xclarity.get(param[len(\u0027xclarity_\u0027):]) !\u003d \u0027None\u0027:"},{"line_number":81,"context_line":"                LOG.warning(\u0027The configuration [xclarity]/%(config)s \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_7f1db171","line":78,"range":{"start_line":78,"start_character":23,"end_line":78,"end_character":66},"in_reply_to":"5f7c97a3_1a3614e8","updated":"2018-05-09 05:41:05.000000000","message":"I\u0027ll add \u0027if\u0027 conditions in the next patch to detect the parameter existence in CONF.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":112,"context_line":"    try:"},{"line_number":113,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":114,"context_line":"            ip\u003ddriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address,"},{"line_number":115,"context_line":"            username\u003ddriver_info.get(\u0027xclarity_username\u0027) or"},{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_703729e5","line":114,"range":{"start_line":114,"start_character":50,"end_line":114,"end_character":75},"updated":"2018-05-08 09:08:49.000000000","message":"We do not need to do this anymore as data returned by parse_driver_info() would have the value set either from node\u0027s  driver_info or one from conf.\n\nip\u003ddriver_info.get(\u0027xclarity_address\u0027),","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    driver_info \u003d parse_driver_info(node)"},{"line_number":112,"context_line":"    try:"},{"line_number":113,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":114,"context_line":"            ip\u003ddriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address,"},{"line_number":115,"context_line":"            username\u003ddriver_info.get(\u0027xclarity_username\u0027) or"},{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_ff08e12d","line":114,"range":{"start_line":114,"start_character":50,"end_line":114,"end_character":75},"in_reply_to":"5f7c97a3_703729e5","updated":"2018-05-09 05:41:05.000000000","message":"Good point. Done.","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    try:"},{"line_number":113,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":114,"context_line":"            ip\u003ddriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address,"},{"line_number":115,"context_line":"            username\u003ddriver_info.get(\u0027xclarity_username\u0027) or"},{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"},{"line_number":118,"context_line":"            CONF.xclarity.password,"},{"line_number":119,"context_line":"            port\u003ddriver_info.get(\u0027xclarity_port\u0027) or CONF.xclarity.port"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_ba44c01c","line":116,"range":{"start_line":115,"start_character":12,"end_line":116,"end_character":35},"updated":"2018-05-08 09:08:49.000000000","message":"ditto","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    try:"},{"line_number":113,"context_line":"        xclarity_client \u003d client.Client("},{"line_number":114,"context_line":"            ip\u003ddriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address,"},{"line_number":115,"context_line":"            username\u003ddriver_info.get(\u0027xclarity_username\u0027) or"},{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"},{"line_number":118,"context_line":"            CONF.xclarity.password,"},{"line_number":119,"context_line":"            port\u003ddriver_info.get(\u0027xclarity_port\u0027) or CONF.xclarity.port"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_5affa300","line":116,"range":{"start_line":115,"start_character":12,"end_line":116,"end_character":35},"in_reply_to":"5f7c97a3_ba44c01c","updated":"2018-05-09 05:41:05.000000000","message":"Done","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            ip\u003ddriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address,"},{"line_number":115,"context_line":"            username\u003ddriver_info.get(\u0027xclarity_username\u0027) or"},{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"},{"line_number":118,"context_line":"            CONF.xclarity.password,"},{"line_number":119,"context_line":"            port\u003ddriver_info.get(\u0027xclarity_port\u0027) or CONF.xclarity.port"},{"line_number":120,"context_line":"        )"},{"line_number":121,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_1a55b4c6","line":118,"range":{"start_line":117,"start_character":12,"end_line":118,"end_character":35},"updated":"2018-05-08 09:08:49.000000000","message":"ditto","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            ip\u003ddriver_info.get(\u0027xclarity_address\u0027) or CONF.xclarity.address,"},{"line_number":115,"context_line":"            username\u003ddriver_info.get(\u0027xclarity_username\u0027) or"},{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"},{"line_number":118,"context_line":"            CONF.xclarity.password,"},{"line_number":119,"context_line":"            port\u003ddriver_info.get(\u0027xclarity_port\u0027) or CONF.xclarity.port"},{"line_number":120,"context_line":"        )"},{"line_number":121,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_7a029f0b","line":118,"range":{"start_line":117,"start_character":12,"end_line":118,"end_character":35},"in_reply_to":"5f7c97a3_1a55b4c6","updated":"2018-05-09 05:41:05.000000000","message":"Done","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"},{"line_number":118,"context_line":"            CONF.xclarity.password,"},{"line_number":119,"context_line":"            port\u003ddriver_info.get(\u0027xclarity_port\u0027) or CONF.xclarity.port"},{"line_number":120,"context_line":"        )"},{"line_number":121,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":122,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_9a5a24f1","line":119,"range":{"start_line":119,"start_character":12,"end_line":119,"end_character":71},"updated":"2018-05-08 09:08:49.000000000","message":"ditto","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            CONF.xclarity.username,"},{"line_number":117,"context_line":"            password\u003ddriver_info.get(\u0027xclarity_password\u0027) or"},{"line_number":118,"context_line":"            CONF.xclarity.password,"},{"line_number":119,"context_line":"            port\u003ddriver_info.get(\u0027xclarity_port\u0027) or CONF.xclarity.port"},{"line_number":120,"context_line":"        )"},{"line_number":121,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":122,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3a0c273a","line":119,"range":{"start_line":119,"start_character":12,"end_line":119,"end_character":71},"in_reply_to":"5f7c97a3_9a5a24f1","updated":"2018-05-09 05:41:05.000000000","message":"Done","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"39c14878c1a0697566732ffe1b5afa76df8d7787","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        )"},{"line_number":121,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":122,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""},{"line_number":123,"context_line":"                 \"Error: %(exc)s\"), {\u0027ip\u0027: driver_info.get(\u0027xclarity_address\u0027)"},{"line_number":124,"context_line":"               or CONF.xclarity.address, \u0027exc\u0027: exc})"},{"line_number":125,"context_line":"        raise exception.XClarityError(error\u003dmsg)"},{"line_number":126,"context_line":"    return xclarity_client"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_7af4e8cf","line":124,"range":{"start_line":123,"start_character":43,"end_line":124,"end_character":39},"updated":"2018-05-08 09:08:49.000000000","message":"ditto","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"382f52c49c81ed0a21e6ea2369e5d9c49831c4fb","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        )"},{"line_number":121,"context_line":"    except xclarity_client_exceptions.XClarityError as exc:"},{"line_number":122,"context_line":"        msg \u003d (_(\"Error getting connection to XClarity address: %(ip)s. \""},{"line_number":123,"context_line":"                 \"Error: %(exc)s\"), {\u0027ip\u0027: driver_info.get(\u0027xclarity_address\u0027)"},{"line_number":124,"context_line":"               or CONF.xclarity.address, \u0027exc\u0027: exc})"},{"line_number":125,"context_line":"        raise exception.XClarityError(error\u003dmsg)"},{"line_number":126,"context_line":"    return xclarity_client"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_fa0d4f35","line":124,"range":{"start_line":123,"start_character":43,"end_line":124,"end_character":39},"in_reply_to":"5f7c97a3_7af4e8cf","updated":"2018-05-09 05:41:05.000000000","message":"Done","commit_id":"bc623f26c1a0b518ad7101853d56d2c9a47db50e"}],"ironic/drivers/modules/xclarity/management.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"31a67c0374e49b54d95e54dca8034c0a8f7c31a8","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        :param task: a task from TaskManager."},{"line_number":59,"context_line":"        \"\"\""},{"line_number":60,"context_line":"        node \u003d task.node"},{"line_number":61,"context_line":"        client \u003d common.get_xclarity_client(node)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        common.parse_driver_info(node)"},{"line_number":64,"context_line":"        common.is_node_managed_by_xclarity(client, node)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_b71668f1","line":61,"updated":"2018-04-26 10:20:35.000000000","message":"are there lots of management_ips and different credentials expected to be used? Is it worth caching the clients maybe?","commit_id":"8bf5e25df1dd4ef2977913abf41ff68e11815110"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"834f4ac60ab9d64bb2f0aefc1fb7f7a310fdb4b4","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        :param task: a task from TaskManager."},{"line_number":59,"context_line":"        \"\"\""},{"line_number":60,"context_line":"        node \u003d task.node"},{"line_number":61,"context_line":"        client \u003d common.get_xclarity_client(node)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        common.parse_driver_info(node)"},{"line_number":64,"context_line":"        common.is_node_managed_by_xclarity(client, node)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_38231308","line":61,"in_reply_to":"9f6a8fd7_b71668f1","updated":"2018-04-27 06:10:33.000000000","message":"Well, I think it may not worth caching the client. You remind me of the validate method should be executed quickly. Since we have checked the info in \"parse_driver_info()\", I\u0027ll remove \"is_node_managed_by_xclarity()\" too.","commit_id":"8bf5e25df1dd4ef2977913abf41ff68e11815110"}],"ironic/tests/unit/drivers/modules/xclarity/test_common.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"b07e7348c53bc9ab99532b49bbfe2690ef8fdb7c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            properties\u003ddb_utils.get_test_xclarity_properties(),"},{"line_number":41,"context_line":"            driver_info\u003dINFO_DICT)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def test_parse_driver_info(self):"},{"line_number":44,"context_line":"        info \u003d common.parse_driver_info(self.node)"},{"line_number":45,"context_line":"        self.assertEqual(INFO_DICT[\u0027xclarity_manager_ip\u0027],"},{"line_number":46,"context_line":"                         info[\u0027xclarity_manager_ip\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_05ee82ec","line":43,"range":{"start_line":43,"start_character":4,"end_line":43,"end_character":37},"updated":"2018-05-10 03:19:42.000000000","message":"Need to add testcases for all paths in common.parse_driver_info().","commit_id":"9020988031cb560397cf61cf8d79f3cd8e8f27d3"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"91a68d7749c811ea011c96424656658939e75ac2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            properties\u003ddb_utils.get_test_xclarity_properties(),"},{"line_number":41,"context_line":"            driver_info\u003dINFO_DICT)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def test_parse_driver_info(self):"},{"line_number":44,"context_line":"        info \u003d common.parse_driver_info(self.node)"},{"line_number":45,"context_line":"        self.assertEqual(INFO_DICT[\u0027xclarity_manager_ip\u0027],"},{"line_number":46,"context_line":"                         info[\u0027xclarity_manager_ip\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_521bc7ce","line":43,"range":{"start_line":43,"start_character":4,"end_line":43,"end_character":37},"in_reply_to":"5f7c97a3_05ee82ec","updated":"2018-05-11 07:23:46.000000000","message":"Thanks for the advice, I\u0027ll add test cases in the next patch.","commit_id":"9020988031cb560397cf61cf8d79f3cd8e8f27d3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"356708ef741dc1f1d5d7200328250376469f466f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        info \u003d common.parse_driver_info(self.node)"},{"line_number":69,"context_line":"        self.assertEqual(\u00275.6.7.8\u0027, info[\u0027xclarity_manager_ip\u0027])"},{"line_number":70,"context_line":"        self.assertEqual(\u0027user\u0027, info[\u0027xclarity_username\u0027])"},{"line_number":71,"context_line":"        self.assertEqual(\u0027password\u0027, info[\u0027xclarity_password\u0027])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def test_parse_driver_info_missing_driver_info_and_config(self):"},{"line_number":74,"context_line":"        del self.node.driver_info[\u0027xclarity_manager_ip\u0027]"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_8f37edff","line":71,"range":{"start_line":71,"start_character":8,"end_line":71,"end_character":63},"updated":"2018-05-11 15:16:56.000000000","message":"Here we need to validate that LOG.warning is called.","commit_id":"f6dd50d78b114c5b56edb6a6b5d1b767cee762e5"}],"releasenotes/notes/deprecate-xclarity-config-af9b753f96779f42.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d1e948429c29e9a1f970cea0257d2bec2854292e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds new parameter fields to driver_info, which will become"},{"line_number":5,"context_line":"    mandatory in Stein release:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * ``xclarity_address``: IP address of the XClarity Controller.."},{"line_number":8,"context_line":"    * ``xclarity_username``: Username for the XClarity Controller."},{"line_number":9,"context_line":"    * ``xclarity_password``: Password for XClarity Controller username."},{"line_number":10,"context_line":"    * ``xclarity_port``: Port to be used for XClarity Controller username."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_d29d1c67","line":7,"range":{"start_line":7,"start_character":66,"end_line":7,"end_character":67},"updated":"2018-05-03 21:16:49.000000000","message":"nit: Duplicate period.","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"708acbd34d60dc05984890fb6dfdbcbaf0d3f813","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds new parameter fields to driver_info, which will become"},{"line_number":5,"context_line":"    mandatory in Stein release:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * ``xclarity_address``: IP address of the XClarity Controller.."},{"line_number":8,"context_line":"    * ``xclarity_username``: Username for the XClarity Controller."},{"line_number":9,"context_line":"    * ``xclarity_password``: Password for XClarity Controller username."},{"line_number":10,"context_line":"    * ``xclarity_port``: Port to be used for XClarity Controller username."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_4c55ec4f","line":7,"range":{"start_line":7,"start_character":66,"end_line":7,"end_character":67},"in_reply_to":"5f7c97a3_d29d1c67","updated":"2018-05-04 03:04:21.000000000","message":"Done","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d1e948429c29e9a1f970cea0257d2bec2854292e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    * ``xclarity_port``: Port to be used for XClarity Controller username."},{"line_number":11,"context_line":"deprecations:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    ``address``, ``username``, ``password`` and ``port`` configurations in"},{"line_number":14,"context_line":"    the ironic/conf/xclarity.py file are deprecated and will be removed in"},{"line_number":15,"context_line":"    the Stein release."},{"line_number":16,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_9289e427","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":15},"updated":"2018-05-03 21:16:49.000000000","message":"The [xclarity] parameters...","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"708acbd34d60dc05984890fb6dfdbcbaf0d3f813","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    * ``xclarity_port``: Port to be used for XClarity Controller username."},{"line_number":11,"context_line":"deprecations:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    ``address``, ``username``, ``password`` and ``port`` configurations in"},{"line_number":14,"context_line":"    the ironic/conf/xclarity.py file are deprecated and will be removed in"},{"line_number":15,"context_line":"    the Stein release."},{"line_number":16,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_6c52286a","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":15},"in_reply_to":"5f7c97a3_9289e427","updated":"2018-05-04 03:04:21.000000000","message":"Done","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d1e948429c29e9a1f970cea0257d2bec2854292e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"deprecations:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    ``address``, ``username``, ``password`` and ``port`` configurations in"},{"line_number":14,"context_line":"    the ironic/conf/xclarity.py file are deprecated and will be removed in"},{"line_number":15,"context_line":"    the Stein release."},{"line_number":16,"context_line":"fixes:"},{"line_number":17,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_127dd41b","line":14,"range":{"start_line":14,"start_character":8,"end_line":14,"end_character":31},"updated":"2018-05-03 21:16:49.000000000","message":"Nit: We don\u0027t need this as this is oriented to users, not developers.","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"708acbd34d60dc05984890fb6dfdbcbaf0d3f813","unresolved":false,"context_lines":[{"line_number":11,"context_line":"deprecations:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    ``address``, ``username``, ``password`` and ``port`` configurations in"},{"line_number":14,"context_line":"    the ironic/conf/xclarity.py file are deprecated and will be removed in"},{"line_number":15,"context_line":"    the Stein release."},{"line_number":16,"context_line":"fixes:"},{"line_number":17,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_0c4ff4bd","line":14,"range":{"start_line":14,"start_character":8,"end_line":14,"end_character":31},"in_reply_to":"5f7c97a3_127dd41b","updated":"2018-05-04 03:04:21.000000000","message":"Done","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d1e948429c29e9a1f970cea0257d2bec2854292e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"fixes:"},{"line_number":17,"context_line":"  - |"},{"line_number":18,"context_line":"    Fixes an issue where parameters required in driver_info and"},{"line_number":19,"context_line":"    description in doc/source/admin/drivers/xclarity.rst are different."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_52982c69","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":56},"updated":"2018-05-03 21:16:49.000000000","message":"descriptions in documentation perhaps?","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"},{"author":{"_account_id":25547,"name":"jiapei","email":"jiapeish@gmail.com","username":"jeremy.jia"},"change_message_id":"708acbd34d60dc05984890fb6dfdbcbaf0d3f813","unresolved":false,"context_lines":[{"line_number":16,"context_line":"fixes:"},{"line_number":17,"context_line":"  - |"},{"line_number":18,"context_line":"    Fixes an issue where parameters required in driver_info and"},{"line_number":19,"context_line":"    description in doc/source/admin/drivers/xclarity.rst are different."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5f7c97a3_2c4c30c6","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":56},"in_reply_to":"5f7c97a3_52982c69","updated":"2018-05-04 03:04:21.000000000","message":"Done","commit_id":"2ab450299e72da5a725adc244c5c371dc8525ba7"}]}
