In admin/instances page can't show floating ip that belong to other tenants
Bug #1319669 reported by
kennychu
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Fix Released
|
Low
|
Akihiro Motoki |
Bug Description
Reproduce step:
1.Switch to demo project and launch instance.
2.Then associate floating ip for this instance.
3.Switch to admin project and also launch instance and associate floating ip.
4.Visit admin/instances page will find the instance that belong to demo project doesn't show floating ip.
related https:/
Because get instance networking information from Neutron.
The neutron client can't get all floating IPs.
Nova client can get all floating IPs by set "all_tenants=True".
Horizon's Neutron API servers_
Does FloatingIpManager list search_opts support the setting?
tags: | added: neutron |
Changed in horizon: | |
importance: | Undecided → Low |
Changed in horizon: | |
assignee: | nobody → Akihiro Motoki (amotoki) |
status: | New → In Progress |
Changed in horizon: | |
milestone: | none → juno-rc1 |
Changed in horizon: | |
status: | Fix Committed → Fix Released |
Changed in horizon: | |
milestone: | juno-rc1 → 2014.2 |
To post a comment you must log in.
class FloatingIpManag er(network_ base.FloatingIp Manager) :
self.request = request request)
def __init__(self, request):
self.client = neutronclient(
def list_pools(self): (pool) for pool list_networks( **search_ opts).get( 'networks' )]
search_opts = {'router:external': True}
return [FloatingIpPool
in self.client.
def list(self, **search_opts): user.tenant_ id list_floatingip s(tenant_ id=tenant_ id, **search_opts) 'floatingips' )
tenant_id = self.request.
# In Neutron, list_floatingips returns Floating IPs from all tenants
# when the API is called with admin role, so we need to filter them
# with tenant_id.
fips = self.client.
fips = fips.get(
# Get port list to add instance_id to floating IP list
# instance_id is stored in device_id attribute
The comment said " In Neutron, list_floatingips returns Floating IPs from all tenants when the API is called with admin role".
But we try the result is return the ones that belong to admin tenant.
We remove the tenant_id argument will get all floating IP.
Was the method comment correct?