)]}'
{"id":"openstack%2Fpython-novaclient~276639","triplet_id":"openstack%2Fpython-novaclient~master~I164bb95abce6dc96cf455033f02822ccb0d87b8f","project":"openstack/python-novaclient","branch":"master","topic":"bug/1542179","hashtags":[],"change_id":"I164bb95abce6dc96cf455033f02822ccb0d87b8f","subject":"Provide user with coherent interface to get request_ids","status":"MERGED","created":"2016-02-05 09:25:09.000000000","updated":"2016-03-02 13:05:05.000000000","submitted":"2016-03-02 13:05:05.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"7ce19897b9a1a1dedb9754bfd5707eadefcbb7c7","_number":276639,"virtual_id_number":276639,"owner":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"value":0,"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},{"value":0,"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},{"value":2,"date":"2016-03-02 13:05:05.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"all":[{"value":2,"date":"2016-03-02 11:28:54.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"value":0,"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},{"value":0,"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":2,"date":"2016-02-15 17:38:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":1,"date":"2016-02-29 05:37:04.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"all":[{"value":1,"date":"2016-03-02 11:28:54.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"value":0,"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},{"value":0,"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},{"value":0,"date":"2016-02-25 02:17:10.000000000","_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"value":0,"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"value":0,"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},{"value":0,"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-02-06 16:51:42.000000000","updated_by":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"reviewer":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"state":"REVIEWER"},{"updated":"2016-02-08 02:25:31.000000000","updated_by":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"reviewer":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"state":"REVIEWER"},{"updated":"2016-02-09 13:32:07.000000000","updated_by":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"reviewer":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"state":"REVIEWER"},{"updated":"2016-02-11 02:15:50.000000000","updated_by":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"reviewer":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"state":"REVIEWER"},{"updated":"2016-02-15 17:38:47.000000000","updated_by":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"reviewer":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"state":"REVIEWER"},{"updated":"2016-02-25 02:17:10.000000000","updated_by":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"reviewer":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"state":"REVIEWER"},{"updated":"2016-02-29 05:37:04.000000000","updated_by":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"reviewer":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"state":"REVIEWER"},{"updated":"2016-03-02 11:28:54.000000000","updated_by":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"reviewer":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"state":"REVIEWER"},{"updated":"2016-03-02 13:05:05.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"529f3126e2ccf13d7ef200e6845c09ccd5718961","author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"date":"2016-02-05 09:25:09.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"af5037b1bf2f63a7d65169b1757fbb21eb10e010","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-02-05 17:01:43.000000000","message":"Patch Set 1: Code-Review+2\n\nThat\u0027s actually a clever solution; I should have thought of it.","accounts_in_message":[],"_revision_number":1},{"id":"644c60dfc2895067c9a25510a158203f2696d66a","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-05 21:34:26.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-novaclient-pep8 http://logs.openstack.org/39/276639/1/check/gate-python-novaclient-pep8/953eb9e/ : SUCCESS in 59s\n- gate-python-novaclient-docs http://docs-draft.openstack.org/39/276639/1/check/gate-python-novaclient-docs/fb48f7c//doc/build/html/ : SUCCESS in 1m 24s\n- gate-python-novaclient-python27 http://logs.openstack.org/39/276639/1/check/gate-python-novaclient-python27/54fedf0/ : SUCCESS in 1m 37s\n- gate-python-novaclient-python34 http://logs.openstack.org/39/276639/1/check/gate-python-novaclient-python34/6c14f28/ : SUCCESS in 1m 55s\n- gate-python-novaclient-pypy http://logs.openstack.org/39/276639/1/check/gate-python-novaclient-pypy/e63c263/ : SUCCESS in 2m 23s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/39/276639/1/check/gate-tempest-dsvm-neutron-src-python-novaclient/093fe6e/ : SUCCESS in 1h 02m 54s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/39/276639/1/check/gate-novaclient-dsvm-functional/4dd085e/ : SUCCESS in 43m 30s","accounts_in_message":[],"_revision_number":1},{"id":"6fc6f5eda4b6904172f118c9185e1d2c49a49e47","author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"date":"2016-02-06 16:51:42.000000000","message":"Patch Set 1: Code-Review+1\n\nLooks good. Maybe write a comment in the code that this is done for compatibility reasons?","accounts_in_message":[],"_revision_number":1},{"id":"3eb993af5afb6427fa450c337b5ca11dc0f23718","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2016-02-08 02:25:31.000000000","message":"Patch Set 1:\n\nOriginally there is incoherent between a server stop action and a server delete action.\nA server delete action returns None and a server stop action returns a Response object and body.\n\nThe following is a possible implementation in the existing code.\n\nresp, body \u003d serverManager.stop(server)\n\nIn this case, request_ids can be got as follows:\n\nrequest_ids \u003d body.request_ids\n\nBut in this patch(if merged), the following implementation has to be done as follows:\n\nresult \u003d serverManager.stop(server)\n\nIt might be good to change the existing code as follows...\n\nresult \u003d (resp, body) \u003d ... or resp \u003d result[0], body \u003d result[1]","accounts_in_message":[],"_revision_number":1},{"id":"243e06808dadeab45aae6f233f8064f3c60d9328","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2016-02-08 10:56:13.000000000","message":"Patch Set 1:\n\nI am trying to work out, have we have released the inconsistent approach already?","accounts_in_message":[],"_revision_number":1},{"id":"588a40c536653bc363fd7eb29b024c518f12f628","author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"date":"2016-02-08 12:03:00.000000000","message":"Patch Set 1:\n\n\u003e I am trying to work out, have we have released the inconsistent\n \u003e approach already?\n\nHi, John Garbutt:\nThank you for your review and comment.\nI think we should expose request_ids to users with just what we returned to users, but not with one of the elements of returned value.\nI mean we should return this:\n(resp, body) with request_ids\nnot this:\n(resp, body with request_ids)\n\nWith my change, components like python-openstackclient can implement a util function just like this:\ndef catch_request_ids(self, values):\n    self.request_ids \u003d values.request_ids\n    return values\nAnd use such code to do a server stop action:\n    resp, body \u003d xxxx.catch_request_ids(serverManager.stop(server))\n    \nIf we return request_ids with \"body\" but not \"(resp, body)\", then the implementation of catch_request_ids will be more complicated.\n\nThanks","accounts_in_message":[],"_revision_number":1},{"id":"cf6272d9a5d7c97952670476c0954e32e468a62d","author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"date":"2016-02-08 12:23:01.000000000","message":"Patch Set 1:\n\n\u003e Originally there is incoherent between a server stop action and a\n \u003e server delete action.\n \u003e A server delete action returns None and a server stop action\n \u003e returns a Response object and body.\n \u003e \n \u003e The following is a possible implementation in the existing code.\n \u003e \n \u003e resp, body \u003d serverManager.stop(server)\n \u003e \n \u003e In this case, request_ids can be got as follows:\n \u003e \n \u003e request_ids \u003d body.request_ids\n \u003e \n \u003e But in this patch(if merged), the following implementation has to\n \u003e be done as follows:\n \u003e \n \u003e result \u003d serverManager.stop(server)\n \u003e \n \u003e It might be good to change the existing code as follows...\n \u003e \n \u003e result \u003d (resp, body) \u003d ... or resp \u003d result[0], body \u003d result[1]\n\n \u003e Originally there is incoherent between a server stop action and a\n \u003e server delete action.\n \u003e A server delete action returns None and a server stop action\n \u003e returns a Response object and body.\n \u003e \n \u003e The following is a possible implementation in the existing code.\n \u003e \n \u003e resp, body \u003d serverManager.stop(server)\n \u003e \n \u003e In this case, request_ids can be got as follows:\n \u003e \n \u003e request_ids \u003d body.request_ids\n \u003e \n \u003e But in this patch(if merged), the following implementation has to\n \u003e be done as follows:\n \u003e \n \u003e result \u003d serverManager.stop(server)\n \u003e \n \u003e It might be good to change the existing code as follows...\n \u003e \n \u003e result \u003d (resp, body) \u003d ... or resp \u003d result[0], body \u003d result[1]\n\nHi,Takashi-san:\nThank you for your review an comment.\nIn my opinion, components like python-openstackclient should implement a \"filter\" which interferes with the original logic as little as possible.\nMaybe like this:\ndef catch_request_ids(self, values):\n    self.request_ids \u003d values.request_ids\n    return values\n\nThen ,no matter what is cared about by users, users can do a server stop action like this:\n    result \u003d xxxx.catch_request_ids(serverManager.stop(server))\nor this:\n    resp, body \u003d xxxx.catch_request_ids(serverManager.stop(server))\nif users doesn\u0027t care about the result, then:\n    xxxx.catch_request_ids(serverManager.stop(server))\n\nTo make the catch_request_ids implementation less complex, we should expose request_ids in a consistent approach.","accounts_in_message":[],"_revision_number":1},{"id":"89ca841488f0732a7c3459c15cc2e6268bacf331","author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"date":"2016-02-09 13:32:07.000000000","message":"Patch Set 1: Code-Review-1\n\nHow is this backwards compatible","accounts_in_message":[],"_revision_number":1},{"id":"ed466955a98abf34c0b675248901ae19cfee7925","author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"date":"2016-02-09 14:16:18.000000000","message":"Patch Set 1:\n\n\u003e How is this backwards compatible\n\nHi, Sean Dague:\nThanks for you review and comment.\nPreviously, these functions return a tuple:\n(resp, body)\nAfter my change, as TupleWithMeta is a subclass of tuple,so they still return a tuple:\n(resp, body)\nSo, for users who don\u0027t care about request_ids, my change makes no difference. So, this is backwards compatible.\n\nWhat I changed is where the request_ids is placed.\nPreviously:\n(resp, body with meta data)\nMy change:\n(resp, body) with meta data\nThis is intended to provide users with a consistent approach to get request_ids.\nThanks","accounts_in_message":[],"_revision_number":1},{"id":"56424027f756b3af98b5444d73b112621c424c61","author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"date":"2016-02-15 09:51:42.000000000","message":"Patch Set 2: Published edit on patch set 1","accounts_in_message":[],"_revision_number":2},{"id":"783ba181428a07bac63f6d3a2a7ec68e690c84f0","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-15 10:57:33.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-novaclient-pep8 http://logs.openstack.org/39/276639/2/check/gate-python-novaclient-pep8/c359286/ : SUCCESS in 28s\n- gate-python-novaclient-docs http://docs-draft.openstack.org/39/276639/2/check/gate-python-novaclient-docs/c10c0c9//doc/build/html/ : SUCCESS in 52s\n- gate-python-novaclient-python27 http://logs.openstack.org/39/276639/2/check/gate-python-novaclient-python27/a93f4e0/ : SUCCESS in 1m 23s\n- gate-python-novaclient-python34 http://logs.openstack.org/39/276639/2/check/gate-python-novaclient-python34/87e9da4/ : SUCCESS in 2m 05s\n- gate-python-novaclient-pypy http://logs.openstack.org/39/276639/2/check/gate-python-novaclient-pypy/f3e388b/ : SUCCESS in 2m 04s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/39/276639/2/check/gate-tempest-dsvm-neutron-src-python-novaclient/465cb83/ : SUCCESS in 1h 03m 51s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/39/276639/2/check/gate-novaclient-dsvm-functional/753a795/ : SUCCESS in 38m 13s","accounts_in_message":[],"_revision_number":2},{"id":"8d332bf357e0fe7bfffe09ad10b94628cf120e42","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2016-02-15 17:38:47.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"f7220943b8d888ff921d40e39bd718ccb5a748f3","author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"date":"2016-02-29 05:37:04.000000000","message":"Patch Set 2: Code-Review+1\n\nLGTM, Thanks Cao.","accounts_in_message":[],"_revision_number":2},{"id":"ac6038c93cb959f314f441f98cab496b52f93a13","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2016-03-02 11:28:54.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"bdbf8c0955c7f16cff1caf808d91bfa7985127b8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-03-02 11:29:00.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"bc95425281de076faf4d9f3895e4757fdefa0d1d","date":"2016-03-02 13:05:05.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":2},{"id":"44ebadf5dd67d3e1be9fcfcad8d7d552316e901d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-03-02 13:05:05.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-novaclient-docs http://docs-draft.openstack.org/39/276639/2/gate/gate-python-novaclient-docs/900f82c//doc/build/html/ : SUCCESS in 58s\n- gate-python-novaclient-pep8 http://logs.openstack.org/39/276639/2/gate/gate-python-novaclient-pep8/54b2527/ : SUCCESS in 54s\n- gate-python-novaclient-python27 http://logs.openstack.org/39/276639/2/gate/gate-python-novaclient-python27/b2267eb/ : SUCCESS in 1m 34s\n- gate-python-novaclient-python34 http://logs.openstack.org/39/276639/2/gate/gate-python-novaclient-python34/3574a82/ : SUCCESS in 2m 21s\n- gate-tempest-dsvm-neutron-src-python-novaclient http://logs.openstack.org/39/276639/2/gate/gate-tempest-dsvm-neutron-src-python-novaclient/30eed1f/ : SUCCESS in 58m 19s\n- gate-novaclient-dsvm-functional http://logs.openstack.org/39/276639/2/gate/gate-novaclient-dsvm-functional/ac09888/ : SUCCESS in 39m 50s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"f535e6945b64509e2b9a1298fc502697691aa595","revisions":{"afef7de23e6286ce90f5353425679dade1640527":{"kind":"REWORK","_number":1,"created":"2016-02-05 09:25:09.000000000","uploader":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"ref":"refs/changes/39/276639/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/39/276639/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/1"}}},"commit":{"parents":[{"commit":"0927de6c8e90b32eeb74bf3e49de149875a0ba81","subject":"Merge \"Remove unnecessary filter from Resource\u0027s __repr__() function\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/0927de6c8e90b32eeb74bf3e49de149875a0ba81"}]}],"author":{"name":"Cao Shufeng","email":"caosf.fnst@cn.fujitsu.com","date":"2016-02-05 08:59:21.000000000","tz":480},"committer":{"name":"Cao Shufeng","email":"caosf.fnst@cn.fujitsu.com","date":"2016-02-05 09:19:49.000000000","tz":480},"subject":"Provide user with coherent interface to get request_ids","message":"Provide user with coherent interface to get request_ids\n\nCurrently, users must use different interface to get request_ids.\n\n    For a server stop action:\n        result \u003d serverManager.stop(server)\n        # result \u003d (Response, TupleWithMeta)\n        request_ids \u003d result[1].request_ids\n    For a server delete action:\n        result \u003d serverManager.delete(server)\n        # result \u003d TupelWithMeta\n       request_ids \u003d result.request_ids\n\nSuch kind of difference makes user confused.\nThis change provides a backwards compatibility solution.\n\nChange-Id: I164bb95abce6dc96cf455033f02822ccb0d87b8f\nCloses-Bug: 1542179\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/afef7de23e6286ce90f5353425679dade1640527"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/afef7de23e6286ce90f5353425679dade1640527"}]},"branch":"refs/heads/master"},"f535e6945b64509e2b9a1298fc502697691aa595":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2016-02-15 09:51:42.000000000","uploader":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"ref":"refs/changes/39/276639/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/39/276639/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/39/276639/2"}}},"commit":{"parents":[{"commit":"0927de6c8e90b32eeb74bf3e49de149875a0ba81","subject":"Merge \"Remove unnecessary filter from Resource\u0027s __repr__() function\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/0927de6c8e90b32eeb74bf3e49de149875a0ba81"}]}],"author":{"name":"Cao Shufeng","email":"caosf.fnst@cn.fujitsu.com","date":"2016-02-05 08:59:21.000000000","tz":480},"committer":{"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","date":"2016-02-15 09:49:33.000000000","tz":0},"subject":"Provide user with coherent interface to get request_ids","message":"Provide user with coherent interface to get request_ids\n\nCurrently, users must use different interface to get request_ids.\n1. Commonly, ListWithMeta, DictWithMeta or TupleWithMeta, etc is\nreturned to user. And request_ids is returned as an attribute of\n*WithMeta.\n\n    For a server delete action:\n        result \u003d serverManager.delete(server)\n        # result \u003d TupelWithMeta\n        request_ids \u003d result.request_ids\n\n2. Some places reutrn a tuple which contains request_ids in one of\nits elements.\n\n    For a server stop action:\n        result \u003d serverManager.stop(server)\n        # result \u003d (Response, TupleWithMeta)\n        request_ids \u003d result[1].request_ids\n\nSuch kind of difference makes user confused.\nThis change provides a backwards compatibility solution for users\nwho don\u0027t care about request_ids as TupleWithMeta is subclass of\ntuple.\n\nChange-Id: I164bb95abce6dc96cf455033f02822ccb0d87b8f\nCloses-Bug: 1542179\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/f535e6945b64509e2b9a1298fc502697691aa595"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/f535e6945b64509e2b9a1298fc502697691aa595"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
