)]}'
{"openstack_dashboard/api/rest/nova.py":[{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"fb1cb58884a732cfd82f0fd365fee06878c599ac","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":44,"context_line":"    def post(self, request):"},{"line_number":45,"context_line":"        instance_id \u003d request.DATA[\u0027instance_id\u0027]"},{"line_number":46,"context_line":"        result \u003d api.nova.snapshot_create(request,"},{"line_number":47,"context_line":"                                          instance_id\u003dinstance_id,"},{"line_number":48,"context_line":"                                          name\u003drequest.DATA[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_4ccc1dbb","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":49},"updated":"2016-07-26 19:57:54.000000000","message":"nit: pulling out instance_id, but name is done in-line","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"3f0963dc75dcd626c9ac787ede3c7d17f6dc362e","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":44,"context_line":"    def post(self, request):"},{"line_number":45,"context_line":"        instance_id \u003d request.DATA[\u0027instance_id\u0027]"},{"line_number":46,"context_line":"        result \u003d api.nova.snapshot_create(request,"},{"line_number":47,"context_line":"                                          instance_id\u003dinstance_id,"},{"line_number":48,"context_line":"                                          name\u003drequest.DATA[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_ef685ef7","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":49},"in_reply_to":"dada55a8_4ccc1dbb","updated":"2016-07-27 00:26:26.000000000","message":"probably to address pep8 stupidity.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":44,"context_line":"    def post(self, request):"},{"line_number":45,"context_line":"        instance_id \u003d request.DATA[\u0027instance_id\u0027]"},{"line_number":46,"context_line":"        result \u003d api.nova.snapshot_create(request,"},{"line_number":47,"context_line":"                                          instance_id\u003dinstance_id,"},{"line_number":48,"context_line":"                                          name\u003drequest.DATA[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_99555cc8","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":49},"in_reply_to":"dada55a8_ef685ef7","updated":"2016-07-27 19:06:58.000000000","message":"yeah, that was a pep8 thing.  Making them the same works for me, though.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"fb1cb58884a732cfd82f0fd365fee06878c599ac","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    def get(self, request, server_id):"},{"line_number":249,"context_line":"        \"\"\"Get a list of server volumes."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        The listing result is an object with property \"items\". Each item is"},{"line_number":252,"context_line":"        an action taken against the given server."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        Example GET:"},{"line_number":255,"context_line":"        http://localhost/api/nova/servers/abcd/volumes/"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_ccfdadb2","line":252,"range":{"start_line":251,"start_character":63,"end_line":252,"end_character":49},"updated":"2016-07-26 19:57:54.000000000","message":"-1: each item is a volume","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    def get(self, request, server_id):"},{"line_number":249,"context_line":"        \"\"\"Get a list of server volumes."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        The listing result is an object with property \"items\". Each item is"},{"line_number":252,"context_line":"        an action taken against the given server."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        Example GET:"},{"line_number":255,"context_line":"        http://localhost/api/nova/servers/abcd/volumes/"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_f92a982b","line":252,"range":{"start_line":251,"start_character":63,"end_line":252,"end_character":49},"in_reply_to":"dada55a8_ccfdadb2","updated":"2016-07-27 19:06:58.000000000","message":"Done","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"fb1cb58884a732cfd82f0fd365fee06878c599ac","unresolved":false,"context_lines":[{"line_number":268,"context_line":"    def post(self, request, server_id):"},{"line_number":269,"context_line":"        \"\"\"Get a list of lines of console output."},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        The listing result is an object with property \"items\". Each item is"},{"line_number":272,"context_line":"        a line of output from the server."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        Example GET:"},{"line_number":275,"context_line":"        http://localhost/api/nova/servers/abcd/console-output/"},{"line_number":276,"context_line":"        \"\"\""},{"line_number":277,"context_line":"        console_type \u003d request.DATA.get(\u0027console_type\u0027, \u0027AUTO\u0027)"},{"line_number":278,"context_line":"        CONSOLES \u003d OrderedDict([(\u0027VNC\u0027, api.nova.server_vnc_console),"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_ac967949","line":275,"range":{"start_line":271,"start_character":8,"end_line":275,"end_character":62},"updated":"2016-07-26 19:57:54.000000000","message":"-1: comment incorrect","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":268,"context_line":"    def post(self, request, server_id):"},{"line_number":269,"context_line":"        \"\"\"Get a list of lines of console output."},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        The listing result is an object with property \"items\". Each item is"},{"line_number":272,"context_line":"        a line of output from the server."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        Example GET:"},{"line_number":275,"context_line":"        http://localhost/api/nova/servers/abcd/console-output/"},{"line_number":276,"context_line":"        \"\"\""},{"line_number":277,"context_line":"        console_type \u003d request.DATA.get(\u0027console_type\u0027, \u0027AUTO\u0027)"},{"line_number":278,"context_line":"        CONSOLES \u003d OrderedDict([(\u0027VNC\u0027, api.nova.server_vnc_console),"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_799ce869","line":275,"range":{"start_line":271,"start_character":8,"end_line":275,"end_character":62},"in_reply_to":"dada55a8_ac967949","updated":"2016-07-27 19:06:58.000000000","message":"Done","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"fb1cb58884a732cfd82f0fd365fee06878c599ac","unresolved":false,"context_lines":[{"line_number":420,"context_line":"class Server(generic.View):"},{"line_number":421,"context_line":"    \"\"\"API for retrieving a single server"},{"line_number":422,"context_line":"    \"\"\""},{"line_number":423,"context_line":"    url_regex \u003d r\u0027nova/servers/(?P\u003cserver_id\u003e[^/]+|default)$\u0027"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"    @rest_utils.ajax()"},{"line_number":426,"context_line":"    def get(self, request, server_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_0c1865d2","line":423,"range":{"start_line":423,"start_character":51,"end_line":423,"end_character":58},"updated":"2016-07-26 19:57:54.000000000","message":"-1: Can you have a \u0027default\u0027 server?","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":420,"context_line":"class Server(generic.View):"},{"line_number":421,"context_line":"    \"\"\"API for retrieving a single server"},{"line_number":422,"context_line":"    \"\"\""},{"line_number":423,"context_line":"    url_regex \u003d r\u0027nova/servers/(?P\u003cserver_id\u003e[^/]+|default)$\u0027"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"    @rest_utils.ajax()"},{"line_number":426,"context_line":"    def get(self, request, server_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_f9861812","line":423,"range":{"start_line":423,"start_character":51,"end_line":423,"end_character":58},"in_reply_to":"dada55a8_0c1865d2","updated":"2016-07-27 19:06:58.000000000","message":"Dunno, not sure what that is here for.  Not really going to touch it right now.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"3f0963dc75dcd626c9ac787ede3c7d17f6dc362e","unresolved":false,"context_lines":[{"line_number":433,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":434,"context_line":"    def post(self, request, server_id):"},{"line_number":435,"context_line":"        \"\"\"Perform a change to a server"},{"line_number":436,"context_line":"        \"\"\""},{"line_number":437,"context_line":"        operation \u003d request.DATA.get(\u0027operation\u0027, \u0027none\u0027)"},{"line_number":438,"context_line":"        if operation \u003d\u003d \u0027stop\u0027:"},{"line_number":439,"context_line":"            return api.nova.server_stop(request, server_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_9b176444","line":436,"updated":"2016-07-27 00:26:26.000000000","message":"I think this would be better as a dictionary.\n\noperations \u003d {\n  \u0027start\u0027: api.nova.server_stop(request, server_id),\n ...\n \u0027hard_reboot\u0027: lambda r, s: api.nova.server_reboot(r, s, False),\n \u0027hard_reboot\u0027: lambda r, s: api.nova.server_reboot(r, s, True),\n}\n\nreturn operations[operation](request, server_id)\n\nThe only caveat would be the two that take the extra arg. for those you\u0027d need to have a wrapper function as demonstrated with the lambda above.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":433,"context_line":"    @rest_utils.ajax(data_required\u003dTrue)"},{"line_number":434,"context_line":"    def post(self, request, server_id):"},{"line_number":435,"context_line":"        \"\"\"Perform a change to a server"},{"line_number":436,"context_line":"        \"\"\""},{"line_number":437,"context_line":"        operation \u003d request.DATA.get(\u0027operation\u0027, \u0027none\u0027)"},{"line_number":438,"context_line":"        if operation \u003d\u003d \u0027stop\u0027:"},{"line_number":439,"context_line":"            return api.nova.server_stop(request, server_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_fdfe0104","line":436,"in_reply_to":"dada55a8_9b176444","updated":"2016-07-27 19:06:58.000000000","message":"I kind of half-addressed this for now...created a clean map for the simple operations and just fell through to the more complex ones.  I think it solves your problem sufficiently, but let me know.  Thanks!","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"81e06f33cbbc44d15a3924d959d6893d743cc6ba","unresolved":false,"context_lines":[{"line_number":444,"context_line":"        }"},{"line_number":445,"context_line":"        if operation in simple_operations:"},{"line_number":446,"context_line":"            return simple_operations[operation](request, server_id)"},{"line_number":447,"context_line":"        elif operation \u003d\u003d \u0027hard_reboot\u0027:"},{"line_number":448,"context_line":"            return api.nova.server_reboot(request, server_id, False)"},{"line_number":449,"context_line":"        elif operation \u003d\u003d \u0027soft_reboot\u0027:"},{"line_number":450,"context_line":"            return api.nova.server_reboot(request, server_id, True)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_cfa05546","line":447,"updated":"2016-07-29 03:02:49.000000000","message":"so you did all this just to avoid some pep8 weirdness with using an inline lambda above?","commit_id":"97ee2fe6af819e6624cc387171db7bdb159dc923"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"79bd6c9e7fe2df72861a3566e83ad2e3471edbf9","unresolved":false,"context_lines":[{"line_number":444,"context_line":"        }"},{"line_number":445,"context_line":"        if operation in simple_operations:"},{"line_number":446,"context_line":"            return simple_operations[operation](request, server_id)"},{"line_number":447,"context_line":"        elif operation \u003d\u003d \u0027hard_reboot\u0027:"},{"line_number":448,"context_line":"            return api.nova.server_reboot(request, server_id, False)"},{"line_number":449,"context_line":"        elif operation \u003d\u003d \u0027soft_reboot\u0027:"},{"line_number":450,"context_line":"            return api.nova.server_reboot(request, server_id, True)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_855bc786","line":447,"in_reply_to":"bacf61ea_cfa05546","updated":"2016-07-29 13:27:40.000000000","message":"Switching to use lambdas...thanks!","commit_id":"97ee2fe6af819e6624cc387171db7bdb159dc923"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"ef421c71ec30f3b6209f6dd25fb53e5384050f79","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"@urls.register"},{"line_number":38,"context_line":"class Snapshots(generic.View):"},{"line_number":39,"context_line":"    \"\"\"API for nova keypairs."},{"line_number":40,"context_line":"    \"\"\""},{"line_number":41,"context_line":"    url_regex \u003d r\u0027nova/snapshots/$\u0027"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_768f432a","line":39,"range":{"start_line":39,"start_character":20,"end_line":39,"end_character":28},"updated":"2016-07-30 16:03:33.000000000","message":"snapshots","commit_id":"5f007a87454a75675bfaf647eaf9ec384dda8f34"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"292c5c72b2a725623a610120b9e8a9f94c886eae","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"@urls.register"},{"line_number":38,"context_line":"class Snapshots(generic.View):"},{"line_number":39,"context_line":"    \"\"\"API for nova keypairs."},{"line_number":40,"context_line":"    \"\"\""},{"line_number":41,"context_line":"    url_regex \u003d r\u0027nova/snapshots/$\u0027"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_a79e81b6","line":39,"range":{"start_line":39,"start_character":20,"end_line":39,"end_character":28},"in_reply_to":"bacf61ea_768f432a","updated":"2016-08-01 13:21:32.000000000","message":"Whoops!  Good catch, thanks!","commit_id":"5f007a87454a75675bfaf647eaf9ec384dda8f34"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"ef421c71ec30f3b6209f6dd25fb53e5384050f79","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"@urls.register"},{"line_number":223,"context_line":"class SecurityGroups(generic.View):"},{"line_number":224,"context_line":"    \"\"\"API over all server volumes."},{"line_number":225,"context_line":"    \"\"\""},{"line_number":226,"context_line":"    url_regex \u003d r\u0027nova/servers/(?P\u003cserver_id\u003e[^/]+)/security-groups/$\u0027"},{"line_number":227,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_d680aff9","line":224,"range":{"start_line":224,"start_character":27,"end_line":224,"end_character":34},"updated":"2016-07-30 16:03:33.000000000","message":"SecurityGroups","commit_id":"5f007a87454a75675bfaf647eaf9ec384dda8f34"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"292c5c72b2a725623a610120b9e8a9f94c886eae","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"@urls.register"},{"line_number":223,"context_line":"class SecurityGroups(generic.View):"},{"line_number":224,"context_line":"    \"\"\"API over all server volumes."},{"line_number":225,"context_line":"    \"\"\""},{"line_number":226,"context_line":"    url_regex \u003d r\u0027nova/servers/(?P\u003cserver_id\u003e[^/]+)/security-groups/$\u0027"},{"line_number":227,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_e7a4f908","line":224,"range":{"start_line":224,"start_character":27,"end_line":224,"end_character":34},"in_reply_to":"bacf61ea_d680aff9","updated":"2016-08-01 13:21:32.000000000","message":"Thanks, will change as well.","commit_id":"5f007a87454a75675bfaf647eaf9ec384dda8f34"}],"openstack_dashboard/static/app/core/openstack-service-api/nova.service.js":[{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"976c83d7317add1dff74c034cf81cabe254c7f26","unresolved":false,"context_lines":[{"line_number":344,"context_line":"     */"},{"line_number":345,"context_line":"    function unpauseServer(serverId, suppressError) {"},{"line_number":346,"context_line":"      return serverStateOperation(\u0027unpause\u0027, serverId, suppressError,"},{"line_number":347,"context_line":"        gettext(\u0027Unable to un-pause the server with id: %(id)s\u0027));"},{"line_number":348,"context_line":"    }"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    /**"}],"source_content_type":"text/javascript","patch_set":2,"id":"dada55a8_6f110e52","line":347,"range":{"start_line":347,"start_character":27,"end_line":347,"end_character":35},"updated":"2016-07-26 22:25:51.000000000","message":"nit: I don\u0027t think hypen needed.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":344,"context_line":"     */"},{"line_number":345,"context_line":"    function unpauseServer(serverId, suppressError) {"},{"line_number":346,"context_line":"      return serverStateOperation(\u0027unpause\u0027, serverId, suppressError,"},{"line_number":347,"context_line":"        gettext(\u0027Unable to un-pause the server with id: %(id)s\u0027));"},{"line_number":348,"context_line":"    }"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    /**"}],"source_content_type":"text/javascript","patch_set":2,"id":"bacf61ea_f9b458d2","line":347,"range":{"start_line":347,"start_character":27,"end_line":347,"end_character":35},"in_reply_to":"dada55a8_6f110e52","updated":"2016-07-27 19:06:58.000000000","message":"English major in me cringes, but I won\u0027t fight you.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"976c83d7317add1dff74c034cf81cabe254c7f26","unresolved":false,"context_lines":[{"line_number":386,"context_line":"     */"},{"line_number":387,"context_line":"    function softRebootServer(serverId, suppressError) {"},{"line_number":388,"context_line":"      return serverStateOperation(\u0027soft_reboot\u0027, serverId, suppressError,"},{"line_number":389,"context_line":"        gettext(\u0027Unable to reboot the server with id: %(id)s\u0027));"},{"line_number":390,"context_line":"    }"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"    /**"}],"source_content_type":"text/javascript","patch_set":2,"id":"dada55a8_4f1d2a61","line":389,"range":{"start_line":389,"start_character":26,"end_line":389,"end_character":27},"updated":"2016-07-26 22:25:51.000000000","message":"nit: consider noting this is a \"soft\" reboot attempt. If it fails...user might attempt \"hard\" option.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":386,"context_line":"     */"},{"line_number":387,"context_line":"    function softRebootServer(serverId, suppressError) {"},{"line_number":388,"context_line":"      return serverStateOperation(\u0027soft_reboot\u0027, serverId, suppressError,"},{"line_number":389,"context_line":"        gettext(\u0027Unable to reboot the server with id: %(id)s\u0027));"},{"line_number":390,"context_line":"    }"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"    /**"}],"source_content_type":"text/javascript","patch_set":2,"id":"bacf61ea_d9dcf41a","line":389,"range":{"start_line":389,"start_character":26,"end_line":389,"end_character":27},"in_reply_to":"dada55a8_4f1d2a61","updated":"2016-07-27 19:06:58.000000000","message":"I\u0027ll remind the user that this is a soft reboot by just noting it in the message.  Won\u0027t put additional guidance in.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"976c83d7317add1dff74c034cf81cabe254c7f26","unresolved":false,"context_lines":[{"line_number":801,"context_line":"     *"},{"line_number":802,"context_line":"     * @returns {Object} The result of the API call"},{"line_number":803,"context_line":"     */"},{"line_number":804,"context_line":"    function createServerSnapshot(newSnapshot) {"},{"line_number":805,"context_line":"      return apiService.post(\u0027/api/nova/snapshots/\u0027, newSnapshot)"},{"line_number":806,"context_line":"        .error(function () {"},{"line_number":807,"context_line":"          toastService.add(\u0027error\u0027, gettext(\u0027Unable to create the server snapshot.\u0027));"}],"source_content_type":"text/javascript","patch_set":2,"id":"dada55a8_4f6b6ab9","line":804,"range":{"start_line":804,"start_character":34,"end_line":804,"end_character":45},"updated":"2016-07-26 22:25:51.000000000","message":"nit: consider just requiring name and instance_id arguments to make it easier to know how to call this API. Similar to getConsoleLog below and appears to be the more or less dominant pattern to make the parameters explicit.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":801,"context_line":"     *"},{"line_number":802,"context_line":"     * @returns {Object} The result of the API call"},{"line_number":803,"context_line":"     */"},{"line_number":804,"context_line":"    function createServerSnapshot(newSnapshot) {"},{"line_number":805,"context_line":"      return apiService.post(\u0027/api/nova/snapshots/\u0027, newSnapshot)"},{"line_number":806,"context_line":"        .error(function () {"},{"line_number":807,"context_line":"          toastService.add(\u0027error\u0027, gettext(\u0027Unable to create the server snapshot.\u0027));"}],"source_content_type":"text/javascript","patch_set":2,"id":"bacf61ea_19d16cce","line":804,"range":{"start_line":804,"start_character":34,"end_line":804,"end_character":45},"in_reply_to":"dada55a8_4f6b6ab9","updated":"2016-07-27 19:06:58.000000000","message":"In general we should not use parameterized arguments for GET (object) and POST (create)--we should just use a single object (witness Image, Flavors, etc.).  The reason the operation functions are parameterized is because they are more like methods than REST features.  They perform operations outside of the usual Create/Update/Get cycle.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"976c83d7317add1dff74c034cf81cabe254c7f26","unresolved":false,"context_lines":[{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    /**"},{"line_number":812,"context_line":"     * @name getConsoleLog"},{"line_number":813,"context_line":"     * @param {String} ID - The server ID"},{"line_number":814,"context_line":"     * @param {Number} length - The number of lines to retrieve (optional)"},{"line_number":815,"context_line":"     * @description"},{"line_number":816,"context_line":"     * Retrieves a list of most recent console log lines from the server."}],"source_content_type":"text/javascript","patch_set":2,"id":"dada55a8_8fb0c244","line":813,"range":{"start_line":813,"start_character":23,"end_line":813,"end_character":25},"updated":"2016-07-26 22:25:51.000000000","message":"nit: \"instanceId\"","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    /**"},{"line_number":812,"context_line":"     * @name getConsoleLog"},{"line_number":813,"context_line":"     * @param {String} ID - The server ID"},{"line_number":814,"context_line":"     * @param {Number} length - The number of lines to retrieve (optional)"},{"line_number":815,"context_line":"     * @description"},{"line_number":816,"context_line":"     * Retrieves a list of most recent console log lines from the server."}],"source_content_type":"text/javascript","patch_set":2,"id":"bacf61ea_da786392","line":813,"range":{"start_line":813,"start_character":23,"end_line":813,"end_character":25},"in_reply_to":"dada55a8_8fb0c244","updated":"2016-07-27 19:06:58.000000000","message":"Done","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"976c83d7317add1dff74c034cf81cabe254c7f26","unresolved":false,"context_lines":[{"line_number":830,"context_line":""},{"line_number":831,"context_line":"    /**"},{"line_number":832,"context_line":"     * @name getConsoleInfo"},{"line_number":833,"context_line":"     * @param {String} ID - The server ID"},{"line_number":834,"context_line":"     * @param {String} type - The type of console to use (optional)"},{"line_number":835,"context_line":"     * @description"},{"line_number":836,"context_line":"     * Retrieves information used to get to a remote console for the given host."}],"source_content_type":"text/javascript","patch_set":2,"id":"dada55a8_6f490e31","line":833,"range":{"start_line":833,"start_character":23,"end_line":833,"end_character":25},"updated":"2016-07-26 22:25:51.000000000","message":"nit: \"instanceId\"","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":830,"context_line":""},{"line_number":831,"context_line":"    /**"},{"line_number":832,"context_line":"     * @name getConsoleInfo"},{"line_number":833,"context_line":"     * @param {String} ID - The server ID"},{"line_number":834,"context_line":"     * @param {String} type - The type of console to use (optional)"},{"line_number":835,"context_line":"     * @description"},{"line_number":836,"context_line":"     * Retrieves information used to get to a remote console for the given host."}],"source_content_type":"text/javascript","patch_set":2,"id":"bacf61ea_7addf76f","line":833,"range":{"start_line":833,"start_character":23,"end_line":833,"end_character":25},"in_reply_to":"dada55a8_6f490e31","updated":"2016-07-27 19:06:58.000000000","message":"Done","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"976c83d7317add1dff74c034cf81cabe254c7f26","unresolved":false,"context_lines":[{"line_number":840,"context_line":"    function getConsoleInfo(instanceId, type) {"},{"line_number":841,"context_line":"      var config \u003d {};"},{"line_number":842,"context_line":"      if (type) {"},{"line_number":843,"context_line":"        config.type \u003d type;"},{"line_number":844,"context_line":"      }"},{"line_number":845,"context_line":"      return apiService.post(\u0027/api/nova/servers/\u0027 + instanceId + \u0027/console-info/\u0027, config)"},{"line_number":846,"context_line":"        .error(function () {"}],"source_content_type":"text/javascript","patch_set":2,"id":"dada55a8_ef3cde94","line":843,"range":{"start_line":843,"start_character":15,"end_line":843,"end_character":19},"updated":"2016-07-26 22:25:51.000000000","message":"-1: nova.py expects \u0027console_type\u0027\n\nrequest.DATA.get(\u0027console_type\u0027, \u0027AUTO\u0027)","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":840,"context_line":"    function getConsoleInfo(instanceId, type) {"},{"line_number":841,"context_line":"      var config \u003d {};"},{"line_number":842,"context_line":"      if (type) {"},{"line_number":843,"context_line":"        config.type \u003d type;"},{"line_number":844,"context_line":"      }"},{"line_number":845,"context_line":"      return apiService.post(\u0027/api/nova/servers/\u0027 + instanceId + \u0027/console-info/\u0027, config)"},{"line_number":846,"context_line":"        .error(function () {"}],"source_content_type":"text/javascript","patch_set":2,"id":"bacf61ea_ba6c8f9d","line":843,"range":{"start_line":843,"start_character":15,"end_line":843,"end_character":19},"in_reply_to":"dada55a8_ef3cde94","updated":"2016-07-27 19:06:58.000000000","message":"Good catch!!! Thanks.  Got it.","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14307,"name":"Tyr Johanson","email":"tyr@hpe.com","username":"tyr"},"change_message_id":"976c83d7317add1dff74c034cf81cabe254c7f26","unresolved":false,"context_lines":[{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    /**"},{"line_number":852,"context_line":"     * @name getServerVolumes"},{"line_number":853,"context_line":"     * @param {String} ID - The server ID"},{"line_number":854,"context_line":"     * @description"},{"line_number":855,"context_line":"     * Retrieves information about volumes associated with the server"},{"line_number":856,"context_line":"     *"}],"source_content_type":"text/javascript","patch_set":2,"id":"dada55a8_af4f8632","line":853,"range":{"start_line":853,"start_character":23,"end_line":853,"end_character":25},"updated":"2016-07-26 22:25:51.000000000","message":"nit: instanceId","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"},{"author":{"_account_id":14124,"name":"Matt Borland","email":"matt.borland@hpe.com","username":"mborland"},"change_message_id":"6bb8c07e33f5120367b83110bd5d4e4ea5f88a54","unresolved":false,"context_lines":[{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    /**"},{"line_number":852,"context_line":"     * @name getServerVolumes"},{"line_number":853,"context_line":"     * @param {String} ID - The server ID"},{"line_number":854,"context_line":"     * @description"},{"line_number":855,"context_line":"     * Retrieves information about volumes associated with the server"},{"line_number":856,"context_line":"     *"}],"source_content_type":"text/javascript","patch_set":2,"id":"bacf61ea_bae76f3f","line":853,"range":{"start_line":853,"start_character":23,"end_line":853,"end_character":25},"in_reply_to":"dada55a8_af4f8632","updated":"2016-07-27 19:06:58.000000000","message":"Done","commit_id":"2e3d316dc5d18c8025a767f375557cd2157f2dad"}]}
