Bug 1788635 - Kuryr detecting Octavia version incorrectly
Summary: Kuryr detecting Octavia version incorrectly
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.3.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 4.3.z
Assignee: Michał Dulko
QA Contact: GenadiC
URL:
Whiteboard:
Depends On: 1788634
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-01-07 16:40 UTC by Luis Tomas Bolivar
Modified: 2020-02-19 05:40 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1788634
Environment:
Last Closed: 2020-02-19 05:39:53 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Github openshift kuryr-kubernetes pull 131 None closed [release-4.3] Bug 1788635: Fix Octavia version detection 2020-02-13 20:57:41 UTC
Red Hat Product Errata RHBA-2020:0492 None None None 2020-02-19 05:40:02 UTC

Description Luis Tomas Bolivar 2020-01-07 16:40:45 UTC
+++ This bug was initially created as a clone of Bug #1788634 +++

We're relying on keystoneauth's get_api_major_version() method to fetch Octavia API version. Seems like it's broken, at least with recent openstacksdk's:

Python 2.7.5 (default, Jun 11 2019, 14:33:56)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import openstack
>>> c = openstack.connect(cloud='envvars')
>>> c.load_balancer.get_api_major_version()
(2, 0)
>>> c.load_balancer.get_all_version_data()
{u'regionOne': {u'public': {u'load-balancer': [{'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.0', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.1', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.2', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.3', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.4', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.5', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.6', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.7', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.8', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.9', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.10', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.11', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'SUPPORTED', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.12', 'raw_status': u'SUPPORTED', 'not_before': None}, {'status': u'CURRENT', 'min_microversion': None, 'url': u'http://10.0.0.101:9876/v2', 'max_microversion': None, 'collection': None, 'next_min_version': None, 'version': '2.13', 'raw_status': u'CURRENT', 'not_before': None}]}}}

We should use get_all_version_data() instead and parse it on our own.

Comment 2 Itzik Brown 2020-02-06 14:49:13 UTC
OSP16 - RHOS_TRUNK-16.0-RHEL-8-20200131.n.0

$ oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.3.0-0.nightly-2020-02-06-035100   True        False         113m    Cluster version is 4.3.0-0.nightly-2020-02-06-035100

$ openstack loadbalancer show ostest-q6z24-kuryr-api-loadbalancer
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| admin_state_up      | True                                 |
| created_at          | 2020-02-05T11:27:32                  |
| description         |                                      |
| flavor_id           | None                                 |
| id                  | 65f5224c-76a9-40e6-867d-bfcbe2470159 |
| listeners           | 1815b233-bdc7-4e9d-9a6c-406ddeeec19d |
| name                | ostest-q6z24-kuryr-api-loadbalancer  |
| operating_status    | DEGRADED                             |
| pools               | e14c7270-f8a0-4f82-b28c-51292dba643c |
| project_id          | 5420820b437a459a883e2b63d0d5ce72     |
| provider            | amphora                              |
| provisioning_status | ACTIVE                               |
| updated_at          | 2020-02-05T11:29:09                  |
| vip_address         | 172.30.0.1                           |
| vip_network_id      | d3b99349-d395-4e85-a878-c4d3cbfbca69 |
| vip_port_id         | e642e740-6c61-4b56-96a5-f30d53fcb656 |
| vip_qos_policy_id   | None                                 |
| vip_subnet_id       | e6063e16-11d5-4666-b879-0f344f31203a |
+---------------------+--------------------------------------+

Openshift installed finished successfully and the Loadbalancer doesn't have tags.

Comment 4 errata-xmlrpc 2020-02-19 05:39:53 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/RHBA-2020:0492


Note You need to log in before you can comment on or make changes to this bug.