)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"93cfcc63c85e628a5fe8f480eb2a049becffb60c","unresolved":false,"context_lines":[{"line_number":930,"context_line":""},{"line_number":931,"context_line":"        if CONF.serial_console.enabled:"},{"line_number":932,"context_line":"            try:"},{"line_number":933,"context_line":"                guest \u003d self._host.get_guest(instance)"},{"line_number":934,"context_line":"                serials \u003d self._get_serial_ports_from_guest(guest)"},{"line_number":935,"context_line":"                for hostname, port in serials:"},{"line_number":936,"context_line":"                    serial_console.release_port(host\u003dhostname, port\u003dport)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_5bee7a23","line":933,"updated":"2015-09-14 12:27:38.000000000","message":"nit: try..except should to be around get_guest() only.","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bfd138aa7eeadff918768b60791f81580e928695","unresolved":false,"context_lines":[{"line_number":930,"context_line":""},{"line_number":931,"context_line":"        if CONF.serial_console.enabled:"},{"line_number":932,"context_line":"            try:"},{"line_number":933,"context_line":"                guest \u003d self._host.get_guest(instance)"},{"line_number":934,"context_line":"                serials \u003d self._get_serial_ports_from_guest(guest)"},{"line_number":935,"context_line":"                for hostname, port in serials:"},{"line_number":936,"context_line":"                    serial_console.release_port(host\u003dhostname, port\u003dport)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_477fdfaa","line":933,"in_reply_to":"ba15a1d1_479bc672","updated":"2015-09-17 13:51:37.000000000","message":"yeah, I buy that.","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"5fd9cc809122f5884d6f64fe2aa125acdc3e0354","unresolved":false,"context_lines":[{"line_number":930,"context_line":""},{"line_number":931,"context_line":"        if CONF.serial_console.enabled:"},{"line_number":932,"context_line":"            try:"},{"line_number":933,"context_line":"                guest \u003d self._host.get_guest(instance)"},{"line_number":934,"context_line":"                serials \u003d self._get_serial_ports_from_guest(guest)"},{"line_number":935,"context_line":"                for hostname, port in serials:"},{"line_number":936,"context_line":"                    serial_console.release_port(host\u003dhostname, port\u003dport)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_479bc672","line":933,"in_reply_to":"ba15a1d1_5bee7a23","updated":"2015-09-15 14:14:01.000000000","message":"@sahid: I think Alex wanted to keep the change at a minimum (but I think you are right).","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"c3925c0742f286b18ff45ff4cf9aceee9e2ac5bf","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        for path in encrypted_volumes:"},{"line_number":948,"context_line":"            dmcrypt.delete_volume(path)"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"    def _get_serial_ports_from_guest(self, guest, mode\u003dNone):"},{"line_number":951,"context_line":"        \"\"\"Returns an iterator over serial port(s) configured on guest."},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"        :param mode: Should be a value in (None, bind, connect)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_a31ce6c2","line":950,"updated":"2015-09-11 01:16:35.000000000","message":"Not sure why are you changing the name from \"instance\" to \"guest\", while you are fetching the serial port from the definition on an instance, not from a guest (which is something that runs inside an instance..)?\n\nIf it\u0027s because of line 954, then I think it was a wrong choice of a word :)","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bfd138aa7eeadff918768b60791f81580e928695","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        for path in encrypted_volumes:"},{"line_number":948,"context_line":"            dmcrypt.delete_volume(path)"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"    def _get_serial_ports_from_guest(self, guest, mode\u003dNone):"},{"line_number":951,"context_line":"        \"\"\"Returns an iterator over serial port(s) configured on guest."},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"        :param mode: Should be a value in (None, bind, connect)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_a776fbd4","line":950,"in_reply_to":"da20952f_1ccc0c88","updated":"2015-09-17 13:51:37.000000000","message":"+1 looks nice.","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"68ce9f9ed56a4eb0cbda139db340f0e1ce03f10a","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        for path in encrypted_volumes:"},{"line_number":948,"context_line":"            dmcrypt.delete_volume(path)"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"    def _get_serial_ports_from_guest(self, guest, mode\u003dNone):"},{"line_number":951,"context_line":"        \"\"\"Returns an iterator over serial port(s) configured on guest."},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"        :param mode: Should be a value in (None, bind, connect)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_1ccc0c88","line":950,"in_reply_to":"da20952f_a31ce6c2","updated":"2015-09-11 07:24:24.000000000","message":"I changed it because I changed the parameter from class Instance to class Guest, so I thought reflecting that in the method and parameter name would be a good idea.","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"21562942ed78012a496512991abddf93957dbd55","unresolved":false,"context_lines":[{"line_number":2595,"context_line":""},{"line_number":2596,"context_line":"    def get_serial_console(self, context, instance):"},{"line_number":2597,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":2598,"context_line":"        for hostname, port in self._get_serial_ports_from_guest("},{"line_number":2599,"context_line":"                guest, mode\u003d\u0027bind\u0027):"},{"line_number":2600,"context_line":"            return ctype.ConsoleSerial(host\u003dhostname, port\u003dport)"},{"line_number":2601,"context_line":"        raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027serial\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_ce190e7b","line":2598,"updated":"2015-09-16 08:09:58.000000000","message":"This method should be defined in libvirt.Guest\u0027s object as for example:\n\n  guest.get_serial_ports(mode\u003d\u0027bind\u0027)","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"02925a09079a080340cbea5ff31fa01c95baa5ec","unresolved":false,"context_lines":[{"line_number":2595,"context_line":""},{"line_number":2596,"context_line":"    def get_serial_console(self, context, instance):"},{"line_number":2597,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":2598,"context_line":"        for hostname, port in self._get_serial_ports_from_guest("},{"line_number":2599,"context_line":"                guest, mode\u003d\u0027bind\u0027):"},{"line_number":2600,"context_line":"            return ctype.ConsoleSerial(host\u003dhostname, port\u003dport)"},{"line_number":2601,"context_line":"        raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027serial\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_6e0b1b8f","line":2598,"in_reply_to":"ba15a1d1_ce190e7b","updated":"2015-09-16 11:00:28.000000000","message":"@sahid: Given the short amount of time until the release candidate has its cut-off date, I would like to defer this refactoring to a separate patch set.","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":14358,"name":"Marian Horban","email":"m.horban@gmail.com","username":"mhorban"},"change_message_id":"abb68c7ab2b522433dd34fd2744b7865a62f076f","unresolved":false,"context_lines":[{"line_number":2596,"context_line":"    def get_serial_console(self, context, instance):"},{"line_number":2597,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":2598,"context_line":"        for hostname, port in self._get_serial_ports_from_guest("},{"line_number":2599,"context_line":"                guest, mode\u003d\u0027bind\u0027):"},{"line_number":2600,"context_line":"            return ctype.ConsoleSerial(host\u003dhostname, port\u003dport)"},{"line_number":2601,"context_line":"        raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027serial\u0027)"},{"line_number":2602,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_22881dc6","line":2599,"updated":"2015-09-09 12:17:00.000000000","message":"If we always use first console, why we need \u0027for\u0027. It looks confusing.\nl \u003d self._get_serial_ports_from_guest(guest, mode\u003d\u0027bind\u0027)\nif l:\n    hostname, port \u003d l[0]\n    return ctype.ConsoleSerial(host\u003dhostname, port\u003dport)\nraise exception.ConsoleTypeUnavailable(console_type\u003d\u0027serial\u0027)","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"5fd9cc809122f5884d6f64fe2aa125acdc3e0354","unresolved":false,"context_lines":[{"line_number":2596,"context_line":"    def get_serial_console(self, context, instance):"},{"line_number":2597,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":2598,"context_line":"        for hostname, port in self._get_serial_ports_from_guest("},{"line_number":2599,"context_line":"                guest, mode\u003d\u0027bind\u0027):"},{"line_number":2600,"context_line":"            return ctype.ConsoleSerial(host\u003dhostname, port\u003dport)"},{"line_number":2601,"context_line":"        raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027serial\u0027)"},{"line_number":2602,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_673b6ad2","line":2599,"in_reply_to":"da20952f_22881dc6","updated":"2015-09-15 14:14:01.000000000","message":"@Marian Horban: Bug 1425640 describes this issue. This should be solved separately.","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"c3925c0742f286b18ff45ff4cf9aceee9e2ac5bf","unresolved":false,"context_lines":[{"line_number":2596,"context_line":"    def get_serial_console(self, context, instance):"},{"line_number":2597,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":2598,"context_line":"        for hostname, port in self._get_serial_ports_from_guest("},{"line_number":2599,"context_line":"                guest, mode\u003d\u0027bind\u0027):"},{"line_number":2600,"context_line":"            return ctype.ConsoleSerial(host\u003dhostname, port\u003dport)"},{"line_number":2601,"context_line":"        raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027serial\u0027)"},{"line_number":2602,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_638fae23","line":2599,"in_reply_to":"da20952f_22881dc6","updated":"2015-09-11 01:16:35.000000000","message":"I don\u0027t find it too confusing, seems like a proper way to me.\nRegardless, this is not related to the change itself..","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"68ce9f9ed56a4eb0cbda139db340f0e1ce03f10a","unresolved":false,"context_lines":[{"line_number":2596,"context_line":"    def get_serial_console(self, context, instance):"},{"line_number":2597,"context_line":"        guest \u003d self._host.get_guest(instance)"},{"line_number":2598,"context_line":"        for hostname, port in self._get_serial_ports_from_guest("},{"line_number":2599,"context_line":"                guest, mode\u003d\u0027bind\u0027):"},{"line_number":2600,"context_line":"            return ctype.ConsoleSerial(host\u003dhostname, port\u003dport)"},{"line_number":2601,"context_line":"        raise exception.ConsoleTypeUnavailable(console_type\u003d\u0027serial\u0027)"},{"line_number":2602,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_fc7cb821","line":2599,"in_reply_to":"da20952f_638fae23","updated":"2015-09-11 07:24:24.000000000","message":"Yeah I agree this is not related to my change. But if I need to create additional changesets, I\u0027ll add a comment that we only return the first serial console device.","commit_id":"d37f35a97f25ca5d9b4a100d52cd4935e322a922"}]}
