Difference between revisions of "IETF 112 Hackathon"

From Yuma123 Wiki
Jump to navigationJump to search
 
Line 1: Line 1:
* Organized hands on workshop for the project at Bitraf, Oslo 2021-11-03 17:00 UTC gained 1 new member of the team - Torfin
+
* Organized hands-on workshop for the project at Bitraf, Oslo 2021-11-03 17:00 UTC gained 1 new member of the team - Torfinn
   
 
Our goal was to implement the last 2 sec. 26 benchmarks to the RFC2544 python implementation based on YANG/NETCONF interface specified in [https://datatracker.ietf.org/doc/draft-vassilev-bmwg-network-interconnect-tester/ draft-vassilev-bmwg-network-interconnect-tester]
 
Our goal was to implement the last 2 sec. 26 benchmarks to the RFC2544 python implementation based on YANG/NETCONF interface specified in [https://datatracker.ietf.org/doc/draft-vassilev-bmwg-network-interconnect-tester/ draft-vassilev-bmwg-network-interconnect-tester]
   
These are in fact often not implemented in commercial implementations. Especially the last one which requires means to restart or powercycle the DUT.
+
These are in fact often not implemented in commercial implementations. Especially the last one which requires automated mechanism to restart or powercycle the DUT that the benchmark implementation can control.
   
We implement YANG/NETCONF interface for a power distribution unit which we use to powercycle the DUT and measure the down time. Which turned to be a great demo for configuration with YANG/NETCONF. Here is the output of accessing the device with yangcli and switching off port 2 of the PDU which is connected to the DUT.
+
We designed YANG/NETCONF interface for a power distribution unit and implemented open-source/hardware device which we used to powercycle the DUT and measure the down time. Which turned to be a great demo for configuration with YANG/NETCONF without involving complex models. Here is the output of accessing the device with one YANG automated NETCONF client ( yangcli ) and switching off port 2 of the PDU which is connected to the DUT.
   
 
<nowiki>
 
<nowiki>

Latest revision as of 16:40, 8 November 2021

  • Organized hands-on workshop for the project at Bitraf, Oslo 2021-11-03 17:00 UTC gained 1 new member of the team - Torfinn

Our goal was to implement the last 2 sec. 26 benchmarks to the RFC2544 python implementation based on YANG/NETCONF interface specified in draft-vassilev-bmwg-network-interconnect-tester

These are in fact often not implemented in commercial implementations. Especially the last one which requires automated mechanism to restart or powercycle the DUT that the benchmark implementation can control.

We designed YANG/NETCONF interface for a power distribution unit and implemented open-source/hardware device which we used to powercycle the DUT and measure the down time. Which turned to be a great demo for configuration with YANG/NETCONF without involving complex models. Here is the output of accessing the device with one YANG automated NETCONF client ( yangcli ) and switching off port 2 of the PDU which is connected to the DUT.

$ apt-get install yangcli
$ yangcli --server=lightside-instruments.com --ncport=10841 --user=user --password=ietf112 --echo-requests=true --echo-replies=true --display-mode=xml
...
yangcli user@lightside-instruments.com> xget-config source=running /

RPC Request 3 for session 1:

<get-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <source>
    <running/>
  </source>
  <filter type="xpath" select="/"/>
</get-config>

RPC Data Reply 3 for session 2:

<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <data>
    <nacm xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"/>
    <power-distribution-unit xmlns="http://lightide-instruments.com/ns/power-distribution-unit">
      <output>
        <index>0</index>
      </output>
      <output>
        <index>2</index>
      </output>
      <output>
        <index>4</index>
      </output>
    </power-distribution-unit>
  </data>
</rpc-reply>

yangcli user@lightside-instruments.com> delete /power-distribution-unit/output/

Filling list /power-distribution-unit/output:
Filling key leaf /power-distribution-unit/output/index:
Enter uint32 value for leaf <index>
yangcli user@lightside-instruments.com:delete> 2

RPC Request 4 for session 1:

<edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <target>
    <candidate/>
  </target>
  <default-operation>merge</default-operation>
  <test-option>set</test-option>
  <config>
    <power-distribution-unit xmlns="http://lightide-instruments.com/ns/power-distribution-unit">
      <output 
        xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
        nc:operation="delete">
        <index>2</index>
      </output>
    </power-distribution-unit>
  </config>
</edit-config>

RPC OK Reply 4 for session 2:

yangcli user@lightside-instruments.com> commit

RPC Request 5 for session 1:

<commit xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/>

RPC OK Reply 5 for session 2:

yangcli user@lightside-instruments.com>