)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"08450a946f78a7dc77acba8e67b8bfe6a3eceaeb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"19df3a0a_c13ff7e2","updated":"2024-03-31 06:50:54.000000000","message":"No related to image dependency test errors","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"227fd1ec0f37927803cf20a15425ad7adad5f06a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"34d98510_47865deb","updated":"2024-03-31 08:22:13.000000000","message":"Thanks Maxim! Please see the comments.","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"96c9f8e91e602f9615403bc5741fd4471c8fa84d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"3e6e6858_3120f960","updated":"2024-06-11 13:34:30.000000000","message":"Test looks good to me, added one suggestion which is good to have.","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"2957a7d14ae0deca060e80ec8ed42d938fc54ea5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5109fdee_65728296","updated":"2024-06-11 11:17:19.000000000","message":"looks good to me","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e6e54711a3820d744e1a64ff89334e9f29efeabd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"16381a13_61830d45","updated":"2024-06-11 19:58:17.000000000","message":"recheck running the tests again","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5c8c1bb0ee0094ca8f096165189101eb95b5dcd5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5f41652c_a27c9313","updated":"2024-06-11 19:58:00.000000000","message":"some comment inline. also running tests again to see the result.","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f01093f78b1c06fca4925b8234690f6ee52606d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"2ca4f4bb_8c34b2a4","updated":"2024-06-14 14:38:20.000000000","message":"Looks good to me, thank you!!","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"aea1de47c70f5a14d8f9af3a5949210c7a2bad2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ba2afaa5_16f0fd17","updated":"2024-06-14 16:26:36.000000000","message":"test passing https://zuul.opendev.org/t/openstack/build/5c72eb990303489c875c93c8378731d7/log/job-output.txt#23960\n\nalmost good but a few comments about new config option name","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed33fc6487606b4c11d6f5f081e1ff4516defa7c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"59dab47a_c9d16693","updated":"2024-06-18 18:14:14.000000000","message":"thanks, almost lgtm except for default value of new config. test is not running due to that and that need devstack to enable it for all supported releases. Let\u0027s enable it by default here and it can be disabled in cewph job which has old client","commit_id":"c0531950017fece2b78c1b1dd64de8942f0a5bf7"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"6f41f67d0de0f93e4fe8c405fbdbbf3c182d396c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"6e42f055_274b7cce","updated":"2024-06-19 14:32:20.000000000","message":"There is an issue with formating","commit_id":"cd2cd9ca23cc840cbc3b1fe175bd7614fa4b3702"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6d48e6775561fb4b10d343c8331ec453cd3836f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"b94eabaa_42f418fb","updated":"2024-06-20 17:32:23.000000000","message":"Thanks Maxim for the updates and making it in correct shape. lgtm, test passing fine https://zuul.opendev.org/t/openstack/build/abdb32fe63244155bc6a32168ad31f21/log/job-output.txt#24249","commit_id":"1be8cabb46b936337fdc759d3033da52bf8a89f0"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"d462a2d6c2cfd2142bc7acbc73f4dc1b07dc1d5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"7290e675_2f523d86","updated":"2024-06-23 22:34:32.000000000","message":"thanks","commit_id":"1be8cabb46b936337fdc759d3033da52bf8a89f0"}],"tempest/api/image/v2/test_images_dependency.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"883d1dd28428d4d43ddd6a38f96fc9b34bb45b0c","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import io"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_log import log as logging"},{"line_number":20,"context_line":"from tempest.api.compute import base as compute_base"},{"line_number":21,"context_line":"from tempest.api.image import base as image_base"},{"line_number":22,"context_line":"from tempest.api.volume import base as volume_base"}],"source_content_type":"text/x-python","patch_set":4,"id":"51a911b9_e1381d87","line":19,"updated":"2024-04-04 09:03:39.000000000","message":"I think need one blank line after this","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import io"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_log import log as logging"},{"line_number":20,"context_line":"from tempest.api.compute import base as compute_base"},{"line_number":21,"context_line":"from tempest.api.image import base as image_base"},{"line_number":22,"context_line":"from tempest.api.volume import base as volume_base"}],"source_content_type":"text/x-python","patch_set":4,"id":"25028b21_eb69f54f","line":19,"in_reply_to":"51a911b9_e1381d87","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"883d1dd28428d4d43ddd6a38f96fc9b34bb45b0c","unresolved":true,"context_lines":[{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ImageDependencyTests(image_base.BaseV2ImageTest,"},{"line_number":35,"context_line":"                           volume_base.BaseVolumeTest,"},{"line_number":36,"context_line":"                           compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                           manager.ScenarioTest):"}],"source_content_type":"text/x-python","patch_set":4,"id":"51d938a5_27e3a8d1","line":34,"range":{"start_line":34,"start_character":6,"end_line":34,"end_character":26},"updated":"2024-04-04 09:03:39.000000000","message":"you can rename it to something like CloneV2DeletionScenarioTests","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ImageDependencyTests(image_base.BaseV2ImageTest,"},{"line_number":35,"context_line":"                           volume_base.BaseVolumeTest,"},{"line_number":36,"context_line":"                           compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                           manager.ScenarioTest):"}],"source_content_type":"text/x-python","patch_set":4,"id":"14e1790e_abaa9ef2","line":34,"range":{"start_line":34,"start_character":6,"end_line":34,"end_character":26},"in_reply_to":"51d938a5_27e3a8d1","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"883d1dd28428d4d43ddd6a38f96fc9b34bb45b0c","unresolved":true,"context_lines":[{"line_number":47,"context_line":"    def skip_checks(cls):"},{"line_number":48,"context_line":"        # TODO(msava): Add skip if ceph client is \u003c\u003d luminous version"},{"line_number":49,"context_line":"        super(ImageDependencyTests, cls).skip_checks()"},{"line_number":50,"context_line":"        if not CONF.image_feature_enabled.import_image:"},{"line_number":51,"context_line":"            skip_msg \u003d ("},{"line_number":52,"context_line":"                \"%s skipped as image import is not available\""},{"line_number":53,"context_line":"                % cls.__name__)"},{"line_number":54,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":55,"context_line":"        if not CONF.service_available.nova:"},{"line_number":56,"context_line":"            raise cls.skipException(\"Nova service not available\")"},{"line_number":57,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"}],"source_content_type":"text/x-python","patch_set":4,"id":"e433d2a0_7fe0b8be","line":54,"range":{"start_line":50,"start_character":7,"end_line":54,"end_character":45},"updated":"2024-04-04 09:03:39.000000000","message":"I think this scenario should be applicable for normal image creation as well. So no point to skip it if import is not enabled.","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def skip_checks(cls):"},{"line_number":48,"context_line":"        # TODO(msava): Add skip if ceph client is \u003c\u003d luminous version"},{"line_number":49,"context_line":"        super(ImageDependencyTests, cls).skip_checks()"},{"line_number":50,"context_line":"        if not CONF.image_feature_enabled.import_image:"},{"line_number":51,"context_line":"            skip_msg \u003d ("},{"line_number":52,"context_line":"                \"%s skipped as image import is not available\""},{"line_number":53,"context_line":"                % cls.__name__)"},{"line_number":54,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":55,"context_line":"        if not CONF.service_available.nova:"},{"line_number":56,"context_line":"            raise cls.skipException(\"Nova service not available\")"},{"line_number":57,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"}],"source_content_type":"text/x-python","patch_set":4,"id":"59084068_14cb80a8","line":54,"range":{"start_line":50,"start_character":7,"end_line":54,"end_character":45},"in_reply_to":"e433d2a0_7fe0b8be","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"227fd1ec0f37927803cf20a15425ad7adad5f06a","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                \"%s skipped as image import is not available\""},{"line_number":53,"context_line":"                % cls.__name__)"},{"line_number":54,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":55,"context_line":"        if not CONF.service_available.nova:"},{"line_number":56,"context_line":"            raise cls.skipException(\"Nova service not available\")"},{"line_number":57,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"},{"line_number":58,"context_line":"            raise cls.skipException(\"Cinder volume snapshots are disabled\")"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3c2091de_f8aa21c9","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":65},"updated":"2024-03-31 08:22:13.000000000","message":"You skip tests that not require nova service, there\u0027s only one test that requires it.\nYou can skip the specific test by the following decorator:\n@testtools.skipUnless(CONF.service_available.nova, \n                      \"Nova service not available\")","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                \"%s skipped as image import is not available\""},{"line_number":53,"context_line":"                % cls.__name__)"},{"line_number":54,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":55,"context_line":"        if not CONF.service_available.nova:"},{"line_number":56,"context_line":"            raise cls.skipException(\"Nova service not available\")"},{"line_number":57,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"},{"line_number":58,"context_line":"            raise cls.skipException(\"Cinder volume snapshots are disabled\")"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"07c2ddf8_e1b650ab","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":65},"in_reply_to":"3c2091de_f8aa21c9","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"227fd1ec0f37927803cf20a15425ad7adad5f06a","unresolved":true,"context_lines":[{"line_number":54,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":55,"context_line":"        if not CONF.service_available.nova:"},{"line_number":56,"context_line":"            raise cls.skipException(\"Nova service not available\")"},{"line_number":57,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"},{"line_number":58,"context_line":"            raise cls.skipException(\"Cinder volume snapshots are disabled\")"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @classmethod"},{"line_number":61,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"d52d1d1f_820aa6cd","line":58,"range":{"start_line":57,"start_character":0,"end_line":58,"end_character":75},"updated":"2024-03-31 08:22:13.000000000","message":"Same here","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":55,"context_line":"        if not CONF.service_available.nova:"},{"line_number":56,"context_line":"            raise cls.skipException(\"Nova service not available\")"},{"line_number":57,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"},{"line_number":58,"context_line":"            raise cls.skipException(\"Cinder volume snapshots are disabled\")"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @classmethod"},{"line_number":61,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"8a002087_4c808db8","line":58,"range":{"start_line":57,"start_character":0,"end_line":58,"end_character":75},"in_reply_to":"d52d1d1f_820aa6cd","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"883d1dd28428d4d43ddd6a38f96fc9b34bb45b0c","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        super(ImageDependencyTests, cls).setup_clients()"},{"line_number":63,"context_line":"        cls.images_client \u003d cls.os_primary.image_client_v2"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def _create_image(self):"},{"line_number":66,"context_line":"        # Create an image and upload an image"},{"line_number":67,"context_line":"        kwargs \u003d {\u0027disk_format\u0027: \u0027raw\u0027,"},{"line_number":68,"context_line":"                  \u0027container_format\u0027: \u0027bare\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfce3649_71a8bf71","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":28},"updated":"2024-04-04 09:03:39.000000000","message":"I think you can use exiting method to create the image","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        super(ImageDependencyTests, cls).setup_clients()"},{"line_number":63,"context_line":"        cls.images_client \u003d cls.os_primary.image_client_v2"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def _create_image(self):"},{"line_number":66,"context_line":"        # Create an image and upload an image"},{"line_number":67,"context_line":"        kwargs \u003d {\u0027disk_format\u0027: \u0027raw\u0027,"},{"line_number":68,"context_line":"                  \u0027container_format\u0027: \u0027bare\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"431babbb_17605d85","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":28},"in_reply_to":"bfce3649_71a8bf71","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"227fd1ec0f37927803cf20a15425ad7adad5f06a","unresolved":true,"context_lines":[{"line_number":70,"context_line":"                      self.__class__.__name__ + \u0027-Image\u0027)),"},{"line_number":71,"context_line":"                  \u0027visibility\u0027: \u0027private\u0027}"},{"line_number":72,"context_line":"        image \u003d self.images_client.create_image(**kwargs)"},{"line_number":73,"context_line":"        self.assertIn(\u0027visibility\u0027, image)"},{"line_number":74,"context_line":"        self.assertEqual(\u0027private\u0027, image[\u0027visibility\u0027])"},{"line_number":75,"context_line":"        self.assertIn(\u0027status\u0027, image)"},{"line_number":76,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":77,"context_line":"        LOG.info(\"Image created %s\", image)"},{"line_number":78,"context_line":"        file_content \u003d data_utils.random_bytes()"},{"line_number":79,"context_line":"        image_file \u003d io.BytesIO(file_content)"}],"source_content_type":"text/x-python","patch_set":4,"id":"2193126d_9c9e7dc9","line":76,"range":{"start_line":73,"start_character":0,"end_line":76,"end_character":51},"updated":"2024-03-31 08:22:13.000000000","message":"I\u0027m not sure what the purpose of these validations is.\nThere\u0027s another test for that purpose.","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                      self.__class__.__name__ + \u0027-Image\u0027)),"},{"line_number":71,"context_line":"                  \u0027visibility\u0027: \u0027private\u0027}"},{"line_number":72,"context_line":"        image \u003d self.images_client.create_image(**kwargs)"},{"line_number":73,"context_line":"        self.assertIn(\u0027visibility\u0027, image)"},{"line_number":74,"context_line":"        self.assertEqual(\u0027private\u0027, image[\u0027visibility\u0027])"},{"line_number":75,"context_line":"        self.assertIn(\u0027status\u0027, image)"},{"line_number":76,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":77,"context_line":"        LOG.info(\"Image created %s\", image)"},{"line_number":78,"context_line":"        file_content \u003d data_utils.random_bytes()"},{"line_number":79,"context_line":"        image_file \u003d io.BytesIO(file_content)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9acec279_343597e3","line":76,"range":{"start_line":73,"start_character":0,"end_line":76,"end_character":51},"in_reply_to":"2193126d_9c9e7dc9","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"227fd1ec0f37927803cf20a15425ad7adad5f06a","unresolved":true,"context_lines":[{"line_number":82,"context_line":"                                      image[\u0027id\u0027],"},{"line_number":83,"context_line":"                                      \u0027active\u0027)"},{"line_number":84,"context_line":"        LOG.info(\"Image uploaded %s\", image)"},{"line_number":85,"context_line":"        observed_image \u003d self.client.show_image(image[\u0027id\u0027])"},{"line_number":86,"context_line":"        return observed_image"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _create_volume_dependency(self, dependency_type):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ed188d00_1d79f9e5","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":60},"updated":"2024-03-31 08:22:13.000000000","message":"Another api call is really needed ?\nThe response from create_image(L72) is not enough ?","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"736f430bd7b4163ff8580747fadd94ecfd0d2037","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                                      image[\u0027id\u0027],"},{"line_number":83,"context_line":"                                      \u0027active\u0027)"},{"line_number":84,"context_line":"        LOG.info(\"Image uploaded %s\", image)"},{"line_number":85,"context_line":"        observed_image \u003d self.client.show_image(image[\u0027id\u0027])"},{"line_number":86,"context_line":"        return observed_image"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _create_volume_dependency(self, dependency_type):"}],"source_content_type":"text/x-python","patch_set":4,"id":"a7237449_7ac1bc3f","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":60},"in_reply_to":"ed188d00_1d79f9e5","updated":"2024-04-11 08:56:49.000000000","message":"Done","commit_id":"25f6e70481372ec5fc8eeb4d5bad658b457d671f"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"89a4694a08dc9cb51cc67af5b1b88f2746167b6b","unresolved":true,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def skip_checks(cls):"},{"line_number":48,"context_line":"        # TODO(msava): Add skip if ceph client is \u003c\u003d luminous version"},{"line_number":49,"context_line":"        super(CloneV2DeletionScenarioTests, cls).skip_checks()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _create_instance_snapshot(self):"},{"line_number":52,"context_line":"        \"\"\"Create instance from image and then snapshot the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"aabff71d_21ae6561","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":62},"updated":"2024-04-14 05:47:22.000000000","message":"It can be removed","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"432a1db22e07473a58f63721f5bdeedb03c584ed","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def skip_checks(cls):"},{"line_number":48,"context_line":"        # TODO(msava): Add skip if ceph client is \u003c\u003d luminous version"},{"line_number":49,"context_line":"        super(CloneV2DeletionScenarioTests, cls).skip_checks()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _create_instance_snapshot(self):"},{"line_number":52,"context_line":"        \"\"\"Create instance from image and then snapshot the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"e6731d73_e606cdd3","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":62},"in_reply_to":"aabff71d_21ae6561","updated":"2024-04-16 05:20:18.000000000","message":"Done","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"89a4694a08dc9cb51cc67af5b1b88f2746167b6b","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        # TODO(msava): Add skip if ceph client is \u003c\u003d luminous version"},{"line_number":49,"context_line":"        super(CloneV2DeletionScenarioTests, cls).skip_checks()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _create_instance_snapshot(self):"},{"line_number":52,"context_line":"        \"\"\"Create instance from image and then snapshot the instance.\"\"\""},{"line_number":53,"context_line":"        image_name \u003d data_utils.rand_name("},{"line_number":54,"context_line":"            prefix\u003dCONF.resource_name_prefix,"},{"line_number":55,"context_line":"            name\u003d\u0027image-dependency-test\u0027)"},{"line_number":56,"context_line":"        image \u003d self.create_image(name\u003dimage_name,"},{"line_number":57,"context_line":"                                  container_format\u003d\u0027bare\u0027,"},{"line_number":58,"context_line":"                                  disk_format\u003d\u0027raw\u0027,"},{"line_number":59,"context_line":"                                  visibility\u003d\u0027private\u0027)"},{"line_number":60,"context_line":"        file_content \u003d data_utils.random_bytes()"},{"line_number":61,"context_line":"        image_file \u003d io.BytesIO(file_content)"},{"line_number":62,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], image_file)"},{"line_number":63,"context_line":"        waiters.wait_for_image_status("},{"line_number":64,"context_line":"            self.client, image[\u0027id\u0027], \u0027active\u0027)"},{"line_number":65,"context_line":"        instance \u003d self.create_test_server("},{"line_number":66,"context_line":"            name\u003d\u0027instance-depend-image\u0027,"},{"line_number":67,"context_line":"            image_id\u003dimage[\u0027id\u0027],"},{"line_number":68,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":69,"context_line":"        LOG.info(\"Instance from image is created %s\", instance)"},{"line_number":70,"context_line":"        instance_observed \u003d \\"},{"line_number":71,"context_line":"            self.servers_client.show_server(instance[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":72,"context_line":"        snapshot_instance \u003d self.create_server_snapshot("},{"line_number":73,"context_line":"            server\u003dinstance_observed)"},{"line_number":74,"context_line":"        LOG.info(\"Instance snapshot is created %s\", snapshot_instance)"},{"line_number":75,"context_line":"        return image[\u0027id\u0027]"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"440085f8_3896b987","line":75,"range":{"start_line":51,"start_character":0,"end_line":75,"end_character":26},"updated":"2024-04-14 05:47:22.000000000","message":"This snippet is hard to read comfortably.\nPlease include blank lines between sub-snippets.","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"fa8c75ecb62a6a7d5c3798ad224bdbb6d05908fb","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # TODO(msava): Add skip if ceph client is \u003c\u003d luminous version"},{"line_number":49,"context_line":"        super(CloneV2DeletionScenarioTests, cls).skip_checks()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _create_instance_snapshot(self):"},{"line_number":52,"context_line":"        \"\"\"Create instance from image and then snapshot the instance.\"\"\""},{"line_number":53,"context_line":"        image_name \u003d data_utils.rand_name("},{"line_number":54,"context_line":"            prefix\u003dCONF.resource_name_prefix,"},{"line_number":55,"context_line":"            name\u003d\u0027image-dependency-test\u0027)"},{"line_number":56,"context_line":"        image \u003d self.create_image(name\u003dimage_name,"},{"line_number":57,"context_line":"                                  container_format\u003d\u0027bare\u0027,"},{"line_number":58,"context_line":"                                  disk_format\u003d\u0027raw\u0027,"},{"line_number":59,"context_line":"                                  visibility\u003d\u0027private\u0027)"},{"line_number":60,"context_line":"        file_content \u003d data_utils.random_bytes()"},{"line_number":61,"context_line":"        image_file \u003d io.BytesIO(file_content)"},{"line_number":62,"context_line":"        self.client.store_image_file(image[\u0027id\u0027], image_file)"},{"line_number":63,"context_line":"        waiters.wait_for_image_status("},{"line_number":64,"context_line":"            self.client, image[\u0027id\u0027], \u0027active\u0027)"},{"line_number":65,"context_line":"        instance \u003d self.create_test_server("},{"line_number":66,"context_line":"            name\u003d\u0027instance-depend-image\u0027,"},{"line_number":67,"context_line":"            image_id\u003dimage[\u0027id\u0027],"},{"line_number":68,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":69,"context_line":"        LOG.info(\"Instance from image is created %s\", instance)"},{"line_number":70,"context_line":"        instance_observed \u003d \\"},{"line_number":71,"context_line":"            self.servers_client.show_server(instance[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":72,"context_line":"        snapshot_instance \u003d self.create_server_snapshot("},{"line_number":73,"context_line":"            server\u003dinstance_observed)"},{"line_number":74,"context_line":"        LOG.info(\"Instance snapshot is created %s\", snapshot_instance)"},{"line_number":75,"context_line":"        return image[\u0027id\u0027]"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5b13865e_1ce1f71b","line":75,"range":{"start_line":51,"start_character":0,"end_line":75,"end_character":26},"in_reply_to":"440085f8_3896b987","updated":"2024-04-16 05:22:27.000000000","message":"Done","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"89a4694a08dc9cb51cc67af5b1b88f2746167b6b","unresolved":true,"context_lines":[{"line_number":74,"context_line":"        LOG.info(\"Instance snapshot is created %s\", snapshot_instance)"},{"line_number":75,"context_line":"        return image[\u0027id\u0027]"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"},{"line_number":79,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":80,"context_line":"                          \"Nova service not available\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"020b383b_7ce00caa","line":77,"range":{"start_line":77,"start_character":5,"end_line":77,"end_character":6},"updated":"2024-04-14 05:47:22.000000000","message":"Unnecessary indentation","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"432a1db22e07473a58f63721f5bdeedb03c584ed","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        LOG.info(\"Instance snapshot is created %s\", snapshot_instance)"},{"line_number":75,"context_line":"        return image[\u0027id\u0027]"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"},{"line_number":79,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":80,"context_line":"                          \"Nova service not available\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"67a9047c_a1ca92fe","line":77,"range":{"start_line":77,"start_character":5,"end_line":77,"end_character":6},"in_reply_to":"020b383b_7ce00caa","updated":"2024-04-16 05:20:18.000000000","message":"Done","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"89a4694a08dc9cb51cc67af5b1b88f2746167b6b","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        return image[\u0027id\u0027]"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"},{"line_number":79,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":80,"context_line":"                          \"Nova service not available\")"},{"line_number":81,"context_line":"    def test_nova_image_snapshot_dependency(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"6a3ab0ec_85632a27","line":78,"range":{"start_line":78,"start_character":5,"end_line":78,"end_character":6},"updated":"2024-04-14 05:47:22.000000000","message":"Same","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"432a1db22e07473a58f63721f5bdeedb03c584ed","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        return image[\u0027id\u0027]"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"},{"line_number":79,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":80,"context_line":"                          \"Nova service not available\")"},{"line_number":81,"context_line":"    def test_nova_image_snapshot_dependency(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1252aa4a_77d9a948","line":78,"range":{"start_line":78,"start_character":5,"end_line":78,"end_character":6},"in_reply_to":"6a3ab0ec_85632a27","updated":"2024-04-16 05:20:18.000000000","message":"Done","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"89a4694a08dc9cb51cc67af5b1b88f2746167b6b","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"},{"line_number":79,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":80,"context_line":"                          \"Nova service not available\")"},{"line_number":81,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":82,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":83,"context_line":"        image_id \u003d self._create_instance_snapshot()"}],"source_content_type":"text/x-python","patch_set":5,"id":"b74e18a0_4c0daebb","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":55},"updated":"2024-04-14 05:47:22.000000000","message":"utils.services(\u0027compute\u0027) skips the test if the nova service is not available.","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"14a045f248faa53a001aa614a10417ae53986bdf","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"},{"line_number":79,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":80,"context_line":"                          \"Nova service not available\")"},{"line_number":81,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":82,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":83,"context_line":"        image_id \u003d self._create_instance_snapshot()"}],"source_content_type":"text/x-python","patch_set":5,"id":"8d93b506_b8b77bd4","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":55},"in_reply_to":"5551bf14_29b7c5b9","updated":"2024-04-18 07:27:49.000000000","message":"Why ? you can read the usage of service tagging decorator in the coding guide:\nhttps://docs.openstack.org/tempest/latest/HACKING.html#service-tagging\n\nYou can see its use in many places.","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"432a1db22e07473a58f63721f5bdeedb03c584ed","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":78,"context_line":"    @ utils.services(\u0027compute\u0027)"},{"line_number":79,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":80,"context_line":"                          \"Nova service not available\")"},{"line_number":81,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":82,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":83,"context_line":"        image_id \u003d self._create_instance_snapshot()"}],"source_content_type":"text/x-python","patch_set":5,"id":"5551bf14_29b7c5b9","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":55},"in_reply_to":"b74e18a0_4c0daebb","updated":"2024-04-16 05:20:18.000000000","message":"@testtools.skipUnless is decorator for skipping and utils.services is for service tagging in scenario tests.I don\u0027t think it\u0027s correct way to skip tests","commit_id":"38759e8b24939deaaa176f353652f3bf96894790"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cb987fb8971b343ce39e18ebba73252697f73ad6","unresolved":true,"context_lines":[{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class CloneV2DeletionScenarioTests(image_base.BaseV2ImageTest,"},{"line_number":36,"context_line":"                                   compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                                   manager.ScenarioTest):"},{"line_number":38,"context_line":"    \"\"\"Test image dependency deletion."}],"source_content_type":"text/x-python","patch_set":6,"id":"ac31246a_f5891096","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":13},"updated":"2024-04-17 15:27:41.000000000","message":"I wouldn\u0027t name this CloneV2 -- that terminology is specific to RBD, but these tests should work for any Glance+Cinder configuration and aren\u0027t really related to CloneV2.","commit_id":"11aa73b620cafc449f8d26bfaaa68fca2c6880ba"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"b25dfc459b2ee4536a5cf0c7a361c9b08f34966b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class CloneV2DeletionScenarioTests(image_base.BaseV2ImageTest,"},{"line_number":36,"context_line":"                                   compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                                   manager.ScenarioTest):"},{"line_number":38,"context_line":"    \"\"\"Test image dependency deletion."}],"source_content_type":"text/x-python","patch_set":6,"id":"e3b71e65_e312cdea","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":13},"in_reply_to":"3e980491_66e9944e","updated":"2024-06-14 12:06:23.000000000","message":"Done","commit_id":"11aa73b620cafc449f8d26bfaaa68fca2c6880ba"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"b6a3a8a653a4a1dcfd70a594fb6d72cda6d821b8","unresolved":true,"context_lines":[{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class CloneV2DeletionScenarioTests(image_base.BaseV2ImageTest,"},{"line_number":36,"context_line":"                                   compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                                   manager.ScenarioTest):"},{"line_number":38,"context_line":"    \"\"\"Test image dependency deletion."}],"source_content_type":"text/x-python","patch_set":6,"id":"d17473c9_738f4eab","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":13},"in_reply_to":"ac31246a_f5891096","updated":"2024-04-18 14:26:23.000000000","message":"Image can have COW clones created either by Cinder or Nova in different pools.\nI think it\u0027s related to CloneV2","commit_id":"11aa73b620cafc449f8d26bfaaa68fca2c6880ba"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"342bbd28b0abfcd923ab48db0a1815ce47ae068c","unresolved":true,"context_lines":[{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class CloneV2DeletionScenarioTests(image_base.BaseV2ImageTest,"},{"line_number":36,"context_line":"                                   compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                                   manager.ScenarioTest):"},{"line_number":38,"context_line":"    \"\"\"Test image dependency deletion."}],"source_content_type":"text/x-python","patch_set":6,"id":"3e980491_66e9944e","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":13},"in_reply_to":"c23ada66_6be550a6","updated":"2024-05-07 05:32:38.000000000","message":"Done","commit_id":"11aa73b620cafc449f8d26bfaaa68fca2c6880ba"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6ee35f6c7da14fb2ea05bfb5cf75239505661d1e","unresolved":true,"context_lines":[{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class CloneV2DeletionScenarioTests(image_base.BaseV2ImageTest,"},{"line_number":36,"context_line":"                                   compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                                   manager.ScenarioTest):"},{"line_number":38,"context_line":"    \"\"\"Test image dependency deletion."}],"source_content_type":"text/x-python","patch_set":6,"id":"05634beb_38f3df8b","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":13},"in_reply_to":"c23ada66_6be550a6","updated":"2024-05-06 16:22:33.000000000","message":"The original motivation is related to RBD clone v2, but the test isn\u0027t really -- the test is expected to work for any backend.","commit_id":"11aa73b620cafc449f8d26bfaaa68fca2c6880ba"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"89830e243d90caa1919fd2ac7ef86f3080aca5b6","unresolved":true,"context_lines":[{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class CloneV2DeletionScenarioTests(image_base.BaseV2ImageTest,"},{"line_number":36,"context_line":"                                   compute_base.BaseV2ComputeTest,"},{"line_number":37,"context_line":"                                   manager.ScenarioTest):"},{"line_number":38,"context_line":"    \"\"\"Test image dependency deletion."}],"source_content_type":"text/x-python","patch_set":6,"id":"c23ada66_6be550a6","line":35,"range":{"start_line":35,"start_character":6,"end_line":35,"end_character":13},"in_reply_to":"d17473c9_738f4eab","updated":"2024-05-01 14:37:04.000000000","message":"It should work with both glance + cinder and glance + nova","commit_id":"11aa73b620cafc449f8d26bfaaa68fca2c6880ba"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6ee35f6c7da14fb2ea05bfb5cf75239505661d1e","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":77,"context_line":"    @utils.services(\u0027compute\u0027)"},{"line_number":78,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":79,"context_line":"                          \"Nova service not available\")"},{"line_number":80,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":81,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":82,"context_line":"        image_id \u003d self._create_instance_snapshot()"}],"source_content_type":"text/x-python","patch_set":7,"id":"53a74cd0_c4689977","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":55},"updated":"2024-05-06 16:22:33.000000000","message":"I think setting @utils.services(\u0027compute\u0027) already does this, so this check isn\u0027t needed?\n\nhttps://opendev.org/openstack/tempest/src/commit/dba5f5cddee90a619/tempest/common/utils/__init__.py#L69","commit_id":"c6311a6f9e65c242d2344c1dac98906e06a00b0f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"342bbd28b0abfcd923ab48db0a1815ce47ae068c","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @decorators.idempotent_id(\u0027d19b0731-e98e-4103-8b0e-02f651b8f586\u0027)"},{"line_number":77,"context_line":"    @utils.services(\u0027compute\u0027)"},{"line_number":78,"context_line":"    @testtools.skipUnless(CONF.service_available.nova,"},{"line_number":79,"context_line":"                          \"Nova service not available\")"},{"line_number":80,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":81,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":82,"context_line":"        image_id \u003d self._create_instance_snapshot()"}],"source_content_type":"text/x-python","patch_set":7,"id":"8cb7c64b_e125a215","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":55},"in_reply_to":"53a74cd0_c4689977","updated":"2024-05-07 05:32:38.000000000","message":"Done","commit_id":"c6311a6f9e65c242d2344c1dac98906e06a00b0f"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"0850dfdcc166b96f8659735de4730ad959f837cd","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import io"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_log import log as logging"},{"line_number":20,"context_line":"import testtools"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from tempest.api.compute import base as compute_base"},{"line_number":23,"context_line":"from tempest.api.image import base as image_base"}],"source_content_type":"text/x-python","patch_set":8,"id":"4de71b99_76c33a60","line":20,"in_reply_to":"5d7f3593_377fce3c","updated":"2024-06-14 11:54:03.000000000","message":"\u003e pep8: F401 \u0027testtools\u0027 imported but unused\n\nPlease fix.","commit_id":"5b272b809833b58f1c86695d0b0a9c49707ebfe7"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"e16ea80053347fb8624889047a99160a6cb2e2a3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2024 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2024 IBM Corp"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":9,"id":"66e14a1b_e5c33e32","line":2,"range":{"start_line":1,"start_character":1,"end_line":2,"end_character":25},"updated":"2024-06-11 12:17:57.000000000","message":"Can there be two Copyrights? I do not know.","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"96c9f8e91e602f9615403bc5741fd4471c8fa84d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2024 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2024 IBM Corp"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfe60b40_6db95982","line":2,"range":{"start_line":1,"start_character":1,"end_line":2,"end_character":25},"in_reply_to":"66e14a1b_e5c33e32","updated":"2024-06-11 13:34:30.000000000","message":"Most of the files have tow Copyrights","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"0850dfdcc166b96f8659735de4730ad959f837cd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2024 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2024 IBM Corp"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":9,"id":"d59946a1_748bf44f","line":2,"range":{"start_line":1,"start_character":1,"end_line":2,"end_character":25},"in_reply_to":"79074db5_de9ffa37","updated":"2024-06-14 11:54:03.000000000","message":"Done","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5c8c1bb0ee0094ca8f096165189101eb95b5dcd5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2024 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2024 IBM Corp"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":9,"id":"79074db5_de9ffa37","line":2,"range":{"start_line":1,"start_character":1,"end_line":2,"end_character":25},"in_reply_to":"bfe60b40_6db95982","updated":"2024-06-11 19:58:00.000000000","message":"but this is new file and is author of this is from foundation as well as from IBM? if not then let\u0027s not add the \u0027Copyright 2024 OpenStack Foundation\u0027 here","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"e16ea80053347fb8624889047a99160a6cb2e2a3","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    * Dependency scenarios:"},{"line_number":40,"context_line":"        image \u003e instance snapshot"},{"line_number":41,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":42,"context_line":"        TODO(msava): Add skip check if ceph client is \u003c\u003d luminous version"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"a73bde8d_95d081c2","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":73},"updated":"2024-06-11 12:17:57.000000000","message":"Is it ok if we merge this without the check? Sounds like something that might be good to have implemented.","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2097f7f9cc75a704d251210fbc77d7f85c75341","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    * Dependency scenarios:"},{"line_number":40,"context_line":"        image \u003e instance snapshot"},{"line_number":41,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":42,"context_line":"        TODO(msava): Add skip check if ceph client is \u003c\u003d luminous version"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"8b709b16_e8626cf8","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":73},"in_reply_to":"20325109_cf1b4d03","updated":"2024-06-17 18:45:45.000000000","message":"Done","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"aea1de47c70f5a14d8f9af3a5949210c7a2bad2b","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    * Dependency scenarios:"},{"line_number":40,"context_line":"        image \u003e instance snapshot"},{"line_number":41,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":42,"context_line":"        TODO(msava): Add skip check if ceph client is \u003c\u003d luminous version"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9c99b8c4_f7125744","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":73},"in_reply_to":"34e628c6_58520bf3","updated":"2024-06-14 16:26:36.000000000","message":"I think this is still pending?","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"b25dfc459b2ee4536a5cf0c7a361c9b08f34966b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    * Dependency scenarios:"},{"line_number":40,"context_line":"        image \u003e instance snapshot"},{"line_number":41,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":42,"context_line":"        TODO(msava): Add skip check if ceph client is \u003c\u003d luminous version"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"34e628c6_58520bf3","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":73},"in_reply_to":"7c9f483b_3403e217","updated":"2024-06-14 12:06:23.000000000","message":"Done","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"68cb69180c7371de326d45db9a876710f3eabad9","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    * Dependency scenarios:"},{"line_number":40,"context_line":"        image \u003e instance snapshot"},{"line_number":41,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":42,"context_line":"        TODO(msava): Add skip check if ceph client is \u003c\u003d luminous version"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"20325109_cf1b4d03","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":73},"in_reply_to":"9c99b8c4_f7125744","updated":"2024-06-15 13:10:41.000000000","message":"Added skip check to test","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"075b6f0e20cf6014d83f84e5f4be04a93f1748b7","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    * Dependency scenarios:"},{"line_number":40,"context_line":"        image \u003e instance snapshot"},{"line_number":41,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":42,"context_line":"        TODO(msava): Add skip check if ceph client is \u003c\u003d luminous version"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fd9abb40_e12f79ac","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":73},"in_reply_to":"a73bde8d_95d081c2","updated":"2024-06-11 12:52:30.000000000","message":"In cinder-tempest-plugin we added a keyword. You can\u0027t really check this from tempest.\nhttps://opendev.org/openstack/cinder-tempest-plugin/src/branch/master/cinder_tempest_plugin/config.py#L25","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5c8c1bb0ee0094ca8f096165189101eb95b5dcd5","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    * Dependency scenarios:"},{"line_number":40,"context_line":"        image \u003e instance snapshot"},{"line_number":41,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":42,"context_line":"        TODO(msava): Add skip check if ceph client is \u003c\u003d luminous version"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7c9f483b_3403e217","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":73},"in_reply_to":"fd9abb40_e12f79ac","updated":"2024-06-11 19:58:00.000000000","message":"yeah, in that case we should move ``volume_image_dep_tests`` config to tempest so that it can be consumed in this tempest tests as well as in cinder-tempest-plugin test\n\n\n\u003e Is it ok if we merge this without the check?\n\nI think we must have that skip check otherwise it will fail the whole tempest run/job for condition \u0027ceph client is \u003c\u003d luminous version\u0027","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"96c9f8e91e602f9615403bc5741fd4471c8fa84d","unresolved":true,"context_lines":[{"line_number":76,"context_line":"    @utils.services(\u0027compute\u0027)"},{"line_number":77,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":78,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":79,"context_line":"        image_id \u003d self._create_instance_snapshot()"},{"line_number":80,"context_line":"        self.client.delete_image(image_id)"},{"line_number":81,"context_line":"        self.client.wait_for_resource_deletion(image_id)"},{"line_number":82,"context_line":"        images_list \u003d self.client.list_images()[\u0027images\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"6f74e212_0d7f76cd","line":79,"updated":"2024-06-11 13:34:30.000000000","message":"So in this test, you are deleting the parent image after creating instance snapshot. I will suggest you should add some comments here and then also assert that you still have newly created snapshot image in the backend.\n\nSo the one assert is Parent image is deleted which is at line 84, and other assert should be after that to check snapshot is still there.\n\n\nFor this purpose you need to return two image ids from _create_instance_snapshot method.","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5c8c1bb0ee0094ca8f096165189101eb95b5dcd5","unresolved":true,"context_lines":[{"line_number":76,"context_line":"    @utils.services(\u0027compute\u0027)"},{"line_number":77,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":78,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":79,"context_line":"        image_id \u003d self._create_instance_snapshot()"},{"line_number":80,"context_line":"        self.client.delete_image(image_id)"},{"line_number":81,"context_line":"        self.client.wait_for_resource_deletion(image_id)"},{"line_number":82,"context_line":"        images_list \u003d self.client.list_images()[\u0027images\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"e8272ab9_219a827f","line":79,"in_reply_to":"6f74e212_0d7f76cd","updated":"2024-06-11 19:58:00.000000000","message":"++ on Abhishek suggestion.","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"0850dfdcc166b96f8659735de4730ad959f837cd","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    @utils.services(\u0027compute\u0027)"},{"line_number":77,"context_line":"    def test_nova_image_snapshot_dependency(self):"},{"line_number":78,"context_line":"        \"\"\"Test with image \u003e instance \u003e snapshot dependency.\"\"\""},{"line_number":79,"context_line":"        image_id \u003d self._create_instance_snapshot()"},{"line_number":80,"context_line":"        self.client.delete_image(image_id)"},{"line_number":81,"context_line":"        self.client.wait_for_resource_deletion(image_id)"},{"line_number":82,"context_line":"        images_list \u003d self.client.list_images()[\u0027images\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"28868f1e_ab207a9c","line":79,"in_reply_to":"e8272ab9_219a827f","updated":"2024-06-14 11:54:03.000000000","message":"Done","commit_id":"72f45c07d886ac43f4bc94eff294c844fe7b3715"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2097f7f9cc75a704d251210fbc77d7f85c75341","unresolved":true,"context_lines":[{"line_number":33,"context_line":"class ImageDependencyTests(image_base.BaseV2ImageTest,"},{"line_number":34,"context_line":"                           compute_base.BaseV2ComputeTest,"},{"line_number":35,"context_line":"                           manager.ScenarioTest):"},{"line_number":36,"context_line":"    \"\"\"Test image dependency deletion."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    * Dependency scenarios:"},{"line_number":39,"context_line":"        image \u003e instance snapshot"},{"line_number":40,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3914cb89_ec673f09","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":69},"updated":"2024-06-17 18:45:45.000000000","message":"this doc string is not so clear, let\u0027s improve it something like below:\n\n    \"\"\"Test image, instance, and snapshot dependency.\n\n    * Dependency scenarios:\n        image \u003e instance -\u003e snapshot dependency\n        NOTE: volume -\u003e image dependencies tests are in cinder-tempest-plugin","commit_id":"e8951b07a3766cf5bf21320295ea2bda38e59721"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"6f41f67d0de0f93e4fe8c405fbdbbf3c182d396c","unresolved":true,"context_lines":[{"line_number":33,"context_line":"class ImageDependencyTests(image_base.BaseV2ImageTest,"},{"line_number":34,"context_line":"                           compute_base.BaseV2ComputeTest,"},{"line_number":35,"context_line":"                           manager.ScenarioTest):"},{"line_number":36,"context_line":"    \"\"\"Test image dependency deletion."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    * Dependency scenarios:"},{"line_number":39,"context_line":"        image \u003e instance snapshot"},{"line_number":40,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"c5866657_70d284a4","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":69},"in_reply_to":"3914cb89_ec673f09","updated":"2024-06-19 14:32:20.000000000","message":"Would this be a valid docstring for the tests as well?\n\n```\n   \"\"\"\n    Test image, instance, and snapshot dependency.\n\n    The tests create image and remove the base image that other snapshots\n    were depend on. In OpenStack, images and snapshots should be separate,\n    but in some configurations like Glance with Ceph storage,\n    there were cases where images couldn\u0027t be removed.\n    This was fixed in glance store for RBD backend.\n\n    * Dependency scenarios:\n        - image \u003e instance -\u003e snapshot dependency\n\n    NOTE: volume -\u003e image dependencies tests are in cinder-tempest-plugin\n    \"\"\"\n```\n\nThe version above throws this error:\n\n```\n/home/zuul/src/opendev.org/openstack/tempest/tempest/api/image/v2/test_images_dependency.py:docstring of image.v2.test_images_dependency.ImageDependencyTests:9:Unexpected indentation.\n```","commit_id":"e8951b07a3766cf5bf21320295ea2bda38e59721"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6d48e6775561fb4b10d343c8331ec453cd3836f9","unresolved":false,"context_lines":[{"line_number":33,"context_line":"class ImageDependencyTests(image_base.BaseV2ImageTest,"},{"line_number":34,"context_line":"                           compute_base.BaseV2ComputeTest,"},{"line_number":35,"context_line":"                           manager.ScenarioTest):"},{"line_number":36,"context_line":"    \"\"\"Test image dependency deletion."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    * Dependency scenarios:"},{"line_number":39,"context_line":"        image \u003e instance snapshot"},{"line_number":40,"context_line":"        NOTE: Volume-image dependencies in cinder-tempest plugin repo"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"76c08e1e_7bb6b932","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":69},"in_reply_to":"c5866657_70d284a4","updated":"2024-06-20 17:32:23.000000000","message":"Done","commit_id":"e8951b07a3766cf5bf21320295ea2bda38e59721"}],"tempest/config.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"aea1de47c70f5a14d8f9af3a5949210c7a2bad2b","unresolved":true,"context_lines":[{"line_number":1071,"context_line":"               default\u003dNone,"},{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027volume_image_dep_tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dTrue,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images,volumes\u0027)"},{"line_number":1077,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"51529614_ae3ef76f","line":1074,"range":{"start_line":1074,"start_character":0,"end_line":1074,"end_character":41},"updated":"2024-06-14 16:26:36.000000000","message":"also add a releasenotes for this new config optoin","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6d48e6775561fb4b10d343c8331ec453cd3836f9","unresolved":false,"context_lines":[{"line_number":1071,"context_line":"               default\u003dNone,"},{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027volume_image_dep_tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dTrue,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images,volumes\u0027)"},{"line_number":1077,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1fcf250b_18b08f68","line":1074,"range":{"start_line":1074,"start_character":0,"end_line":1074,"end_character":41},"in_reply_to":"0f0b4d04_98d510e8","updated":"2024-06-20 17:32:23.000000000","message":"Done","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"68cb69180c7371de326d45db9a876710f3eabad9","unresolved":true,"context_lines":[{"line_number":1071,"context_line":"               default\u003dNone,"},{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027volume_image_dep_tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dTrue,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images,volumes\u0027)"},{"line_number":1077,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"0f0b4d04_98d510e8","line":1074,"range":{"start_line":1074,"start_character":0,"end_line":1074,"end_character":41},"in_reply_to":"51529614_ae3ef76f","updated":"2024-06-15 13:10:41.000000000","message":"volume_image_dep_tests option is removed from this patch as we test only image\u003c-\u003einstance snapshot","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"aea1de47c70f5a14d8f9af3a5949210c7a2bad2b","unresolved":true,"context_lines":[{"line_number":1071,"context_line":"               default\u003dNone,"},{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027volume_image_dep_tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dTrue,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images,volumes\u0027)"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"]"},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"adaf8397_060296b0","line":1076,"range":{"start_line":1074,"start_character":0,"end_line":1076,"end_character":73},"updated":"2024-06-14 16:26:36.000000000","message":"as we have same config name in Tempest namespace via cinder-tempest-plugin then it will fail when we install Tempest and cinder-tempest-plugin.\n\nLet\u0027s do like:\n\n-  add config option with different name in Tempest \u0027enable_volume_image_dep_tests\u0027\n- later once this change is merged, remove \u0027volume_image_dep_tests\u0027 config from cinder-tempest-plugin and use Tempest \u0027enable_volume_image_dep_tests\u0027","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed33fc6487606b4c11d6f5f081e1ff4516defa7c","unresolved":false,"context_lines":[{"line_number":1071,"context_line":"               default\u003dNone,"},{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027volume_image_dep_tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dTrue,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images,volumes\u0027)"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"]"},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"559426e9_61582905","line":1076,"range":{"start_line":1074,"start_character":0,"end_line":1076,"end_character":73},"in_reply_to":"22cd2a0b_a03942db","updated":"2024-06-18 18:14:14.000000000","message":"Done","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2097f7f9cc75a704d251210fbc77d7f85c75341","unresolved":true,"context_lines":[{"line_number":1071,"context_line":"               default\u003dNone,"},{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027volume_image_dep_tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dTrue,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images,volumes\u0027)"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"]"},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"22cd2a0b_a03942db","line":1076,"range":{"start_line":1074,"start_character":0,"end_line":1076,"end_character":73},"in_reply_to":"74da1c61_6e19b192","updated":"2024-06-17 18:45:45.000000000","message":"I do not think we should add this ceph client version as config which is too specific with ceph. Right way to do is the way i mentioned in my above comment so that:\u0027\n1. generic config can be added to skip test in various condition not just ceph version\n2. reduce the config option by using the same config (enable_volume_image_dep_tests) in the tempest and in cinder-tempest-plugin","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"68cb69180c7371de326d45db9a876710f3eabad9","unresolved":true,"context_lines":[{"line_number":1071,"context_line":"               default\u003dNone,"},{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027volume_image_dep_tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dTrue,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images,volumes\u0027)"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"]"},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"74da1c61_6e19b192","line":1076,"range":{"start_line":1074,"start_character":0,"end_line":1076,"end_character":73},"in_reply_to":"adaf8397_060296b0","updated":"2024-06-15 13:10:41.000000000","message":"volume_image_dep_tests option is removed from this patch as we test only image\u003c-\u003einstance snapshot","commit_id":"2a4b82a85b5024112d05ad311b96a474c70c2746"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ed33fc6487606b4c11d6f5f081e1ff4516defa7c","unresolved":true,"context_lines":[{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027enable-volume-image-dep-tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dNone,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images, volumes\u0027"},{"line_number":1077,"context_line":"                \u0027and instance snapshots\u0027)"},{"line_number":1078,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":15,"id":"5b3e2bf6_6e08cdfd","line":1075,"range":{"start_line":1075,"start_character":24,"end_line":1075,"end_character":28},"updated":"2024-06-18 18:14:14.000000000","message":"you can make it True by default and let ceph job with older client make it false. otherwise  we need to enable this new config in devstack for all supported releases","commit_id":"c0531950017fece2b78c1b1dd64de8942f0a5bf7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6d48e6775561fb4b10d343c8331ec453cd3836f9","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"               help\u003d\u0027Volume types used for data volumes. Multiple volume \u0027"},{"line_number":1073,"context_line":"                    \u0027types can be assigned.\u0027),"},{"line_number":1074,"context_line":"    cfg.BoolOpt(\u0027enable-volume-image-dep-tests\u0027,"},{"line_number":1075,"context_line":"                default\u003dNone,"},{"line_number":1076,"context_line":"                help\u003d\u0027Run tests for dependencies between images, volumes\u0027"},{"line_number":1077,"context_line":"                \u0027and instance snapshots\u0027)"},{"line_number":1078,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":15,"id":"32922f7c_2357a4bf","line":1075,"range":{"start_line":1075,"start_character":24,"end_line":1075,"end_character":28},"in_reply_to":"5b3e2bf6_6e08cdfd","updated":"2024-06-20 17:32:23.000000000","message":"Done","commit_id":"c0531950017fece2b78c1b1dd64de8942f0a5bf7"}]}
