)]}'
{"id":"openstack%2Fpython-novaclient~582147","triplet_id":"openstack%2Fpython-novaclient~master~I3ef096c61b0e05a637ab0c4a1027338fa87e4f09","project":"openstack/python-novaclient","branch":"master","topic":"bug/1781368","hashtags":[],"change_id":"I3ef096c61b0e05a637ab0c4a1027338fa87e4f09","subject":"Fix flavor keyerror when nova boot vm","status":"MERGED","created":"2018-07-12 11:14:26.000000000","updated":"2018-12-13 22:11:04.000000000","submitted":"2018-12-13 22:11:04.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"582147-1544739064179-5f1dc8fe","meta_rev_id":"617470ed55cefabefe3d117746d6617f9bb7e87c","_number":582147,"virtual_id_number":582147,"owner":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"value":2,"date":"2018-12-13 22:11:03.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"}],"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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":2,"date":"2018-12-13 20:27:24.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":2,"date":"2018-12-13 07:50:37.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"}],"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":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":1,"date":"2018-12-13 20:27:24.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-07-13 14:01:08.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":"2018-11-01 13:08:06.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":"2018-11-14 13:30:36.000000000","updated_by":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"reviewer":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"state":"REVIEWER"},{"updated":"2018-12-13 20:27:24.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"state":"REVIEWER"},{"updated":"2018-12-13 22:11:03.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"8a604be3d7ef25051faec0e654ed8b0dc1de059e","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-07-12 11:14:26.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"59a97f56d9b28c03bbc3dc86ba2b66f3aa66d476","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-07-12 12:44:28.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/1/check/openstack-tox-pep8/8c1c1ad/ : SUCCESS in 4m 37s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/1/check/openstack-tox-py27/4a7c14f/ : SUCCESS in 4m 14s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/1/check/openstack-tox-py35/5a8b35f/ : SUCCESS in 4m 57s\n- build-openstack-sphinx-docs http://logs.openstack.org/47/582147/1/check/build-openstack-sphinx-docs/733dabe/html/ : SUCCESS in 3m 30s\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/47/582147/1/check/legacy-tempest-dsvm-neutron-src/3e7ed0d/ : SUCCESS in 1h 23m 17s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/1/check/novaclient-dsvm-functional/14e232a/ : SUCCESS in 50m 32s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/1/check/openstack-tox-lower-constraints/00daffe/ : SUCCESS in 5m 16s","accounts_in_message":[],"_revision_number":1},{"id":"31863d80029f1eaa09c32749d3fe4e164af7fbb0","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2018-07-12 15:26:32.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)\n\nThis looks good to me, but because it\u0027s fixing a bug, there needs to be at least one unit test added that shows that it does.  I also had difficulty understanding the commit message; you might try rephrasing it like so:\n\n    If the returned data from \"nova boot\" does not have a \"flavor\"\n    attribute, a KeyError is raised.  This change fixes the problem.","accounts_in_message":[],"_revision_number":1},{"id":"1cec94a471c4c1d1b93b5a5c2e9bb3bf16955f0d","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-07-13 06:40:44.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"0f85098f3ef7e0d2421a6b9dd11d33e0911e377d","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-07-13 08:21:18.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/2/check/openstack-tox-pep8/088c297/ : SUCCESS in 3m 38s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/2/check/openstack-tox-py27/47f6b14/ : SUCCESS in 6m 07s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/2/check/openstack-tox-py35/d36c1bc/ : SUCCESS in 3m 59s\n- build-openstack-sphinx-docs http://logs.openstack.org/47/582147/2/check/build-openstack-sphinx-docs/54d3290/html/ : SUCCESS in 4m 12s\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/47/582147/2/check/legacy-tempest-dsvm-neutron-src/f739247/ : SUCCESS in 1h 32m 41s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/2/check/novaclient-dsvm-functional/5e32ef1/ : SUCCESS in 1h 05m 09s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/2/check/openstack-tox-lower-constraints/0988d36/ : SUCCESS in 5m 33s","accounts_in_message":[],"_revision_number":2},{"id":"297867f6281cee07273db948acb280cd5cc2ab15","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2018-07-13 14:01:08.000000000","message":"Patch Set 2: Code-Review-1\n\nI don\u0027t think this addresses the testing I want to see.  All of the fakes have \u0027flavor\u0027 keys, so the added test doesn\u0027t test the case where \u0027flavor\u0027 is missing from the response.","accounts_in_message":[],"_revision_number":2},{"id":"6534f676a83df95e2c204e36220c7501cacd3744","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-07-16 05:54:35.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"881ce3b2cef5b24b04bf39dc69a566e0c4e50fa9","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-07-16 07:36:26.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/3/check/openstack-tox-pep8/d26698c/ : SUCCESS in 4m 45s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/3/check/openstack-tox-py27/f3503e5/ : SUCCESS in 3m 42s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/3/check/openstack-tox-py35/465d71c/ : SUCCESS in 4m 32s\n- build-openstack-sphinx-docs http://logs.openstack.org/47/582147/3/check/build-openstack-sphinx-docs/ada1f4d/html/ : SUCCESS in 3m 26s\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/47/582147/3/check/legacy-tempest-dsvm-neutron-src/12dff65/ : SUCCESS in 1h 35m 18s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/3/check/novaclient-dsvm-functional/264235c/ : SUCCESS in 1h 05m 56s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/3/check/openstack-tox-lower-constraints/d0af820/ : SUCCESS in 4m 21s","accounts_in_message":[],"_revision_number":3},{"id":"7f1a6d9b3ac8ffa6e0efc9f78711a9e8addd639d","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2018-07-16 09:53:45.000000000","message":"Patch Set 3: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"4474e025073c988658da6e9caad8b5bf0079ed85","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-07-16 11:18:00.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"0b236d56c43a850b6d55c8470c47cffe32804a90","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-07-16 12:53:54.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/4/check/openstack-tox-pep8/7575a53/ : SUCCESS in 4m 07s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/4/check/openstack-tox-py27/9a13572/ : SUCCESS in 4m 46s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/4/check/openstack-tox-py35/128ab3b/ : SUCCESS in 3m 56s\n- build-openstack-sphinx-docs http://logs.openstack.org/47/582147/4/check/build-openstack-sphinx-docs/703d16b/html/ : SUCCESS in 4m 08s\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/47/582147/4/check/legacy-tempest-dsvm-neutron-src/8b4ee48/ : SUCCESS in 1h 28m 40s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/4/check/novaclient-dsvm-functional/7848a9a/ : SUCCESS in 1h 02m 53s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/4/check/openstack-tox-lower-constraints/194d9a5/ : SUCCESS in 7m 21s","accounts_in_message":[],"_revision_number":4},{"id":"500c6db00e708ba4dcbfb046a6ce21dee216a0d0","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2018-07-16 13:32:27.000000000","message":"Patch Set 4: Code-Review+2\n\nthanks","accounts_in_message":[],"_revision_number":4},{"id":"0ffd39ade046eb8c224cb1534d4e8488659c1696","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-07-17 06:34:16.000000000","message":"Patch Set 4: Code-Review-1\n\nIn \u0027_print_server\u0027 function,\nwhen accessing an attribute of the server resource object [1],\nthe \u0027get\u0027 method of the server resource object is called (GET /servers/{server_id} is called).\nIt always sets \u0027flavor\u0027 in the server resource object.\n\n[1] https://github.com/openstack/python-novaclient/blob/32a3244bb4879f5c0ea430de6fac284b2a987441/novaclient/v2/shell.py#L2296\n[2] https://github.com/openstack/python-novaclient/blob/32a3244bb4879f5c0ea430de6fac284b2a987441/novaclient/base.py#L177\n\nBut the \u0027get\u0027 method of the server resource object is failed though creating the server is successful,\nthe issue in the bug report occurs.\n\nIMO, it is better to fix as follows.\n\n1. Add a check whether \u0027get\u0027 call [2] is successful or not.\n2. If the call is failed (e.g. 404 NotFound), raise an exception.\n3. Handle the exception in \u0027do_boot\u0027 method. [3]\n\n[3] https://github.com/openstack/python-novaclient/blob/32a3244bb4879f5c0ea430de6fac284b2a987441/novaclient/v2/shell.py#L912","accounts_in_message":[],"_revision_number":4},{"id":"94de25eeb9222b525516946483ece1c77a9ed20d","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-07-17 06:35:32.000000000","message":"Patch Set 4:\n\nthe \u0027get\u0027 method of the server resource object is called (GET /servers/{server_id} is called). --\u003e See [2]","accounts_in_message":[],"_revision_number":4},{"id":"e92ba720784a01e54b6728346804e92415a2b820","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-07-17 07:23:57.000000000","message":"Patch Set 4:\n\n@Takashi NATSUME\n\n--\u003eIMO, it is better to fix as follows.\n--\u003e1. Add a check whether \u0027get\u0027 call [2] is successful or not.\nI don\u0027t know how to check whether \u0027get\u0027 call successful or not in novaclient/base.py#L177, could you give an example?\n\n--\u003e2. If the call is failed (e.g. 404 NotFound), raise an exception.\nthe same with 1\n\n--\u003e3. Handle the exception in \u0027do_boot\u0027 method. [3]\nIs it right like this in novaclient/v2/shell.py#L912 ?\n    try:\n        _print_server(cs, args, server)\n    except exception as e:\n        print(\u0027Error: %s\u0027 % e)","accounts_in_message":[],"_revision_number":4},{"id":"c0a89db502e34afeeabedafb2dd9cbbfc674de95","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-07-18 05:55:47.000000000","message":"Patch Set 4:\n\nWhen accessing \u0027address\u0027 field of the server object [1], the issue occurs (404 NotFound is returned in GET request).\nIt raises an exception (NotFound exception), but it is squashed at [2].\n\n[1] https://github.com/openstack/python-novaclient/blob/32a3244bb4879f5c0ea430de6fac284b2a987441/novaclient/v2/servers.py#L405\n[2] https://github.com/openstack/python-novaclient/blob/32a3244bb4879f5c0ea430de6fac284b2a987441/novaclient/v2/servers.py#L408\n\nSo remove try-catch clause in the \u0027networks\u0027 method and enable it to raise the exception to outside of the method.\nThen catch it and raise the CommandError exception [3] in the \u0027do_boot\u0027 method.\n\n[3] https://github.com/openstack/python-novaclient/blob/32a3244bb4879f5c0ea430de6fac284b2a987441/novaclient/v2/shell.py#L2428-L2431","accounts_in_message":[],"_revision_number":4},{"id":"859db926322c1968835c8f236dcc80eb176ed884","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-07-18 07:09:12.000000000","message":"Patch Set 4:\n\nThanks for your reply, bug I can not get your point. \nCould you show the code in novaclient/base.py#L177 ? \n--\u003eAdd a check whether \u0027get\u0027 call [2] is successful or not.\nyou mean like this:\n\n    def __getattr__(self, k):\n        if k not in self.__dict__:\n            # NOTE(bcwaldon): disallow lazy-loading if already loaded once\n            if not self.is_loaded():\n                try:\n                    self.get()\n                except:\n                    raise CommandError\n                return self.__getattr__(k)\n\n            raise AttributeError(k)\n        else:\n            return self.__dict__[k]\n\nIs this right ?\nI am puzzle with this.","accounts_in_message":[],"_revision_number":4},{"id":"bbe1b7aa61c4996a7953eeee07c4b18aa18e511c","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-07-18 07:45:09.000000000","message":"Patch Set 4:\n\n\u003e --\u003eAdd a check whether \u0027get\u0027 call [2] is successful or not.\n\nSorry. It is not necessary.\nThe following code *may* work well.\n\ndiff --git a/novaclient/v2/servers.py b/novaclient/v2/servers.py\nindex d872fa0..8de0b19 100644\n--- a/novaclient/v2/servers.py\n+++ b/novaclient/v2/servers.py\n@@ -405,7 +405,7 @@ class Server(base.Resource):\n             for network_label, address_list in self.addresses.items():\n                 networks[network_label] \u003d [a[\u0027addr\u0027] for a in address_list]\n             return networks\n-        except Exception:\n+        except AttributeError as e:\n             return {}\n \n     @api_versions.wraps(\"2.0\", \"2.24\")\ndiff --git a/novaclient/v2/shell.py b/novaclient/v2/shell.py\nindex 99cc2f5..4e3019c 100644\n--- a/novaclient/v2/shell.py\n+++ b/novaclient/v2/shell.py\n@@ -909,7 +909,10 @@ def do_boot(cs, args):\n         utils.print_dict(new_server)\n         return\n     else:\n-        _print_server(cs, args, server)\n+        try:\n+            _print_server(cs, args, server)\n+        except Exception as e:\n+            raise exceptions.CommandError(six.text_type(e))\n \n     if args.poll:\n         _poll_for_status(cs.servers.get, server.id, \u0027building\u0027, [\u0027active\u0027])","accounts_in_message":[],"_revision_number":4},{"id":"ba70f70f9b65c7d8b3376013138bb8370f206b4b","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-07-18 08:53:09.000000000","message":"Patch Set 4:\n\nThank you for showing the code.\n\nAccording to your code, and I follow the nova command like this:\n\nfirst command:\nnova --debug boot vm001 --flavor flavor-id --image image-id --nic net-id\u003dnetwork-id\nIt\u0027s result is like this:\nRESP BODY: {\"itemNotFound\": {\"message\": \"Instance 0a3a4718-c4d4-493a-8b1b-987b66fe9da8 could not be found.\", \"code\": 404}}\nERROR (CommandError): Instance 0a3a4718-c4d4-493a-8b1b-987b66fe9da8 could not be found. (HTTP 404) (Request-ID: req-2897fec3-bce7-4905-9859-e9caf3b97983)\n\nActually there is only a KeyError with no flavor attribute in return data, \nand it has nothing to do with the network attribute (Although there is no network attribute in return data too).\nSo I think the code in novaclient/v2/servers.py#405 may not to change.\n\nsecond command:\nnova list\nThe vm001 is in the return data and it\u0027s status is active, it means that the vm is successful to boot.\nSo I think the code in novaclient/v2/shell.py#909 with do_boot function may not to change.\nIt only should change the code in _print_server function like this:\ninfo.pop(\u0027flavor\u0027, None)\n\nCould you agree with me or other advice?","accounts_in_message":[],"_revision_number":4},{"id":"1a9085d9f5a764f2aff72f5a8f6c12530f8c305f","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2018-10-02 23:04:42.000000000","message":"Patch Set 4: Code-Review-1\n\nI agree with Takashi that this isn\u0027t fixing the root cause of the bug. The bug is occurring because the code is trying to process a returned server response, when one was not received at all because of the 404 error. If the server is not found, we should not try to parse the server response and instead we should return the error to the user.","accounts_in_message":[],"_revision_number":4},{"id":"2750d1b41aa40451629be8cf7697d6bd55e19537","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-10-26 14:53:30.000000000","message":"Patch Set 4:\n\n@zhaolihui, are you still working on this patch? May I take it over?","accounts_in_message":[],"_revision_number":4},{"id":"cb9f85ac8fa230100cc2ab299e6262e03ac8310e","author":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"date":"2018-10-29 01:45:16.000000000","message":"Patch Set 4:\n\n@Takashi NATSUME  yes, as your will","accounts_in_message":[],"_revision_number":4},{"id":"8e93eb336dbfca3ea095b04145aa93d3e54cd8ae","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-10-31 05:46:38.000000000","message":"Patch Set 4:\n\n@zhaolihui, Thank you for your reply.","accounts_in_message":[],"_revision_number":4},{"id":"93fd37b9b7b52524b290e7ea2a98bde07954554d","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-11-01 10:41:17.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"ebc90db246cb1b5fe8eab567a7d7ceac0e13bd32","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-01 12:25:35.000000000","message":"Patch Set 5: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- tempest-full http://logs.openstack.org/47/582147/5/check/tempest-full/c57ffd9/ : POST_FAILURE in 1h 30m 20s\n- tempest-full-py3 http://logs.openstack.org/47/582147/5/check/tempest-full-py3/7d04d0b/ : SUCCESS in 1h 37m 53s\n- openstack-tox-cover http://logs.openstack.org/47/582147/5/check/openstack-tox-cover/c30fbd9/cover/ : SUCCESS in 4m 16s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/5/check/openstack-tox-lower-constraints/8c32469/ : SUCCESS in 3m 55s\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/5/check/openstack-tox-pep8/15ff61c/ : SUCCESS in 3m 30s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/5/check/openstack-tox-py27/37bdf15/ : SUCCESS in 3m 49s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/5/check/openstack-tox-py35/18bcc3e/ : SUCCESS in 3m 54s\n- openstack-tox-py36 http://logs.openstack.org/47/582147/5/check/openstack-tox-py36/710c106/ : SUCCESS in 3m 48s\n- openstack-tox-docs http://logs.openstack.org/47/582147/5/check/openstack-tox-docs/0f5a0e8/html/ : SUCCESS in 3m 10s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/5/check/novaclient-dsvm-functional/35e0701/ : SUCCESS in 1h 03m 16s","accounts_in_message":[],"_revision_number":5},{"id":"8381c29e11bb82334ebfe5e627a960f8906007c9","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-11-01 13:08:06.000000000","message":"Patch Set 5:\n\nrecheck","accounts_in_message":[],"_revision_number":5},{"id":"89183a29a0b06b7f948cdf80eb89a86fbcff98c2","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-01 14:44:46.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tempest-full http://logs.openstack.org/47/582147/5/check/tempest-full/95e600e/ : SUCCESS in 1h 34m 22s\n- tempest-full-py3 http://logs.openstack.org/47/582147/5/check/tempest-full-py3/78cca02/ : SUCCESS in 1h 18m 02s\n- openstack-tox-cover http://logs.openstack.org/47/582147/5/check/openstack-tox-cover/d370f23/cover/ : SUCCESS in 4m 43s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/5/check/openstack-tox-lower-constraints/e238383/ : SUCCESS in 4m 44s\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/5/check/openstack-tox-pep8/18c899c/ : SUCCESS in 2m 54s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/5/check/openstack-tox-py27/024e791/ : SUCCESS in 4m 38s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/5/check/openstack-tox-py35/db0cf90/ : SUCCESS in 3m 55s\n- openstack-tox-py36 http://logs.openstack.org/47/582147/5/check/openstack-tox-py36/682d629/ : SUCCESS in 4m 30s\n- openstack-tox-docs http://logs.openstack.org/47/582147/5/check/openstack-tox-docs/66d3d9d/html/ : SUCCESS in 4m 14s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/5/check/novaclient-dsvm-functional/9d06c72/ : SUCCESS in 57m 26s","accounts_in_message":[],"_revision_number":5},{"id":"f5d066ba642b30f594baa893a13193e5840dc9a7","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2018-11-14 13:30:36.000000000","message":"Patch Set 5: Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"7843a6a09d6b35e26443017b4ce88c1ae24b1baa","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-12-03 05:29:36.000000000","message":"Patch Set 6: Patch Set 5 was rebased","accounts_in_message":[],"_revision_number":6},{"id":"49e80dab2b7aee2218cad8a98dd50b07ec53a4e2","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-12-03 07:20:17.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tempest-full http://logs.openstack.org/47/582147/6/check/tempest-full/97ede81/ : SUCCESS in 1h 44m 52s\n- tempest-full-py3 http://logs.openstack.org/47/582147/6/check/tempest-full-py3/5b0c558/ : SUCCESS in 1h 30m 27s\n- openstack-tox-cover http://logs.openstack.org/47/582147/6/check/openstack-tox-cover/efc1bc1/cover/ : SUCCESS in 4m 04s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/6/check/openstack-tox-lower-constraints/397715e/ : SUCCESS in 3m 47s\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/6/check/openstack-tox-pep8/22c81c0/ : SUCCESS in 4m 20s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/6/check/openstack-tox-py27/488c657/ : SUCCESS in 3m 17s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/6/check/openstack-tox-py35/de58f3a/ : SUCCESS in 3m 47s\n- openstack-tox-py36 http://logs.openstack.org/47/582147/6/check/openstack-tox-py36/a10e6c3/ : SUCCESS in 4m 07s\n- openstack-tox-docs http://logs.openstack.org/47/582147/6/check/openstack-tox-docs/08f226a/html/ : SUCCESS in 3m 08s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/6/check/novaclient-dsvm-functional/68c12dc/ : SUCCESS in 47m 59s","accounts_in_message":[],"_revision_number":6},{"id":"d6f4b445d8920f4a93537cea6e14a994eb60d90e","author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"date":"2018-12-13 07:50:37.000000000","message":"Patch Set 7: Patch Set 6 was rebased","accounts_in_message":[],"_revision_number":7},{"id":"18a2135e19aa1aa18154b97facd50f446699ffe8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-12-13 09:25:44.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tempest-full http://logs.openstack.org/47/582147/7/check/tempest-full/3abf961/ : SUCCESS in 1h 28m 35s\n- tempest-full-py3 http://logs.openstack.org/47/582147/7/check/tempest-full-py3/fbb0317/ : SUCCESS in 1h 30m 46s\n- openstack-tox-cover http://logs.openstack.org/47/582147/7/check/openstack-tox-cover/7171b8a/cover/ : SUCCESS in 4m 13s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/7/check/openstack-tox-lower-constraints/3ace864/ : SUCCESS in 3m 47s\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/7/check/openstack-tox-pep8/8b28a82/ : SUCCESS in 6m 24s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/7/check/openstack-tox-py27/4604621/ : SUCCESS in 3m 38s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/7/check/openstack-tox-py35/48727ee/ : SUCCESS in 3m 43s\n- openstack-tox-py36 http://logs.openstack.org/47/582147/7/check/openstack-tox-py36/92038e7/ : SUCCESS in 3m 02s\n- openstack-tox-docs http://logs.openstack.org/47/582147/7/check/openstack-tox-docs/cc302b4/html/ : SUCCESS in 4m 48s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/7/check/novaclient-dsvm-functional/c3271c0/ : SUCCESS in 1h 15m 51s","accounts_in_message":[],"_revision_number":7},{"id":"c334274953c174cbb544d5dfcac60d139c6743f0","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2018-12-13 20:27:24.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1\n\n(2 comments)\n\nSorry for the delay in reviewing this. I had a difficult time understanding what all was going on here.\n\nNow that I understand, I think this is the most sensible way to fix this problem, LGTM. Thanks Takashi.","accounts_in_message":[],"_revision_number":7},{"id":"3588b55e59a029f6a8d8e3f6d924866f729f018a","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-12-13 20:28:05.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"cdc270f5e40c6f725c7a64b49900ccd08508e5b1","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-12-13 22:11:03.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- tempest-full http://logs.openstack.org/47/582147/7/gate/tempest-full/90db185/ : SUCCESS in 1h 35m 04s\n- tempest-full-py3 http://logs.openstack.org/47/582147/7/gate/tempest-full-py3/f64feca/ : SUCCESS in 1h 17m 59s\n- openstack-tox-lower-constraints http://logs.openstack.org/47/582147/7/gate/openstack-tox-lower-constraints/ce53098/ : SUCCESS in 4m 42s\n- openstack-tox-pep8 http://logs.openstack.org/47/582147/7/gate/openstack-tox-pep8/ccc349e/ : SUCCESS in 3m 27s\n- openstack-tox-py27 http://logs.openstack.org/47/582147/7/gate/openstack-tox-py27/9cd5f93/ : SUCCESS in 3m 57s\n- openstack-tox-py35 http://logs.openstack.org/47/582147/7/gate/openstack-tox-py35/dcfb98b/ : SUCCESS in 3m 52s\n- openstack-tox-py36 http://logs.openstack.org/47/582147/7/gate/openstack-tox-py36/0f834ac/ : SUCCESS in 3m 33s\n- openstack-tox-docs http://logs.openstack.org/47/582147/7/gate/openstack-tox-docs/ed96f95/html/ : SUCCESS in 3m 09s\n- novaclient-dsvm-functional http://logs.openstack.org/47/582147/7/gate/novaclient-dsvm-functional/4bfe400/ : SUCCESS in 1h 06m 55s","accounts_in_message":[],"_revision_number":7},{"id":"6893f083c7936e73e7d5d8522f46d454eabc5d95","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-12-13 22:11:04.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"b13ba0138f6ee2e10ce3b4b95aee37c6cebd1f20","revisions":{"461445cf50d255295216ae04293c3c57440d710b":{"kind":"REWORK","_number":1,"created":"2018-07-12 11:14:26.000000000","uploader":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"ref":"refs/changes/47/582147/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/47/582147/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/1"}}},"commit":{"parents":[{"commit":"2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4","subject":"Rename --endpoint-override to --os-endpoint-override","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4"}]}],"author":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"committer":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"subject":"Fix flavor keyerror when nova boot","message":"Fix flavor keyerror when nova boot\n\nIt maybe has no flavor attribute in return data when nova boot,\nand then it occur an keyerror to delete it.\n\nTo delete it if a flavor attribute in return data.\n\nChange-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09\nCloses-Bug: #1781368\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/461445cf50d255295216ae04293c3c57440d710b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/461445cf50d255295216ae04293c3c57440d710b"}]},"branch":"refs/heads/master"},"d0426637aa43b43949f0b87164bba03a60698f42":{"kind":"REWORK","_number":2,"created":"2018-07-13 06:40:44.000000000","uploader":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"ref":"refs/changes/47/582147/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/47/582147/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/2"}}},"commit":{"parents":[{"commit":"2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4","subject":"Rename --endpoint-override to --os-endpoint-override","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4"}]}],"author":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"committer":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-13 06:37:42.000000000","tz":0},"subject":"Fix flavor keyerror when nova boot vm","message":"Fix flavor keyerror when nova boot vm\n\nIf the returned data from \"nova boot\" does not have a \"flavor\"\nattribute, a KeyError is raised. This change fixes the problem.\n\nChange-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09\nCloses-Bug: #1781368\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/d0426637aa43b43949f0b87164bba03a60698f42"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/d0426637aa43b43949f0b87164bba03a60698f42"}]},"branch":"refs/heads/master"},"35cfe3f59d085368c215eb89b0ca0a46a1f30492":{"kind":"REWORK","_number":3,"created":"2018-07-16 05:54:35.000000000","uploader":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"ref":"refs/changes/47/582147/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/47/582147/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/3"}}},"commit":{"parents":[{"commit":"2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4","subject":"Rename --endpoint-override to --os-endpoint-override","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4"}]}],"author":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"committer":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-16 05:53:27.000000000","tz":0},"subject":"Fix flavor keyerror when nova boot vm","message":"Fix flavor keyerror when nova boot vm\n\nIf the returned data from \"nova boot\" does not have a \"flavor\"\nattribute, a KeyError is raised. This change fixes the problem.\n\nChange-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09\nCloses-Bug: #1781368\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/35cfe3f59d085368c215eb89b0ca0a46a1f30492"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/35cfe3f59d085368c215eb89b0ca0a46a1f30492"}]},"branch":"refs/heads/master"},"72112691a0e9fb7b9dd149dd891cbf293e2d5eaf":{"kind":"REWORK","_number":4,"created":"2018-07-16 11:18:00.000000000","uploader":{"_account_id":20223,"name":"zhaolihui","email":"zhaolh@awcloud.com","username":"zhaolihui"},"ref":"refs/changes/47/582147/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/47/582147/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/4"}}},"commit":{"parents":[{"commit":"2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4","subject":"Rename --endpoint-override to --os-endpoint-override","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/2e6ef0c45a6ada10440eb0ce87df74bf7070c1e4"}]}],"author":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"committer":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-16 11:17:07.000000000","tz":0},"subject":"Fix flavor keyerror when nova boot vm","message":"Fix flavor keyerror when nova boot vm\n\nIf the returned data from \"nova boot\" does not have a \"flavor\"\nattribute, a KeyError is raised. This change fixes the problem.\n\nChange-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09\nCloses-Bug: #1781368\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/72112691a0e9fb7b9dd149dd891cbf293e2d5eaf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/72112691a0e9fb7b9dd149dd891cbf293e2d5eaf"}]},"branch":"refs/heads/master"},"cd334f72f70ed8a0164360e553b0f486dcbbf0d1":{"kind":"REWORK","_number":5,"created":"2018-11-01 10:41:17.000000000","uploader":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"ref":"refs/changes/47/582147/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/47/582147/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/5"}}},"commit":{"parents":[{"commit":"58b3ac457aa817da28c757b4845bc39e565139dd","subject":"Merge \"Replace MB with MiB\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/58b3ac457aa817da28c757b4845bc39e565139dd"}]}],"author":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"committer":{"name":"Takashi NATSUME","email":"natsume.takashi@lab.ntt.co.jp","date":"2018-11-01 10:36:55.000000000","tz":540},"subject":"Fix flavor keyerror when nova boot vm","message":"Fix flavor keyerror when nova boot vm\n\nWhen creating a server (the \u0027nova boot\u0027 command),\nit calls \u0027POST /servers\u0027 API.\n\nThe response does not have \u0027addresses\u0027 and \u0027flavor\u0027 attributes.\nWhen accessing \u0027networks\u0027 attribute in the \u0027_print_server\u0027 function,\nit calls \u0027GET /servers/{server_id}\u0027 and get the \u0027addresses\u0027 and\n\u0027flavor\u0027 attributes.\n\nIf \u0027GET /servers/{server_id}\u0027 fails, the server object does not have\nthe \u0027flavor\u0027 attribute, then KeyError is raised when accessing it.\n\nFix the issue by making it raise a CommandError\nwhen the \u0027GET /servers/{server_id}\u0027 fails.\n\nCo-Authored-By: Takashi Natsume \u003cnatsume.takashi@lab.ntt.co.jp\u003e\nChange-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09\nCloses-Bug: #1781368\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/cd334f72f70ed8a0164360e553b0f486dcbbf0d1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/cd334f72f70ed8a0164360e553b0f486dcbbf0d1"}]},"branch":"refs/heads/master"},"e85488361adad599ac2d2f71e97a200181b3af6d":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2018-12-03 05:29:36.000000000","uploader":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"ref":"refs/changes/47/582147/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/47/582147/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/6"}}},"commit":{"parents":[{"commit":"3f967d975804f5cac4e492bace55b0322dc8fb93","subject":"Add Python 3.6 classifier to setup.cfg","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/3f967d975804f5cac4e492bace55b0322dc8fb93"}]}],"author":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"committer":{"name":"Takashi NATSUME","email":"natsume.takashi@lab.ntt.co.jp","date":"2018-12-03 05:29:36.000000000","tz":0},"subject":"Fix flavor keyerror when nova boot vm","message":"Fix flavor keyerror when nova boot vm\n\nWhen creating a server (the \u0027nova boot\u0027 command),\nit calls \u0027POST /servers\u0027 API.\n\nThe response does not have \u0027addresses\u0027 and \u0027flavor\u0027 attributes.\nWhen accessing \u0027networks\u0027 attribute in the \u0027_print_server\u0027 function,\nit calls \u0027GET /servers/{server_id}\u0027 and get the \u0027addresses\u0027 and\n\u0027flavor\u0027 attributes.\n\nIf \u0027GET /servers/{server_id}\u0027 fails, the server object does not have\nthe \u0027flavor\u0027 attribute, then KeyError is raised when accessing it.\n\nFix the issue by making it raise a CommandError\nwhen the \u0027GET /servers/{server_id}\u0027 fails.\n\nCo-Authored-By: Takashi Natsume \u003cnatsume.takashi@lab.ntt.co.jp\u003e\nChange-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09\nCloses-Bug: #1781368\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/e85488361adad599ac2d2f71e97a200181b3af6d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/e85488361adad599ac2d2f71e97a200181b3af6d"}]},"branch":"refs/heads/master"},"b13ba0138f6ee2e10ce3b4b95aee37c6cebd1f20":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2018-12-13 07:50:37.000000000","uploader":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"ref":"refs/changes/47/582147/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-novaclient","ref":"refs/changes/47/582147/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-novaclient refs/changes/47/582147/7"}}},"commit":{"parents":[{"commit":"a789bd30ae07eff636e6ea3da4d5d8f9d46e8ff1","subject":"Change openstack-dev to openstack-discuss","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/a789bd30ae07eff636e6ea3da4d5d8f9d46e8ff1"}]}],"author":{"name":"zhaolihui","email":"zhaolh@awcloud.com","date":"2018-07-12 11:12:54.000000000","tz":0},"committer":{"name":"Takashi NATSUME","email":"natsume.takashi@lab.ntt.co.jp","date":"2018-12-13 07:50:37.000000000","tz":0},"subject":"Fix flavor keyerror when nova boot vm","message":"Fix flavor keyerror when nova boot vm\n\nWhen creating a server (the \u0027nova boot\u0027 command),\nit calls \u0027POST /servers\u0027 API.\n\nThe response does not have \u0027addresses\u0027 and \u0027flavor\u0027 attributes.\nWhen accessing \u0027networks\u0027 attribute in the \u0027_print_server\u0027 function,\nit calls \u0027GET /servers/{server_id}\u0027 and get the \u0027addresses\u0027 and\n\u0027flavor\u0027 attributes.\n\nIf \u0027GET /servers/{server_id}\u0027 fails, the server object does not have\nthe \u0027flavor\u0027 attribute, then KeyError is raised when accessing it.\n\nFix the issue by making it raise a CommandError\nwhen the \u0027GET /servers/{server_id}\u0027 fails.\n\nCo-Authored-By: Takashi Natsume \u003cnatsume.takashi@lab.ntt.co.jp\u003e\nChange-Id: I3ef096c61b0e05a637ab0c4a1027338fa87e4f09\nCloses-Bug: #1781368\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/b13ba0138f6ee2e10ce3b4b95aee37c6cebd1f20"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-novaclient/commit/b13ba0138f6ee2e10ce3b4b95aee37c6cebd1f20"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
