)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"842967a417da483fb74026f0cab109eebd400d14","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add choice to set group spec for group tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Group related test cases will fail if group spec is null and"},{"line_number":10,"context_line":"there is group type specs checking during group creating in"},{"line_number":11,"context_line":"storage driver. Add choice to allow vendor set spec in"},{"line_number":12,"context_line":"tempest.conf when runing tempest."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I786cdb1688ab5d63973b4626e871674b3981b8e2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f93b717_242d0243","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":14},"updated":"2018-01-26 03:46:35.000000000","message":"I wonder why the storage driver will deem group spec as necessity? Any reasonable detailed explaination?","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"91e9b979c32d5be7913ae046e75eb5c0994275c6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add choice to set group spec for group tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Group related test cases will fail if group spec is null and"},{"line_number":10,"context_line":"there is group type specs checking during group creating in"},{"line_number":11,"context_line":"storage driver. Add choice to allow vendor set spec in"},{"line_number":12,"context_line":"tempest.conf when runing tempest."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I786cdb1688ab5d63973b4626e871674b3981b8e2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f9dbf25_f3f7f4f4","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":14},"in_reply_to":"5f93b717_07ec83c5","updated":"2018-03-01 05:14:46.000000000","message":"Thanks, what driver will behave like this? And is it reasonable? I can\u0027t understand why group spec is mandantary for it, why no default value?","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"},{"author":{"_account_id":18288,"name":"Yu Zhang","email":"ivysdu@hotmail.com","username":"ivyzhang"},"change_message_id":"1a4cee60d9e4d01c5ca3ea2f8653d1a98a3c432d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add choice to set group spec for group tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Group related test cases will fail if group spec is null and"},{"line_number":10,"context_line":"there is group type specs checking during group creating in"},{"line_number":11,"context_line":"storage driver. Add choice to allow vendor set spec in"},{"line_number":12,"context_line":"tempest.conf when runing tempest."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I786cdb1688ab5d63973b4626e871674b3981b8e2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f93b717_07ec83c5","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":14},"in_reply_to":"5f93b717_242d0243","updated":"2018-01-26 09:08:40.000000000","message":"Some driver do not allow group spec value is null when creating group. Group create with the purpose, so the related spec should be set. In the group tests, it create group with no spec set.","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"}],"tempest/api/volume/admin/test_group_snapshots.py":[{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"76a5c918897ad68da40a40c647240abfa7874fbb","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def _create_group_type(self):"},{"line_number":36,"context_line":"        # Create group type"},{"line_number":37,"context_line":"        if CONF.volume.group_type_spec:"},{"line_number":38,"context_line":"            kwargs \u003d {\"group_specs\": CONF.volume.group_type_spec}"},{"line_number":39,"context_line":"            group_type \u003d self.create_group_type(**kwargs)"},{"line_number":40,"context_line":"        else:"},{"line_number":41,"context_line":"            group_type \u003d self.create_group_type()"},{"line_number":42,"context_line":"        return group_type"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_64ef251e","line":39,"range":{"start_line":38,"start_character":12,"end_line":39,"end_character":57},"updated":"2018-04-11 16:08:22.000000000","message":"There is no need of creating temporary kwargs dictionary here:\n\n group_type \u003d self.create_group_type(\n     group_specs\u003dCONF.volume.group_type_spec)","commit_id":"d45c347374fbe9fb34d6e6ef80c576e082fbbf0b"}],"tempest/api/volume/admin/test_groups.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"842967a417da483fb74026f0cab109eebd400d14","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BaseGroupTest(base.BaseVolumeAdminTest):"},{"line_number":26,"context_line":"    def _create_group_type(self):"},{"line_number":27,"context_line":"        # Create group type"},{"line_number":28,"context_line":"        group_type \u003d self.create_group_type()"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_a4ed92f0","line":26,"range":{"start_line":26,"start_character":8,"end_line":26,"end_character":26},"updated":"2018-01-26 03:46:35.000000000","message":"why not add create_group_type_specs in base.create_group_type?","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"},{"author":{"_account_id":18288,"name":"Yu Zhang","email":"ivysdu@hotmail.com","username":"ivyzhang"},"change_message_id":"1a4cee60d9e4d01c5ca3ea2f8653d1a98a3c432d","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BaseGroupTest(base.BaseVolumeAdminTest):"},{"line_number":26,"context_line":"    def _create_group_type(self):"},{"line_number":27,"context_line":"        # Create group type"},{"line_number":28,"context_line":"        group_type \u003d self.create_group_type()"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_679227f9","line":26,"range":{"start_line":26,"start_character":8,"end_line":26,"end_character":26},"in_reply_to":"5f93b717_a4ed92f0","updated":"2018-01-26 09:08:40.000000000","message":"It can pass group_specs in kwargs to base.create_group_type to create group type. \nBecause we create group type first then set group spec in client, so I want to create group spec seperately. Now I change to create group type then set spec for it in test_groups.py and create group type with group_specs as the parameter in test_group_snapshots.py.","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"842967a417da483fb74026f0cab109eebd400d14","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        group_type \u003d self.create_group_type()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        if CONF.volume.group_type_spec:"},{"line_number":31,"context_line":"            group_type_spec \u003d {CONF.volume.group_type_spec: \u0027\u003cis\u003e True\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            self.admin_group_types_client.create_group_type_specs("},{"line_number":34,"context_line":"                group_type[\u0027id\u0027], group_type_spec)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_849e5661","line":31,"range":{"start_line":31,"start_character":30,"end_line":31,"end_character":72},"updated":"2018-01-26 03:46:35.000000000","message":"https://developer.openstack.org/api-ref/block-storage/v3/#update-group-type\n    \"group_specs\": {\n        \"key1\": \"value1\",\n        \"key2\": \"value2\"\n    }\nso I wonder why the config value is not the format as [\u0027key\u0027, \u0027value\u0027], which will be more universal?","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"},{"author":{"_account_id":18288,"name":"Yu Zhang","email":"ivysdu@hotmail.com","username":"ivyzhang"},"change_message_id":"1a4cee60d9e4d01c5ca3ea2f8653d1a98a3c432d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        group_type \u003d self.create_group_type()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        if CONF.volume.group_type_spec:"},{"line_number":31,"context_line":"            group_type_spec \u003d {CONF.volume.group_type_spec: \u0027\u003cis\u003e True\u0027}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            self.admin_group_types_client.create_group_type_specs("},{"line_number":34,"context_line":"                group_type[\u0027id\u0027], group_type_spec)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_c7ae9b2d","line":31,"range":{"start_line":31,"start_character":30,"end_line":31,"end_character":72},"in_reply_to":"5f93b717_849e5661","updated":"2018-01-26 09:08:40.000000000","message":"Change the group_type_spec\u0027s type to dict, the value set in tempest.conf should like group_type_spec\u003dconsistent_group_snapshot_enabled:\u003cis\u003e True","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"76a5c918897ad68da40a40c647240abfa7874fbb","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BaseGroupTest(base.BaseVolumeAdminTest):"},{"line_number":26,"context_line":"    def _create_group_type(self):"},{"line_number":27,"context_line":"        # Create group type"},{"line_number":28,"context_line":"        group_type \u003d self.create_group_type()"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_e471f577","line":26,"updated":"2018-04-11 16:08:22.000000000","message":"Is not this method doing the same as BaseGroupSnapshotsTest._create_group_type?\n\nIt looks to me a different implementation of the same method. Is it? If so why not to share this method between more tests?","commit_id":"d45c347374fbe9fb34d6e6ef80c576e082fbbf0b"}],"tempest/config.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"842967a417da483fb74026f0cab109eebd400d14","unresolved":false,"context_lines":[{"line_number":788,"context_line":"                    \"If both values are not specified, Tempest avoids tests \""},{"line_number":789,"context_line":"                    \"which require a microversion. Valid values are string \""},{"line_number":790,"context_line":"                    \"with format \u0027X.Y\u0027 or string \u0027latest\u0027\",),"},{"line_number":791,"context_line":"    cfg.StrOpt(\u0027group_type_spec\u0027,"},{"line_number":792,"context_line":"               default\u003dNone,"},{"line_number":793,"context_line":"               help\u003d\"Group type spec used for specific groups creating. \"),"},{"line_number":794,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_a418321d","line":791,"range":{"start_line":791,"start_character":16,"end_line":791,"end_character":31},"updated":"2018-01-26 03:46:35.000000000","message":"reno file is needed for adding a new config item","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"},{"author":{"_account_id":18288,"name":"Yu Zhang","email":"ivysdu@hotmail.com","username":"ivyzhang"},"change_message_id":"1a4cee60d9e4d01c5ca3ea2f8653d1a98a3c432d","unresolved":false,"context_lines":[{"line_number":788,"context_line":"                    \"If both values are not specified, Tempest avoids tests \""},{"line_number":789,"context_line":"                    \"which require a microversion. Valid values are string \""},{"line_number":790,"context_line":"                    \"with format \u0027X.Y\u0027 or string \u0027latest\u0027\",),"},{"line_number":791,"context_line":"    cfg.StrOpt(\u0027group_type_spec\u0027,"},{"line_number":792,"context_line":"               default\u003dNone,"},{"line_number":793,"context_line":"               help\u003d\"Group type spec used for specific groups creating. \"),"},{"line_number":794,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_e745d771","line":791,"range":{"start_line":791,"start_character":16,"end_line":791,"end_character":31},"in_reply_to":"5f93b717_a418321d","updated":"2018-01-26 09:08:40.000000000","message":"Thank you, I addressed in new patch","commit_id":"3cdfb14f4cc54b6282449cd25ac667591dce5a7d"}]}
