)]}'
{"shade/__init__.py":[{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"62e822e427cb5c469ff6bfb477032e4f3c225e60","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"            self.log.debug("},{"line_number":1878,"context_line":"                \"ironic machine update failed\", exc_info\u003dTrue)"},{"line_number":1879,"context_line":"            raise OpenStackCloudException("},{"line_number":1880,"context_line":"                \"Error updating machine with Ironic: %s\" % e.message)"},{"line_number":1881,"context_line":""},{"line_number":1882,"context_line":"    def validate_node(self, uuid):"},{"line_number":1883,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_c9c69299","line":1880,"updated":"2015-04-10 09:54:37.000000000","message":"can you add the node_id to that error message?","commit_id":"7646289bb413b2665f56fb614643cef9fd020f34"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6e9cbfe745ff8601338158fdd2411fcde96c8117","unresolved":false,"context_lines":[{"line_number":1877,"context_line":"            self.log.debug("},{"line_number":1878,"context_line":"                \"ironic machine update failed\", exc_info\u003dTrue)"},{"line_number":1879,"context_line":"            raise OpenStackCloudException("},{"line_number":1880,"context_line":"                \"Error updating machine with Ironic: %s\" % e.message)"},{"line_number":1881,"context_line":""},{"line_number":1882,"context_line":"    def validate_node(self, uuid):"},{"line_number":1883,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_1aa276fd","line":1880,"in_reply_to":"9aa53dc9_c9c69299","updated":"2015-04-10 11:36:31.000000000","message":"That just makes way too much sense.  Will do!","commit_id":"7646289bb413b2665f56fb614643cef9fd020f34"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"41b7d3eb38f8ffd326e954a30e61ab912a5cba4c","unresolved":false,"context_lines":[{"line_number":1853,"context_line":"            raise OpenStackCloudException("},{"line_number":1854,"context_line":"                \"Error unregistering machine from Ironic: %s\" % e.message)"},{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"    def update_machine(self, name_or_id, patch, http_method):"},{"line_number":1857,"context_line":"        \"\"\"Update Machine Information"},{"line_number":1858,"context_line":""},{"line_number":1859,"context_line":"        This method allows for an interface to manipulate node entries"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_87374efe","line":1856,"updated":"2015-04-10 13:58:02.000000000","message":"PATCH is really the only http_method supported for updating an existing node. No need to have this.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a7c55577233bb4a1d7d6b409228d56902719a3d6","unresolved":false,"context_lines":[{"line_number":1853,"context_line":"            raise OpenStackCloudException("},{"line_number":1854,"context_line":"                \"Error unregistering machine from Ironic: %s\" % e.message)"},{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"    def update_machine(self, name_or_id, patch, http_method):"},{"line_number":1857,"context_line":"        \"\"\"Update Machine Information"},{"line_number":1858,"context_line":""},{"line_number":1859,"context_line":"        This method allows for an interface to manipulate node entries"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aaa499b_53d19fcc","line":1856,"in_reply_to":"9aa53dc9_87374efe","updated":"2015-04-13 15:13:59.000000000","message":"Done","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"41b7d3eb38f8ffd326e954a30e61ab912a5cba4c","unresolved":false,"context_lines":[{"line_number":1861,"context_line":"        ironicclient.nodes.update interface."},{"line_number":1862,"context_line":""},{"line_number":1863,"context_line":"        :param node_id: The server object to attach to."},{"line_number":1864,"context_line":"        :param patch: The JSON Patch document containing what to update."},{"line_number":1865,"context_line":"        :param http_method: This is the method utilized to send the patch."},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"        :raises: OpenStackCloudException on operation error."}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_879bce17","line":1864,"updated":"2015-04-10 13:58:02.000000000","message":"It would be good to provide a patch example here, as well as iterate the valid operations.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a7c55577233bb4a1d7d6b409228d56902719a3d6","unresolved":false,"context_lines":[{"line_number":1861,"context_line":"        ironicclient.nodes.update interface."},{"line_number":1862,"context_line":""},{"line_number":1863,"context_line":"        :param node_id: The server object to attach to."},{"line_number":1864,"context_line":"        :param patch: The JSON Patch document containing what to update."},{"line_number":1865,"context_line":"        :param http_method: This is the method utilized to send the patch."},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"        :raises: OpenStackCloudException on operation error."}],"source_content_type":"text/x-python","patch_set":3,"id":"7aaa499b_4edd7441","line":1864,"in_reply_to":"9aa53dc9_879bce17","updated":"2015-04-13 15:13:59.000000000","message":"Done, not sure about the formatting, but hopefully the content makes sense in what I\u0027m about to post.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"41b7d3eb38f8ffd326e954a30e61ab912a5cba4c","unresolved":false,"context_lines":[{"line_number":1867,"context_line":"        :raises: OpenStackCloudException on operation error."},{"line_number":1868,"context_line":""},{"line_number":1869,"context_line":"        :returns: Node object from Ironic containing the changes."},{"line_number":1870,"context_line":"        \"\"\""},{"line_number":1871,"context_line":"        try:"},{"line_number":1872,"context_line":"            return self.manager.submitTask("},{"line_number":1873,"context_line":"                _tasks.MachineUpdate(node_id\u003dname_or_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_67b56a7c","line":1870,"updated":"2015-04-10 13:58:02.000000000","message":"Some validation of the patch would be good here. E.g., testing the operation is valid.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"5733e8eaf3fc40ba50ba39b6abc5744e8155872b","unresolved":false,"context_lines":[{"line_number":1867,"context_line":"        :raises: OpenStackCloudException on operation error."},{"line_number":1868,"context_line":""},{"line_number":1869,"context_line":"        :returns: Node object from Ironic containing the changes."},{"line_number":1870,"context_line":"        \"\"\""},{"line_number":1871,"context_line":"        try:"},{"line_number":1872,"context_line":"            return self.manager.submitTask("},{"line_number":1873,"context_line":"                _tasks.MachineUpdate(node_id\u003dname_or_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aaa499b_1a30c000","line":1870,"in_reply_to":"7aaa499b_d0a6c2c0","updated":"2015-04-13 18:59:51.000000000","message":"Looking deeper into ironicclient code, json.dumps is called to generate the request, so ironicclient should explode as expected which really makes excessive checks un-necessary.  I\u0027ll remove them.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"f6131eeb393e1741f0fc13a752a1a61e5638dbb7","unresolved":false,"context_lines":[{"line_number":1867,"context_line":"        :raises: OpenStackCloudException on operation error."},{"line_number":1868,"context_line":""},{"line_number":1869,"context_line":"        :returns: Node object from Ironic containing the changes."},{"line_number":1870,"context_line":"        \"\"\""},{"line_number":1871,"context_line":"        try:"},{"line_number":1872,"context_line":"            return self.manager.submitTask("},{"line_number":1873,"context_line":"                _tasks.MachineUpdate(node_id\u003dname_or_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aaa499b_d0a6c2c0","line":1870,"in_reply_to":"7aaa499b_ee920057","updated":"2015-04-13 15:36:47.000000000","message":"Yeah, I think that was probably a bad suggestion on my part. In some cases it may make sense, or might be helpful, but maybe not here.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a7c55577233bb4a1d7d6b409228d56902719a3d6","unresolved":false,"context_lines":[{"line_number":1867,"context_line":"        :raises: OpenStackCloudException on operation error."},{"line_number":1868,"context_line":""},{"line_number":1869,"context_line":"        :returns: Node object from Ironic containing the changes."},{"line_number":1870,"context_line":"        \"\"\""},{"line_number":1871,"context_line":"        try:"},{"line_number":1872,"context_line":"            return self.manager.submitTask("},{"line_number":1873,"context_line":"                _tasks.MachineUpdate(node_id\u003dname_or_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aaa499b_ee920057","line":1870,"in_reply_to":"9aa53dc9_67b56a7c","updated":"2015-04-13 15:13:59.000000000","message":"I\u0027m wonder how far to go with this, since this is a bit of a pass-through method, I\u0027ve gone ahead and added some basic checks, that it does appear to be a json patch document.  Take a look, and let me know if you think it is enough.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"41b7d3eb38f8ffd326e954a30e61ab912a5cba4c","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"                \"ironic machine update failed\", exc_info\u003dTrue)"},{"line_number":1879,"context_line":"            raise OpenStackCloudException("},{"line_number":1880,"context_line":"                \"Error updating machine node %s with \""},{"line_number":1881,"context_line":"                \"Ironic: %s\" % (name_or_id, e.message))"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    def validate_node(self, uuid):"},{"line_number":1884,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_a7e012ce","line":1881,"updated":"2015-04-10 13:58:02.000000000","message":"e.message is not valid.\n\nRemove \u0027ironic\u0027 references. This is a shade exception.","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a7c55577233bb4a1d7d6b409228d56902719a3d6","unresolved":false,"context_lines":[{"line_number":1878,"context_line":"                \"ironic machine update failed\", exc_info\u003dTrue)"},{"line_number":1879,"context_line":"            raise OpenStackCloudException("},{"line_number":1880,"context_line":"                \"Error updating machine node %s with \""},{"line_number":1881,"context_line":"                \"Ironic: %s\" % (name_or_id, e.message))"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    def validate_node(self, uuid):"},{"line_number":1884,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aaa499b_8e881c24","line":1881,"in_reply_to":"9aa53dc9_a7e012ce","updated":"2015-04-13 15:13:59.000000000","message":"Done","commit_id":"63e5cb331f67e5a7fad1f3606f10dd136743e596"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"1078519fadf6d984b34a7e8caa683f7dfa8d3274","unresolved":false,"context_lines":[{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":"        :raises: OpenStackCloudException on operation error."},{"line_number":1888,"context_line":""},{"line_number":1889,"context_line":"        :returns: Node object from Ironic containing the changes."},{"line_number":1890,"context_line":"        \"\"\""},{"line_number":1891,"context_line":""},{"line_number":1892,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aaa499b_2922ed00","line":1889,"updated":"2015-04-14 18:36:52.000000000","message":"Do not return the object. Use meta.obj_to_dict().","commit_id":"47aab2e464aceea65bcafa5676dc77a272444e75"}]}
