)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9cbeadc6e34488976b7a54562ee4e58849d3c5ba","unresolved":false,"context_lines":[{"line_number":8337,"context_line":"        hosts \u003d [CONF.vnc.server_proxyclient_address,"},{"line_number":8338,"context_line":"                 CONF.spice.server_proxyclient_address,"},{"line_number":8339,"context_line":"                 CONF.serial_console.proxyclient_address,"},{"line_number":8340,"context_line":"                 CONF.my_ip]"},{"line_number":8341,"context_line":""},{"line_number":8342,"context_line":"        # TODO(takashin): The following cases should be added."},{"line_number":8343,"context_line":"        # 1. Serial console in libvirt"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_1a62bdae","line":8340,"range":{"start_line":8340,"start_character":17,"end_line":8340,"end_character":27},"updated":"2019-03-04 20:30:51.000000000","message":"What kind of console is this one for? A code comment would be helpful.","commit_id":"9139f5f15aea6e29ca81a38f457261d1a9831a0f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5475c135163ec48f1f7b2cbeb090d392e3f81a45","unresolved":false,"context_lines":[{"line_number":8337,"context_line":"        hosts \u003d [CONF.vnc.server_proxyclient_address,"},{"line_number":8338,"context_line":"                 CONF.spice.server_proxyclient_address,"},{"line_number":8339,"context_line":"                 CONF.serial_console.proxyclient_address,"},{"line_number":8340,"context_line":"                 CONF.my_ip]"},{"line_number":8341,"context_line":""},{"line_number":8342,"context_line":"        # TODO(takashin): The following cases should be added."},{"line_number":8343,"context_line":"        # 1. Serial console in libvirt"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_ebc4ad61","line":8340,"range":{"start_line":8340,"start_character":17,"end_line":8340,"end_character":27},"in_reply_to":"9fdfeff1_1a62bdae","updated":"2019-03-08 01:03:10.000000000","message":"Done","commit_id":"9139f5f15aea6e29ca81a38f457261d1a9831a0f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9cbeadc6e34488976b7a54562ee4e58849d3c5ba","unresolved":false,"context_lines":[{"line_number":8343,"context_line":"        # 1. Serial console in libvirt"},{"line_number":8344,"context_line":"        # 2. Serial console in Ironic"},{"line_number":8345,"context_line":"        # 3. VNC console in VMware"},{"line_number":8346,"context_line":"        # 4. MKS console in VMware"},{"line_number":8347,"context_line":""},{"line_number":8348,"context_line":"        return list(set(hosts))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_5a67e5b8","line":8346,"updated":"2019-03-04 20:30:51.000000000","message":"Note to self: these other cases are more complex, where the driver does extra work to determine/return a hostname.","commit_id":"9139f5f15aea6e29ca81a38f457261d1a9831a0f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"42f3152895dfafe19b41bb2869b42389b55f1c9b","unresolved":false,"context_lines":[{"line_number":8541,"context_line":"        # spice.server_proxyclient_address: libvirt"},{"line_number":8542,"context_line":"        # serial_console.proxyclient_address: hyperv"},{"line_number":8543,"context_line":"        # my_ip: hyperv(RDP)"},{"line_number":8544,"context_line":"        hosts \u003d [CONF.vnc.server_proxyclient_address,"},{"line_number":8545,"context_line":"                 CONF.spice.server_proxyclient_address,"},{"line_number":8546,"context_line":"                 CONF.serial_console.proxyclient_address,"},{"line_number":8547,"context_line":"                 CONF.my_ip]"}],"source_content_type":"text/x-python","patch_set":8,"id":"ffb9cba7_8944eeb8","line":8544,"updated":"2019-04-25 21:41:21.000000000","message":"We should check whether CONF.vnc.enabled before including this in \u0027hosts\u0027.","commit_id":"82cf666cdbbe096720a0168c362c5c4a07e801bf"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"42f3152895dfafe19b41bb2869b42389b55f1c9b","unresolved":false,"context_lines":[{"line_number":8542,"context_line":"        # serial_console.proxyclient_address: hyperv"},{"line_number":8543,"context_line":"        # my_ip: hyperv(RDP)"},{"line_number":8544,"context_line":"        hosts \u003d [CONF.vnc.server_proxyclient_address,"},{"line_number":8545,"context_line":"                 CONF.spice.server_proxyclient_address,"},{"line_number":8546,"context_line":"                 CONF.serial_console.proxyclient_address,"},{"line_number":8547,"context_line":"                 CONF.my_ip]"},{"line_number":8548,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ffb9cba7_2915c29c","line":8545,"updated":"2019-04-25 21:41:21.000000000","message":"Same for CONF.spice.enabled","commit_id":"82cf666cdbbe096720a0168c362c5c4a07e801bf"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"42f3152895dfafe19b41bb2869b42389b55f1c9b","unresolved":false,"context_lines":[{"line_number":8543,"context_line":"        # my_ip: hyperv(RDP)"},{"line_number":8544,"context_line":"        hosts \u003d [CONF.vnc.server_proxyclient_address,"},{"line_number":8545,"context_line":"                 CONF.spice.server_proxyclient_address,"},{"line_number":8546,"context_line":"                 CONF.serial_console.proxyclient_address,"},{"line_number":8547,"context_line":"                 CONF.my_ip]"},{"line_number":8548,"context_line":""},{"line_number":8549,"context_line":"        # TODO(takashin): The following cases should be added."}],"source_content_type":"text/x-python","patch_set":8,"id":"ffb9cba7_09123eb2","line":8546,"updated":"2019-04-25 21:41:21.000000000","message":"Same for CONF.serial_console.enabled","commit_id":"82cf666cdbbe096720a0168c362c5c4a07e801bf"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"42f3152895dfafe19b41bb2869b42389b55f1c9b","unresolved":false,"context_lines":[{"line_number":8544,"context_line":"        hosts \u003d [CONF.vnc.server_proxyclient_address,"},{"line_number":8545,"context_line":"                 CONF.spice.server_proxyclient_address,"},{"line_number":8546,"context_line":"                 CONF.serial_console.proxyclient_address,"},{"line_number":8547,"context_line":"                 CONF.my_ip]"},{"line_number":8548,"context_line":""},{"line_number":8549,"context_line":"        # TODO(takashin): The following cases should be added."},{"line_number":8550,"context_line":"        # 1. Serial console in libvirt"}],"source_content_type":"text/x-python","patch_set":8,"id":"ffb9cba7_c968a622","line":8547,"updated":"2019-04-25 21:41:21.000000000","message":"Same for CONF.rdp.enabled","commit_id":"82cf666cdbbe096720a0168c362c5c4a07e801bf"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"42f3152895dfafe19b41bb2869b42389b55f1c9b","unresolved":false,"context_lines":[{"line_number":8550,"context_line":"        # 1. Serial console in libvirt"},{"line_number":8551,"context_line":"        # 2. Serial console in Ironic"},{"line_number":8552,"context_line":"        # 3. VNC console in VMware"},{"line_number":8553,"context_line":"        # 4. MKS console in VMware"},{"line_number":8554,"context_line":""},{"line_number":8555,"context_line":"        return list(set(hosts))"}],"source_content_type":"text/x-python","patch_set":8,"id":"ffb9cba7_4966f653","line":8553,"updated":"2019-04-25 21:41:21.000000000","message":"Again, I\u0027m not sure whether we want to go down this road instead of cleaning tokens without a host filter and doing them in batches. I will make a post to the ML.","commit_id":"82cf666cdbbe096720a0168c362c5c4a07e801bf"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":10338,"name":"Daniel Speichert","email":"daniel@speichert.pl","username":"daniel"},"change_message_id":"2dded5aa66c654e5d1fba9961b62dcae52c49d95","unresolved":false,"context_lines":[{"line_number":5867,"context_line":""},{"line_number":5868,"context_line":""},{"line_number":5869,"context_line":"@pick_context_manager_writer"},{"line_number":5870,"context_line":"def console_auth_token_destroy_expired(context):"},{"line_number":5871,"context_line":"    context.session.query(models.ConsoleAuthToken).\\"},{"line_number":5872,"context_line":"        filter(models.ConsoleAuthToken.expires \u003c\u003d timeutils.utcnow_ts()).\\"},{"line_number":5873,"context_line":"        delete()"}],"source_content_type":"text/x-python","patch_set":11,"id":"dfbec78f_fd182176","line":5870,"range":{"start_line":5870,"start_character":0,"end_line":5870,"end_character":48},"updated":"2019-05-03 16:36:34.000000000","message":"Any reason to reorder the functions?","commit_id":"5e97f12bf993b12bf3a82dffc8db8f008cfe5ab7"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"db8dc2eb7a47b3705050ad84ca24f3a588132f94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"7faddb67_cceefc20","line":5841,"updated":"2019-07-18 22:07:13.000000000","message":"Why flip the order of these methods? Makes it harder to focus on what changed.","commit_id":"59f9c455e6072940f4a60c28e26a37ce14da6825"}],"nova/objects/console_auth_token.py":[{"author":{"_account_id":10338,"name":"Daniel Speichert","email":"daniel@speichert.pl","username":"daniel"},"change_message_id":"2dded5aa66c654e5d1fba9961b62dcae52c49d95","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    # Version 1.0: Initial version"},{"line_number":36,"context_line":"    # Version 1.1: Replace clean_expired_console_auths_for_host method"},{"line_number":37,"context_line":"    #              with clean_expired_console_auths method."},{"line_number":38,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    fields \u003d {"},{"line_number":41,"context_line":"        \u0027id\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"dfbec78f_fd3101ee","line":38,"range":{"start_line":38,"start_character":4,"end_line":38,"end_character":19},"updated":"2019-05-03 16:36:34.000000000","message":"Is it necessary to bump this? Tokens are still compatible.","commit_id":"5e97f12bf993b12bf3a82dffc8db8f008cfe5ab7"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"db8dc2eb7a47b3705050ad84ca24f3a588132f94","unresolved":false,"context_lines":[{"line_number":35,"context_line":"class ConsoleAuthToken(base.NovaTimestampObject, base.NovaObject):"},{"line_number":36,"context_line":"    # Version 1.0: Initial version"},{"line_number":37,"context_line":"    # Version 1.1: Replace clean_expired_console_auths_for_host method"},{"line_number":38,"context_line":"    #              with clean_expired_console_auths method."},{"line_number":39,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":19,"id":"7faddb67_4c48cc2b","line":38,"updated":"2019-07-18 22:07:13.000000000","message":"I don\u0027t think you can replace a method in a minor version bump. Old compute hosts during a rolling upgrade will need to be able to call clean_expired_console_auths_for_host provided by new conductor hosts.\n\nI think you need to leave clean_expired_console_auths_for_host as-is and then add only clean_expired_console_auths in a new version 1.1.\n\nAnd then clean_expired_console_auths_for_host can only be removed in a major version bump in the future.","commit_id":"59f9c455e6072940f4a60c28e26a37ce14da6825"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a797830c815f50c7f1697a4d06f930ce6a387839","unresolved":false,"context_lines":[{"line_number":35,"context_line":"class ConsoleAuthToken(base.NovaTimestampObject, base.NovaObject):"},{"line_number":36,"context_line":"    # Version 1.0: Initial version"},{"line_number":37,"context_line":"    # Version 1.1: Replace clean_expired_console_auths_for_host method"},{"line_number":38,"context_line":"    #              with clean_expired_console_auths method."},{"line_number":39,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":19,"id":"7faddb67_8201ab6c","line":38,"in_reply_to":"7faddb67_4c48cc2b","updated":"2019-07-19 02:39:22.000000000","message":"Done","commit_id":"59f9c455e6072940f4a60c28e26a37ce14da6825"}]}
