)]}'
{"nova/cmd/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7cd4164da943685f9ca28756902c077c53202eba","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    gmr.TextGuruMeditation.setup_autorun(version)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    launcher \u003d service.process_launcher()"},{"line_number":51,"context_line":"    for api in CONF.enabled_apis:"},{"line_number":52,"context_line":"        should_use_ssl \u003d api in CONF.enabled_ssl_apis"},{"line_number":53,"context_line":"        try:"},{"line_number":54,"context_line":"            server \u003d service.WSGIService(api, use_ssl\u003dshould_use_ssl)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_4b77ae9f","line":51,"updated":"2016-04-20 20:34:55.000000000","message":"This is also in nova/cmd/all.py so you\u0027d probably want to do it there also, although I\u0027m not sure how many people actually use that entrypoint.","commit_id":"1629f7c86ee4a08915cee1ac2b868d84f2d8c5cd"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7cd4164da943685f9ca28756902c077c53202eba","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            launcher.launch_service(server, workers\u003dserver.workers or 1)"},{"line_number":56,"context_line":"        except exception.PasteAppNotFound as ex:"},{"line_number":57,"context_line":"            log.warning("},{"line_number":58,"context_line":"                _LW(\"%s. ``enabled_apis`` includes bad values. \""},{"line_number":59,"context_line":"                    \"Fix to remove this warning.\"), six.text_type(ex))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    launcher.wait()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_2b887270","line":58,"range":{"start_line":58,"start_character":25,"end_line":58,"end_character":61},"updated":"2016-04-20 20:34:55.000000000","message":"nit: I\u0027d say:\n\n\"The \u0027enabled_apis\u0027 configuration option contains bad values....\"","commit_id":"1629f7c86ee4a08915cee1ac2b868d84f2d8c5cd"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"161c9baea6cb1c9c7a7480d534f2f4c0dc6900af","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        should_use_ssl \u003d api in CONF.enabled_ssl_apis"},{"line_number":53,"context_line":"        try:"},{"line_number":54,"context_line":"            server \u003d service.WSGIService(api, use_ssl\u003dshould_use_ssl)"},{"line_number":55,"context_line":"            launcher.launch_service(server, workers\u003dserver.workers or 1)"},{"line_number":56,"context_line":"        except exception.PasteAppNotFound as ex:"},{"line_number":57,"context_line":"            log.warning("},{"line_number":58,"context_line":"                _LW(\"%s. ``enabled_apis`` includes bad values. \""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_aabff7a8","line":55,"updated":"2016-04-22 16:43:02.000000000","message":"This should be trivial to unit test right? We have tests for nova/cmd things already. Given that this should ignore bad things and continue on to good things, I would expect that we should make sure it actually does that and doesn\u0027t regress.","commit_id":"f1a4474722ab84c268001dd8777cc500cc5062dd"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"161c9baea6cb1c9c7a7480d534f2f4c0dc6900af","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            log.warning("},{"line_number":58,"context_line":"                _LW(\"%s. ``enabled_apis`` includes bad values. \""},{"line_number":59,"context_line":"                    \"Fix to remove this warning.\"), six.text_type(ex))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    launcher.wait()"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_ca77d300","line":60,"updated":"2016-04-22 16:43:02.000000000","message":"If we make it here and haven\u0027t started any, I wonder if we should continue to fail. For example, if someone sets the conf to an empty string, or if they replace a comma with a space, we\u0027ll start the service with nothing running, which will be confusing for people I think.\n\nI mean, if we\u0027re trying to robustify this a bit purely for reducing confusion...","commit_id":"f1a4474722ab84c268001dd8777cc500cc5062dd"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cdcbbe1d070a2db3ddd5eb58ec0d0ee99a6c4809","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            log.warning("},{"line_number":58,"context_line":"                _LW(\"%s. ``enabled_apis`` includes bad values. \""},{"line_number":59,"context_line":"                    \"Fix to remove this warning.\"), six.text_type(ex))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    launcher.wait()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_5ab42cf1","line":60,"updated":"2016-04-22 18:47:43.000000000","message":"Same comment on catching if we started nothing from the previous PS.","commit_id":"7c28ef31be6ea17370980c19c229754ac0cf2c21"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"f4c6b35f4b419da7f5c5106053b02b6de488a8f8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            log.warning("},{"line_number":58,"context_line":"                _LW(\"%s. ``enabled_apis`` includes bad values. \""},{"line_number":59,"context_line":"                    \"Fix to remove this warning.\"), six.text_type(ex))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    launcher.wait()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_6e57aa02","line":60,"in_reply_to":"1a122d0e_5ab42cf1","updated":"2016-04-22 20:25:41.000000000","message":"Agree that\u0027s a thing we could do. It\u0027s not a thing we currently do, so I\u0027d raise that as another bug.\n\nThis is actually breaking people during upgrade right now (because of how deploy tools work). We did publish a release note, but it would be good to get this fix out.","commit_id":"7c28ef31be6ea17370980c19c229754ac0cf2c21"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3f17fef53b1f40f33d22be386ffd76f79b9eafb1","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            log.warning("},{"line_number":58,"context_line":"                _LW(\"%s. ``enabled_apis`` includes bad values. \""},{"line_number":59,"context_line":"                    \"Fix to remove this warning.\"), six.text_type(ex))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    launcher.wait()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_ad76e7a0","line":60,"in_reply_to":"1a122d0e_6e57aa02","updated":"2016-04-22 21:24:06.000000000","message":"You\u0027re make it demonstrably worse here, because before it would fail if I typed the name of osapi_compute. At least before it required them all to be right for it to start.","commit_id":"7c28ef31be6ea17370980c19c229754ac0cf2c21"}],"nova/tests/unit/cmd/test_nova_api.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cdcbbe1d070a2db3ddd5eb58ec0d0ee99a6c4809","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # required because of where the portbind happens, so that we"},{"line_number":40,"context_line":"        # collide on ports."},{"line_number":41,"context_line":"        self.flags(osapi_compute_listen_port\u003d0)"},{"line_number":42,"context_line":"        api.main()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_5add4c41","line":42,"updated":"2016-04-22 18:47:43.000000000","message":"This makes sure we don\u0027t fail here, but doesn\u0027t make sure we continued to start osapi_compute. If it were me, I\u0027d just make the service start raise the expected error on the first run and succeed on the second, and make sure it was called twice.","commit_id":"7c28ef31be6ea17370980c19c229754ac0cf2c21"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"5186cfb3d33e4a1ac85e02764eae096c7ba6e5e8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # required because of where the portbind happens, so that we"},{"line_number":40,"context_line":"        # collide on ports."},{"line_number":41,"context_line":"        self.flags(osapi_compute_listen_port\u003d0)"},{"line_number":42,"context_line":"        api.main()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_8e904650","line":42,"in_reply_to":"1a122d0e_5add4c41","updated":"2016-04-22 20:39:07.000000000","message":"It also tests that the actual failure we get off of oslo.service is the one we work with, which feels more robust to me.\n\nThis is the test that makes sense to me, because we know in code review, and in the full stack test that depends on this, that we\u0027re not bailing early.","commit_id":"7c28ef31be6ea17370980c19c229754ac0cf2c21"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3f17fef53b1f40f33d22be386ffd76f79b9eafb1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # required because of where the portbind happens, so that we"},{"line_number":40,"context_line":"        # collide on ports."},{"line_number":41,"context_line":"        self.flags(osapi_compute_listen_port\u003d0)"},{"line_number":42,"context_line":"        api.main()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_2d63f7de","line":42,"in_reply_to":"1a122d0e_8e904650","updated":"2016-04-22 21:24:06.000000000","message":"It does by review inspection right now, but it doesn\u0027t in the future when something changes.","commit_id":"7c28ef31be6ea17370980c19c229754ac0cf2c21"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0e7dd420d6988b2e2e8c07f2f9dbae12562e693c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 HPE, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_47b8d975","line":1,"updated":"2016-05-03 18:23:36.000000000","message":"Oops, wrong year.","commit_id":"533bd8175968a1bc9ac068ae2b23a62d0e07ea99"}]}
