)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"48212e8e398c40f7bcfc6593beb7af76d683382d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the VMware driver. The minimum version tested is 5.1.0."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"In L we will log a warning. From M this will be enforced."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If1a0767d19c26f5e028d1f8f57ede9716e19303f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a016987_d650be0c","line":13,"updated":"2015-05-15 22:14:45.000000000","message":"I think you need a DocImpact reminder for the Liberty release notes.  We generally do a terrible job of updating the release notes for things that happened early in the release but operators should know about.","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d074ee8e3dc89f3cc61ffb872b5a529457ad7c0","unresolved":false,"context_lines":[{"line_number":10,"context_line":"the VMware driver. The minimum version tested is 5.1.0."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"In L we will log a warning. From M this will be enforced."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If1a0767d19c26f5e028d1f8f57ede9716e19303f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a016987_23758f97","line":13,"in_reply_to":"7a016987_d650be0c","updated":"2015-05-15 23:52:42.000000000","message":"Done","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2e06ac3fe06f03876d6270a97502ea5c30545968","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"In L we will log a warning. From M this will be enforced."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"DocImpact"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: If1a0767d19c26f5e028d1f8f57ede9716e19303f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afb71cf_3c7eba19","line":14,"updated":"2015-06-08 20:29:17.000000000","message":"This could probably use the same message as in the warning log, so we know to update the release notes - and that there are docs that talk about using older vcenters today and those would need to be updated, could have listed those here.","commit_id":"27e78710be4b30f03484a4819d2309031f2ae631"}],"nova/tests/unit/virt/vmwareapi/test_driver_api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"48212e8e398c40f7bcfc6593beb7af76d683382d","unresolved":false,"context_lines":[{"line_number":2341,"context_line":"        self.assertEqual(nodename, self.conn._normalize_nodename(nodename))"},{"line_number":2342,"context_line":""},{"line_number":2343,"context_line":"    def test_min_version(self):"},{"line_number":2344,"context_line":"        self.assertIsNone(self.conn._check_min_version())"},{"line_number":2345,"context_line":""},{"line_number":2346,"context_line":"    @mock.patch.object(driver.LOG, \u0027warning\u0027)"},{"line_number":2347,"context_line":"    @mock.patch.object(oslo_vim_util, \u0027get_vc_version\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_b67c2273","line":2344,"updated":"2015-05-15 22:14:45.000000000","message":"This should probably check that a warning isn\u0027t logged, like what I have in the libvirt tests:\n\nhttps://review.openstack.org/#/c/183220/2/nova/tests/unit/virt/libvirt/test_driver.py","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d074ee8e3dc89f3cc61ffb872b5a529457ad7c0","unresolved":false,"context_lines":[{"line_number":2341,"context_line":"        self.assertEqual(nodename, self.conn._normalize_nodename(nodename))"},{"line_number":2342,"context_line":""},{"line_number":2343,"context_line":"    def test_min_version(self):"},{"line_number":2344,"context_line":"        self.assertIsNone(self.conn._check_min_version())"},{"line_number":2345,"context_line":""},{"line_number":2346,"context_line":"    @mock.patch.object(driver.LOG, \u0027warning\u0027)"},{"line_number":2347,"context_line":"    @mock.patch.object(oslo_vim_util, \u0027get_vc_version\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_833683e5","line":2344,"in_reply_to":"7a016987_b67c2273","updated":"2015-05-15 23:52:42.000000000","message":"Done","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"48212e8e398c40f7bcfc6593beb7af76d683382d","unresolved":false,"context_lines":[{"line_number":2347,"context_line":"    @mock.patch.object(oslo_vim_util, \u0027get_vc_version\u0027,"},{"line_number":2348,"context_line":"                       return_value\u003d\u00275.0.0\u0027)"},{"line_number":2349,"context_line":"    def test_invalid_min_version(self, mock_version, mock_log):"},{"line_number":2350,"context_line":"        self.assertIsNone(self.conn._check_min_version())"},{"line_number":2351,"context_line":"        self.assertTrue(mock_log.called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_f69bbac7","line":2350,"updated":"2015-05-15 22:14:45.000000000","message":"I don\u0027t think assertIsNone is needed here, it doesn\u0027t return anything and if it raised an error the test would fail anyway.","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d074ee8e3dc89f3cc61ffb872b5a529457ad7c0","unresolved":false,"context_lines":[{"line_number":2347,"context_line":"    @mock.patch.object(oslo_vim_util, \u0027get_vc_version\u0027,"},{"line_number":2348,"context_line":"                       return_value\u003d\u00275.0.0\u0027)"},{"line_number":2349,"context_line":"    def test_invalid_min_version(self, mock_version, mock_log):"},{"line_number":2350,"context_line":"        self.assertIsNone(self.conn._check_min_version())"},{"line_number":2351,"context_line":"        self.assertTrue(mock_log.called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_6335c7d8","line":2350,"in_reply_to":"7a016987_f69bbac7","updated":"2015-05-15 23:52:42.000000000","message":"Done","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"48212e8e398c40f7bcfc6593beb7af76d683382d","unresolved":false,"context_lines":[{"line_number":2348,"context_line":"                       return_value\u003d\u00275.0.0\u0027)"},{"line_number":2349,"context_line":"    def test_invalid_min_version(self, mock_version, mock_log):"},{"line_number":2350,"context_line":"        self.assertIsNone(self.conn._check_min_version())"},{"line_number":2351,"context_line":"        self.assertTrue(mock_log.called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_d6855e59","line":2351,"updated":"2015-05-15 22:14:45.000000000","message":"nit: this could be a bit more explicit - if someone adds another warning to the init_host path and removes yours for check min version (not sure why that would happen, but hypothetically), then this would still pass even though it\u0027s not supposed to.\n\nConsider using call_args_list like what I have in the libvirt tests:\n\nhttps://review.openstack.org/#/c/183220/2/nova/tests/unit/virt/libvirt/test_driver.py","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d074ee8e3dc89f3cc61ffb872b5a529457ad7c0","unresolved":false,"context_lines":[{"line_number":2348,"context_line":"                       return_value\u003d\u00275.0.0\u0027)"},{"line_number":2349,"context_line":"    def test_invalid_min_version(self, mock_version, mock_log):"},{"line_number":2350,"context_line":"        self.assertIsNone(self.conn._check_min_version())"},{"line_number":2351,"context_line":"        self.assertTrue(mock_log.called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_0351730e","line":2351,"in_reply_to":"7a016987_d6855e59","updated":"2015-05-15 23:52:42.000000000","message":"Done","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"0705ab013f93d940df9a6d73df5aa35f87685f95","unresolved":false,"context_lines":[{"line_number":2351,"context_line":"    def test_invalid_min_version(self, mock_version, mock_warning):"},{"line_number":2352,"context_line":"        self.conn._check_min_version()"},{"line_number":2353,"context_line":"        # assert that the min version is in a warning message"},{"line_number":2354,"context_line":"        expected_arg \u003d {\u0027version\u0027: \u00275.1.0\u0027}"},{"line_number":2355,"context_line":"        version_arg_found \u003d False"},{"line_number":2356,"context_line":"        for call in mock_warning.call_args_list:"},{"line_number":2357,"context_line":"            if call[0][1] \u003d\u003d expected_arg:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_e71a78c5","line":2354,"updated":"2015-05-21 17:09:21.000000000","message":"Why not use constants.MIN_VC_VERSION here?  The minimum version will only increase, so using the constant will prevent future edits to this test.","commit_id":"2d198bfecd88e8f32b0ed1e986a36e60a2b0b9c8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f9b77aa002c45fbb1127e5439b127278c23e4266","unresolved":false,"context_lines":[{"line_number":2351,"context_line":"    def test_invalid_min_version(self, mock_version, mock_warning):"},{"line_number":2352,"context_line":"        self.conn._check_min_version()"},{"line_number":2353,"context_line":"        # assert that the min version is in a warning message"},{"line_number":2354,"context_line":"        expected_arg \u003d {\u0027version\u0027: \u00275.1.0\u0027}"},{"line_number":2355,"context_line":"        version_arg_found \u003d False"},{"line_number":2356,"context_line":"        for call in mock_warning.call_args_list:"},{"line_number":2357,"context_line":"            if call[0][1] \u003d\u003d expected_arg:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_58fdadb2","line":2354,"in_reply_to":"7a016987_e71a78c5","updated":"2015-05-21 19:01:56.000000000","message":"Done","commit_id":"2d198bfecd88e8f32b0ed1e986a36e60a2b0b9c8"}],"nova/virt/vmwareapi/constants.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"85b83efae3534603f8548561519985e2b225f452","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from nova.network import model as network_model"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"MIN_VC_VERSION \u003d \u00275.1.0\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DISK_FORMAT_ISO \u003d \u0027iso\u0027"},{"line_number":24,"context_line":"DISK_FORMAT_VMDK \u003d \u0027vmdk\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_f13744ae","line":21,"updated":"2015-05-15 23:15:01.000000000","message":"Now that VC 6.0 is released, can\u0027t we drop support for 5.1 and just have 5.5 and 6.0.","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7af0fa3c3ae2c244dbbc184514cddc5316f274d7","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from nova.network import model as network_model"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"MIN_VC_VERSION \u003d \u00275.1.0\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DISK_FORMAT_ISO \u003d \u0027iso\u0027"},{"line_number":24,"context_line":"DISK_FORMAT_VMDK \u003d \u0027vmdk\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_fc04a2c0","line":21,"updated":"2015-06-08 20:28:07.000000000","message":"Should you update the FakeVim with this value now?\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/unit/virt/vmwareapi/fake.py#L1199\n\nThe reason I ask is I was trying to figure out how the first new test case was passing w/o explicitly mocking out the method that gets the version.","commit_id":"27e78710be4b30f03484a4819d2309031f2ae631"}],"nova/virt/vmwareapi/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dc293f5d1f2f34e1e63d68ccea7f5bdd75f82ad7","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        LOG.info(_LI(\"VMware VC version: %s\"), vc_version)"},{"line_number":207,"context_line":"        if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":208,"context_line":"            # TODO(garyk): enforce this from M"},{"line_number":209,"context_line":"            LOG.warning(_LW(\u0027It is suggested to use version %s or greater.\u0027),"},{"line_number":210,"context_line":"                        constants.MIN_VC_VERSION)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_d6779e9d","line":209,"updated":"2015-05-15 22:11:50.000000000","message":"I think you need to say that it\u0027s deprecated and will be removed soon in order to qualify as a notice to people.","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"48212e8e398c40f7bcfc6593beb7af76d683382d","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        LOG.info(_LI(\"VMware VC version: %s\"), vc_version)"},{"line_number":207,"context_line":"        if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":208,"context_line":"            # TODO(garyk): enforce this from M"},{"line_number":209,"context_line":"            LOG.warning(_LW(\u0027It is suggested to use version %s or greater.\u0027),"},{"line_number":210,"context_line":"                        constants.MIN_VC_VERSION)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_967126ab","line":209,"updated":"2015-05-15 22:14:45.000000000","message":"This is more than a suggestion.  If we plan to turn this into an error in M, then this needs to say that this is going to be enforced as the required minimum version in the 2016.1 release.","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d074ee8e3dc89f3cc61ffb872b5a529457ad7c0","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        LOG.info(_LI(\"VMware VC version: %s\"), vc_version)"},{"line_number":207,"context_line":"        if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":208,"context_line":"            # TODO(garyk): enforce this from M"},{"line_number":209,"context_line":"            LOG.warning(_LW(\u0027It is suggested to use version %s or greater.\u0027),"},{"line_number":210,"context_line":"                        constants.MIN_VC_VERSION)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_c35a3b2a","line":209,"in_reply_to":"7a016987_967126ab","updated":"2015-05-15 23:52:42.000000000","message":"Done","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d074ee8e3dc89f3cc61ffb872b5a529457ad7c0","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        LOG.info(_LI(\"VMware VC version: %s\"), vc_version)"},{"line_number":207,"context_line":"        if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":208,"context_line":"            # TODO(garyk): enforce this from M"},{"line_number":209,"context_line":"            LOG.warning(_LW(\u0027It is suggested to use version %s or greater.\u0027),"},{"line_number":210,"context_line":"                        constants.MIN_VC_VERSION)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_a3429f3c","line":209,"in_reply_to":"7a016987_d6779e9d","updated":"2015-05-15 23:52:42.000000000","message":"Done","commit_id":"8c258cc8047571e5f8a0e7942e8d507812f6ba97"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"0705ab013f93d940df9a6d73df5aa35f87685f95","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        vc_version \u003d vim_util.get_vc_version(self._session)"},{"line_number":206,"context_line":"        LOG.info(_LI(\"VMware VC version: %s\"), vc_version)"},{"line_number":207,"context_line":"        if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":208,"context_line":"            # TO DO(garyk): enforce this from M"},{"line_number":209,"context_line":"            LOG.warning(_LW(\u0027Running Nova with a VMware VC version less than \u0027"},{"line_number":210,"context_line":"                            \u0027%(version)s is deprecated. The required minimum \u0027"},{"line_number":211,"context_line":"                            \u0027version of VC will be raised to %(version)s \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_67ad689a","line":208,"updated":"2015-05-21 17:09:21.000000000","message":"s/TO DO/TODO\n\nMakes it easier to search and fix TODO comments.","commit_id":"2d198bfecd88e8f32b0ed1e986a36e60a2b0b9c8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f9b77aa002c45fbb1127e5439b127278c23e4266","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        vc_version \u003d vim_util.get_vc_version(self._session)"},{"line_number":206,"context_line":"        LOG.info(_LI(\"VMware VC version: %s\"), vc_version)"},{"line_number":207,"context_line":"        if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":208,"context_line":"            # TO DO(garyk): enforce this from M"},{"line_number":209,"context_line":"            LOG.warning(_LW(\u0027Running Nova with a VMware VC version less than \u0027"},{"line_number":210,"context_line":"                            \u0027%(version)s is deprecated. The required minimum \u0027"},{"line_number":211,"context_line":"                            \u0027version of VC will be raised to %(version)s \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_f81459e9","line":208,"in_reply_to":"7a016987_67ad689a","updated":"2015-05-21 19:01:56.000000000","message":"Done","commit_id":"2d198bfecd88e8f32b0ed1e986a36e60a2b0b9c8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7af0fa3c3ae2c244dbbc184514cddc5316f274d7","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        LOG.info(_LI(\"VMware VC version: %s\"), vc_version)"},{"line_number":207,"context_line":"        if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":208,"context_line":"            # TODO(garyk): enforce this from M"},{"line_number":209,"context_line":"            LOG.warning(_LW(\u0027Running Nova with a VMware VC version less than \u0027"},{"line_number":210,"context_line":"                            \u0027%(version)s is deprecated. The required minimum \u0027"},{"line_number":211,"context_line":"                            \u0027version of VC will be raised to %(version)s \u0027"},{"line_number":212,"context_line":"                            \u0027in the 2016.1 release.\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_1cac1eec","line":209,"updated":"2015-06-08 20:28:07.000000000","message":"nit: might be more official sounding to call this \u0027vCenter\u0027 rather than \u0027VC\u0027.","commit_id":"27e78710be4b30f03484a4819d2309031f2ae631"}]}
