<div dir="ltr"><div class="gmail_extra">It looks like that the different comes from cliff-tablib.</div><div class="gmail_extra">JSON formatter is provided from cliff and cliff-tablib.</div><div class="gmail_extra">The former output comes from JSON formatter of cliff and the latter comes from the cliff-tablib JSON formatter.</div><div class="gmail_extra">My suggestion is to remove cliff-tablib from the latter venv.<br></div><div class="gmail_extra">(Note that cliff itself now provides JSON formatter, so cliff-tablib is no longer needed.)<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_quote">2017-01-06 10:59 GMT+09:00 Kevin Benton <span dir="ltr"><<a href="mailto:kevin@benton.pub" target="_blank">kevin@benton.pub</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Since the neutron client versions are the same I suspect a unpinned dependency may be different between the two. <div dir="auto"><br></div><div dir="auto">Did you install the client via pip or your distro's package manager? </div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Jan 5, 2017 10:34, "Ken D'Ambrosio" <<a href="mailto:ken@jots.org" target="_blank">ken@jots.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey, all.  I'm writing some wrapper scripts to do some maintenance, and decided to install the client on my desktop Ubuntu machine just for ease-of-use.  And my script crashed and burned.  Initially, I'd assumed it was me screwing up Ruby... but then I realized that I'm getting completely different output from two different openstack clients, both showing v. 2.3.0 (with "-2" for the Ubuntu packages):<br>
<br>
ken@boatanchor:~ liberty(prod)$ neutron agent-show 30d1048b-b508-4209-b6e4-8214ab<wbr>9de0f2 -f json<br>
Destop:<br>
{<br>
  "binary": "neutron-vpn-agent",<br>
  "description": "",<br>
  "admin_state_up": true,<br>
  "created_at": "2016-12-15 20:01:39",<br>
  "alive": true,<br>
  "id": "30d1048b-b508-4209-b6e4-8214a<wbr>b9de0f2",<br>
  "topic": "l3_agent",<br>
  "host": "wilted-attention",<br>
  "agent_type": "L3 agent",<br>
  "started_at": "2016-12-15 20:14:48",<br>
  "heartbeat_timestamp": "2017-01-05 17:20:00",<br>
  "configurations": "{\n     \"router_id\": \"\", \n     \"agent_mode\": \"legacy\", \n     \"gateway_external_network_id<wbr>\": \"c1686e8a-ce41-48e6-a18d-77c2<wbr>8eccae50\", \n     \"handle_internal_only_router<wbr>s\": false, \n     \"use_namespaces\": true, \n     \"routers\": 2, \n     \"interfaces\": 1, \n     \"floating_ips\": 1, \n     \"interface_driver\": \"neutron.agent.linux.interfac<wbr>e.OVSInterfaceDriver\", \n     \"log_agent_heartbeats\": false, \n     \"external_network_bridge\": \"br-ex\", \n     \"ex_gw_ports\": 2\n}"<br>
<br>
Server:<br>
<br>
gbadmin@openstack-cli:/tmp liberty(prod)$ neutron agent-show 30d1048b-b508-4209-b6e4-8214ab<wbr>9de0f2 -f json<br>
[{"Field": "admin_state_up", "Value": true}, {"Field": "agent_type", "Value": "L3 agent"}, {"Field": "alive", "Value": true}, {"Field": "binary", "Value": "neutron-vpn-agent"}, {"Field": "configurations", "Value": "{\n     \"router_id\": \"\", \n     \"agent_mode\": \"legacy\", \n     \"gateway_external_network_id<wbr>\": \"c1686e8a-ce41-48e6-a18d-77c2<wbr>8eccae50\", \n     \"handle_internal_only_router<wbr>s\": false, \n     \"use_namespaces\": true, \n     \"routers\": 2, \n     \"interfaces\": 1, \n     \"floating_ips\": 1, \n     \"interface_driver\": \"neutron.agent.linux.interfac<wbr>e.OVSInterfaceDriver\", \n     \"log_agent_heartbeats\": false, \n     \"external_network_bridge\": \"br-ex\", \n     \"ex_gw_ports\": 2\n}"}, {"Field": "created_at", "Value": "2016-12-15 20:01:39"}, {"Field": "description", "Value": ""}, {"Field": "heartbeat_timestamp", "Value": "2017-01-05 17:20:00"}, {"Field": "host", "Value": "wilted-attention"}, {"Field": "id", "Value": "30d1048b-b508-4209-b6e4-8214a<wbr>b9de0f2"}, {"Field": "started_at", "Value": "2016-12-15 20:14:48"}, {"Field": "topic", "Value": "l3_agent"}]<br>
<br>
---------------<br>
<br>
WAT?  Can someone essplain what I've got going on, here?  I admit that I vastly prefer the desktop's output -- I don't have to keep looping through stuff to pull key/value pairs -- but I've coded for the server's output.  More to the point, I'm completely at a loss to explain the disparity.  Some environmental variable or something?<br>
<br>
Other items of note:<br>
* I sniffed the API calls -- they are both receiving the same information back from the server.<br>
* YAML output has the same variations as the JSON.<br>
* Straight non-formatted output is identical between the two clients<br>
<br>
Thanks,<br>
<br>
-Ken<br>
<br>
______________________________<wbr>_________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k</a><br>
</blockquote></div></div>
</div></div><br>______________________________<wbr>_________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack</a><br>
<br></blockquote></div><br></div></div>