)]}'
{"ironic/dhcp/neutron.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"b3f857268e4c7a8772090445c3f6c70347a712c3","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        params[\u0027auth_strategy\u0027] \u003d \u0027noauth\u0027"},{"line_number":80,"context_line":"    else:"},{"line_number":81,"context_line":"        params[\u0027endpoint_url\u0027] \u003d (CONF.neutron.url or"},{"line_number":82,"context_line":"                                  keystone.get_service_url(\u0027neutron\u0027))"},{"line_number":83,"context_line":"        params[\u0027username\u0027] \u003d CONF.keystone_authtoken.admin_user"},{"line_number":84,"context_line":"        params[\u0027tenant_name\u0027] \u003d CONF.keystone_authtoken.admin_tenant_name"},{"line_number":85,"context_line":"        params[\u0027password\u0027] \u003d CONF.keystone_authtoken.admin_password"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_c0b6d1f8","line":82,"updated":"2015-12-10 18:57:17.000000000","message":"Unrelated to this patch, but shouldn\u0027t this be \u0027network\u0027 and not \u0027neutron\u0027?","commit_id":"66cf3d00cbac0bb00aad46d64ec8629b4051fd7a"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"ca50be0a631685dee4447f153f704ef61dc85e1c","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        params[\u0027auth_url\u0027] \u003d (CONF.keystone_authtoken.auth_uri or \u0027\u0027)"},{"line_number":87,"context_line":"        if CONF.keystone.region_name:"},{"line_number":88,"context_line":"            params[\u0027region_name\u0027] \u003d CONF.keystone.region_name"},{"line_number":89,"context_line":"        params[\u0027token\u0027] \u003d token"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    return clientv20.Client(**params)"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_6796f0f1","line":89,"updated":"2015-12-14 10:14:16.000000000","message":"this is wrong IMO.\n\nwhen token is given but happens to be expired, neutronclient will reauthentificate [1] using provided credentials for service tenant and user - but in fact the original token might have come from completely different tenant. Thus the action neutron is performing might create/update resources in some other place instead of the tenant for which the original token was issued.\n\nIf we are sure that the incoming token is always from service tenants or that it does have an admin scope allowing to see and modify resources in all other tenants - why keep using at all?\n\neven in the case of admin-scoped token I\u0027m not sure how this will work for domain-separated tenants in Keystone v3 (does admin-scoped neutronclient show all resources including those created by tenants in domains other than the domain of admin tenant?)\n\n[1] https://github.com/openstack/python-neutronclient/blob/master/neutronclient/client.py#L173","commit_id":"66cf3d00cbac0bb00aad46d64ec8629b4051fd7a"}]}
