[Openstack] neutron -f json output parsing

Akihiro Motoki amotoki at gmail.com
Fri Sep 30 11:57:42 UTC 2016


You hit https://bugs.launchpad.net/python-neutronclient/+bug/1524624.
The current neutronclient formats an object to string even if non-table
format is specified.
https://review.openstack.org/#/c/255696/ is the fix but it lacks reviewers
for 10 months :(


2016-09-30 18:16 GMT+09:00 Kevin Benton <kevin at benton.pub>:

> Looks very much like a bug (double json encoding). File a bug on launchpad
> against python-neutronclient.
>
> On Sep 30, 2016 05:10, "Bill Nerenberg" <bill.nerenberg75 at gmail.com>
> wrote:
>
>> Hi all
>>
>> When I run neutron -f json in the command below, the pools value is
>> quoted so I cannot use it with JSON parsers like jq
>>
>> For example, this is neutron's problematic output [1] (see the pools line)
>>
>> $ neutron lbaas-loadbalancer-show ef315cff-1d0a-4327-93c6-e9bf7e544e2d
>> -f json
>> {
>>   "description": "",
>>   "admin_state_up": false,
>>   "tenant_id": "1bcf7ba13bcb496196d72f481bfebb5c",
>>   "provisioning_status": "ACTIVE",
>>   "vip_subnet_id": "d02c8267-30be-4cdc-aa4a-a7c1ca6504b8",
>>   "listeners": "",
>>   "vip_address": "10.0.2.160",
>>   "vip_port_id": "07227a77-1afe-466b-9d54-20e8637fc2b0",
>>   "provider": "f5networks",
>>   "pools": "{\"id\": \"1b792ace-0cbf-47cc-a3d5-2140c570ccee\"}",
>>   "id": "ef315cff-1d0a-4327-93c6-e9bf7e544e2d",
>>   "operating_status": "ONLINE",
>>   "name": "test-lbaasv2"
>> }
>>
>> Which triggers an error in jq (or other tools)
>>
>> neutron lbaas-loadbalancer-show ef315cff-1d0a-4327-93c6-e9bf7e544e2d -f
>> json | jq ".pools.id"
>> jq: error: Cannot index string with string
>>
>>
>> If instead I use the followin JSON without the double quotes it works
>> just fine
>>
>> $ cat myjson
>> {
>>   "description": "",
>>   "admin_state_up": false,
>>   "tenant_id": "1bcf7ba13bcb496196d72f481bfebb5c",
>>   "provisioning_status": "ACTIVE",
>>   "vip_subnet_id": "d02c8267-30be-4cdc-aa4a-a7c1ca6504b8",
>>   "listeners": "",
>>   "vip_address": "10.0.2.160",
>>   "vip_port_id": "07227a77-1afe-466b-9d54-20e8637fc2b0",
>>   "provider": "f5networks",
>>   "pools": {"id": "1b792ace-0cbf-47cc-a3d5-2140c570ccee"},
>>   "id": "ef315cff-1d0a-4327-93c6-e9bf7e544e2d",
>>   "operating_status": "ONLINE",
>>   "name": "test-lbaasv2"
>> }
>> $ cat myjson | jq ".pools.id"
>> "1b792ace-0cbf-47cc-a3d5-2140c570ccee"
>>
>> Questions, questions...
>>
>> Is it intentional the output of [1] or is it a bug? If it is not a bug
>> and it is intentional... how is it expected we should be parsing it?
>>
>> Comments would be greatly appreciated
>>
>> Many thanks
>>
>>
>>
>>
>>
>> _______________________________________________
>> Mailing list: http://lists.openstack.org/cgi
>> -bin/mailman/listinfo/openstack
>> Post to     : openstack at lists.openstack.org
>> Unsubscribe : http://lists.openstack.org/cgi
>> -bin/mailman/listinfo/openstack
>>
>>
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/
> openstack
> Post to     : openstack at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/
> openstack
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20160930/3dbb55ec/attachment.html>


More information about the Openstack mailing list