)]}'
{"ironic/drivers/base.py":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"0d767a3afa517fab6870db4d08c4a8b020ddfba2","unresolved":false,"context_lines":[{"line_number":1033,"context_line":"        :param values: A dictionary with new parameters."},{"line_number":1034,"context_line":"        :raises: InvalidParameterValue, if configuration is invalid."},{"line_number":1035,"context_line":"        :raises: MissingParameterValue, if configuration has some"},{"line_number":1036,"context_line":"                missing parameters."},{"line_number":1037,"context_line":"        \"\"\""},{"line_number":1038,"context_line":""},{"line_number":1039,"context_line":"    def get_parameterts(self, task, device):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_241d630f","line":1036,"updated":"2015-11-10 11:54:16.000000000","message":"nit: wrong indent","commit_id":"eaee988fd390cc0bb62e8b807517428961b2b120"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"b2d90b04c5a26fad3ff1ffbe73053f6c051dd4bb","unresolved":false,"context_lines":[{"line_number":1033,"context_line":"        :param values: A dictionary with new parameters."},{"line_number":1034,"context_line":"        :raises: InvalidParameterValue, if configuration is invalid."},{"line_number":1035,"context_line":"        :raises: MissingParameterValue, if configuration has some"},{"line_number":1036,"context_line":"                missing parameters."},{"line_number":1037,"context_line":"        \"\"\""},{"line_number":1038,"context_line":""},{"line_number":1039,"context_line":"    def get_parameterts(self, task, device):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_c44a57c5","line":1036,"in_reply_to":"da85f559_241d630f","updated":"2015-11-10 12:02:48.000000000","message":"Done","commit_id":"eaee988fd390cc0bb62e8b807517428961b2b120"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"0d767a3afa517fab6870db4d08c4a8b020ddfba2","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"                missing parameters."},{"line_number":1037,"context_line":"        \"\"\""},{"line_number":1038,"context_line":""},{"line_number":1039,"context_line":"    def get_parameterts(self, task, device):"},{"line_number":1040,"context_line":"        \"\"\"Get BIOS/Firmware parameters for a node."},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        :param task: TaskManager object containing the node."}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_645b6b2f","line":1039,"updated":"2015-11-10 11:54:16.000000000","message":"why is get_parameterts optional?","commit_id":"eaee988fd390cc0bb62e8b807517428961b2b120"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"b2d90b04c5a26fad3ff1ffbe73053f6c051dd4bb","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"                missing parameters."},{"line_number":1037,"context_line":"        \"\"\""},{"line_number":1038,"context_line":""},{"line_number":1039,"context_line":"    def get_parameterts(self, task, device):"},{"line_number":1040,"context_line":"        \"\"\"Get BIOS/Firmware parameters for a node."},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        :param task: TaskManager object containing the node."}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_c44fb7bb","line":1039,"in_reply_to":"da85f559_645b6b2f","updated":"2015-11-10 12:02:48.000000000","message":"Not all hardware can support getting of current values.","commit_id":"eaee988fd390cc0bb62e8b807517428961b2b120"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a14480d52354e78c0322e5a359d9e982a9cdce0e","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"        \"\"\"Validate the driver-specific info stored in the node properties."},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"        This method validates the driver-specific info for BIOS/Firmware"},{"line_number":1004,"context_line":"        settings. If invalid, raises an exception; otherwise returns None."},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"        :param task: a task from TaskManager."},{"line_number":1007,"context_line":"        :returns: None"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_67133b5c","line":1004,"updated":"2015-11-11 09:32:35.000000000","message":"if invalid or missing...","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"565a8e4576c1955a14cb502efdcda92cf058da41","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"        \"\"\"Validate the driver-specific info stored in the node properties."},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"        This method validates the driver-specific info for BIOS/Firmware"},{"line_number":1004,"context_line":"        settings. If invalid, raises an exception; otherwise returns None."},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"        :param task: a task from TaskManager."},{"line_number":1007,"context_line":"        :returns: None"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_0219fd21","line":1004,"in_reply_to":"da85f559_67133b5c","updated":"2015-11-11 10:11:40.000000000","message":"Done","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a14480d52354e78c0322e5a359d9e982a9cdce0e","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"    def get_devices(self):"},{"line_number":1014,"context_line":"        \"\"\"Get a list of devices."},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        :returns: list of available configurable devices."},{"line_number":1017,"context_line":"        \"\"\""},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_e7f08b00","line":1016,"updated":"2015-11-11 09:32:35.000000000","message":"Not sure about it, but may be worth including examples of how the return data looks like, like it is done in get_sensors_data.","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"565a8e4576c1955a14cb502efdcda92cf058da41","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"    def get_devices(self):"},{"line_number":1014,"context_line":"        \"\"\"Get a list of devices."},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        :returns: list of available configurable devices."},{"line_number":1017,"context_line":"        \"\"\""},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_c2bc55de","line":1016,"in_reply_to":"da85f559_e7f08b00","updated":"2015-11-11 10:11:40.000000000","message":"This is flat list of strings, done.","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a14480d52354e78c0322e5a359d9e982a9cdce0e","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"                 missing parameters."},{"line_number":1037,"context_line":"        \"\"\""},{"line_number":1038,"context_line":""},{"line_number":1039,"context_line":"    def get_parameterts(self, task, device):"},{"line_number":1040,"context_line":"        \"\"\"Get BIOS/Firmware parameters for a node."},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        :param task: TaskManager object containing the node."}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_e7540b00","line":1039,"updated":"2015-11-11 09:32:35.000000000","message":"get_parameters","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"565a8e4576c1955a14cb502efdcda92cf058da41","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"                 missing parameters."},{"line_number":1037,"context_line":"        \"\"\""},{"line_number":1038,"context_line":""},{"line_number":1039,"context_line":"    def get_parameterts(self, task, device):"},{"line_number":1040,"context_line":"        \"\"\"Get BIOS/Firmware parameters for a node."},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        :param task: TaskManager object containing the node."}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_82a96d92","line":1039,"in_reply_to":"da85f559_e7540b00","updated":"2015-11-11 10:11:40.000000000","message":"Sure!","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a14480d52354e78c0322e5a359d9e982a9cdce0e","unresolved":false,"context_lines":[{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        :param task: TaskManager object containing the node."},{"line_number":1043,"context_line":"        :param device: The name of device."},{"line_number":1044,"context_line":"        :returns: A dictionary of current parameters."},{"line_number":1045,"context_line":"        \"\"\""},{"line_number":1046,"context_line":"        raise NotImplementedError()"},{"line_number":1047,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_a744c31a","line":1044,"updated":"2015-11-11 09:32:35.000000000","message":"Please also add raises and the reason of raising in docstring.","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"565a8e4576c1955a14cb502efdcda92cf058da41","unresolved":false,"context_lines":[{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        :param task: TaskManager object containing the node."},{"line_number":1043,"context_line":"        :param device: The name of device."},{"line_number":1044,"context_line":"        :returns: A dictionary of current parameters."},{"line_number":1045,"context_line":"        \"\"\""},{"line_number":1046,"context_line":"        raise NotImplementedError()"},{"line_number":1047,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_02757d30","line":1044,"in_reply_to":"da85f559_a744c31a","updated":"2015-11-11 10:11:40.000000000","message":"Done","commit_id":"38fb625e553b2830feb96cd096ef7b58251f5e2b"}]}
