)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"59f0a4c4ac6bffafa1da0a8ff7c8e70c2e2f234a","unresolved":true,"context_lines":[{"line_number":7,"context_line":"[train-only] Fix mock import for infinidat driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Infinidat wrongfully imports mock but it should be imported from"},{"line_number":10,"context_line":"unitted. This was fixed during the Ussuri cycle via the mammoth commit"},{"line_number":11,"context_line":"[1]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"I\u0027m not sure we want to backport this whole commit down to train but we"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"2acf9345_fa9d6f1d","line":10,"updated":"2021-05-21 14:49:38.000000000","message":"unittest","commit_id":"d6447dd2cda239c5dc4c14ba61fffc2322baa739"}],"cinder/volume/drivers/infinidat.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"595d968396651f2f1837217f04da17339a88b0fd","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    from unittest import mock"},{"line_number":23,"context_line":"except ImportError:"},{"line_number":24,"context_line":"    import mock"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from oslo_config import cfg"},{"line_number":27,"context_line":"from oslo_log import log as logging"},{"line_number":28,"context_line":"from oslo_utils import units"}],"source_content_type":"text/x-python","patch_set":4,"id":"278ecb2e_0c6a2601","line":25,"updated":"2021-05-21 16:27:08.000000000","message":"OK, so the problem is that train can run under either py2 or py3.  In py2, you have to use the third-party mock library, but in py3 we use mock from the unittest standard library.  So, this change will work when running under py3, but if you run this under py2, we will have the problem that the mock library may not be available because it\u0027s not in requirements.txt.  So I think when run under py2, you will see the issue that made you notice this in the first place unless you make the change I suggest in setup.cfg.","commit_id":"574221a9bc892f3460e72000c8b387adb8babe60"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"e1a09f0c68fea13d4d2d27e8340bba5d2043b4c8","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    from unittest import mock"},{"line_number":23,"context_line":"except ImportError:"},{"line_number":24,"context_line":"    import mock"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from oslo_config import cfg"},{"line_number":27,"context_line":"from oslo_log import log as logging"},{"line_number":28,"context_line":"from oslo_utils import units"}],"source_content_type":"text/x-python","patch_set":4,"id":"2d73f902_70814f30","line":25,"in_reply_to":"278ecb2e_0c6a2601","updated":"2021-05-21 18:16:11.000000000","message":"Do we really want to change the requirements on a stable branch?\n\nHonestly, I\u0027m not even sure people are using this driver, at least in train. It\u0027s broken and wouldn\u0027t work in the current state anyways, unless operators manually installed mock. What were doing here is basically trying to fix it for everyone, otherwise we fallback on original behavior. This worked for my environment built on RHOSP and it looks like it works for the CI as well.\n\nThe reason why I want this fixed is because it breaks oslo-config-validator.","commit_id":"574221a9bc892f3460e72000c8b387adb8babe60"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7a6645799f87bd6214d939eaa5ef60435807a30b","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    from unittest import mock"},{"line_number":23,"context_line":"except ImportError:"},{"line_number":24,"context_line":"    import mock"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from oslo_config import cfg"},{"line_number":27,"context_line":"from oslo_log import log as logging"},{"line_number":28,"context_line":"from oslo_utils import units"}],"source_content_type":"text/x-python","patch_set":4,"id":"5e5570d6_f9af4543","line":25,"in_reply_to":"2d73f902_70814f30","updated":"2021-05-25 13:34:40.000000000","message":"Understood, but I am against merging a change into train that doesn\u0027t solve the issue for both python 2 and python 3.  Willing to listen to the opinions of other stable cores, though.","commit_id":"574221a9bc892f3460e72000c8b387adb8babe60"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"5753c85e81e5697b2cac58edec89cd2170eace18","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    from unittest import mock"},{"line_number":23,"context_line":"except ImportError:"},{"line_number":24,"context_line":"    import mock"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from oslo_config import cfg"},{"line_number":27,"context_line":"from oslo_log import log as logging"},{"line_number":28,"context_line":"from oslo_utils import units"}],"source_content_type":"text/x-python","patch_set":4,"id":"78677682_6bb654f1","line":25,"in_reply_to":"5e5570d6_f9af4543","updated":"2021-05-25 17:19:58.000000000","message":"I agree with you that, ideally, we\u0027d fix everything and completely remove the mock from production code, but I\u0027m in no position to do this without having to deepdive and, again ideally, have access to an infinidat storage controller. While this is addressed, we end up with broken tools like oslo-config-(generator|validator).\n\nI believe that this patch will address the collateral damage that mock is causing without breaking anything else and falling back on the original behavior if required.\n\nI\u0027d be curious to hear what other cores have to say as well.","commit_id":"574221a9bc892f3460e72000c8b387adb8babe60"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"b042b5a2763bde12964abfff286b224a3be51780","unresolved":true,"context_lines":[{"line_number":620,"context_line":"        # we need a cinder-volume-like object to map the clone by name"},{"line_number":621,"context_line":"        # (which is derived from the cinder id) but the clone is internal"},{"line_number":622,"context_line":"        # so there is no such object. mock one"},{"line_number":623,"context_line":"        clone \u003d mock.Mock(id\u003dstr(volume.id) + \u0027-internal\u0027)"},{"line_number":624,"context_line":"        try:"},{"line_number":625,"context_line":"            infinidat_volume \u003d self._create_volume(volume)"},{"line_number":626,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"04a720d6_5b37633e","line":623,"updated":"2021-05-21 15:32:12.000000000","message":"For the sake of completeness, I\u0027d like to add that this might be fixed in master https://bugs.launchpad.net/cinder/+bug/1928232","commit_id":"574221a9bc892f3460e72000c8b387adb8babe60"}],"setup.cfg":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"595d968396651f2f1837217f04da17339a88b0fd","unresolved":true,"context_lines":[{"line_number":126,"context_line":"ds8k \u003d"},{"line_number":127,"context_line":"    pyOpenSSL\u003e\u003d17.5.0 # Apache-2.0"},{"line_number":128,"context_line":"infinidat \u003d"},{"line_number":129,"context_line":"    infinisdk\u003e\u003d103.0.1 # BSD-3"},{"line_number":130,"context_line":"pure \u003d"},{"line_number":131,"context_line":"    purestorage\u003e\u003d1.6.0 # BSD"},{"line_number":132,"context_line":"rsd \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"0ea52af8_647634b3","line":129,"updated":"2021-05-21 16:27:08.000000000","message":"I think you need to add\n\n    mock\u003e\u003d2.0.0 # BSD\n\nhere, and maybe in the \u0027all\u0027 section above, though I really hate to do that","commit_id":"574221a9bc892f3460e72000c8b387adb8babe60"}],"test-requirements.txt":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"516934543f066b106aff6dbaf5ff07b7f0265ada","unresolved":true,"context_lines":[{"line_number":8,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":9,"context_line":"ddt\u003e\u003d1.2.1 # MIT"},{"line_number":10,"context_line":"fixtures\u003e\u003d3.0.0 # Apache-2.0/BSD"},{"line_number":11,"context_line":"mock\u003e\u003d2.0.0 # BSD"},{"line_number":12,"context_line":"os-api-ref\u003e\u003d1.4.0 # Apache-2.0"},{"line_number":13,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":14,"context_line":"pycodestyle\u003e\u003d2.0.0,\u003c2.6.0 # MIT License"}],"source_content_type":"text/plain","patch_set":1,"id":"7a0b0692_a71b6d68","line":11,"updated":"2021-05-12 12:56:46.000000000","message":"It\u0027s listed in requirements, so it is fine to still use.","commit_id":"c1fb1878fa0e47f4973bb93d9acd9a550f644ec9"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dee27e6cdfd552a48b820d5193b84fce2c0849c3","unresolved":true,"context_lines":[{"line_number":8,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":9,"context_line":"ddt\u003e\u003d1.2.1 # MIT"},{"line_number":10,"context_line":"fixtures\u003e\u003d3.0.0 # Apache-2.0/BSD"},{"line_number":11,"context_line":"mock\u003e\u003d2.0.0 # BSD"},{"line_number":12,"context_line":"os-api-ref\u003e\u003d1.4.0 # Apache-2.0"},{"line_number":13,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":14,"context_line":"pycodestyle\u003e\u003d2.0.0,\u003c2.6.0 # MIT License"}],"source_content_type":"text/plain","patch_set":1,"id":"86f8be53_46a310a9","line":11,"in_reply_to":"6c2f93cf_430f3bab","updated":"2021-05-12 14:02:50.000000000","message":"Oh, yeah, I didn\u0027t notice that part. That should be removed. There shouldn\u0027t be any mocking in actual production code.","commit_id":"c1fb1878fa0e47f4973bb93d9acd9a550f644ec9"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"7c12dbe29b8d16365ddf619c82a3f3f29db3d64b","unresolved":true,"context_lines":[{"line_number":8,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":9,"context_line":"ddt\u003e\u003d1.2.1 # MIT"},{"line_number":10,"context_line":"fixtures\u003e\u003d3.0.0 # Apache-2.0/BSD"},{"line_number":11,"context_line":"mock\u003e\u003d2.0.0 # BSD"},{"line_number":12,"context_line":"os-api-ref\u003e\u003d1.4.0 # Apache-2.0"},{"line_number":13,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":14,"context_line":"pycodestyle\u003e\u003d2.0.0,\u003c2.6.0 # MIT License"}],"source_content_type":"text/plain","patch_set":1,"id":"6c2f93cf_430f3bab","line":11,"in_reply_to":"7a0b0692_a71b6d68","updated":"2021-05-12 13:28:33.000000000","message":"Pardon my ignorance here but isn\u0027t it expected that the test-requirements are only to be installed during ci/testing? Do we expect to have these requirements installed during normal operation?\n\nThe issue with infinidat is that they mock during normal operation so, I believe, this should be either added to the requirements.txt or they should use the unittest version which is a standard python library.\n\nBut maybe I\u0027m wrong.","commit_id":"c1fb1878fa0e47f4973bb93d9acd9a550f644ec9"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"398cfb3d57f5a0c80f38e10474bb53a167c8e376","unresolved":false,"context_lines":[{"line_number":8,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":9,"context_line":"ddt\u003e\u003d1.2.1 # MIT"},{"line_number":10,"context_line":"fixtures\u003e\u003d3.0.0 # Apache-2.0/BSD"},{"line_number":11,"context_line":"mock\u003e\u003d2.0.0 # BSD"},{"line_number":12,"context_line":"os-api-ref\u003e\u003d1.4.0 # Apache-2.0"},{"line_number":13,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":14,"context_line":"pycodestyle\u003e\u003d2.0.0,\u003c2.6.0 # MIT License"}],"source_content_type":"text/plain","patch_set":1,"id":"b8da63e8_bcfdd9df","line":11,"in_reply_to":"86f8be53_46a310a9","updated":"2021-05-12 14:15:36.000000000","message":"I agree with you, I just opened a bug about it [1]\n\n[1] https://bugs.launchpad.net/cinder/+bug/1928232","commit_id":"c1fb1878fa0e47f4973bb93d9acd9a550f644ec9"}]}
