)]}'
{"nova/conf/libvirt.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"952d55dd5cc5889e31c28cbe2094ec971321a958","unresolved":false,"context_lines":[{"line_number":482,"context_line":"  for two main reasons: (a) it incurs a huge performance penalty; and"},{"line_number":483,"context_line":"  it\u0027s not compatible with block migration."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"* The ``live_migration_tunnelled`` and"},{"line_number":486,"context_line":"  ``live_migration_with_native_tls`` should not be used at the same"},{"line_number":487,"context_line":"  time."},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"* Unlike ``live_migration_tunnelled``, the"},{"line_number":490,"context_line":"  ``live_migration_with_native_tls``  *is* compatible with block"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfd5e7cf_a0b57bf0","line":487,"range":{"start_line":485,"start_character":2,"end_line":487,"end_character":7},"updated":"2019-01-08 16:07:22.000000000","message":"Is there any check in the code that prevents the use of the two flag together? What will happen if both flag is set?","commit_id":"05f9beac77d3481fe41baa3ae6fb4d35385e8d79"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"a6ad0f8a8954cf95f308cf653241723c1585d759","unresolved":false,"context_lines":[{"line_number":482,"context_line":"  for two main reasons: (a) it incurs a huge performance penalty; and"},{"line_number":483,"context_line":"  it\u0027s not compatible with block migration."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"* The ``live_migration_tunnelled`` and"},{"line_number":486,"context_line":"  ``live_migration_with_native_tls`` should not be used at the same"},{"line_number":487,"context_line":"  time."},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"* Unlike ``live_migration_tunnelled``, the"},{"line_number":490,"context_line":"  ``live_migration_with_native_tls``  *is* compatible with block"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfd5e7cf_9b6c6a09","line":487,"range":{"start_line":485,"start_character":2,"end_line":487,"end_character":7},"in_reply_to":"dfd5e7cf_a0b57bf0","updated":"2019-01-08 16:42:04.000000000","message":"Eagle eyes; there\u0027s no check in the code for that.  Let me explore the best way to get to that.","commit_id":"05f9beac77d3481fe41baa3ae6fb4d35385e8d79"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d188f6fac8d7052c2d84757a26548b360a84e7d1","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    cfg.BoolOpt(\u0027live_migration_with_native_tls\u0027,"},{"line_number":463,"context_line":"                default\u003dFalse,"},{"line_number":464,"context_line":"                help\u003d\"\"\""},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"This option will allow both migration stream (guest RAM plus device"},{"line_number":467,"context_line":"state) *and* disk stream to be transported over native TLS, i.e. TLS"},{"line_number":468,"context_line":"support built into QEMU."}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_ca4aecaa","line":465,"updated":"2019-01-10 15:16:23.000000000","message":"nit: could you add a subject/summary line above this. Something like:\n\n  Use native TLS encryption when live migrating.","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"e9bf93736fbf984b2c5529959623e58f823a01fa","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    cfg.BoolOpt(\u0027live_migration_with_native_tls\u0027,"},{"line_number":463,"context_line":"                default\u003dFalse,"},{"line_number":464,"context_line":"                help\u003d\"\"\""},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"This option will allow both migration stream (guest RAM plus device"},{"line_number":467,"context_line":"state) *and* disk stream to be transported over native TLS, i.e. TLS"},{"line_number":468,"context_line":"support built into QEMU."}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_e5b602fb","line":465,"in_reply_to":"dfd5e7cf_ca4aecaa","updated":"2019-01-10 17:01:43.000000000","message":"Ah, indeed.  Will do that.","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d188f6fac8d7052c2d84757a26548b360a84e7d1","unresolved":false,"context_lines":[{"line_number":478,"context_line":"  \"block migration\"), ``live_migration_with_native_tls`` is the"},{"line_number":479,"context_line":"  preferred config attribute instead of ``live_migration_tunnelled``."},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"* The ``live_migration_tunnelled`` will be deprecated in the long-term,"},{"line_number":482,"context_line":"  for two main reasons: (a) it incurs a huge performance penalty; and"},{"line_number":483,"context_line":"  it\u0027s not compatible with block migration."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"* The ``live_migration_tunnelled`` and"},{"line_number":486,"context_line":"  ``live_migration_with_native_tls`` should not be used at the same"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_cadf4cd4","line":483,"range":{"start_line":481,"start_character":0,"end_line":483,"end_character":43},"updated":"2019-01-10 15:16:23.000000000","message":"Do we want to add a follow-up that actually starts the ball rolling on this deprecation, starting with the \u0027live_migration_tunnelled\u0027 option?\n\nLater, ah, we need particularly new versions of libvirt/QEMU. OK, let\u0027s leave this now, but a TODO above the offending config option might not be such a bad idea","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"e9bf93736fbf984b2c5529959623e58f823a01fa","unresolved":false,"context_lines":[{"line_number":478,"context_line":"  \"block migration\"), ``live_migration_with_native_tls`` is the"},{"line_number":479,"context_line":"  preferred config attribute instead of ``live_migration_tunnelled``."},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"* The ``live_migration_tunnelled`` will be deprecated in the long-term,"},{"line_number":482,"context_line":"  for two main reasons: (a) it incurs a huge performance penalty; and"},{"line_number":483,"context_line":"  it\u0027s not compatible with block migration."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"* The ``live_migration_tunnelled`` and"},{"line_number":486,"context_line":"  ``live_migration_with_native_tls`` should not be used at the same"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_45c02e51","line":483,"range":{"start_line":481,"start_character":0,"end_line":483,"end_character":43},"in_reply_to":"dfd5e7cf_cadf4cd4","updated":"2019-01-10 17:01:43.000000000","message":"Indeed, I haven\u0027t forgotten about it; was planning to handle the deprecation \"when it\u0027s time\".  And add a follow-up TODO and related notes.  Can do in this change, too.","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d188f6fac8d7052c2d84757a26548b360a84e7d1","unresolved":false,"context_lines":[{"line_number":10460,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.migration.get_updated_guest_xml\u0027,"},{"line_number":10461,"context_line":"                return_value\u003d\u0027\u0027)"},{"line_number":10462,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.guest.Guest.get_xml_desc\u0027, return_value\u003d\u0027\u0027)"},{"line_number":10463,"context_line":"    def test_block_live_migration_native_tls_migrateToURI3("},{"line_number":10464,"context_line":"            self, mock_old_xml, mock_new_xml,"},{"line_number":10465,"context_line":"            mock_migrateToURI3, mock_min_version):"},{"line_number":10466,"context_line":"        self.flags(live_migration_with_native_tls\u003dTrue, group\u003d\u0027libvirt\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_ea033041","line":10463,"range":{"start_line":10463,"start_character":44,"end_line":10463,"end_character":58},"updated":"2019-01-10 15:16:23.000000000","message":"what\u0027s this suffix here for?","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"e9bf93736fbf984b2c5529959623e58f823a01fa","unresolved":false,"context_lines":[{"line_number":10460,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.migration.get_updated_guest_xml\u0027,"},{"line_number":10461,"context_line":"                return_value\u003d\u0027\u0027)"},{"line_number":10462,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.guest.Guest.get_xml_desc\u0027, return_value\u003d\u0027\u0027)"},{"line_number":10463,"context_line":"    def test_block_live_migration_native_tls_migrateToURI3("},{"line_number":10464,"context_line":"            self, mock_old_xml, mock_new_xml,"},{"line_number":10465,"context_line":"            mock_migrateToURI3, mock_min_version):"},{"line_number":10466,"context_line":"        self.flags(live_migration_with_native_tls\u003dTrue, group\u003d\u0027libvirt\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_85c5b65d","line":10463,"range":{"start_line":10463,"start_character":44,"end_line":10463,"end_character":58},"in_reply_to":"dfd5e7cf_ea033041","updated":"2019-01-10 17:01:43.000000000","message":"There\u0027s a couple of libvirt migration APIs: migrateToURI{3,2}.  So I was just being explict which API we use (borrowing from a previous test\n\nThat said, it could be removed, as we now default to migrateToURI3(), I even vaguely recall making a patch for it :-)","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4323a7cf77a59f0490b12dae7a92ba42a6dcd857","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        self._conn_supports_start_paused \u003d CONF.libvirt.virt_type in (\u0027kvm\u0027,"},{"line_number":355,"context_line":"                                                                      \u0027qemu\u0027)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        for mode_str in CONF.libvirt.disk_cachemodes:"},{"line_number":358,"context_line":"            disk_type, sep, cache_mode \u003d mode_str.partition(\u0027\u003d\u0027)"},{"line_number":359,"context_line":"            if cache_mode not in self.valid_cachemodes:"},{"line_number":360,"context_line":"                LOG.warning(\u0027Invalid cachemode %(cache_mode)s specified \u0027"},{"line_number":361,"context_line":"                            \u0027for disk type %(disk_type)s.\u0027,"},{"line_number":362,"context_line":"                            {\u0027cache_mode\u0027: cache_mode, \u0027disk_type\u0027: disk_type})"},{"line_number":363,"context_line":"                continue"},{"line_number":364,"context_line":"            self.disk_cachemodes[disk_type] \u003d cache_mode"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        self._volume_api \u003d cinder.API()"},{"line_number":367,"context_line":"        self._image_api \u003d image.API()"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfd5e7cf_ee2cc448","line":364,"range":{"start_line":357,"start_character":8,"end_line":364,"end_character":56},"updated":"2019-01-09 08:27:06.000000000","message":"we are validating the disk_cachemode config option and loging warnign for invalid cache modes here in the creation of the libvirt virt diriver.\n\nwe should proably Log an error and raise an excpetion to stop the compute agent form starting in this function also around line 381 if both tunneld and tls migration are enable to adress sylvain\u0027s comment.","commit_id":"05f9beac77d3481fe41baa3ae6fb4d35385e8d79"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"48a03644778406dd9336fa34d8d16f6ad3bf1257","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        self._conn_supports_start_paused \u003d CONF.libvirt.virt_type in (\u0027kvm\u0027,"},{"line_number":355,"context_line":"                                                                      \u0027qemu\u0027)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        for mode_str in CONF.libvirt.disk_cachemodes:"},{"line_number":358,"context_line":"            disk_type, sep, cache_mode \u003d mode_str.partition(\u0027\u003d\u0027)"},{"line_number":359,"context_line":"            if cache_mode not in self.valid_cachemodes:"},{"line_number":360,"context_line":"                LOG.warning(\u0027Invalid cachemode %(cache_mode)s specified \u0027"},{"line_number":361,"context_line":"                            \u0027for disk type %(disk_type)s.\u0027,"},{"line_number":362,"context_line":"                            {\u0027cache_mode\u0027: cache_mode, \u0027disk_type\u0027: disk_type})"},{"line_number":363,"context_line":"                continue"},{"line_number":364,"context_line":"            self.disk_cachemodes[disk_type] \u003d cache_mode"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        self._volume_api \u003d cinder.API()"},{"line_number":367,"context_line":"        self._image_api \u003d image.API()"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfd5e7cf_c9ff7a65","line":364,"range":{"start_line":357,"start_character":8,"end_line":364,"end_character":56},"in_reply_to":"dfd5e7cf_ee2cc448","updated":"2019-01-09 09:00:12.000000000","message":"Yeah, I\u0027ll put the check in the init_host() function—where I see lots of similar checks.\n\nThanks for reviewing!","commit_id":"05f9beac77d3481fe41baa3ae6fb4d35385e8d79"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d188f6fac8d7052c2d84757a26548b360a84e7d1","unresolved":false,"context_lines":[{"line_number":227,"context_line":"# MIN_LIBVIRT_VERSION can be updated to match this after"},{"line_number":228,"context_line":"# NEXT_MIN_LIBVIRT_VERSION  has been at a higher value for"},{"line_number":229,"context_line":"# one cycle"},{"line_number":230,"context_line":"NEXT_MIN_LIBVIRT_VERSION \u003d (4, 0, 0)"},{"line_number":231,"context_line":"NEXT_MIN_QEMU_VERSION \u003d (2, 11, 0)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_0a20f4af","line":230,"range":{"start_line":230,"start_character":0,"end_line":230,"end_character":36},"updated":"2019-01-10 15:16:23.000000000","message":"Wholly unrelated, but did libvirt change their versioning system at some point. 4.0.0 is quite the jump from 1.3.1 (I was checking to see how far off a 4.4.0 minimum was)","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"e9bf93736fbf984b2c5529959623e58f823a01fa","unresolved":false,"context_lines":[{"line_number":227,"context_line":"# MIN_LIBVIRT_VERSION can be updated to match this after"},{"line_number":228,"context_line":"# NEXT_MIN_LIBVIRT_VERSION  has been at a higher value for"},{"line_number":229,"context_line":"# one cycle"},{"line_number":230,"context_line":"NEXT_MIN_LIBVIRT_VERSION \u003d (4, 0, 0)"},{"line_number":231,"context_line":"NEXT_MIN_QEMU_VERSION \u003d (2, 11, 0)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dfd5e7cf_0560e631","line":230,"range":{"start_line":230,"start_character":0,"end_line":230,"end_character":36},"in_reply_to":"dfd5e7cf_0a20f4af","updated":"2019-01-10 17:01:43.000000000","message":"Yes, it\u0027s a big (and necessary; as it cleans up a lot of cruft) jump, \nwe\u0027ve tackled it in this commit 489b5f76 (\"Pick next minimum libvirt /\nQEMU versions for \"T\" release\").  And here are the related\nreferences[1][2].\n\nAnd yes, libvirt did change their numbering from 2.0.0, let me quote \nlibvirt upstream[3] here:\n\n    Since libvirt 2.0.0, a time based version numbering rule is applied\n    to the core library releases. As such, the changes in version number\n    have do not have any implications with respect to the scope of features\n    or bugfixes included, the stability of the code, or the API / ABI\n    compatibility (libvirt API / ABI is guaranteed stable forever). The\n    rules applied for changing the libvirt version number are: \n        \n    major\n        incremented by 1 for the first release of the year (the Jan 15th\n        release)\n        \n    minor \n        reset to 0 with every major increment, otherwise incremented by 1\n        for each monthly release from git master\n\n    micro\n        always 0 for releases from git master, incremented by 1 for each\n        stable maintenance release\n\n        \n[1] https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix\n[2] http://lists.openstack.org/pipermail/openstack-operators/2018-September/015929.html\n    RFC: Next minimum libvirt / QEMU versions for \u0027T\u0027 release\n[3] https://libvirt.org/downloads.html#numbering","commit_id":"9160fe50987131feda9429c4e95d573e176916b6"}]}
