Bug 1568341

Summary: openstack client always shows ha and distributed flags as False for non-admin or ovn
Product: Red Hat OpenStack Reporter: Eran Kuris <ekuris>
Component: python-openstackclientAssignee: Slawek Kaplonski <skaplons>
Status: CLOSED ERRATA QA Contact: Roman Safronov <rsafrono>
Severity: high Docs Contact:
Priority: low    
Version: 13.0 (Queens)CC: amuller, apevec, bhaley, chrisw, dalvarez, ekuris, jschluet, lhh, majopela, skaplons, srevivo, tfreger
Target Milestone: z5Keywords: Triaged, ZStream
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-openstacksdk-0.11.3-2.el7ost python-openstackclient-3.14.3-2.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1560515 Environment:
Last Closed: 2019-03-14 13:34:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1560515    
Bug Blocks:    

Comment 1 Daniel Alvarez Sanchez 2018-04-17 09:43:37 UTC
@ajo: would it be okay if we fix ha=True in networking-ovn?
Otherwise we can just point to the documentation, it's mainly a user experience thing.

Comment 2 Miguel Angel Ajo 2018-04-19 10:08:31 UTC
(In reply to Daniel Alvarez Sanchez from comment #1)
> @ajo: would it be okay if we fix ha=True in networking-ovn?
> Otherwise we can just point to the documentation, it's mainly a user
> experience thing.

That could be an option.

We can also fix the openstack client,

The issues is that neutron router-list or router-show will not show those fields  (distributed or ha) at all if they are not provided by the API.

But openstack router list  or openstack router show, will show them as False if not existing in the API response, see:


openstack router list --debug

REQ: curl -g -i -X GET http://192.168.121.182:9696/v2.0/routers -H "User-Agent: osc-lib/1.9.0 keystoneauth1/3.4.0 python-requests/2.14.2 CPython/2.7.5" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}7d85a6780ab0390ae28f120294f0f66f433cadd0"
http://192.168.121.182:9696 "GET /v2.0/routers HTTP/1.1" 200 575
RESP: [200] Content-Type: application/json Content-Length: 575 X-Openstack-Request-Id: req-d2094162-22d2-4298-a5aa-f60296ce903e Date: Thu, 19 Apr 2018 10:06:19 GMT Connection: keep-alive

RESP BODY: 
{"routers": 

    [{"status": "ACTIVE", 
      "external_gateway_info": {"network_id": "097345d1-3299-43d4-aeda-8af03516b92e", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "b3ebf1c0-0b7a-4c46-80dd-bdd2a55e8e58", "ip_address": "172.24.4.7"}]},
      "description": "", 
      "tags": [], 
      "tenant_id": "33605489c4e84e2f8b4c50f3c48ca2a6", 
      "created_at": "2018-04-18T09:58:44Z",
      "admin_state_up": true,
      "updated_at":  "2018-04-18T09:59:12Z",
      "revision_number": 3,
      "routes": [],
      "project_id": "33605489c4e84e2f8b4c50f3c48ca2a6",
      "id": "e70a02f3-6758-4f78-bc50-133b6c6b0584",
      "name": "router1"}]}

GET call to network for http://192.168.121.182:9696/v2.0/routers used request id req-d2094162-22d2-4298-a5aa-f60296ce903e

Manager unknown ran task network.GET.routers in 0.973969936371s
+--------------------------------------+---------+--------+-------+-------------+-------+----------------------------------+
| ID                                   | Name    | Status | State | Distributed | HA    | Project                          |
+--------------------------------------+---------+--------+-------+-------------+-------+----------------------------------+
| e70a02f3-6758-4f78-bc50-133b6c6b0584 | router1 | ACTIVE | UP    | False       | False | 33605489c4e84e2f8b4c50f3c48ca2a6 |
+--------------------------------------+---------+--------+-------+-------------+-------+----------------------------------+

Comment 4 Miguel Angel Ajo 2018-04-26 19:24:22 UTC
The biggest problem of this is the openstack client.

The non-administrator will never see either the ha, or distributed fields, because neutron-server won't expose those fields if you are not administrator, and then the openstack client, will default those fields to false.

So this is not only an ovn thing, but also an ml2/ovs thing. The openstack client needs to be fixed.

We could also expose the fields in ovn as in https://review.openstack.org/#/c/563115/

Comment 5 Brian Haley 2018-05-10 21:15:51 UTC
*** Bug 1560515 has been marked as a duplicate of this bug. ***

Comment 6 Daniel Alvarez Sanchez 2018-05-29 10:09:42 UTC
Disabled in CI for now: https://code.engineering.redhat.com/gerrit/#/c/137162/

Comment 21 Roman Safronov 2019-02-26 17:29:17 UTC
Verified on 2019-02-25.2/RH7-RHOS-13.0  which contains python-openstackclient-lang-3.14.3-2.el7ost.noarch

Link to the build: https://rhos-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/DFG/view/network/view/networking-ovn/job/DFG-network-networking-ovn-13_director-rhel-virthost-3cont_2comp_1ipa-ipv4-geneve-tls/14/

Verified that 'openstack router list' and 'openstack router show' output does not contain HA and Distributed fields.
Verified as admin and non-admin user.

Comment 23 errata-xmlrpc 2019-03-14 13:34:19 UTC
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-2019:0564