Red Hat Bugzilla – Bug 1224228
Using OpenStack non-admin user to add an OpenStack provider, doesn't show OpenStack networks
Last modified: 2015-12-08 08:11:40 EST
Description of problem: Adding an OpenStack provider with a user different than "admin" doesn't show OpenStack networks, so you cannot create instances in a tenant network, even if the user has admin rights in that tenant. Version-Release number of selected component (if applicable): CFME 5.4.0.0.19 RHOS 6 How reproducible: Try to provision an openstack instance in a nonadmin tenant with a nonadmin user with admin rights in that tenant. Steps to Reproduce: 1.Create a demo tenant in RHOS 2.Create a "demo" user with "admin" and "_member_" rights 3.Create a "private" network in that "demo" tenant (non shared network) 4.Add that provider to CFME with "demo" user 5.Try to create an instance to be deployed in that network Actual results: GUI doesn't show any available networks Expected results: GUI shows the list of networks allowed in the demo tenant Additional info: Setting fog.log in debug mode, you can see that CF only queries for the "admin" tenant (corresponding to the cbb7d3cb1b3c4f5b9dbc4fb7dd0b2082 token in this case), without being "admin" in the tenant: [----] D, [2015-05-13T11:23:10.738778 #2139:8fbeac] DEBUG -- : excon.request {:uri=>"http://keystone:5000/v2.0/tokens", :method=>"POST", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Host"=>"keystone:5000"}, :body=> {"auth"=> {"passwordCredentials"=> {"username"=>"if_cloudforms_member", "password"=>"********"}, "tenantName"=>"admin"}}} [----] D, [2015-05-13T11:23:10.872200 #2139:8fbeac] DEBUG -- : excon.response {:status=>200, :headers=> {"Vary"=>"X-Auth-Token", "Content-Type"=>"application/json", "Content-Length"=>"3383", "Date"=>"Wed, 13 May 2015 15:23:10 GMT"}, :body=> {"access"=> {"token"=> {"issued_at"=>"2015-05-13T15:23:10.854162", "expires"=>"2015-05-13T16:23:10Z", "id"=>"cbb7d3cb1b3c4f5b9dbc4fb7dd0b2082", "tenant"=> {"description"=>"", "enabled"=>true, "id"=>"18e1133b35444a538043f4eb663be872", "name"=>"admin"}, "audit_ids"=>["Ssn4e9kqSkqHrU-Ruo6rHA"]}, <---8<---> {:uri=>"http://neutron:9696/v2.0/networks", :query=>{}, :method=>"GET", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Accept"=>"application/json", "X-Auth-Token"=>"cbb7d3cb1b3c4f5b9dbc4fb7dd0b2082", "Host"=>"neutron:9696"}, :body=>nil} [----] D, [2015-05-13T11:23:16.870013 #2139:8fbeac] DEBUG -- : excon.response {:status=>200, :headers=> {"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"16", "X-Openstack-Request-Id"=>"req-ba352569-1ad7-46c7-9fe8-7baebf733368", "Date"=>"Wed, 13 May 2015 15:23:16 GMT"}, :body=>{"networks"=>[]}} When "admin" role: {:uri=>"http://neutron:9696/v2.0/networks", :query=>{}, :method=>"GET", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Accept"=>"application/json", "X-Auth-Token"=>"efc2843c19234ee0abf75e0f8f2535b7", "Host"=>"neutron:9696"}, :body=>nil} [----] D, [2015-05-14T04:47:05.833504 #11897:128bea4] DEBUG -- : excon.response {:status=>200, :headers=> {"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"16", "X-Openstack-Request-Id"=>"req-aac3c652-32d7-4315-b173-e899b858723b", "Date"=>"Thu, 14 May 2015 08:47:05 GMT"}, :body=>{"networks"=>[]}} There aren't more "networks" api queries: $ grep networks fog.log {:uri=>"http://neutron:9696/v2.0/networks", :body=>{"networks"=>[]}} And the token ID that CF uses to query neutron for networks (efc2843c19234ee0abf75e0f8f2535b7) is from the admin tenant: [----] D, [2015-05-14T04:47:00.408121 #11897:128bea4] DEBUG -- : excon.request {:uri=>"http://keystone:5000/v2.0/tokens", :method=>"POST", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Host"=>"keystone:5000"}, :body=> {"auth"=> {"passwordCredentials"=> {"username"=>"if_cloudforms_member", "password"=>"********"}, "tenantName"=>"admin"}}} [----] D, [2015-05-14T04:47:00.547955 #11897:128bea4] DEBUG -- : excon.response {:status=>200, :headers=> {"Vary"=>"X-Auth-Token", "Content-Type"=>"application/json", "Content-Length"=>"3383", "Date"=>"Thu, 14 May 2015 08:47:00 GMT"}, :body=> {"access"=> {"token"=> {"issued_at"=>"2015-05-14T08:47:00.530918", "expires"=>"2015-05-14T09:47:00Z", "id"=>"efc2843c19234ee0abf75e0f8f2535b7", "tenant"=> {"description"=>"", "enabled"=>true, "id"=>"18e1133b35444a538043f4eb663be872", "name"=>"admin"}, Using the OpenStack cli tools, shows a few networks (even as only being _member_): [root@vmboae00osconp01:~]$ cat keystonerc_if_cloudforms_member export OS_USERNAME=if_cloudforms_member export OS_TENANT_NAME=INFRA_TEST export OS_PASSWORD=XXX export OS_AUTH_URL=http://XXX:35357/v2.0/ export PS1='[\u@\h \W(keystone_if_cloudforms_member)]$ ' [root@vmboae00osconp01:~]$ source keystonerc_if_cloudforms_member [root@vmboae00osconp01 ~(keystone_if_cloudforms_member)]$ neutron net-list +--------------------------------------+--------------------------------------------------+-----------------------------------------------------+ | id | name | subnets | +--------------------------------------+--------------------------------------------------+-----------------------------------------------------+ | 1b8fd7d7-d203-474e-9018-e326e08f19e1 | INFRA_TEST (Zone 0) \ Subnet 1 | a863f0a3-8064-46e7-ab29-2d007534966d 10.35.24.0/24 | | 75c7efbb-1cda-4e8d-b50f-dd3e3a61a123 | INFRA_TEST (Zone Template 0) \ Subnet Template 0 | 946fafe9-23ed-40be-8ac1-ba77955b086e 10.61.125.0/24 | | 813846d0-d2c2-4abe-a065-b432c0400e09 | INFRA_TEST (Zone Template 0) \ Subnet Template 1 | 83a8d203-1f1c-4185-b463-db39279d5f73 10.78.25.0/24 | | 81d2786b-f942-48ec-8d2e-4be4eb32aa40 | INFRA_TEST (Zone Template 0) \ Subnet 0 | 0080283a-5acb-4919-8f33-3d753d3f274a 10.85.27.0/24 | | 828b718d-61bb-4e6d-a2b7-505f6d215dfc | SVC chaining (Zone 0) \ Subnet 0 | 1b4688cf-0087-4772-99ca-5a1d1fef02ca 10.88.124.0/24 | +--------------------------------------+--------------------------------------------------+-----------------------------------------------------+ [root@vmboae00osconp01 ~(keystone_if_cloudforms_member)]$ keystone user-list You are not authorized to perform the requested action: admin_required (HTTP 403) [root@vmboae00osconp01 ~(keystone_if_cloudforms_member)]$ source keystonerc_admin [root@vmboae00osconp01 ~(keystone_admin)]$ keystone user-role-list --user if_cloudforms_member +----------------------------------+----------+----------------------+----------------------------------+ | id | name | user_id | tenant_id | +----------------------------------+----------+----------------------+----------------------------------+ | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | if_cloudforms_member | 18e1133b35444a538043f4eb663be872 | +----------------------------------+----------+----------------------+----------------------------------+ [root@vmboae00osconp01 ~(keystone_admin)]$ keystone user-role-list --user if_cloudforms_member --tenant INFRA_TEST +----------------------------------+----------+----------------------+----------------------------------+ | id | name | user_id | tenant_id | +----------------------------------+----------+----------------------+----------------------------------+ | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | if_cloudforms_member | d73205a6d26141d6afd313c3b1fb2060 | +----------------------------------+----------+----------------------+----------------------------------+ [root@vmboae00osconp01 ~(keystone_admin)]$ keystone tenant-list +----------------------------------+------------------------+---------+ | id | name | enabled | +----------------------------------+------------------------+---------+ | d73205a6d26141d6afd313c3b1fb2060 | INFRA_TEST | True | | 1902282c62b84930ba7af203273fe5fc | TENANT | True | | 7890aae4cb384028aee072f5ed041114 | TEST_RALLY | True | | 18e1133b35444a538043f4eb663be872 | admin | True | | dff08321cf434fdfb564b0bddb600fb6 | services | True | +----------------------------------+------------------------+---------+ I think there should be a "loop" somewhere that loops through all the tenants (I've tried to look for it in /var/www/miq/vmdb, but my RoR skills aren't enough)
It's working by: * if_cloudforms_member is "admin" from the tenant INFRA_TEST * if_cloudforms_member is not longer _member_ or admin of any other tenant The main issue here is that the if_cloudforms_member user also needs to be _member_ of other tenants in order to collect information, but enabling the membership in any other tenant (I've tested in the admin one), makes the network import fail as before.
I've also tested that if the user belongs to more than one tenant, network information is not collected as it should: Tenant list: [root@rhosp6-packstack ~(keystone_admin)]# keystone tenant-list +----------------------------------+-------------------+---------+ | id | name | enabled | +----------------------------------+-------------------+---------+ | 0b7567fde0f741288b345d798c0087e9 | TEST_RALLY | True | | 686ac074254f4c658907124c10327dbe | admin | True | | 007cb7cbe63546c992303590fb0d8491 | cloudformspruebas | True | | c7b94e6af4994dff85e30d8c61babea5 | demo | True | | 82cdfe51affe410daa7703d4527f60fd | development | True | | 7602681b34e145ac8ccd7957a7b1c5d1 | services | True | +----------------------------------+-------------------+---------+ Cloudformsuser membership requested (_member_ to get info to feed vmdb from cloudformspruebas & TEST_RALLY tenants): [root@rhosp6-packstack ~(keystone_admin)]# keystone user-role-list --user cloudformsuser [root@rhosp6-packstack ~(keystone_admin)]# keystone user-role-list --user cloudformsuser --tenant 007cb7cbe63546c992303590fb0d8491 +----------------------------------+----------+----------------------------------+----------------------------------+ | id | name | user_id | tenant_id | +----------------------------------+----------+----------------------------------+----------------------------------+ | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | c426d1e172cb4bafb731e4d77ad10860 | 007cb7cbe63546c992303590fb0d8491 | +----------------------------------+----------+----------------------------------+----------------------------------+ [root@rhosp6-packstack ~(keystone_admin)]# keystone user-role-list --user cloudformsuser --tenant 0b7567fde0f741288b345d798c0087e9 +----------------------------------+----------+----------------------------------+----------------------------------+ | id | name | user_id | tenant_id | +----------------------------------+----------+----------------------------------+----------------------------------+ | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | c426d1e172cb4bafb731e4d77ad10860 | 0b7567fde0f741288b345d798c0087e9 | +----------------------------------+----------+----------------------------------+----------------------------------+ Network list: [root@rhosp6-packstack ~(keystone_admin)]# source keystonerc_cloudformsuser [root@rhosp6-packstack ~(keystone_cloudformsuser)]# neutron net-list +--------------------------------------+---------------------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+---------------------+-------------------------------------------------------+ | 52b0f5d4-38c0-41fb-8eac-9741c7078925 | pruebanetwork | 0347aa7b-8c34-4c64-b08e-9d477d998103 192.168.22.0/24 | | 9129efae-3be6-4bc2-b0db-f39473dee014 | mynetworkcloudforms | e0236311-e573-466a-ab4c-f5bbd391ab0e 192.168.234.0/24 | | ed0d67ae-c217-42a0-a86e-4bb2c8108fd2 | public | 65175df7-7b39-492b-90c3-fd5b691aee77 | +--------------------------------------+---------------------+-------------------------------------------------------+ [root@rhosp6-packstack ~(keystone_cloudformsuser)]# neutron subnet-list +--------------------------------------+--------------+------------------+------------------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+--------------+------------------+------------------------------------------------------+ | 0347aa7b-8c34-4c64-b08e-9d477d998103 | pruebasubnet | 192.168.22.0/24 | {"start": "192.168.22.2", "end": "192.168.22.254"} | | e0236311-e573-466a-ab4c-f5bbd391ab0e | asdfasdf | 192.168.234.0/24 | {"start": "192.168.234.2", "end": "192.168.234.254"} | +--------------------------------------+--------------+------------------+------------------------------------------------------+ [root@rhosp6-packstack ~(keystone_cloudformsuser)]# export OS_TENANT_NAME=TEST_RALLY [root@rhosp6-packstack ~(keystone_cloudformsuser)]# neutron net-list +--------------------------------------+-----------------+------------------------------------------------------+ | id | name | subnets | +--------------------------------------+-----------------+------------------------------------------------------+ | c61797c9-6e0d-4dd8-91c8-5a136fdd4554 | pruebanetworkcf | ea99ab92-77f0-4abe-8629-2f75531e3184 192.168.43.0/24 | | ed0d67ae-c217-42a0-a86e-4bb2c8108fd2 | public | 65175df7-7b39-492b-90c3-fd5b691aee77 | +--------------------------------------+-----------------+------------------------------------------------------+ [root@rhosp6-packstack ~(keystone_cloudformsuser)]# neutron subnet-list +--------------------------------------+----------------+-----------------+----------------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+----------------+-----------------+----------------------------------------------------+ | ea99ab92-77f0-4abe-8629-2f75531e3184 | pruebasubnetcf | 192.168.43.0/24 | {"start": "192.168.43.2", "end": "192.168.43.254"} | +--------------------------------------+----------------+-----------------+----------------------------------------------------+ Fog.log in debug mode: NETWORKS: [----] D, [2015-05-25T15:04:20.057112 #26870:621eac] DEBUG -- : excon.request {:uri=>"http://180.133.241.50:9696/v2.0/networks", :query=>{}, :method=>"GET", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Accept"=>"application/json", "X-Auth-Token"=>"76ffd0ecc780499fa29e02f491372fe0", "Host"=>"180.133.241.50:9696"}, :body=>nil} [----] D, [2015-05-25T15:04:20.090489 #26870:621eac] DEBUG -- : excon.response {:status=>200, :headers=> {"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"798", "X-Openstack-Request-Id"=>"req-4ac488f5-0c5e-435e-be4a-415e48b98828", "Date"=>"Mon, 25 May 2015 15:04:20 GMT"}, :body=> {"networks"=> [{"status"=>"ACTIVE", "subnets"=>["0347aa7b-8c34-4c64-b08e-9d477d998103"], "name"=>"pruebanetwork", "router:external"=>false, "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "admin_state_up"=>true, "shared"=>false, "id"=>"52b0f5d4-38c0-41fb-8eac-9741c7078925"}, {"status"=>"ACTIVE", "subnets"=>["e0236311-e573-466a-ab4c-f5bbd391ab0e"], "name"=>"mynetworkcloudforms", "router:external"=>false, "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "admin_state_up"=>true, "shared"=>false, "id"=>"9129efae-3be6-4bc2-b0db-f39473dee014"}, {"status"=>"ACTIVE", "subnets"=>["65175df7-7b39-492b-90c3-fd5b691aee77"], "name"=>"public", "router:external"=>true, "tenant_id"=>"686ac074254f4c658907124c10327dbe", "admin_state_up"=>true, "shared"=>false, "id"=>"ed0d67ae-c217-42a0-a86e-4bb2c8108fd2"}]}} SUBNETS: [----] D, [2015-05-25T15:04:20.091584 #26870:621eac] DEBUG -- : excon.request {:uri=>"http://180.133.241.50:9696/v2.0/subnets", :query=>{}, :method=>"GET", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Accept"=>"application/json", "X-Auth-Token"=>"76ffd0ecc780499fa29e02f491372fe0", "Host"=>"180.133.241.50:9696"}, :body=>nil} [----] D, [2015-05-25T15:04:20.120501 #26870:621eac] DEBUG -- : excon.response {:status=>200, :headers=> {"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"883", "X-Openstack-Request-Id"=>"req-e8b9e808-1122-4813-909c-7012fe5b5c7e", "Date"=>"Mon, 25 May 2015 15:04:20 GMT"}, :body=> {"subnets"=> [{"name"=>"pruebasubnet", "enable_dhcp"=>true, "network_id"=>"52b0f5d4-38c0-41fb-8eac-9741c7078925", "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "dns_nameservers"=>[], "gateway_ip"=>"192.168.22.1", "ipv6_ra_mode"=>nil, "allocation_pools"=>[{"start"=>"192.168.22.2", "end"=>"192.168.22.254"}], "host_routes"=>[], "ip_version"=>4, "ipv6_address_mode"=>nil, "cidr"=>"192.168.22.0/24", "id"=>"0347aa7b-8c34-4c64-b08e-9d477d998103"}, {"name"=>"asdfasdf", "enable_dhcp"=>true, "network_id"=>"9129efae-3be6-4bc2-b0db-f39473dee014", "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "dns_nameservers"=>[], "gateway_ip"=>"192.168.234.1", "ipv6_ra_mode"=>nil, "allocation_pools"=> [{"start"=>"192.168.234.2", "end"=>"192.168.234.254"}], "host_routes"=>[], "ip_version"=>4, "ipv6_address_mode"=>nil, "cidr"=>"192.168.234.0/24", "id"=>"e0236311-e573-466a-ab4c-f5bbd391ab0e"}]}} [----] D, [2015-05-25T15:04:20.121580 #26870:621eac] DEBUG -- : excon.request {:uri=>"http://180.133.241.50:9696/v2.0/subnets", :query=>{}, :method=>"GET", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Accept"=>"application/json", "X-Auth-Token"=>"76ffd0ecc780499fa29e02f491372fe0", "Host"=>"180.133.241.50:9696"}, :body=>nil} [----] D, [2015-05-25T15:04:20.146630 #26870:621eac] DEBUG -- : excon.response {:status=>200, :headers=> {"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"883", "X-Openstack-Request-Id"=>"req-489d80bb-2f3c-4b41-99d4-2878e0da7ee7", "Date"=>"Mon, 25 May 2015 15:04:21 GMT"}, :body=> {"subnets"=> [{"name"=>"pruebasubnet", "enable_dhcp"=>true, "network_id"=>"52b0f5d4-38c0-41fb-8eac-9741c7078925", "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "dns_nameservers"=>[], "gateway_ip"=>"192.168.22.1", "ipv6_ra_mode"=>nil, "allocation_pools"=>[{"start"=>"192.168.22.2", "end"=>"192.168.22.254"}], "host_routes"=>[], "ip_version"=>4, "ipv6_address_mode"=>nil, "cidr"=>"192.168.22.0/24", "id"=>"0347aa7b-8c34-4c64-b08e-9d477d998103"}, {"name"=>"asdfasdf", "enable_dhcp"=>true, "network_id"=>"9129efae-3be6-4bc2-b0db-f39473dee014", "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "dns_nameservers"=>[], "gateway_ip"=>"192.168.234.1", "ipv6_ra_mode"=>nil, "allocation_pools"=> [{"start"=>"192.168.234.2", "end"=>"192.168.234.254"}], "host_routes"=>[], "ip_version"=>4, "ipv6_address_mode"=>nil, "cidr"=>"192.168.234.0/24", "id"=>"e0236311-e573-466a-ab4c-f5bbd391ab0e"}]}} [----] D, [2015-05-25T15:04:20.147630 #26870:621eac] DEBUG -- : excon.request {:uri=>"http://180.133.241.50:9696/v2.0/subnets", :query=>{}, :method=>"GET", :headers=> {"User-Agent"=>"fog/1.29.0 fog-core/1.30.0", "Content-Type"=>"application/json", "Accept"=>"application/json", "X-Auth-Token"=>"76ffd0ecc780499fa29e02f491372fe0", "Host"=>"180.133.241.50:9696"}, :body=>nil} [----] D, [2015-05-25T15:04:20.171912 #26870:621eac] DEBUG -- : excon.response {:status=>200, :headers=> {"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"883", "X-Openstack-Request-Id"=>"req-6daba4b2-b15c-46e3-a6ce-56135eff297c", "Date"=>"Mon, 25 May 2015 15:04:21 GMT"}, :body=> {"subnets"=> [{"name"=>"pruebasubnet", "enable_dhcp"=>true, "network_id"=>"52b0f5d4-38c0-41fb-8eac-9741c7078925", "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "dns_nameservers"=>[], "gateway_ip"=>"192.168.22.1", "ipv6_ra_mode"=>nil, "allocation_pools"=>[{"start"=>"192.168.22.2", "end"=>"192.168.22.254"}], "host_routes"=>[], "ip_version"=>4, "ipv6_address_mode"=>nil, "cidr"=>"192.168.22.0/24", "id"=>"0347aa7b-8c34-4c64-b08e-9d477d998103"}, {"name"=>"asdfasdf", "enable_dhcp"=>true, "network_id"=>"9129efae-3be6-4bc2-b0db-f39473dee014", "tenant_id"=>"007cb7cbe63546c992303590fb0d8491", "dns_nameservers"=>[], "gateway_ip"=>"192.168.234.1", "ipv6_ra_mode"=>nil, "allocation_pools"=> [{"start"=>"192.168.234.2", "end"=>"192.168.234.254"}], "host_routes"=>[], "ip_version"=>4, "ipv6_address_mode"=>nil, "cidr"=>"192.168.234.0/24", "id"=>"e0236311-e573-466a-ab4c-f5bbd391ab0e"}]}}
I think the problem is located in vmdb/app/models/ems_refresh/parsers/openstack.rb (https://github.com/ManageIQ/manageiq/blob/master/vmdb/app/models/ems_refresh/parsers/openstack.rb#L134) that it should loop through all the tenants instead just the default one. I've tried to: tenant.each do |t| process_collection(networks, :cloud_networks, tenant.id) { |n| parse_network(n) } get_subnets end But obviously it doesn't work :)
I think I have it -> https://github.com/ManageIQ/manageiq/pull/2993
New commit detected on manageiq/master: https://github.com/ManageIQ/manageiq/commit/251fb461b421cdf10b7acb3c3f284823c48a2fdd commit 251fb461b421cdf10b7acb3c3f284823c48a2fdd Author: eminguez <eminguez@redhat.com> AuthorDate: Wed Jun 3 17:42:20 2015 +0200 Commit: eminguez <eminguez@redhat.com> CommitDate: Wed Jun 3 17:42:20 2015 +0200 Add support for networks in different tenants https://bugzilla.redhat.com/show_bug.cgi?id=1224228 lib/openstack/openstack_handle/network_delegate.rb | 4 ++++ vmdb/app/models/ems_refresh/parsers/openstack.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
Verified in 5.5.0.7
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2015:2551