`openstack network show <net-id>` fails for Liberty

Bug #1661551 reported by Tom Kiemes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-openstackclient
Won't Fix
Low
Unassigned

Bug Description

Executing `openstack network show <net-id>` against a Liberty based OpenStack system results in

2.6.0 => 'Network' object has no attribute 'keys'
3.2.0 => 'Network' object has no attribute 'keys'
3.7.0 => TypeError: 'NoneType' object is not iterable
3.8.1 => TypeError: 'NoneType' object is not iterable

Calling this agains Mitaka or Newton works.

`neutron net-show <net-id>` works fine against Liberty.

Revision history for this message
Steve Martinelli (stevemar) wrote :

Can you add --debug to the command? Though OSC strives to be as backward compatible as possible, the networking bits were recently added and may need fine tuning for an older cloud.

Are you using neutron or nova-net for networking?

Changed in python-openstackclient:
status: New → Incomplete
Revision history for this message
Tom Kiemes (kiemes) wrote :
Download full text (28.5 KiB)

Hi Steve,

we are using neutron.

Here is the debug output of openstack --debug network show <net-id> with version 3.8.1.

```
START with options: [u'--debug', u'--insecure', u'network', u'show', u'12c6f866-960c-4bb9-a7b1-bdaa70392757']
options: Namespace(access_token='***', access_token_endpoint='', access_token_type='', auth_type='', auth_url='https://auth-url:5000/v3', cacert=None, cert='', client_id='', client_secret='***', cloud='', code='', debug=True, default_domain='default', default_domain_id='', default_domain_name='', deferred_help=False, discovery_endpoint='', domain_id='', domain_name='', endpoint='', identity_provider='', insecure=True, interface='', key='', log_file=None, openid_scope='', os_beta_command=False, os_compute_api_version='', os_identity_api_version='3', os_image_api_version='', os_network_api_version='', os_object_api_version='', os_project_id=None, os_project_name=None, os_volume_api_version='', passcode='', password='***', project_domain_id='', project_domain_name='', project_id='d68f886125674250be5546b75d9e852e', project_name='bosh-openstack-cpi-concourse', protocol='', redirect_uri='', region_name='CustomRegion', timing=False, token='***', trust_id='', url='', user_domain_id='', user_domain_name='Default', user_id='', username='cpi-dev-user', verbose_level=3, verify=None)
Auth plugin password selected
auth_config_hook(): {'auth_type': 'password', 'beta_command': False, u'compute_api_version': u'2', 'key': None, u'database_api_version': u'1.0', 'timing': False, 'auth_url': 'https://auth-url:5000/v3', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], u'image_api_version': u'2', 'verify': True, u'dns_api_version': u'2', u'object_store_api_version': u'1', 'username': 'cpi-dev-user', 'verbose_level': 3, 'region_name': 'CustomRegion', 'insecure': True, 'api_timeout': None, u'baremetal_api_version': u'1', 'auth': {'project_id': 'd68f886125674250be5546b75d9e852e', 'user_domain_name': 'Default', 'project_name': 'bosh-openstack-cpi-concourse', 'project_domain_id': 'default'}, 'default_domain': 'default', u'container_api_version': u'1', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', u'orchestration_api_version': u'1', 'cacert': None, 'password': '***', u'key_manager_api_version': u'v1', u'metering_api_version': u'2', 'deferred_help': False, u'identity_api_version': '3', u'volume_api_version': u'2', 'cert': None, u'secgroup_source': u'neutron', u'status': u'active', 'debug': True, u'interface': None, u'disable_vendor_agent': {}}
Deferring keystone exception: argument of type 'OSC_Config' is not iterable
defaults: {u'auth_type': 'password', u'status': u'active', u'compute_api_version': u'2', 'key': None, u'database_api_version': u'1.0', 'api_timeout': None, u'baremetal_api_version': u'1', u'image_api_version': u'2', u'metering_api_version': u'2', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', u'orchestration_api_version': u'1', 'cacert': None, u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', u'key_manager_api_version': u'v1', 'verify': True, u'identity_api_version': u'2.0', u'volume_api_version': u'2', 'cert': None, u'secg...

Changed in python-openstackclient:
status: Incomplete → Confirmed
Revision history for this message
Dean Troyer (dtroyer) wrote :

It is possible that the version of the openstacksdk used here will have some bearing on compatibility. All Neutron commands call into the SDK and not neutronclient. However it is more likely that this is due to some change in the Neutron API that OSC simply does not know about. Much of the Neutron support is only a year or so old and may not have been written with compatibility with older APIs in mind, it certainly has not been tested against Liberty code in quite some time.

Comparing the data returned between your debug output and my current Neutron-based DevStack cloud shows a lot of additional fields included, so I'd say OSC is assuming some fields are present and attempting to format them, specifically a list, and failing when the field does not exist.

Changed in python-openstackclient:
importance: Undecided → Low
Revision history for this message
David Rabel (rabel-b1) wrote :

I just tried to reproduce this issue, but it works fine here.

It's OpenStack Liberty, neutron-server is version 7.0.4

Tried with OSC 3.8.1 and 3.9.0

Maybe this is not a bug in OSC? Or it needs a more special setup to take effect?

Regards,
David

Artem Goncharov (gtema)
Changed in python-openstackclient:
status: Confirmed → Won't Fix
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.