)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"9f2150b84dcf1df04abcb3ed5129f4ac3367bf49","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add scenario that creates N security groups and then updates their"},{"line_number":10,"context_line":"name and description."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"created by the `image_command_customizer\u0027 context."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ieff30655cc04e66a85bb6dfd7c3f90f59ac14384"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a4dcd0f_ee31465b","line":12,"updated":"2015-08-06 08:16:59.000000000","message":"What does it mean \u0027created by the `image_command_customizer\u0027 context.\u0027 Looks like its extra information. Because you scenario will work with security group not only created by `image_command_customizer\u0027 context. Or add context decorator to the scenario if you want to use some context.","commit_id":"e785d3356c0c77522a434c65fa9ace819c3ae49e"}],"rally-jobs/nova.yaml":[{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"3db0d751f92213a8e3e03b3ef2880cca6386fc8d","unresolved":false,"context_lines":[{"line_number":484,"context_line":"        failure_rate:"},{"line_number":485,"context_line":"          max: 0"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"  NovaSecGroup.create_and_update_secgroups:"},{"line_number":488,"context_line":"    -"},{"line_number":489,"context_line":"      args:"},{"line_number":490,"context_line":"        security_group_count: 5"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"da20952f_4e199c21","line":487,"updated":"2015-09-10 02:42:43.000000000","message":"thanks for adding this here, and you have to keep this test is passed in latest run; for example, the latest job for me is failed:\n\nhttp://logs.openstack.org/61/209761/5/check/gate-rally-dsvm-rally-nova/301fbbe/rally-plot/results.html.gz#/NovaSecGroup.create_and_update_secgroups","commit_id":"3fc6fc0a465789709c00e7db20b9b6f6b129714d"}],"rally/plugins/openstack/scenarios/nova/security_group.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"e42aecaf5641dc07abf00d8c6371921c19c09c35","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    def create_and_update_secgroups(self, security_group_count):"},{"line_number":86,"context_line":"        \"\"\"Create and update security groups."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        This scenario creates N security groups then  updates their name"},{"line_number":89,"context_line":"        and description."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :param security_group_count: Number of security groups"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_ee538615","line":88,"updated":"2015-08-06 08:12:22.000000000","message":"Creates \u0027scenario_group_count\u0027 groups then updates their name and description.","commit_id":"e785d3356c0c77522a434c65fa9ace819c3ae49e"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"75c332ebd901ace61c98f9ad715a99b8b35fc4b3","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    def create_and_update_secgroups(self, security_group_count):"},{"line_number":86,"context_line":"        \"\"\"Create and update security groups."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        This scenario creates N security groups then  updates their name"},{"line_number":89,"context_line":"        and description."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :param security_group_count: Number of security groups"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_b8006467","line":88,"updated":"2015-08-06 07:35:09.000000000","message":"extra white space before \u0027updates\u0027","commit_id":"e785d3356c0c77522a434c65fa9ace819c3ae49e"}],"rally/plugins/openstack/scenarios/nova/utils.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"e42aecaf5641dc07abf00d8c6371921c19c09c35","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                               len(security_groups)):"},{"line_number":755,"context_line":"            for sec_group in security_groups:"},{"line_number":756,"context_line":"                sg_new_name \u003d self._generate_random_name()"},{"line_number":757,"context_line":"                sg_new_desc \u003d self._generate_random_name()"},{"line_number":758,"context_line":"                self.clients(\"nova\").security_groups.update(sec_group.id,"},{"line_number":759,"context_line":"                                                            sg_new_name,"},{"line_number":760,"context_line":"                                                            sg_new_desc)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_8e23e257","line":757,"updated":"2015-08-06 08:12:22.000000000","message":"Please choose random names in scenario and pass it throught parameters to util function.  _update_security_groups must to have semantic as in https://github.com/openstack/python-novaclient/blob/master/novaclient/v2/security_groups.py#L51 Add possibility measure all updates of security groups together. See example https://review.openstack.org/#/c/206917/11/rally/plugins/openstack/scenarios/neutron/utils.py You need to add flag \u0027atomic_action\u0027 to the semantic of the function and use it inside.","commit_id":"e785d3356c0c77522a434c65fa9ace819c3ae49e"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"bd3b639d925756bca5a29b69f1cc995186908cb2","unresolved":false,"context_lines":[{"line_number":781,"context_line":"                                   len(security_groups)):"},{"line_number":782,"context_line":"                for sec_group in security_groups:"},{"line_number":783,"context_line":"                    sg_new_name \u003d self._generate_random_name()"},{"line_number":784,"context_line":"                    sg_new_desc \u003d self._generate_random_name()"},{"line_number":785,"context_line":"                    self._update_security_group(sec_group, sg_new_name,"},{"line_number":786,"context_line":"                                                sg_new_desc,"},{"line_number":787,"context_line":"                                                atomic_action\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_607e95b0","line":784,"updated":"2015-08-12 13:19:50.000000000","message":"Please take out this two lines into scenario and pass random name and description through parameters, as I wrote in first patchset. Time for generating string mustn\u0027t be included to atomic action measure.","commit_id":"339153fe8133de31dfc97b41671a92df5a95e701"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"bd3b639d925756bca5a29b69f1cc995186908cb2","unresolved":false,"context_lines":[{"line_number":784,"context_line":"                    sg_new_desc \u003d self._generate_random_name()"},{"line_number":785,"context_line":"                    self._update_security_group(sec_group, sg_new_name,"},{"line_number":786,"context_line":"                                                sg_new_desc,"},{"line_number":787,"context_line":"                                                atomic_action\u003dFalse)"},{"line_number":788,"context_line":"        else:"},{"line_number":789,"context_line":"            for sec_group in security_groups:"},{"line_number":790,"context_line":"                    sg_new_name \u003d self._generate_random_name()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_00d311d6","line":787,"updated":"2015-08-12 13:19:50.000000000","message":"Please nested function for duplicated code . To reduce amount of lines.","commit_id":"339153fe8133de31dfc97b41671a92df5a95e701"}],"samples/tasks/scenarios/nova/create-and-update-secgroups.json":[{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"3db0d751f92213a8e3e03b3ef2880cca6386fc8d","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    \"NovaSecGroup.create_and_update_secgroups\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"args\": {"},{"line_number":5,"context_line":"                \"security_group_count\": 10"},{"line_number":6,"context_line":"            },"},{"line_number":7,"context_line":"            \"runner\": {"},{"line_number":8,"context_line":"                \"type\": \"constant\","}],"source_content_type":"application/json","patch_set":5,"id":"da20952f_ee275061","line":5,"updated":"2015-09-10 02:42:43.000000000","message":"Seeing `nova limits`, you could find the default max secgroup number is 10. It\u0027s really easy to hit quota limit in concurrency mode. Pls use a lower number here","commit_id":"3fc6fc0a465789709c00e7db20b9b6f6b129714d"}]}
