quota-list fails when vip quota response is missing

Bug #1903326 reported by Adam Dyess
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

$ neutron --version
$ neutron quota-list
u'vip' <----- huh?

Revision history for this message
Adam Dyess (addyess) wrote :
Download full text (9.5 KiB)

$ neutron quota-list --debug
DEBUG: stevedore.extension found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode')
DEBUG: stevedore.extension found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword')
DEBUG: stevedore.extension found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('gnocchi-noauth = gnocchiclient.noauth:GnocchiNoAuthLoader')
DEBUG: stevedore.extension found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('json = cliff.formatters.json_format:JSONFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('csv = cliff.formatters.commaseparated:CSVLister')
DEBUG: stevedore.extension found extension EntryPoint.parse('value = cliff.formatters.value:ValueFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('yaml = cliff.formatters.yaml_format:YAMLFormatter')
DEBUG: neutronclient.neutron.v2_0.quota.ListQuota run(Namespace(columns=[], formatter='table', max_width=0, noindent=False, quote_mode='nonnumeric', request_format='json'))
DEBUG: keystoneauth.session REQ: curl -g -i -X GET http://<ip address>:35357/v3 -H "Accept: application/json" -H "User-Agent: keystoneauth1/2.4.1 python-requests/2.9.1 CPython/2.7.6"
DEBUG: keystoneauth.session RESP: [200] Content-Length: 253 Vary: X-Auth-Token Keep-Alive: timeout=5, max=100 Server: Apache/2.4.29 (Ubuntu) Connection: Keep-Alive Date: Fri, 06 Nov 2020 17:00:36 GMT Content-Type: application/json x-openstack-request-id: req-670594e2-3cc3-479c-a568-8d3d09b23a36
RESP BODY: {"version": {"id": "v3.12", "status": "stable", "updated": "2019-01-22T00:00:00Z", "links": [{"rel": "self", "href": "http://<ip address>:5000/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}}

DEBUG: keystoneauth.identity.v3.base Making authentication request to http://<ip address>:5000/v3/auth/tokens
DEBUG: neutronclient.neutron.v2_0.quota.ListQuota search options: {}
DEBUG: keystoneauth.session REQ: curl -g -i -X GET http://<ip address>:9696/v2.0/quotas.json -H "User-Agent: python-neutronclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}20a7a75656481962c89b6a6b6ad...


Revision history for this message
Akihiro Motoki (amotoki) wrote :

It looks like that you uses LBaaSv2 but some tenants have quota for VIP which was a part of LBaaS v1 API.
neutron CLI expects all entries (i.e. tenants) have same quotas. Mix usage of LBaaSv2 and LBaaSv1 are not expected, so it is a kind of misconfiguration of your deployments. I would suggest to drop VIP quotas for tenant c2b118fcff46450ab78d3bdddd9dd21b and ec0ae2bb5827438c806692391c783801.

In addition, you use neutronclient 4.1.1 and it was a part of Mitaka release which the upstream development team no longer support, so no bug will be fixed for the release.

Changed in python-neutronclient:
status: New → Invalid
Revision history for this message
Adam Dyess (addyess) wrote :

The same bug still exists in neutron 6.14.0 -- installed from snap.

Changed in python-neutronclient:
status: Invalid → New
Revision history for this message
Adam Dyess (addyess) wrote :

Traceback (most recent call last):
  File "/snap/openstackclients/38/lib/python3.6/site-packages/neutronclient/shell.py", line 531, in run_subcommand
    return run_command(cmd, cmd_parser, sub_argv)
  File "/snap/openstackclients/38/lib/python3.6/site-packages/neutronclient/shell.py", line 68, in run_command
    return cmd.run(known_args)
  File "/snap/openstackclients/38/lib/python3.6/site-packages/neutronclient/neutron/v2_0/__init__.py", line 335, in run
    return super(NeutronCommand, self).run(parsed_args)
  File "/snap/openstackclients/38/lib/python3.6/site-packages/cliff/display.py", line 119, in run
    self.produce_output(parsed_args, column_names, data)
  File "/snap/openstackclients/38/lib/python3.6/site-packages/cliff/lister.py", line 82, in produce_output
  File "/snap/openstackclients/38/lib/python3.6/site-packages/cliff/formatters/table.py", line 101, in emit_list
    self.add_rows(x, column_names, data)
  File "/snap/openstackclients/38/lib/python3.6/site-packages/cliff/formatters/table.py", line 89, in add_rows
    for row in data_iter:
  File "/snap/openstackclients/38/lib/python3.6/site-packages/neutronclient/neutron/v2_0/quota.py", line 91, in <genexpr>
    for s in info))
  File "/snap/openstackclients/38/lib/python3.6/site-packages/neutronclient/common/utils.py", line 99, in get_item_properties
    data = item[field_name]
KeyError: 'vip'

This exists after an upgrade from Trusty/Mitaka -> Bionic/Stein as you predicted. Are you saying that vip quotas are no longer possible in Stein?

Revision history for this message
Akihiro Motoki (amotoki) wrote :

> Are you saying that vip quotas are no longer possible in Stein?

Yes. "vip" quota does no longer work because LBaaS v1 was retired around Mitaka release.

According to https://wiki.openstack.org/wiki/Neutron/LBaaS/Deprecation#Neutron-lbaas_vs._LBaaS_v2_API_vs._Octavia_vs._Octavia_v2_API, Neutron LBaaS v1 API went into EOL (End of Life) around Mitaka release. In LBaaS v2 API which is a successor of LBaaS v1 API does not define "vip" resource.

As I suggested in the previous comment, I suggest to drop VIP quotas.

I am marking this as Invalid again (as it looks like a support request rather than a bug report).

Changed in python-neutronclient:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.