)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c070ca33976b54c30fe561655855164b7cd71ddd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeny Fedoruk \u003cevgenyf@radware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-12-01 03:05:07 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extending quota support for all neutron entities"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extending quota mechanism to support all neutron"},{"line_number":10,"context_line":"entities. Adding quota for vips, pools, members"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAATn%2F%2BJr8%3D","line":7,"updated":"2013-12-01 16:34:23.000000000","message":"It may be better to change this to LBaaS entities","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"bad46f6cdb16e356e639046c6d99a6db8425c029","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeny Fedoruk \u003cevgenyf@radware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-12-01 03:05:07 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extending quota support for all neutron entities"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Extending quota mechanism to support all neutron"},{"line_number":10,"context_line":"entities. Adding quota for vips, pools, members"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAATn%2F%2BJrk%3D","line":7,"in_reply_to":"AAAATn%2F%2BJr8%3D","updated":"2013-12-02 16:00:35.000000000","message":"Done","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"}],"etc/neutron.conf":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8e835d52a6547e23e253c9e6362ac14772a94623","unresolved":false,"context_lines":[{"line_number":281,"context_line":"# number of ports allowed per tenant, and minus means unlimited"},{"line_number":282,"context_line":"# quota_port \u003d 50"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"# number of vips allowed per tenant, and minus means unlimited"},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAATn%2F%2BJsw%3D","line":284,"updated":"2013-12-01 16:08:30.000000000","message":"a vip actually ends up just being a neutron port so i\u0027m not sure we need to have a quota here since the port quota should already be enforcing this. (Perhaps it\u0027s not though)?","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"bad46f6cdb16e356e639046c6d99a6db8425c029","unresolved":false,"context_lines":[{"line_number":281,"context_line":"# number of ports allowed per tenant, and minus means unlimited"},{"line_number":282,"context_line":"# quota_port \u003d 50"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"# number of vips allowed per tenant, and minus means unlimited"},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAATn%2F%2BHm8%3D","line":284,"in_reply_to":"AAAATn%2F%2BJsw%3D","updated":"2013-12-02 16:00:35.000000000","message":"It\u0027s true, but port and vip quotas may be different. It may be allowed to have 10 vips but 50 ports. There are other ports which are not vip ports. May be I\u0027m not understanding something correct..","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"8e835d52a6547e23e253c9e6362ac14772a94623","unresolved":false,"context_lines":[{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# number of members allowed per tenant, and minus means unlimited"},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# number of health monitors allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAATn%2F%2BJso%3D","line":290,"updated":"2013-12-01 16:08:30.000000000","message":"is this pool members?","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"bad46f6cdb16e356e639046c6d99a6db8425c029","unresolved":false,"context_lines":[{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# number of members allowed per tenant, and minus means unlimited"},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# number of health monitors allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAATn%2F%2BJsE%3D","line":290,"in_reply_to":"AAAATn%2F%2BJso%3D","updated":"2013-12-02 16:00:35.000000000","message":"Yes. Specified it in comment line","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":281,"context_line":"# number of ports allowed per tenant, and minus means unlimited"},{"line_number":282,"context_line":"# quota_port \u003d 50"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"# number of vips allowed per tenant, and minus means unlimited"},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F%2BFLI%3D","line":284,"updated":"2013-12-02 19:25:58.000000000","message":"based on:  https://review.openstack.org/#/c/56076\n\nChanging \", and minus\" with \". A negative value\" looks like a better choice. Don\u0027t know if it should be done in a different changeset though (since the one linked above is not merged yet).","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":281,"context_line":"# number of ports allowed per tenant, and minus means unlimited"},{"line_number":282,"context_line":"# quota_port \u003d 50"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"# number of vips allowed per tenant, and minus means unlimited"},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F98OQ%3D","line":284,"in_reply_to":"AAAATn%2F%2BFLI%3D","updated":"2013-12-04 09:11:33.000000000","message":"Done. Modified comment to match the https://review.openstack.org/#/c/56076 approach","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":284,"context_line":"# number of vips allowed per tenant, and minus means unlimited"},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# number of pool members allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F%2BFLE%3D","line":287,"updated":"2013-12-02 19:25:58.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":284,"context_line":"# number of vips allowed per tenant, and minus means unlimited"},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# number of pool members allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F98N0%3D","line":287,"in_reply_to":"AAAATn%2F%2BFLE%3D","updated":"2013-12-04 09:11:33.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# number of pool members allowed per tenant, and minus means unlimited"},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# number of health monitors allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F%2BFLA%3D","line":290,"updated":"2013-12-02 19:25:58.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":287,"context_line":"# number of pools allowed per tenant, and minus means unlimited"},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# number of pool members allowed per tenant, and minus means unlimited"},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# number of health monitors allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F98Ns%3D","line":290,"in_reply_to":"AAAATn%2F%2BFLA%3D","updated":"2013-12-04 09:11:33.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":290,"context_line":"# number of pool members allowed per tenant, and minus means unlimited"},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# number of health monitors allowed per tenant, and minus means unlimited"},{"line_number":294,"context_line":"# quota_health_monitors \u003d 10"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"# number of security groups allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F%2BFK0%3D","line":293,"updated":"2013-12-02 19:25:58.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":290,"context_line":"# number of pool members allowed per tenant, and minus means unlimited"},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# number of health monitors allowed per tenant, and minus means unlimited"},{"line_number":294,"context_line":"# quota_health_monitors \u003d 10"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"# number of security groups allowed per tenant, and minus means unlimited"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAATn%2F98No%3D","line":293,"in_reply_to":"AAAATn%2F%2BFK0%3D","updated":"2013-12-04 09:11:33.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"16e39268d648381ca1ee06698d6e042da55056a8","unresolved":false,"context_lines":[{"line_number":281,"context_line":"# number of ports allowed per tenant, and minus means unlimited"},{"line_number":282,"context_line":"# quota_port \u003d 50"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"# Number of vips allowed per tenant. A negative value means unlimited."},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# Number of pools allowed per tenant. A negative value means unlimited."}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9xVY%3D","line":284,"updated":"2013-12-06 05:21:11.000000000","message":"Why not just said: \", and minus means unlimited\" as the rest of the lines?\nWe need to make an effort in Neutron to show that this is a consolidated project  :-)","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"5d3e957b9ae705653739c460148ef7cc66b1e2c7","unresolved":false,"context_lines":[{"line_number":281,"context_line":"# number of ports allowed per tenant, and minus means unlimited"},{"line_number":282,"context_line":"# quota_port \u003d 50"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"# Number of vips allowed per tenant. A negative value means unlimited."},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# Number of pools allowed per tenant. A negative value means unlimited."}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9vtQ%3D","line":284,"in_reply_to":"AAAATn%2F9xVY%3D","updated":"2013-12-06 13:32:46.000000000","message":"Changed it to \"A negative value means unlimited.\" is sounds better than \"minus means\"","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"16e39268d648381ca1ee06698d6e042da55056a8","unresolved":false,"context_lines":[{"line_number":284,"context_line":"# Number of vips allowed per tenant. A negative value means unlimited."},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# Number of pools allowed per tenant. A negative value means unlimited."},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9xVU%3D","line":287,"updated":"2013-12-06 05:21:11.000000000","message":"ditto","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"5d3e957b9ae705653739c460148ef7cc66b1e2c7","unresolved":false,"context_lines":[{"line_number":284,"context_line":"# Number of vips allowed per tenant. A negative value means unlimited."},{"line_number":285,"context_line":"# quota_vip \u003d 10"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"# Number of pools allowed per tenant. A negative value means unlimited."},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9vtM%3D","line":287,"in_reply_to":"AAAATn%2F9xVU%3D","updated":"2013-12-06 13:32:46.000000000","message":"Done","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"16e39268d648381ca1ee06698d6e042da55056a8","unresolved":false,"context_lines":[{"line_number":287,"context_line":"# Number of pools allowed per tenant. A negative value means unlimited."},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# Number of health monitors allowed per tenant. A negative value means"}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9xVQ%3D","line":290,"updated":"2013-12-06 05:21:11.000000000","message":"ditto","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"5d3e957b9ae705653739c460148ef7cc66b1e2c7","unresolved":false,"context_lines":[{"line_number":287,"context_line":"# Number of pools allowed per tenant. A negative value means unlimited."},{"line_number":288,"context_line":"# quota_pool \u003d 10"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# Number of health monitors allowed per tenant. A negative value means"}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9vtI%3D","line":290,"in_reply_to":"AAAATn%2F9xVQ%3D","updated":"2013-12-06 13:32:46.000000000","message":"Done","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"16e39268d648381ca1ee06698d6e042da55056a8","unresolved":false,"context_lines":[{"line_number":290,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":294,"context_line":"# unlimited."},{"line_number":295,"context_line":"# quota_health_monitors \u003d 10"},{"line_number":296,"context_line":""}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9xVM%3D","line":293,"updated":"2013-12-06 05:21:11.000000000","message":"ditto","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"5d3e957b9ae705653739c460148ef7cc66b1e2c7","unresolved":false,"context_lines":[{"line_number":290,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":291,"context_line":"# quota_member \u003d 30"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":294,"context_line":"# unlimited."},{"line_number":295,"context_line":"# quota_health_monitors \u003d 10"},{"line_number":296,"context_line":""}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATn%2F9vtA%3D","line":293,"in_reply_to":"AAAATn%2F9xVM%3D","updated":"2013-12-06 13:32:46.000000000","message":"Done","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"1569b4de14b13831c1759b49fedbfe99ca271933","unresolved":false,"context_lines":[{"line_number":269,"context_line":"# resource name(s) that are supported in quota features"},{"line_number":270,"context_line":"# quota_items \u003d network,subnet,port"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"# default number of resource allowed per tenant. A negative value means"},{"line_number":273,"context_line":"# unlimited."},{"line_number":274,"context_line":"# default_quota \u003d -1"},{"line_number":275,"context_line":""}],"source_content_type":"text/plain","patch_set":10,"id":"AAAATn%2F9ubA%3D","line":272,"updated":"2013-12-06 17:47:57.000000000","message":"super nit: resource -\u003e resources\n\nPerhaps, dropping the \"default\" might be good to be consistent with the other doc strings.","commit_id":"284e84d2890776f5b2d3107f8a59194d6bc7adc2"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"f4504692e95ef53f71cf80e50b1a1b02381195c3","unresolved":false,"context_lines":[{"line_number":269,"context_line":"# resource name(s) that are supported in quota features"},{"line_number":270,"context_line":"# quota_items \u003d network,subnet,port"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"# default number of resource allowed per tenant. A negative value means"},{"line_number":273,"context_line":"# unlimited."},{"line_number":274,"context_line":"# default_quota \u003d -1"},{"line_number":275,"context_line":""}],"source_content_type":"text/plain","patch_set":10,"id":"AAAATn%2F9sW8%3D","line":272,"in_reply_to":"AAAATn%2F9ubA%3D","updated":"2013-12-10 13:43:10.000000000","message":"Done","commit_id":"284e84d2890776f5b2d3107f8a59194d6bc7adc2"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"1569b4de14b13831c1759b49fedbfe99ca271933","unresolved":false,"context_lines":[{"line_number":279,"context_line":"# number of subnets allowed per tenant.A negative value  means unlimited."},{"line_number":280,"context_line":"# quota_subnet \u003d 10"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"# number of ports allowed per tenant. A negative value meaans unlimited."},{"line_number":283,"context_line":"# quota_port \u003d 50"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"# Number of vips allowed per tenant. A negative value means unlimited."}],"source_content_type":"text/plain","patch_set":10,"id":"AAAATn%2F9ubM%3D","line":282,"updated":"2013-12-06 17:47:57.000000000","message":"super nit: meaans -\u003e means","commit_id":"284e84d2890776f5b2d3107f8a59194d6bc7adc2"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"f4504692e95ef53f71cf80e50b1a1b02381195c3","unresolved":false,"context_lines":[{"line_number":279,"context_line":"# number of subnets allowed per tenant.A negative value  means unlimited."},{"line_number":280,"context_line":"# quota_subnet \u003d 10"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"# number of ports allowed per tenant. A negative value meaans unlimited."},{"line_number":283,"context_line":"# quota_port \u003d 50"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"# Number of vips allowed per tenant. A negative value means unlimited."}],"source_content_type":"text/plain","patch_set":10,"id":"AAAATn%2F9sW4%3D","line":282,"in_reply_to":"AAAATn%2F9ubM%3D","updated":"2013-12-10 13:43:10.000000000","message":"Done","commit_id":"284e84d2890776f5b2d3107f8a59194d6bc7adc2"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"1569b4de14b13831c1759b49fedbfe99ca271933","unresolved":false,"context_lines":[{"line_number":289,"context_line":"# quota_pool \u003d 10"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":292,"context_line":"# quota_member \u003d 30"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":295,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":10,"id":"AAAATn%2F9uaI%3D","line":292,"updated":"2013-12-06 17:47:57.000000000","message":"what is the rationale behind setting this to 30? Should there be a correlation between the default number of pools and members per tenant? Is this member quota shared between the 10 pools specified above?","commit_id":"284e84d2890776f5b2d3107f8a59194d6bc7adc2"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"f4504692e95ef53f71cf80e50b1a1b02381195c3","unresolved":false,"context_lines":[{"line_number":289,"context_line":"# quota_pool \u003d 10"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":292,"context_line":"# quota_member \u003d 30"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":295,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":10,"id":"AAAATn%2F9sWk%3D","line":292,"in_reply_to":"AAAATn%2F9uaI%3D","updated":"2013-12-10 13:43:10.000000000","message":"Yes, 30 members are in total. There is no members quota per pool.","commit_id":"284e84d2890776f5b2d3107f8a59194d6bc7adc2"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"b9223726bbda56ff1884a41ec4ce878e5e7a3467","unresolved":false,"context_lines":[{"line_number":289,"context_line":"# quota_pool \u003d 10"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":292,"context_line":"# quota_member \u003d 30"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":295,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":11,"id":"AAAATn%2F8tqA%3D","line":292,"updated":"2013-12-21 16:26:57.000000000","message":"On the second thought: why to limit amount of members? This is pure db resource.","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"8bb289463e69381dbb8c2ac4b63b21a3eb3638f0","unresolved":false,"context_lines":[{"line_number":289,"context_line":"# quota_pool \u003d 10"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":292,"context_line":"# quota_member \u003d 30"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":295,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":11,"id":"AAAAT3%2F%2F%2FR8%3D","line":292,"in_reply_to":"AAAATn%2F8tqA%3D","updated":"2013-12-25 11:25:36.000000000","message":"Changed the default to be unlimited","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"b9223726bbda56ff1884a41ec4ce878e5e7a3467","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":295,"context_line":"# unlimited."},{"line_number":296,"context_line":"# quota_health_monitors \u003d 10"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"# number of security groups allowed per tenant. A negative value means"},{"line_number":299,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":11,"id":"AAAATn%2F8tp8%3D","line":296,"updated":"2013-12-21 16:26:57.000000000","message":"Same for health monitors","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"8bb289463e69381dbb8c2ac4b63b21a3eb3638f0","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"# Number of health monitors allowed per tenant. A negative value means"},{"line_number":295,"context_line":"# unlimited."},{"line_number":296,"context_line":"# quota_health_monitors \u003d 10"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"# number of security groups allowed per tenant. A negative value means"},{"line_number":299,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":11,"id":"AAAAT3%2F%2F%2FR4%3D","line":296,"in_reply_to":"AAAATn%2F8tp8%3D","updated":"2013-12-25 11:25:36.000000000","message":"Changed the default to be unlimited","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"b61ba69ef9325b7fdebfdb464a9195c7bb8a314c","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":292,"context_line":"# The default is unlimited because a member is not a real resource consumer"},{"line_number":293,"context_line":"# on Openstack. However, on back-end, a member is a resource consumer "},{"line_number":294,"context_line":"# and that is the reason why quota is possible."},{"line_number":295,"context_line":"# quota_member \u003d -1"},{"line_number":296,"context_line":""}],"source_content_type":"text/plain","patch_set":12,"id":"AAAAT3%2F%2F%2FLk%3D","line":293,"updated":"2013-12-25 11:35:59.000000000","message":"whitespace cleanup is needed","commit_id":"dd4d7482970684290d7b198e08072967b8bc7c70"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"47dd8be5d839ab8a7a2f47c15ec46ff09dc7feb9","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"# Number of pool members allowed per tenant. A negative value means unlimited."},{"line_number":292,"context_line":"# The default is unlimited because a member is not a real resource consumer"},{"line_number":293,"context_line":"# on Openstack. However, on back-end, a member is a resource consumer "},{"line_number":294,"context_line":"# and that is the reason why quota is possible."},{"line_number":295,"context_line":"# quota_member \u003d -1"},{"line_number":296,"context_line":""}],"source_content_type":"text/plain","patch_set":12,"id":"AAAAT3%2F%2F%2FLU%3D","line":293,"in_reply_to":"AAAAT3%2F%2F%2FLk%3D","updated":"2013-12-25 11:39:20.000000000","message":"Done","commit_id":"dd4d7482970684290d7b198e08072967b8bc7c70"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3142bca129a0c8df4fc6b0d0c1a4bff93636dedc","unresolved":false,"context_lines":[{"line_number":299,"context_line":"# The default is unlimited because a health monitor is not a real resource"},{"line_number":300,"context_line":"# consumer on Openstack. However, on back-end, a member is a resource consumer"},{"line_number":301,"context_line":"# and that is the reason why quota is possible."},{"line_number":302,"context_line":"# quota_health_monitors \u003d -1"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"# number of security groups allowed per tenant. A negative value means"},{"line_number":305,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":13,"id":"AAAAUH%2F%2F9jM%3D","line":302,"updated":"2014-01-06 06:45:47.000000000","message":"Could you move LBaaS related entries to after security groups entries (L.310)? It is because LBaaS is one of advanced network services and security group feature is more tightly coupled with core network features.","commit_id":"ca36204040bb7c7d74d1f15233ffb1ee805d87d0"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"1aa7b996e1d0657778a0d2ada5ffd1711974486e","unresolved":false,"context_lines":[{"line_number":299,"context_line":"# The default is unlimited because a health monitor is not a real resource"},{"line_number":300,"context_line":"# consumer on Openstack. However, on back-end, a member is a resource consumer"},{"line_number":301,"context_line":"# and that is the reason why quota is possible."},{"line_number":302,"context_line":"# quota_health_monitors \u003d -1"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"# number of security groups allowed per tenant. A negative value means"},{"line_number":305,"context_line":"# unlimited."}],"source_content_type":"text/plain","patch_set":13,"id":"AAAAUH%2F%2F8BM%3D","line":302,"in_reply_to":"AAAAUH%2F%2F9jM%3D","updated":"2014-01-28 10:29:38.000000000","message":"Done","commit_id":"ca36204040bb7c7d74d1f15233ffb1ee805d87d0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3142bca129a0c8df4fc6b0d0c1a4bff93636dedc","unresolved":false,"context_lines":[{"line_number":310,"context_line":"# quota_security_group_rule \u003d 100"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"# default driver to use for quota checks"},{"line_number":313,"context_line":"# quota_driver \u003d neutron.db.quota_db.DbQuotaDriver"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"[agent]"},{"line_number":316,"context_line":"# Use \"sudo neutron-rootwrap /etc/neutron/rootwrap.conf\" to use the real"}],"source_content_type":"text/plain","patch_set":13,"id":"AAAAUH%2F%2F9i0%3D","line":313,"updated":"2014-01-06 06:45:47.000000000","message":"Could you move \"quota_driver\" to the beginning of [quotas] section? Although it is not directly related to this patch, this entry is common to all quota definitions and I believe it is worth moving it. I think it is easier to read the config options even when the number of quotas entries increases.","commit_id":"ca36204040bb7c7d74d1f15233ffb1ee805d87d0"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"1aa7b996e1d0657778a0d2ada5ffd1711974486e","unresolved":false,"context_lines":[{"line_number":310,"context_line":"# quota_security_group_rule \u003d 100"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"# default driver to use for quota checks"},{"line_number":313,"context_line":"# quota_driver \u003d neutron.db.quota_db.DbQuotaDriver"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"[agent]"},{"line_number":316,"context_line":"# Use \"sudo neutron-rootwrap /etc/neutron/rootwrap.conf\" to use the real"}],"source_content_type":"text/plain","patch_set":13,"id":"AAAAUH%2F%2F8BI%3D","line":313,"in_reply_to":"AAAAUH%2F%2F9i0%3D","updated":"2014-01-28 10:29:38.000000000","message":"Done","commit_id":"ca36204040bb7c7d74d1f15233ffb1ee805d87d0"}],"neutron/extensions/loadbalancer.py":[{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":288,"context_line":"lbaas_quota_opts \u003d ["},{"line_number":289,"context_line":"    cfg.IntOpt(\u0027quota_vip\u0027,"},{"line_number":290,"context_line":"               default\u003d10,"},{"line_number":291,"context_line":"               help\u003d_(\u0027Number of vips allowed per tenant, -1 for \u0027"},{"line_number":292,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":293,"context_line":"    cfg.IntOpt(\u0027quota_pool\u0027,"},{"line_number":294,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BFKQ%3D","line":291,"updated":"2013-12-02 19:25:58.000000000","message":"This is inaccurate, any negative value results in unlimited quota.","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":288,"context_line":"lbaas_quota_opts \u003d ["},{"line_number":289,"context_line":"    cfg.IntOpt(\u0027quota_vip\u0027,"},{"line_number":290,"context_line":"               default\u003d10,"},{"line_number":291,"context_line":"               help\u003d_(\u0027Number of vips allowed per tenant, -1 for \u0027"},{"line_number":292,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":293,"context_line":"    cfg.IntOpt(\u0027quota_pool\u0027,"},{"line_number":294,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F98NM%3D","line":291,"in_reply_to":"AAAATn%2F%2BFKQ%3D","updated":"2013-12-04 09:11:33.000000000","message":"Done. Modified comment to match the https://review.openstack.org/#/c/56076 approach","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":292,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":293,"context_line":"    cfg.IntOpt(\u0027quota_pool\u0027,"},{"line_number":294,"context_line":"               default\u003d10,"},{"line_number":295,"context_line":"               help\u003d_(\u0027Number of pools allowed per tenant, -1 for \u0027"},{"line_number":296,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":297,"context_line":"    cfg.IntOpt(\u0027quota_member\u0027,"},{"line_number":298,"context_line":"               default\u003d30,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BFKM%3D","line":295,"updated":"2013-12-02 19:25:58.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":292,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":293,"context_line":"    cfg.IntOpt(\u0027quota_pool\u0027,"},{"line_number":294,"context_line":"               default\u003d10,"},{"line_number":295,"context_line":"               help\u003d_(\u0027Number of pools allowed per tenant, -1 for \u0027"},{"line_number":296,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":297,"context_line":"    cfg.IntOpt(\u0027quota_member\u0027,"},{"line_number":298,"context_line":"               default\u003d30,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F98NI%3D","line":295,"in_reply_to":"AAAATn%2F%2BFKM%3D","updated":"2013-12-04 09:11:33.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":297,"context_line":"    cfg.IntOpt(\u0027quota_member\u0027,"},{"line_number":298,"context_line":"               default\u003d30,"},{"line_number":299,"context_line":"               help\u003d_(\u0027Number of members allowed per tenant, -1 for \u0027"},{"line_number":300,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":301,"context_line":"    cfg.IntOpt(\u0027quota_health_monitor\u0027,"},{"line_number":302,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BFKI%3D","line":299,"updated":"2013-12-02 19:25:58.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":297,"context_line":"    cfg.IntOpt(\u0027quota_member\u0027,"},{"line_number":298,"context_line":"               default\u003d30,"},{"line_number":299,"context_line":"               help\u003d_(\u0027Number of members allowed per tenant, -1 for \u0027"},{"line_number":300,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":301,"context_line":"    cfg.IntOpt(\u0027quota_health_monitor\u0027,"},{"line_number":302,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F98NE%3D","line":299,"in_reply_to":"AAAATn%2F%2BFKI%3D","updated":"2013-12-04 09:11:33.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    cfg.IntOpt(\u0027quota_health_monitor\u0027,"},{"line_number":302,"context_line":"               default\u003d10,"},{"line_number":303,"context_line":"               help\u003d_(\u0027Number of health monitors allowed per tenant, \u0027"},{"line_number":304,"context_line":"                      \u0027-1 for unlimited\u0027)),"},{"line_number":305,"context_line":"]"},{"line_number":306,"context_line":"cfg.CONF.register_opts(lbaas_quota_opts, \u0027QUOTAS\u0027)"},{"line_number":307,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BFKE%3D","line":304,"updated":"2013-12-02 19:25:58.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    cfg.IntOpt(\u0027quota_health_monitor\u0027,"},{"line_number":302,"context_line":"               default\u003d10,"},{"line_number":303,"context_line":"               help\u003d_(\u0027Number of health monitors allowed per tenant, \u0027"},{"line_number":304,"context_line":"                      \u0027-1 for unlimited\u0027)),"},{"line_number":305,"context_line":"]"},{"line_number":306,"context_line":"cfg.CONF.register_opts(lbaas_quota_opts, \u0027QUOTAS\u0027)"},{"line_number":307,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F98NA%3D","line":304,"in_reply_to":"AAAATn%2F%2BFKE%3D","updated":"2013-12-04 09:11:33.000000000","message":"ditto","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"16e39268d648381ca1ee06698d6e042da55056a8","unresolved":false,"context_lines":[{"line_number":289,"context_line":"    cfg.IntOpt(\u0027quota_vip\u0027,"},{"line_number":290,"context_line":"               default\u003d10,"},{"line_number":291,"context_line":"               help\u003d_(\u0027Number of vips allowed per tenant. \u0027"},{"line_number":292,"context_line":"                      \u0027A negative value means unlimited.\u0027)),"},{"line_number":293,"context_line":"    cfg.IntOpt(\u0027quota_pool\u0027,"},{"line_number":294,"context_line":"               default\u003d10,"},{"line_number":295,"context_line":"               help\u003d_(\u0027Number of pools allowed per tenant. \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F9xVI%3D","line":292,"updated":"2013-12-06 05:21:11.000000000","message":"same that before!","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"5d3e957b9ae705653739c460148ef7cc66b1e2c7","unresolved":false,"context_lines":[{"line_number":289,"context_line":"    cfg.IntOpt(\u0027quota_vip\u0027,"},{"line_number":290,"context_line":"               default\u003d10,"},{"line_number":291,"context_line":"               help\u003d_(\u0027Number of vips allowed per tenant. \u0027"},{"line_number":292,"context_line":"                      \u0027A negative value means unlimited.\u0027)),"},{"line_number":293,"context_line":"    cfg.IntOpt(\u0027quota_pool\u0027,"},{"line_number":294,"context_line":"               default\u003d10,"},{"line_number":295,"context_line":"               help\u003d_(\u0027Number of pools allowed per tenant. \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F9vsM%3D","line":292,"in_reply_to":"AAAATn%2F9xVI%3D","updated":"2013-12-06 13:32:46.000000000","message":"Leaving it as is to be similar to other places","commit_id":"8a27ded063dbf8ad557f75a954d977d95ea67a03"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"1569b4de14b13831c1759b49fedbfe99ca271933","unresolved":false,"context_lines":[{"line_number":295,"context_line":"               help\u003d_(\u0027Number of pools allowed per tenant. \u0027"},{"line_number":296,"context_line":"                      \u0027A negative value means unlimited.\u0027)),"},{"line_number":297,"context_line":"    cfg.IntOpt(\u0027quota_member\u0027,"},{"line_number":298,"context_line":"               default\u003d30,"},{"line_number":299,"context_line":"               help\u003d_(\u0027Number of pool members allowed per tenant. \u0027"},{"line_number":300,"context_line":"                      \u0027A negative value means unlimited.\u0027)),"},{"line_number":301,"context_line":"    cfg.IntOpt(\u0027quota_health_monitor\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F9uZE%3D","line":298,"updated":"2013-12-06 17:47:57.000000000","message":"Please see related comment in the conf file.","commit_id":"284e84d2890776f5b2d3107f8a59194d6bc7adc2"}],"neutron/quota.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"79bad8388d37438bbd918181e55e3db413a0b014","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"quota_opts \u003d ["},{"line_number":35,"context_line":"    cfg.ListOpt(\u0027quota_items\u0027,"},{"line_number":36,"context_line":"                default\u003d[\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027, "},{"line_number":37,"context_line":"                         \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027],"},{"line_number":38,"context_line":"                help\u003d_(\u0027Resource name(s) that are supported in quota \u0027"},{"line_number":39,"context_line":"                       \u0027features\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BUz4%3D","line":36,"updated":"2013-11-27 11:32:30.000000000","message":"Looks like extra space at end of line. Make sure you run pep8 check on your change set, in case there are any other concerns (maybe line length on L70?)","commit_id":"fe501f052a9a2ac7ade4d4b3f08c4215cc4aa4b7"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"b6b2c89d93b35871c9f4cc14468d81344ab652dc","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"quota_opts \u003d ["},{"line_number":35,"context_line":"    cfg.ListOpt(\u0027quota_items\u0027,"},{"line_number":36,"context_line":"                default\u003d[\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027, "},{"line_number":37,"context_line":"                         \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027],"},{"line_number":38,"context_line":"                help\u003d_(\u0027Resource name(s) that are supported in quota \u0027"},{"line_number":39,"context_line":"                       \u0027features\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BUfA%3D","line":36,"in_reply_to":"AAAATn%2F%2BUz4%3D","updated":"2013-11-27 12:38:47.000000000","message":"Done","commit_id":"fe501f052a9a2ac7ade4d4b3f08c4215cc4aa4b7"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"79bad8388d37438bbd918181e55e3db413a0b014","unresolved":false,"context_lines":[{"line_number":53,"context_line":"               default\u003d50,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Number of ports allowed per tenant, minus for \u0027"},{"line_number":55,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":56,"context_line":"    cfg.IntOpt(\u0027quota_vip\u0027,"},{"line_number":57,"context_line":"               default\u003d10,"},{"line_number":58,"context_line":"               help\u003d_(\u0027Number of vips allowed per tenant, minus for \u0027"},{"line_number":59,"context_line":"                      \u0027unlimited\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BUzY%3D","line":56,"updated":"2013-11-27 11:32:30.000000000","message":"There have been discussions about changing naming from tenant to project to match keystone and other projects. Since you\u0027re adding several occurrences here, maybe you should consider whether to start using the new term, change all occurrences, or leave it for another bug fix.","commit_id":"fe501f052a9a2ac7ade4d4b3f08c4215cc4aa4b7"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"b6b2c89d93b35871c9f4cc14468d81344ab652dc","unresolved":false,"context_lines":[{"line_number":53,"context_line":"               default\u003d50,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Number of ports allowed per tenant, minus for \u0027"},{"line_number":55,"context_line":"                      \u0027unlimited\u0027)),"},{"line_number":56,"context_line":"    cfg.IntOpt(\u0027quota_vip\u0027,"},{"line_number":57,"context_line":"               default\u003d10,"},{"line_number":58,"context_line":"               help\u003d_(\u0027Number of vips allowed per tenant, minus for \u0027"},{"line_number":59,"context_line":"                      \u0027unlimited\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BUe4%3D","line":56,"in_reply_to":"AAAATn%2F%2BUzY%3D","updated":"2013-11-27 12:38:47.000000000","message":"Prefer not to do half work here and leave this change clean from other changes. I think it should be a separate change that will change all occurrences and not only in quota domain","commit_id":"fe501f052a9a2ac7ade4d4b3f08c4215cc4aa4b7"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c070ca33976b54c30fe561655855164b7cd71ddd","unresolved":false,"context_lines":[{"line_number":34,"context_line":"quota_opts \u003d ["},{"line_number":35,"context_line":"    cfg.ListOpt(\u0027quota_items\u0027,"},{"line_number":36,"context_line":"                default\u003d[\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027,"},{"line_number":37,"context_line":"                         \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027],"},{"line_number":38,"context_line":"                help\u003d_(\u0027Resource name(s) that are supported in quota \u0027"},{"line_number":39,"context_line":"                       \u0027features\u0027)),"},{"line_number":40,"context_line":"    cfg.IntOpt(\u0027default_quota\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BJrw%3D","line":37,"updated":"2013-12-01 16:34:23.000000000","message":"if i recall correctly, and may be mistaken here we want to support these in the database per tenant. this is global for the system\n\nplease check the database support","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"bad46f6cdb16e356e639046c6d99a6db8425c029","unresolved":false,"context_lines":[{"line_number":34,"context_line":"quota_opts \u003d ["},{"line_number":35,"context_line":"    cfg.ListOpt(\u0027quota_items\u0027,"},{"line_number":36,"context_line":"                default\u003d[\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027,"},{"line_number":37,"context_line":"                         \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027],"},{"line_number":38,"context_line":"                help\u003d_(\u0027Resource name(s) that are supported in quota \u0027"},{"line_number":39,"context_line":"                       \u0027features\u0027)),"},{"line_number":40,"context_line":"    cfg.IntOpt(\u0027default_quota\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BHeM%3D","line":37,"in_reply_to":"AAAATn%2F%2BJrw%3D","updated":"2013-12-02 16:00:35.000000000","message":"Right, \nAs I understood, quota values may be changed in general and in particular for a specific tenant.\nIf using \"neutron quota-show\" or \"neutron quota-update\" CLI without specifying tenant id, the defaults are shown/updated.\nIf specifying --tenant-id, specific project\u0027s quotas will be changed.\nVia horizon, only specific project (tenant) quotas may be changed.\n\nRegarding the database, I see that quotas are persistent for each new project I create, including new entities.\nSo as I see, database is populated with quota values for each project when it\u0027s created.\nMay be I\u0027m missing something. Let me know what you think.","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"}],"neutron/tests/unit/test_quota_ext.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c070ca33976b54c30fe561655855164b7cd71ddd","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027network\u0027])"},{"line_number":121,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027subnet\u0027])"},{"line_number":122,"context_line":"        self.assertEqual(50, quota[\u0027quota\u0027][\u0027port\u0027])"},{"line_number":123,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027vip\u0027])"},{"line_number":124,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027pool\u0027])"},{"line_number":125,"context_line":"        self.assertEqual(30, quota[\u0027quota\u0027][\u0027member\u0027])"},{"line_number":126,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027health_monitor\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BJrs%3D","line":123,"updated":"2013-12-01 16:34:23.000000000","message":"we actually need to tests to validate that you cannot set more than X vips.","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"bad46f6cdb16e356e639046c6d99a6db8425c029","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027network\u0027])"},{"line_number":121,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027subnet\u0027])"},{"line_number":122,"context_line":"        self.assertEqual(50, quota[\u0027quota\u0027][\u0027port\u0027])"},{"line_number":123,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027vip\u0027])"},{"line_number":124,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027pool\u0027])"},{"line_number":125,"context_line":"        self.assertEqual(30, quota[\u0027quota\u0027][\u0027member\u0027])"},{"line_number":126,"context_line":"        self.assertEqual(10, quota[\u0027quota\u0027][\u0027health_monitor\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BHZY%3D","line":123,"in_reply_to":"AAAATn%2F%2BJrs%3D","updated":"2013-12-02 16:00:35.000000000","message":"test_quota_limit_check function tests it. In next patch I extended it to test vips limit as well and to test exception throwing","commit_id":"7491bd4bdaed2b0c98e30d191faf3cb6b6d6371d"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"23c141721d8613646365ef6b29fb6369e3081d36","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        cfg.CONF.set_override("},{"line_number":68,"context_line":"            \u0027quota_items\u0027,"},{"line_number":69,"context_line":"            [\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027,"},{"line_number":70,"context_line":"             \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027, \u0027extra1\u0027],"},{"line_number":71,"context_line":"            group\u003d\u0027QUOTAS\u0027)"},{"line_number":72,"context_line":"        quota.QUOTAS \u003d quota.QuotaEngine()"},{"line_number":73,"context_line":"        quota.register_resources_from_config()"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BFA0%3D","line":70,"updated":"2013-12-02 19:25:58.000000000","message":"Not an expert on quota extension, so this is just a question: \nIs this the approach followed by all the other extensions implementing quotas? I haven\u0027t seen any other extension doing this for testing quota limits...","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"30dca6d6b9c99d409306ec695b3735ac3f9db022","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        cfg.CONF.set_override("},{"line_number":68,"context_line":"            \u0027quota_items\u0027,"},{"line_number":69,"context_line":"            [\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027,"},{"line_number":70,"context_line":"             \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027, \u0027extra1\u0027],"},{"line_number":71,"context_line":"            group\u003d\u0027QUOTAS\u0027)"},{"line_number":72,"context_line":"        quota.QUOTAS \u003d quota.QuotaEngine()"},{"line_number":73,"context_line":"        quota.register_resources_from_config()"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F98JE%3D","line":70,"in_reply_to":"AAAATn%2F%2BFA0%3D","updated":"2013-12-04 09:11:33.000000000","message":"Ivar, I\u0027m nor an expert too. As I see, these tests test the quota API in general . But test_quotas_limit_check() tests a specific limit_check() function.\nI extended it to test the exception throwing as well.\nThese tests do not test the End-To-End case when adding an entity which is superfluous and expecting exception. Hope to develop such tests in tempest.","commit_id":"ac274426a7c6a765959b52ebef541718a7a7adcf"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"43998e4bfef252b0b5eef43dc3b1d6f9c493bf82","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        self.assertEqual(200, res.status_int)"},{"line_number":313,"context_line":"        quota.QUOTAS.limit_check(context.Context(\u0027\u0027, tenant_id),"},{"line_number":314,"context_line":"                                 tenant_id,"},{"line_number":315,"context_line":"                                 network\u003d4)"},{"line_number":316,"context_line":"        self.assertRaises(exceptions.OverQuota,"},{"line_number":317,"context_line":"                          quota.QUOTAS.limit_check,"},{"line_number":318,"context_line":"                          context.Context(\u0027\u0027, tenant_id),"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F8zWY%3D","line":315,"updated":"2013-12-20 06:34:29.000000000","message":"nit: move this up to the previous line, e.g.\nquota.QUOTAS.limit_check(context.Context(\u0027\u0027, tenant_id),\n         tenant_id, netowrk\u003d4)\nconsistency.","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"8bb289463e69381dbb8c2ac4b63b21a3eb3638f0","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        self.assertEqual(200, res.status_int)"},{"line_number":313,"context_line":"        quota.QUOTAS.limit_check(context.Context(\u0027\u0027, tenant_id),"},{"line_number":314,"context_line":"                                 tenant_id,"},{"line_number":315,"context_line":"                                 network\u003d4)"},{"line_number":316,"context_line":"        self.assertRaises(exceptions.OverQuota,"},{"line_number":317,"context_line":"                          quota.QUOTAS.limit_check,"},{"line_number":318,"context_line":"                          context.Context(\u0027\u0027, tenant_id),"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F%2FSI%3D","line":315,"in_reply_to":"AAAATn%2F8zWY%3D","updated":"2013-12-25 11:25:36.000000000","message":"Done","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"43998e4bfef252b0b5eef43dc3b1d6f9c493bf82","unresolved":false,"context_lines":[{"line_number":317,"context_line":"                          quota.QUOTAS.limit_check,"},{"line_number":318,"context_line":"                          context.Context(\u0027\u0027, tenant_id),"},{"line_number":319,"context_line":"                          tenant_id, network\u003d6)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        quota.QUOTAS.limit_check(context.Context(\u0027\u0027, tenant_id),"},{"line_number":322,"context_line":"                                 tenant_id,"},{"line_number":323,"context_line":"                                 vip\u003d2)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F8zWk%3D","line":320,"updated":"2013-12-20 06:34:29.000000000","message":"nit: remove blank line.","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"8bb289463e69381dbb8c2ac4b63b21a3eb3638f0","unresolved":false,"context_lines":[{"line_number":317,"context_line":"                          quota.QUOTAS.limit_check,"},{"line_number":318,"context_line":"                          context.Context(\u0027\u0027, tenant_id),"},{"line_number":319,"context_line":"                          tenant_id, network\u003d6)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        quota.QUOTAS.limit_check(context.Context(\u0027\u0027, tenant_id),"},{"line_number":322,"context_line":"                                 tenant_id,"},{"line_number":323,"context_line":"                                 vip\u003d2)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F%2FSA%3D","line":320,"in_reply_to":"AAAATn%2F8zWk%3D","updated":"2013-12-25 11:25:36.000000000","message":"Done","commit_id":"beff8774034dd446b68e480062d30bc4c4baa429"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3142bca129a0c8df4fc6b0d0c1a4bff93636dedc","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        cfg.CONF.set_override("},{"line_number":68,"context_line":"            \u0027quota_items\u0027,"},{"line_number":69,"context_line":"            [\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027,"},{"line_number":70,"context_line":"             \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027, \u0027extra1\u0027],"},{"line_number":71,"context_line":"            group\u003d\u0027QUOTAS\u0027)"},{"line_number":72,"context_line":"        quota.QUOTAS \u003d quota.QuotaEngine()"},{"line_number":73,"context_line":"        quota.register_resources_from_config()"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F%2F9jo%3D","line":70,"updated":"2014-01-06 06:45:47.000000000","message":"This looks odd. quotas extension does not require LBaaS extension, so the unit test of quota ext should be independent from LBaaS ext. Could you implement a unit test for LBaaS quota support as a separate module?","commit_id":"ca36204040bb7c7d74d1f15233ffb1ee805d87d0"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"1aa7b996e1d0657778a0d2ada5ffd1711974486e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        cfg.CONF.set_override("},{"line_number":68,"context_line":"            \u0027quota_items\u0027,"},{"line_number":69,"context_line":"            [\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027,"},{"line_number":70,"context_line":"             \u0027vip\u0027, \u0027pool\u0027, \u0027member\u0027, \u0027health_monitor\u0027, \u0027extra1\u0027],"},{"line_number":71,"context_line":"            group\u003d\u0027QUOTAS\u0027)"},{"line_number":72,"context_line":"        quota.QUOTAS \u003d quota.QuotaEngine()"},{"line_number":73,"context_line":"        quota.register_resources_from_config()"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F%2BSwU%3D","line":70,"in_reply_to":"AAAAUH%2F%2F9jo%3D","updated":"2014-01-28 10:29:38.000000000","message":"Yes, I implement lbaas quota tests in a separate module now, called tests/unit/services/loadbalancer/test_loadbalancer_quota_ext.py\nIt\u0027s kind of code duplication, maybe there is no need to implement all kinds of tests but only tests related to new quota values?","commit_id":"ca36204040bb7c7d74d1f15233ffb1ee805d87d0"}]}
