<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: gNMI ‘subscribe' - unsupported encoding &amp;quot;JSON/JSON_IETF&amp;quot; in Tools</title>
    <link>https://community.cisco.com/t5/tools/gnmi-subscribe-unsupported-encoding-quot-json-json-ietf-quot/m-p/3932639#M2155</link>
    <description>&lt;P&gt;Hi Kousalya&lt;/P&gt;
&lt;P&gt;You are getting this error, because the gNMI server that you are connecting to does not support JSON encoding for subscribe requests. I know that IOS-XR gNMI server currently supports only Proto encoding. You will need provide parsing of proto encoded response and translation to JSON in your callback function.&lt;/P&gt;
&lt;P&gt;We have been considering adding the translation from Proto to JSON to YDK codec services, but have not implemented it due to luck of resources. That would be a good project for YDK development.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Yan&lt;/P&gt;</description>
    <pubDate>Mon, 30 Sep 2019 16:58:06 GMT</pubDate>
    <dc:creator>ygorelik</dc:creator>
    <dc:date>2019-09-30T16:58:06Z</dc:date>
    <item>
      <title>gNMI ‘subscribe' - unsupported encoding "JSON/JSON_IETF"</title>
      <link>https://community.cisco.com/t5/tools/gnmi-subscribe-unsupported-encoding-quot-json-json-ietf-quot/m-p/3932282#M2154</link>
      <description>&lt;P&gt;Hi Team,&lt;/P&gt;
&lt;P&gt;Tried a gNMI subscribe request with encoding option as 'PROTO', able to get ServiceResponse in str.&lt;/P&gt;
&lt;P&gt;But with encoding type as "JSON/JSON_IETF" we are getting unsupported error as below,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="text-align: left; padding-left: 30px;"&gt;&lt;EM&gt;&amp;gt;&amp;gt;&amp;gt; gnmi.subscribe(provider, subscription, 10, "ONCE", "JSON")&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Traceback (most recent call last):&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;File "&amp;lt;stdin&amp;gt;", line 1, in &amp;lt;module&amp;gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;File "/nobackup/kuamrend/env/lib64/python3.6/site-packages/ydk/gnmi/services/gnmi_service.py", line 78, in subscribe&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;self._gs.subscribe(provider, subscription, qos, mode, encoding, gnmi_subscribe_callback)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;RuntimeError: YServiceProviderError: SubscribeRequest failed with error:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;gNMI: subscribe: unsupported encoding: JSON&lt;/EM&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;BR /&gt;&lt;EM&gt;&amp;gt;&amp;gt;&amp;gt; gnmi.subscribe(provider, subscription, 10, "ONCE", "JSON_IETF")&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Traceback (most recent call last):&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;File "&amp;lt;stdin&amp;gt;", line 1, in &amp;lt;module&amp;gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;File "/nobackup/kuamrend/env/lib64/python3.6/site-packages/ydk/gnmi/services/gnmi_service.py", line 78, in subscribe&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;self._gs.subscribe(provider, subscription, qos, mode, encoding, gnmi_subscribe_callback)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;RuntimeError: YServiceProviderError: SubscribeRequest failed with error:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;gNMI: subscribe: unsupported encoding: JSON_IETF&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;U&gt;Our Requirement&lt;/U&gt; &lt;/STRONG&gt;: Subscibe ServiceResponse o/p as Entity&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;- gNMI get we are able to get the response as Entity. Is it possible to convert the Subnsribe response into entity with any available PACAKEGE. Any pointers to achieve this will be very helpful.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Also can you point if I missed any dependency.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;U&gt;Example str 0/p of SERVICEResponse&lt;/U&gt; with "PROTO" encoding option,&lt;/EM&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;&amp;gt;&amp;gt;&amp;gt; gnmi.subscribe(provider, subscription, 10, "ONCE", "PROTO")&lt;/EM&gt;&lt;/P&gt;
&lt;P style="padding-left: 60px;"&gt;&lt;EM&gt;... &amp;gt;&amp;gt;&amp;gt; Globals.subscribe_data[3]&lt;BR /&gt;&lt;FONT size="2"&gt;... 'update {\n timestamp: 1569613926524000000\n prefix {\n origin: "openconfig-interfaces"\n elem {\n name: "interfaces"\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "in-octets"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "out-octets"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "in-multicast-pkts"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "in-broadcast-pkts"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "out-multicast-pkts"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "out-broadcast-pkts"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "in-unknown-protos"\n }\n }\n val {\n uint_val: 2442\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "in-errors"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "out-errors"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "in-unicast-pkts"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "in-discards"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "out-unicast-pkts"\n }\n }\n val {\n uint_val: 0\n }\n }\n update {\n path {\n elem {\n name: "interface"\n key {\n key: "name"\n value: "FourHundredGigE0/0/0/23"\n }\n }\n elem {\n name: "state"\n }\n elem {\n name: "counters"\n }\n elem {\n name: "out-discards"\n }\n }\n val {\n uint_val: 0\n }\n }\n}\n'&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Kousalya&lt;/P&gt;</description>
      <pubDate>Mon, 30 Sep 2019 07:04:18 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/gnmi-subscribe-unsupported-encoding-quot-json-json-ietf-quot/m-p/3932282#M2154</guid>
      <dc:creator>kmathiya</dc:creator>
      <dc:date>2019-09-30T07:04:18Z</dc:date>
    </item>
    <item>
      <title>Re: gNMI ‘subscribe' - unsupported encoding "JSON/JSON_IETF"</title>
      <link>https://community.cisco.com/t5/tools/gnmi-subscribe-unsupported-encoding-quot-json-json-ietf-quot/m-p/3932639#M2155</link>
      <description>&lt;P&gt;Hi Kousalya&lt;/P&gt;
&lt;P&gt;You are getting this error, because the gNMI server that you are connecting to does not support JSON encoding for subscribe requests. I know that IOS-XR gNMI server currently supports only Proto encoding. You will need provide parsing of proto encoded response and translation to JSON in your callback function.&lt;/P&gt;
&lt;P&gt;We have been considering adding the translation from Proto to JSON to YDK codec services, but have not implemented it due to luck of resources. That would be a good project for YDK development.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Yan&lt;/P&gt;</description>
      <pubDate>Mon, 30 Sep 2019 16:58:06 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/gnmi-subscribe-unsupported-encoding-quot-json-json-ietf-quot/m-p/3932639#M2155</guid>
      <dc:creator>ygorelik</dc:creator>
      <dc:date>2019-09-30T16:58:06Z</dc:date>
    </item>
  </channel>
</rss>

