)]}'
{"novaclient/v1_1/shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"e9c015888123345df9366444581049333988a694","unresolved":false,"context_lines":[{"line_number":488,"context_line":"    \"\"\"Deletes data associated with the project\"\"\""},{"line_number":489,"context_line":"    networks_list \u003d cs.networks.list()"},{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2FxWw%3D","line":491,"updated":"2012-11-26 16:15:36.000000000","message":"Is there no way to get just the networks associated with that one tenant?  I would expect that there is.","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"c0615631ce257f712e6f08c0d04d573cd8fe3325","unresolved":false,"context_lines":[{"line_number":488,"context_line":"    \"\"\"Deletes data associated with the project\"\"\""},{"line_number":489,"context_line":"    networks_list \u003d cs.networks.list()"},{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2Fu6U%3D","line":491,"in_reply_to":"AAAAMH%2F%2Fvvs%3D","updated":"2012-11-28 05:39:22.000000000","message":"Actually, I think adding API support for this functionality may be better. But I\u0027m not sure it will be accepted. So your feedback is very important to me.","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"9d77df8cce4eb067a6968b24b1099148f810444e","unresolved":false,"context_lines":[{"line_number":488,"context_line":"    \"\"\"Deletes data associated with the project\"\"\""},{"line_number":489,"context_line":"    networks_list \u003d cs.networks.list()"},{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2Fvvs%3D","line":491,"in_reply_to":"AAAAMH%2F%2FwI4%3D","updated":"2012-11-27 16:00:44.000000000","message":"OK, I\u0027m a bit surprised at this, but fair enough.","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"1f1d0a34cdaf6b8fb9f6096a17f105110336494d","unresolved":false,"context_lines":[{"line_number":488,"context_line":"    \"\"\"Deletes data associated with the project\"\"\""},{"line_number":489,"context_line":"    networks_list \u003d cs.networks.list()"},{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2FwI4%3D","line":491,"in_reply_to":"AAAAMH%2F%2FxWw%3D","updated":"2012-11-27 08:41:31.000000000","message":"Thanks for your comment. There is no nova-api support for getting the networks with the specifed tenant_id. If we add a nova-api to support this, we also need  add a rpcapi , dbapi. And quantum api may be also needed. I don\u0027t know if it\u0027s worth. Because this code in novaclient can works well, I\u0027m wondering in\npractice how many networks there really are that it would be worthwhile\noptimising this bit?","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"e9c015888123345df9366444581049333988a694","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"},{"line_number":495,"context_line":"              if group.tenant_id \u003d\u003d args.project_id]"},{"line_number":496,"context_line":"    for network in networks_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2FxXE%3D","line":493,"updated":"2012-11-26 16:15:36.000000000","message":"I don\u0027t understand; why would we get the list for all tenants if we\u0027re then going to filter to just a single tenant?","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"e233ed8dbdb345e42cd740420361526aa81c51e7","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"},{"line_number":495,"context_line":"              if group.tenant_id \u003d\u003d args.project_id]"},{"line_number":496,"context_line":"    for network in networks_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2Fubs%3D","line":493,"in_reply_to":"AAAAMH%2F%2Fu6Y%3D","updated":"2012-11-28 16:25:07.000000000","message":"Ah, OK, that makes sense…","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"c0615631ce257f712e6f08c0d04d573cd8fe3325","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"},{"line_number":495,"context_line":"              if group.tenant_id \u003d\u003d args.project_id]"},{"line_number":496,"context_line":"    for network in networks_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2Fu6Y%3D","line":493,"in_reply_to":"AAAAMH%2F%2Fvvc%3D","updated":"2012-11-28 05:39:22.000000000","message":"Sorry, I don\u0027t know why you were being thrown.Maybe I need more detail.  \nIf it prompt that: \"ERROR: Security group is still in use (HTTP 400) \"\nThe reason maybe  that a server haven\u0027t been deleted that include this group.\n\nthe reasoning for having \"all_tenants\u003d1\" set:\nIf we don\u0027t set \u0027all_tenants\u003d1\u0027, it will only return the security_group filter by the current tenant_id (the id is in context),  so  we cann\u0027t get the security_group of tenant_id  specified in args. We also need be admin role to get all security_group.","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"9d77df8cce4eb067a6968b24b1099148f810444e","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"},{"line_number":495,"context_line":"              if group.tenant_id \u003d\u003d args.project_id]"},{"line_number":496,"context_line":"    for network in networks_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2Fvvc%3D","line":493,"in_reply_to":"AAAAMH%2F%2FwHM%3D","updated":"2012-11-27 16:00:44.000000000","message":"OK, but I\u0027m being thrown by the \"all_tenants\u003d1\" search option you\u0027re setting.  Can you go through the reasoning for having that set?","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"1f1d0a34cdaf6b8fb9f6096a17f105110336494d","unresolved":false,"context_lines":[{"line_number":490,"context_line":"    networks_list \u003d [network for network in networks_list"},{"line_number":491,"context_line":"                 if getattr(network, \u0027project_id\u0027, \u0027\u0027) \u003d\u003d args.project_id]"},{"line_number":492,"context_line":"    search_opts \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":493,"context_line":"    groups \u003d cs.security_groups.list(search_opts)"},{"line_number":494,"context_line":"    groups \u003d [group for group in groups"},{"line_number":495,"context_line":"              if group.tenant_id \u003d\u003d args.project_id]"},{"line_number":496,"context_line":"    for network in networks_list:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMH%2F%2FwHM%3D","line":493,"in_reply_to":"AAAAMH%2F%2FxXE%3D","updated":"2012-11-27 08:41:31.000000000","message":"The security group have the same problem like network above.","commit_id":"00aa8cf9ee2b9063b4aff2a70eaf30e5f4203959"}]}
