)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"d9c8d1ef999eddb463538ad1803efcdbe4dd2688","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The \"quota set\" command support compute and volume quotas previously."},{"line_number":10,"context_line":"This patch add support network."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partially-implements: blueprint neutron-client-quota"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I9d297f52bc30614b3493f09ed15f8f1d3f8ff952"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a18252c_efca746d","line":12,"updated":"2016-04-13 17:21:31.000000000","message":"This also closes https://bugs.launchpad.net/python-openstackclient/+bug/1489441","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"75cc1fa191f664a7a91285cb9a3ec95016de5a53","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The \"quota set\" command support compute and volume quotas previously."},{"line_number":10,"context_line":"This patch add support network."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partially-implements: blueprint neutron-client-quota"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I9d297f52bc30614b3493f09ed15f8f1d3f8ff952"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a122d0e_2d11e552","line":12,"in_reply_to":"5a18252c_efca746d","updated":"2016-04-27 05:49:08.000000000","message":"Done","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"}],"doc/source/command-objects/quota.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"756a10f575488426fff186bc95d944e7bc447634","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":".. option:: --networks \u003cnum-networks\u003e"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    New value for the networks quota"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":".. option:: --subnets \u003cnum-subnets\u003e"},{"line_number":148,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_958342cc","line":145,"updated":"2016-05-18 14:18:48.000000000","message":"I wish these could actually be informative rather than just restating the option name.","commit_id":"74b25132dfa2590b9713acdf0e5751d46c362b9b"}],"functional/tests/common/test_quota.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"90d32f02a5775c77a8ce8c54b0ff3b8844c21700","unresolved":false,"context_lines":[{"line_number":25,"context_line":"            cls.get_openstack_configuration_value(\u0027auth.project_name\u0027)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def test_quota_set(self):"},{"line_number":28,"context_line":"        # TODO(rtheis): Add --network option once supported on set."},{"line_number":29,"context_line":"        self.openstack(\u0027quota set --instances 11 --volumes 11 --networks 11\u0027 +"},{"line_number":30,"context_line":"                       self.PROJECT_NAME)"},{"line_number":31,"context_line":"        opts \u003d self.get_show_opts(self.EXPECTED_FIELDS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afc51ec_9622e3ff","line":28,"updated":"2016-03-15 04:00:50.000000000","message":"Please remove this comment, as it seems now --network is also supported","commit_id":"3ce26bb6590e08dba273f1cab6901e794e913ecb"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b85e21d5f993309fe8e73a728bef84d62c1f4a88","unresolved":false,"context_lines":[{"line_number":25,"context_line":"            cls.get_openstack_configuration_value(\u0027auth.project_name\u0027)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def test_quota_set(self):"},{"line_number":28,"context_line":"        # TODO(rtheis): Add --network option once supported on set."},{"line_number":29,"context_line":"        self.openstack(\u0027quota set --instances 11 --volumes 11 --networks 11\u0027 +"},{"line_number":30,"context_line":"                       self.PROJECT_NAME)"},{"line_number":31,"context_line":"        opts \u003d self.get_show_opts(self.EXPECTED_FIELDS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afc51ec_4f5a812b","line":28,"in_reply_to":"3afc51ec_9622e3ff","updated":"2016-03-15 05:15:05.000000000","message":"Done","commit_id":"3ce26bb6590e08dba273f1cab6901e794e913ecb"}],"openstackclient/common/quota.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e9217047145bb6662b2b45ff9c60f9897004cde9","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    \u0027subnet\u0027: \u0027subnets\u0027,"},{"line_number":59,"context_line":"    \u0027port\u0027: \u0027ports\u0027,"},{"line_number":60,"context_line":"    \u0027router\u0027: \u0027routers\u0027,"},{"line_number":61,"context_line":"    \u0027rbac_policy\u0027: \u0027rbac-policys\u0027,"},{"line_number":62,"context_line":"    \u0027vip\u0027: \u0027vips\u0027,"},{"line_number":63,"context_line":"    \u0027subnetpool\u0027: \u0027subnetpools\u0027,"},{"line_number":64,"context_line":"    \u0027member\u0027: \u0027members\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_3d236207","line":61,"updated":"2016-03-15 14:51:45.000000000","message":"rbac-policies\n\nEnglish plurals stink sometimes","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b8764a9c27bf1921f79883cc28a8629ceae4cccd","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    \u0027subnet\u0027: \u0027subnets\u0027,"},{"line_number":59,"context_line":"    \u0027port\u0027: \u0027ports\u0027,"},{"line_number":60,"context_line":"    \u0027router\u0027: \u0027routers\u0027,"},{"line_number":61,"context_line":"    \u0027rbac_policy\u0027: \u0027rbac-policys\u0027,"},{"line_number":62,"context_line":"    \u0027vip\u0027: \u0027vips\u0027,"},{"line_number":63,"context_line":"    \u0027subnetpool\u0027: \u0027subnetpools\u0027,"},{"line_number":64,"context_line":"    \u0027member\u0027: \u0027members\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_9a4ff391","line":61,"in_reply_to":"1af94dfe_3d236207","updated":"2016-03-16 07:03:32.000000000","message":"Done","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"bd46ff32c9c97271c7fc4085cd13e8b730bc73ef","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                if value is not None:"},{"line_number":141,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        if compute_kwargs \u003d\u003d {} and volume_kwargs \u003d\u003d {} \\"},{"line_number":144,"context_line":"                and network_kwargs \u003d\u003d {}:"},{"line_number":145,"context_line":"            sys.stderr.write(\"No quotas updated\")"},{"line_number":146,"context_line":"            return"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_5726ebba","line":144,"range":{"start_line":143,"start_character":11,"end_line":144,"end_character":40},"updated":"2016-03-16 03:44:07.000000000","message":"please use brackets instead of slash","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b8764a9c27bf1921f79883cc28a8629ceae4cccd","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                if value is not None:"},{"line_number":141,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        if compute_kwargs \u003d\u003d {} and volume_kwargs \u003d\u003d {} \\"},{"line_number":144,"context_line":"                and network_kwargs \u003d\u003d {}:"},{"line_number":145,"context_line":"            sys.stderr.write(\"No quotas updated\")"},{"line_number":146,"context_line":"            return"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_3a5fbf42","line":144,"range":{"start_line":143,"start_character":11,"end_line":144,"end_character":40},"in_reply_to":"1af94dfe_5726ebba","updated":"2016-03-16 07:03:32.000000000","message":"Done","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"bd46ff32c9c97271c7fc4085cd13e8b730bc73ef","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                    project.id,"},{"line_number":171,"context_line":"                    **volume_kwargs)"},{"line_number":172,"context_line":"            if network_kwargs:"},{"line_number":173,"context_line":"                network_client.update_quota(project.id, **network_kwargs)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class ShowQuota(command.ShowOne):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_d7af9be1","line":173,"updated":"2016-03-16 03:44:07.000000000","message":"nit: if the new code style keep consistent with above lines, looks more readable.","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b8764a9c27bf1921f79883cc28a8629ceae4cccd","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                    project.id,"},{"line_number":171,"context_line":"                    **volume_kwargs)"},{"line_number":172,"context_line":"            if network_kwargs:"},{"line_number":173,"context_line":"                network_client.update_quota(project.id, **network_kwargs)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class ShowQuota(command.ShowOne):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_1a5c834a","line":173,"in_reply_to":"1af94dfe_d7af9be1","updated":"2016-03-16 07:03:32.000000000","message":"Done","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"aa15d46954d13489b0469b0f4e23de5bc8baa1d4","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    \u0027security_groups\u0027: \u0027secgroups\u0027,"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"NETWORK_QUOTAS \u003d {"},{"line_number":54,"context_line":"    \u0027floatingip\u0027: \u0027floating-ips\u0027,"},{"line_number":55,"context_line":"    \u0027security_group_rule\u0027: \u0027secgroup-rules\u0027,"},{"line_number":56,"context_line":"    \u0027security_group\u0027: \u0027secgroups\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_045b6c88","line":53,"updated":"2016-03-22 12:35:06.000000000","message":"Please add support for load balancers like is being added here: https://review.openstack.org/#/c/295677/","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3938fae491edd7e71d6aed69b75cc62951602be3","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    \u0027security_groups\u0027: \u0027secgroups\u0027,"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"NETWORK_QUOTAS \u003d {"},{"line_number":54,"context_line":"    \u0027floatingip\u0027: \u0027floating-ips\u0027,"},{"line_number":55,"context_line":"    \u0027security_group_rule\u0027: \u0027secgroup-rules\u0027,"},{"line_number":56,"context_line":"    \u0027security_group\u0027: \u0027secgroups\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_cdbfd45e","line":53,"in_reply_to":"fa0719c6_045b6c88","updated":"2016-03-22 13:58:31.000000000","message":"Let\u0027s defer to a follow-up patch based on comments from Reedip.","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"0e38cb7e77cb6bef006d4411f424c14feb6b0cb1","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                parsed_args.project,"},{"line_number":152,"context_line":"            )"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if parsed_args.quota_class:"},{"line_number":155,"context_line":"            if compute_kwargs:"},{"line_number":156,"context_line":"                compute_client.quota_classes.update("},{"line_number":157,"context_line":"                    project.id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_31ccd469","line":154,"updated":"2016-03-16 21:20:30.000000000","message":"This doesn\u0027t apply to network quotas so there should at least be documentation and a warning message about network quotas being ignored.","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"75cc1fa191f664a7a91285cb9a3ec95016de5a53","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                parsed_args.project,"},{"line_number":152,"context_line":"            )"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if parsed_args.quota_class:"},{"line_number":155,"context_line":"            if compute_kwargs:"},{"line_number":156,"context_line":"                compute_client.quota_classes.update("},{"line_number":157,"context_line":"                    project.id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_6d175d45","line":154,"in_reply_to":"1af94dfe_31ccd469","updated":"2016-04-27 05:49:08.000000000","message":"Print warning to stderr","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"0e38cb7e77cb6bef006d4411f424c14feb6b0cb1","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                volume_client.quotas.update("},{"line_number":170,"context_line":"                    project.id,"},{"line_number":171,"context_line":"                    **volume_kwargs)"},{"line_number":172,"context_line":"            if network_kwargs:"},{"line_number":173,"context_line":"                network_client.update_quota("},{"line_number":174,"context_line":"                    project.id,"},{"line_number":175,"context_line":"                    **network_kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_714bfcc9","line":172,"updated":"2016-03-16 21:20:30.000000000","message":"I think it\u0027s time to start enforcing https://github.com/openstack/python-openstackclient/blob/master/doc/source/command-errors.rst","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"75cc1fa191f664a7a91285cb9a3ec95016de5a53","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                volume_client.quotas.update("},{"line_number":170,"context_line":"                    project.id,"},{"line_number":171,"context_line":"                    **volume_kwargs)"},{"line_number":172,"context_line":"            if network_kwargs:"},{"line_number":173,"context_line":"                network_client.update_quota("},{"line_number":174,"context_line":"                    project.id,"},{"line_number":175,"context_line":"                    **network_kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_0da229fc","line":172,"in_reply_to":"1af94dfe_714bfcc9","updated":"2016-04-27 05:49:08.000000000","message":"Do we have any examples of this in our code base? I\u0027m not very clear of how to do that.","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b5428188d05051db1e2a22ff6651c5fc9ba4cb85","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                volume_kwargs[k] \u003d value"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        network_kwargs \u003d {}"},{"line_number":132,"context_line":"        if self.app.client_manager.is_network_endpoint_enabled():"},{"line_number":133,"context_line":"            for k, v in NETWORK_QUOTAS.items():"},{"line_number":134,"context_line":"                value \u003d getattr(parsed_args, k, None)"},{"line_number":135,"context_line":"                if value is not None:"},{"line_number":136,"context_line":"                    network_kwargs[k] \u003d value"},{"line_number":137,"context_line":"        else:"},{"line_number":138,"context_line":"            for k, v in NOVA_NETWORK_QUOTAS.items():"},{"line_number":139,"context_line":"                value \u003d getattr(parsed_args, k, None)"},{"line_number":140,"context_line":"                if value is not None:"},{"line_number":141,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        if (compute_kwargs \u003d\u003d {} and volume_kwargs \u003d\u003d {}"},{"line_number":144,"context_line":"                and network_kwargs \u003d\u003d {}):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab6814e_6731345a","line":141,"range":{"start_line":132,"start_character":0,"end_line":141,"end_character":45},"updated":"2016-05-21 22:38:51.000000000","message":"what we do in the for loop is the same, why not set a variable for the list we are going to iterate:\n\n  if self.app.client_manager.is_network_endpoint_enabled():\n    quota_opts \u003d NETWORK_QUOTAS.items()\n  else:\n    quota_opts \u003d NOVA_NETWORK_QUOTAS.items()\n\n  for k, v in quota_opts:\n    value \u003d getattr(parsed_args, k, None)\n    if value is not None:\n      compute_kwargs[k] \u003d value\n\ni think it\u0027s a bit easier to read this way","commit_id":"b92cf77fb58b4aafcf4b3a1ef6b89fd15166505b"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"9b3e4def810d3bae13d41839639ef52ded9d3d07","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                volume_kwargs[k] \u003d value"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        network_kwargs \u003d {}"},{"line_number":132,"context_line":"        if self.app.client_manager.is_network_endpoint_enabled():"},{"line_number":133,"context_line":"            for k, v in NETWORK_QUOTAS.items():"},{"line_number":134,"context_line":"                value \u003d getattr(parsed_args, k, None)"},{"line_number":135,"context_line":"                if value is not None:"},{"line_number":136,"context_line":"                    network_kwargs[k] \u003d value"},{"line_number":137,"context_line":"        else:"},{"line_number":138,"context_line":"            for k, v in NOVA_NETWORK_QUOTAS.items():"},{"line_number":139,"context_line":"                value \u003d getattr(parsed_args, k, None)"},{"line_number":140,"context_line":"                if value is not None:"},{"line_number":141,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        if (compute_kwargs \u003d\u003d {} and volume_kwargs \u003d\u003d {}"},{"line_number":144,"context_line":"                and network_kwargs \u003d\u003d {}):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab6814e_8a0ed5e2","line":141,"range":{"start_line":132,"start_character":0,"end_line":141,"end_character":45},"in_reply_to":"bab6814e_6731345a","updated":"2016-05-23 03:01:34.000000000","message":"The inner if clause assigns the value to network_kwargs or compute_kwargs accordingly. We have to set another variable to make it work.","commit_id":"b92cf77fb58b4aafcf4b3a1ef6b89fd15166505b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"71681285ca77c2e3c7da0a21d6fdc92c169013e0","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                volume_kwargs[k] \u003d value"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        network_kwargs \u003d {}"},{"line_number":132,"context_line":"        if self.app.client_manager.is_network_endpoint_enabled():"},{"line_number":133,"context_line":"            for k, v in NETWORK_QUOTAS.items():"},{"line_number":134,"context_line":"                value \u003d getattr(parsed_args, k, None)"},{"line_number":135,"context_line":"                if value is not None:"},{"line_number":136,"context_line":"                    network_kwargs[k] \u003d value"},{"line_number":137,"context_line":"        else:"},{"line_number":138,"context_line":"            for k, v in NOVA_NETWORK_QUOTAS.items():"},{"line_number":139,"context_line":"                value \u003d getattr(parsed_args, k, None)"},{"line_number":140,"context_line":"                if value is not None:"},{"line_number":141,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        if (compute_kwargs \u003d\u003d {} and volume_kwargs \u003d\u003d {}"},{"line_number":144,"context_line":"                and network_kwargs \u003d\u003d {}):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab6814e_50081ada","line":141,"range":{"start_line":132,"start_character":0,"end_line":141,"end_character":45},"in_reply_to":"bab6814e_8a0ed5e2","updated":"2016-05-23 05:05:59.000000000","message":"++ good point, didn\u0027t notice that","commit_id":"b92cf77fb58b4aafcf4b3a1ef6b89fd15166505b"}],"openstackclient/tests/common/test_quota.py":[{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"bd46ff32c9c97271c7fc4085cd13e8b730bc73ef","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            **kwargs"},{"line_number":189,"context_line":"        )"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def _test_quota_set_network(self):"},{"line_number":192,"context_line":"        arglist \u003d ["},{"line_number":193,"context_line":"            \u0027--subnets\u0027, str(network_fakes.QUOTA[\u0027subnet\u0027]),"},{"line_number":194,"context_line":"            \u0027--networks\u0027, str(network_fakes.QUOTA[\u0027network\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_2dd5d042","line":191,"updated":"2016-03-16 03:44:07.000000000","message":"why is this private function?","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b8764a9c27bf1921f79883cc28a8629ceae4cccd","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            **kwargs"},{"line_number":189,"context_line":"        )"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def _test_quota_set_network(self):"},{"line_number":192,"context_line":"        arglist \u003d ["},{"line_number":193,"context_line":"            \u0027--subnets\u0027, str(network_fakes.QUOTA[\u0027subnet\u0027]),"},{"line_number":194,"context_line":"            \u0027--networks\u0027, str(network_fakes.QUOTA[\u0027network\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_1a23e3be","line":191,"in_reply_to":"1af94dfe_2dd5d042","updated":"2016-03-16 07:03:32.000000000","message":"Sorry, my fault. Thanks!","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e9217047145bb6662b2b45ff9c60f9897004cde9","unresolved":false,"context_lines":[{"line_number":195,"context_line":"            \u0027--floating-ips\u0027, str(network_fakes.QUOTA[\u0027floatingip\u0027]),"},{"line_number":196,"context_line":"            \u0027--subnetpools\u0027, str(network_fakes.QUOTA[\u0027subnetpool\u0027]),"},{"line_number":197,"context_line":"            \u0027--secgroup-rules\u0027,"},{"line_number":198,"context_line":"            str(network_fakes.QUOTA[\u0027security_group_rule\u0027]),"},{"line_number":199,"context_line":"            \u0027--secgroups\u0027, str(network_fakes.QUOTA[\u0027security_group\u0027]),"},{"line_number":200,"context_line":"            \u0027--routers\u0027, str(network_fakes.QUOTA[\u0027router\u0027]),"},{"line_number":201,"context_line":"            \u0027--rbac_policy\u0027, str(network_fakes.QUOTA[\u0027rbac_policy\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_38e7f0e5","line":198,"updated":"2016-03-15 14:51:45.000000000","message":"Indent lines like this to help with the visual alignment of the options.\n\nand below too","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e3281cd18c09d1d8e8bb22458610055d165e6251","unresolved":false,"context_lines":[{"line_number":195,"context_line":"            \u0027--floating-ips\u0027, str(network_fakes.QUOTA[\u0027floatingip\u0027]),"},{"line_number":196,"context_line":"            \u0027--subnetpools\u0027, str(network_fakes.QUOTA[\u0027subnetpool\u0027]),"},{"line_number":197,"context_line":"            \u0027--secgroup-rules\u0027,"},{"line_number":198,"context_line":"            str(network_fakes.QUOTA[\u0027security_group_rule\u0027]),"},{"line_number":199,"context_line":"            \u0027--secgroups\u0027, str(network_fakes.QUOTA[\u0027security_group\u0027]),"},{"line_number":200,"context_line":"            \u0027--routers\u0027, str(network_fakes.QUOTA[\u0027router\u0027]),"},{"line_number":201,"context_line":"            \u0027--rbac_policy\u0027, str(network_fakes.QUOTA[\u0027rbac_policy\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_9147b54a","line":198,"in_reply_to":"1af94dfe_2514c442","updated":"2016-03-16 17:15:00.000000000","message":"Sure...  this is two lines due to pep8, otherwise we want the option and its value together:\n\n    \u0027--subnetpools\u0027, str(network_fakes.QUOTA[\u0027subnetpool\u0027]),\n    \u0027--secgroup-rules\u0027,\n        str(network_fakes.QUOTA[\u0027security_group_rule\u0027]),\n    \u0027--secgroups\u0027, str(network_fakes.QUOTA[\u0027security_group\u0027]),\n\nAnd of course now that I tried it, it isn\u0027t legal because why should code be readable?\n\nso arglist is a simple list, so no extra indents...bad\n\nverifylist is (above) a list of tuples, so single space indent to align under the \u0027(\u0027 is ok  (see line 123 in the original file)\n\nkwargs (above) is a dict so the 4 space indent is good. (see line 144 in the original file)\n\nI love consistency!\n\nCan you follow the patterns of test_quota_set() as much as possible?","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b8764a9c27bf1921f79883cc28a8629ceae4cccd","unresolved":false,"context_lines":[{"line_number":195,"context_line":"            \u0027--floating-ips\u0027, str(network_fakes.QUOTA[\u0027floatingip\u0027]),"},{"line_number":196,"context_line":"            \u0027--subnetpools\u0027, str(network_fakes.QUOTA[\u0027subnetpool\u0027]),"},{"line_number":197,"context_line":"            \u0027--secgroup-rules\u0027,"},{"line_number":198,"context_line":"            str(network_fakes.QUOTA[\u0027security_group_rule\u0027]),"},{"line_number":199,"context_line":"            \u0027--secgroups\u0027, str(network_fakes.QUOTA[\u0027security_group\u0027]),"},{"line_number":200,"context_line":"            \u0027--routers\u0027, str(network_fakes.QUOTA[\u0027router\u0027]),"},{"line_number":201,"context_line":"            \u0027--rbac_policy\u0027, str(network_fakes.QUOTA[\u0027rbac_policy\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_2514c442","line":198,"in_reply_to":"1af94dfe_38e7f0e5","updated":"2016-03-16 07:03:32.000000000","message":"Sorry, it seems that I didn\u0027t catch your point. Could I get a example for that?","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"bd46ff32c9c97271c7fc4085cd13e8b730bc73ef","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        ]"},{"line_number":240,"context_line":"        self.network_mock.update_quota.assert_called_with("},{"line_number":241,"context_line":"            identity_fakes.project_id,"},{"line_number":242,"context_line":"            **kwargs"},{"line_number":243,"context_line":"        )"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_8d0fc4e0","line":242,"range":{"start_line":242,"start_character":12,"end_line":242,"end_character":20},"updated":"2016-03-16 03:44:07.000000000","message":"expect a dict, but actually got a list.","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b8764a9c27bf1921f79883cc28a8629ceae4cccd","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        ]"},{"line_number":240,"context_line":"        self.network_mock.update_quota.assert_called_with("},{"line_number":241,"context_line":"            identity_fakes.project_id,"},{"line_number":242,"context_line":"            **kwargs"},{"line_number":243,"context_line":"        )"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_651ecc64","line":242,"range":{"start_line":242,"start_character":12,"end_line":242,"end_character":20},"in_reply_to":"1af94dfe_8d0fc4e0","updated":"2016-03-16 07:03:32.000000000","message":"Done","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"}],"releasenotes/notes/add-quota-set-for-network-11fcd7b9e08624b5.yaml":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e9217047145bb6662b2b45ff9c60f9897004cde9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add network support for \"quota set\" command"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1af94dfe_38353046","line":3,"updated":"2016-03-15 14:51:45.000000000","message":"commands need to be in double backticks to format properly:  ``quota set``\n\nAdd Network API support... to be more specific","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"b8764a9c27bf1921f79883cc28a8629ceae4cccd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add network support for \"quota set\" command"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1af94dfe_a52614b8","line":3,"in_reply_to":"1af94dfe_38353046","updated":"2016-03-16 07:03:32.000000000","message":"Done","commit_id":"4439ac59db97b28bbd440018b690c6b0e710a802"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"0e38cb7e77cb6bef006d4411f424c14feb6b0cb1","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add network support for ``quota set`` command. Options added includes"},{"line_number":4,"context_line":"    ``--networks --subnets --subnetpools --ports --routers --rbac-policies``"},{"line_number":5,"context_line":"    ``--vips --subnetpools --members --health-monitors``"},{"line_number":6,"context_line":"    Options ``--floating-ips --secgroup-rules --secgroups`` now support"},{"line_number":7,"context_line":"    both network and compute API."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1af94dfe_111d580f","line":5,"updated":"2016-03-16 21:20:30.000000000","message":"--subnetpools is already included in the previous line.","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":14439,"name":"Fang Zhen","email":"zhen.fang@easystack.cn","username":"fangzhen"},"change_message_id":"75cc1fa191f664a7a91285cb9a3ec95016de5a53","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add network support for ``quota set`` command. Options added includes"},{"line_number":4,"context_line":"    ``--networks --subnets --subnetpools --ports --routers --rbac-policies``"},{"line_number":5,"context_line":"    ``--vips --subnetpools --members --health-monitors``"},{"line_number":6,"context_line":"    Options ``--floating-ips --secgroup-rules --secgroups`` now support"},{"line_number":7,"context_line":"    both network and compute API."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1a122d0e_4d142143","line":5,"in_reply_to":"1af94dfe_111d580f","updated":"2016-04-27 05:49:08.000000000","message":"Done","commit_id":"5684ed4e8cf020a821f7e02f5c462edab1233797"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"756a10f575488426fff186bc95d944e7bc447634","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    ``--networks --subnets --subnetpools --ports --routers --rbac-policies``"},{"line_number":5,"context_line":"    ``--vips --members --health-monitors``"},{"line_number":6,"context_line":"    Options ``--floating-ips --secgroup-rules --secgroups`` now support"},{"line_number":7,"context_line":"    both network and compute API."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bab6814e_552b9aeb","line":7,"updated":"2016-05-18 14:18:48.000000000","message":"There needs to be a bug reference here to all of the bugs closed","commit_id":"74b25132dfa2590b9713acdf0e5751d46c362b9b"}]}
