)]}'
{"openstack/compute/v2/_proxy.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"47e037017f67fb8dbef6422e2631346f823469a3","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def update_server(self, server, **data):"},{"line_number":128,"context_line":"        server.update_attrs(**data)"},{"line_number":129,"context_line":"        return server.update(self.session)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def wait_for_status(self, server, status\u003d\u0027ACTIVE\u0027, interval\u003d2, wait\u003d120):"},{"line_number":132,"context_line":"        return server.wait_for_status(self.session, status, interval, wait)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_77323e5f","line":129,"updated":"2015-03-03 11:57:39.000000000","message":"This is forcing people to have a server to update it.  They can\u0027t just conn.compute.update_server(**{\u0027id\u0027: \u00271\u0027, \u0027name\u0027: \u0027foo\u0027}) to change the name.\n\nAnother somewhat related point, we don\u0027t provide a way for people to new/create a server.  There is no conn.compute.new_server method.\n\nI kind of get why you don\u0027t like conn.update(server) but at the same time I don\u0027t get why you don\u0027t like it.\n\nAnyway, some random thoughts early in the morning.","commit_id":"a9d0f8c1723c59c326b1779eeb2146f56aab33c0"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"507812ae19cc2ec4ba9ee574754a89beae6347a2","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def update_server(self, server, **data):"},{"line_number":128,"context_line":"        server.update_attrs(**data)"},{"line_number":129,"context_line":"        return server.update(self.session)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def wait_for_status(self, server, status\u003d\u0027ACTIVE\u0027, interval\u003d2, wait\u003d120):"},{"line_number":132,"context_line":"        return server.wait_for_status(self.session, status, interval, wait)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_b11d9b11","line":129,"in_reply_to":"ba7be1f8_77323e5f","updated":"2015-03-03 14:46:14.000000000","message":"What if I made server\u003dNone and then if we don\u0027t get anything, it handles the case closer to what it was before? I like being able to do this way because then it fits with how a lot of other operations are done, like this change: https://review.openstack.org/#/c/160623/1..2/examples/server_builder.py\n\nWe do have compute.create_server. With the resources-as-a-prop-type change, it actually works really well. Check out https://review.openstack.org/#/c/160623 when you have a chance - it\u0027s a script putting a bunch of the *_server code to work.\n\nI think conn.update and conn.compute.update_server serve two slightly different purposes, and while I was originally against that, I think they can live together. Being able to update_server on one line as a function call in the same way that you can create_server by passing in the attributes is really nice. I felt the difference after writing that script when my create was one line just passing arguments, and then my update was originally having to set attributes and pass into conn.update. The conn.update way works, but update_server acting as a slightly higher level than update makes for some pretty clean looking code that matches the other operations on each resource.","commit_id":"a9d0f8c1723c59c326b1779eeb2146f56aab33c0"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"60b4d00c0a4b6a9955868233e58dac425a490067","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def update_server(self, server, **data):"},{"line_number":128,"context_line":"        server.update_attrs(**data)"},{"line_number":129,"context_line":"        return server.update(self.session)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def wait_for_status(self, server, status\u003d\u0027ACTIVE\u0027, interval\u003d2, wait\u003d120):"},{"line_number":132,"context_line":"        return server.wait_for_status(self.session, status, interval, wait)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_cf8d7f7d","line":129,"in_reply_to":"ba7be1f8_b11d9b11","updated":"2015-03-05 04:59:47.000000000","message":"This case would now work. You can either pass in a Server to update, or update_server(id\u003d\"1\", name\u003d\"foo\"), or the dict way.","commit_id":"a9d0f8c1723c59c326b1779eeb2146f56aab33c0"}]}
