)]}'
{"specs/liberty/approved/refresh-quotas-usage.rst":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"949ec8ee3cfea7b9d021429b1dd28cc84f005f18","unresolved":false,"context_lines":[{"line_number":55,"context_line":"The change consists to:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Create a function in the DB API to refresh quotas usage:"},{"line_number":58,"context_line":"  ``nova.db.api.quota_usage_refresh()``"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Do an \"extract function\" refactoring on"},{"line_number":61,"context_line":"  ``nova.db.sqlalchemy.api.quota_reserve()`` to implement the aforementioned"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_b0c09de1","line":58,"updated":"2015-04-08 15:39:47.000000000","message":"Just curious \nwe got ReservableResource/AbsoluteResource/CountableResource resources\n\nonly ReservableResource are handled here, are there any chance that the other quotas are incorrect?","commit_id":"79198ad8ee782eefccf2dacd29d174154beb3ecb"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3ba4e6f060b598a886da7b911a9c463bc8ede440","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Alternatives"},{"line_number":92,"context_line":"------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Another nova-manage command"},{"line_number":95,"context_line":"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7aaa499b_19ebeab1","line":93,"updated":"2015-04-15 11:19:28.000000000","message":"its tempting to add an REST API for this, but I think nova-manage is a more pragmatic approach, as we don\u0027t want this to live for ever, we should stop people needing to call reset.\n\nMight be worth discussing that, if you need to re-spin.","commit_id":"79198ad8ee782eefccf2dacd29d174154beb3ecb"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3ba4e6f060b598a886da7b911a9c463bc8ede440","unresolved":false,"context_lines":[{"line_number":271,"context_line":"Testing"},{"line_number":272,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"To be defined depending spec feedbacks."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7aaa499b_79054e78","line":274,"updated":"2015-04-15 11:19:28.000000000","message":"Might be nice to finalise this, it would be good to add a functional test in the nova tree, but lets see how this effort goes.","commit_id":"79198ad8ee782eefccf2dacd29d174154beb3ecb"}],"specs/liberty/refresh-quotas-usage.rst":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0abbfe2c591e1f999b503bb9e72871ca43bde90a","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":".. [*] It seems that there are several root causes and there is no procedure"},{"line_number":20,"context_line":"       to reproduce bugs. Although these root causes will eventually be"},{"line_number":21,"context_line":"       identified, we cannot guarantee that some bugs will not occur again."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_e95bde84","line":21,"updated":"2015-03-06 06:46:09.000000000","message":"Maybe I misunderstand something.\nWhy we need to refresh quotas usage instead of increasing quota limit for temporary usage?\n\nMy concern is that Nova forgets valid quota usage values by refreshing quota usages, and inconsistency happens between DB and real usage.","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":8876,"name":"Romain Hardouin","email":"romain_hardouin@yahoo.fr","username":"romainh"},"change_message_id":"6516a5deb0e431b0cf564a625a8b910e2ae56847","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":".. [*] It seems that there are several root causes and there is no procedure"},{"line_number":20,"context_line":"       to reproduce bugs. Although these root causes will eventually be"},{"line_number":21,"context_line":"       identified, we cannot guarantee that some bugs will not occur again."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_dd719ea9","line":21,"in_reply_to":"9a80dd14_e95bde84","updated":"2015-03-11 21:34:21.000000000","message":"Maye I was unclear. A workaround to unblock a user when Nova pretends that he reached the quota -- whereas the actual usages are OK -- is to increase his quota temporarily. You will agree that it\u0027s not a clean way to fix the issue.\n\nMaybe the \"refresh\" term is confusing? You can read \"synchronize\" in lieu of \"refresh\".","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5edd9f5a14ee053dfa0493c61aed5f768b2bb7c1","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  ``quota_usage_refresh()`` DB API. That is:"},{"line_number":70,"context_line":"  ``nova.db.sqlalchemy.api.quota_usage_refresh()``."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Expose the ``nova.db.api.quota_usage_refresh()`` feature through a REST"},{"line_number":73,"context_line":"  API extension: os-quotas-usage."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_0a794593","line":72,"updated":"2015-03-11 13:41:58.000000000","message":"I\u0027d use nova-manage for this rather than a REST API, as Ken\u0027ichi pointed out, we can\u0027t remove REST APIs, ever, and if all you want is direct access to the database for an admin, nova-manage already provides that.  It could go under ProjectCommands:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/cmd/manage.py#n225\n\nGranted, we historically have wanted to move away from nova-manage to REST APIs, but in certain cases it still makes sense to use nova-manage.","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5edd9f5a14ee053dfa0493c61aed5f768b2bb7c1","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"The actual instances number is 9."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"When a user runs a ``nova boot`` he will get an error: \"Quota exceeded\"."},{"line_number":101,"context_line":"Many users will stop here and contact their support. Actually, a second"},{"line_number":102,"context_line":"``nova boot`` might succeed if the first one has refreshed the quotas usage"},{"line_number":103,"context_line":"(depending on until_refresh or max_age threshold)."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_eae87118","line":100,"updated":"2015-03-11 13:41:58.000000000","message":"What if we just auto-refreshed when we hit this case?  I guess that\u0027s what until_refresh/max_age are for?  Perhaps disabling them by default is not a sane default and we should revisit that.","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":8876,"name":"Romain Hardouin","email":"romain_hardouin@yahoo.fr","username":"romainh"},"change_message_id":"6516a5deb0e431b0cf564a625a8b910e2ae56847","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"The actual instances number is 9."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"When a user runs a ``nova boot`` he will get an error: \"Quota exceeded\"."},{"line_number":101,"context_line":"Many users will stop here and contact their support. Actually, a second"},{"line_number":102,"context_line":"``nova boot`` might succeed if the first one has refreshed the quotas usage"},{"line_number":103,"context_line":"(depending on until_refresh or max_age threshold)."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_fde66215","line":100,"in_reply_to":"9a80dd14_2c7292e3","updated":"2015-03-11 21:34:21.000000000","message":"I don\u0027t have a strong opinion of these settings but their existence induce that unsync issues happens...","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":9060,"name":"Mike Dorman","email":"dorm@dorm.org","username":"gd-mdorman"},"change_message_id":"0d88d2f5943907b32d9529f5ae922ea1592d174d","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"The actual instances number is 9."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"When a user runs a ``nova boot`` he will get an error: \"Quota exceeded\"."},{"line_number":101,"context_line":"Many users will stop here and contact their support. Actually, a second"},{"line_number":102,"context_line":"``nova boot`` might succeed if the first one has refreshed the quotas usage"},{"line_number":103,"context_line":"(depending on until_refresh or max_age threshold)."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_2c7292e3","line":100,"in_reply_to":"9a80dd14_eae87118","updated":"2015-03-11 20:37:03.000000000","message":"This idea appeals to me.  We know what we need to do to solve the problem (refresh quotas), so why not just refresh like this?  I haven\u0027t personally tried out until_refresh/max_age yet, but maybe just changing the defaults on those would solve the problem for 90% of the scenarios.","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5edd9f5a14ee053dfa0493c61aed5f768b2bb7c1","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    \"compute_extension:os-quotas-usage:refresh\": \"rule:admin_api\","},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"*To be discussed*: is an admin context required or do we allow the cloud"},{"line_number":188,"context_line":"operator to expose this feature the way he wants, say \"admin_or_owner\"?"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_ca51edd9","line":187,"updated":"2015-03-11 13:41:58.000000000","message":"With v2.1 it\u0027s in policy.json so the operator can expose it if they want.","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5edd9f5a14ee053dfa0493c61aed5f768b2bb7c1","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"$ nova quota-usage-refresh --tenant-id \u003ctenant ID\u003e --user-id \u003cuser ID\u003e"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_0a0a25d2","line":208,"updated":"2015-03-11 13:41:58.000000000","message":"Don\u0027t you provide a resource(s)?","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":8876,"name":"Romain Hardouin","email":"romain_hardouin@yahoo.fr","username":"romainh"},"change_message_id":"6516a5deb0e431b0cf564a625a8b910e2ae56847","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"$ nova quota-usage-refresh --tenant-id \u003ctenant ID\u003e --user-id \u003cuser ID\u003e"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_a215ab9c","line":208,"in_reply_to":"9a80dd14_0a0a25d2","updated":"2015-03-11 21:34:21.000000000","message":"Yes, forgot it here. Something like \"--resource cores\"","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5edd9f5a14ee053dfa0493c61aed5f768b2bb7c1","unresolved":false,"context_lines":[{"line_number":276,"context_line":"References"},{"line_number":277,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"* \"nova quota statistics can be incorrect\":"},{"line_number":280,"context_line":"  https://bugs.launchpad.net/nova/+bug/1284424"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"* \"How to reset incorrect quota count?\": https://ask.openstack.org/en/question/494/how-to-reset-incorrect-quota-count/"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_8ae37504","line":279,"updated":"2015-03-11 13:41:58.000000000","message":"You could also refer to this long-standing gate bug:\n\nhttps://bugs.launchpad.net/nova/+bug/1353962","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":8876,"name":"Romain Hardouin","email":"romain_hardouin@yahoo.fr","username":"romainh"},"change_message_id":"6516a5deb0e431b0cf564a625a8b910e2ae56847","unresolved":false,"context_lines":[{"line_number":276,"context_line":"References"},{"line_number":277,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"* \"nova quota statistics can be incorrect\":"},{"line_number":280,"context_line":"  https://bugs.launchpad.net/nova/+bug/1284424"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"* \"How to reset incorrect quota count?\": https://ask.openstack.org/en/question/494/how-to-reset-incorrect-quota-count/"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a80dd14_02267716","line":279,"in_reply_to":"9a80dd14_8ae37504","updated":"2015-03-11 21:34:21.000000000","message":"OK","commit_id":"4ca9c8b2a8afe92d45bb7c08ceac3c257d69e4f4"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8d10f594542e9ce3bdfdca379816a23b0f3cd6ba","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"::"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"$ nova-manage project quota_usage_refresh --tenant-id \u003ctenant ID\u003e --user-id \u003cuser ID\u003e [--resource \u003cresource type\u003e]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"If ``--resource`` is ommited,  all quota resources are refreshed."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a80dd14_7d7e84e5","line":73,"updated":"2015-03-19 22:35:41.000000000","message":"Now nova-manage command contains \"project quota\" subcommand like:\n\n $ nova-manage project quota -h\n usage: nova-manage project quota [-h] [--project \u003cProject name\u003e]\n                                 [--user \u003cUser name\u003e] [--key \u003ckey\u003e]\n                                 [--value \u003cvalue\u003e]\n optional arguments:\n  -h, --help            show this help message and exit\n  --project \u003cProject name\u003e\n                        Project name\n  --user \u003cUser name\u003e    User name\n  --key \u003ckey\u003e           Key\n  --value \u003cvalue\u003e       Value\n\nSo in this subcommand, user can specify tenant and user by names instead of IDs.\nCan we specify them with names on new subcommand also for consistent usage?","commit_id":"379c93f4eab338bf1cd26d41a5d581455585f723"}]}
