Uploaded image for project: 'VOLTHA'
  1. VOLTHA
  2. VOL-2883

Tooling for MIB Template Creation

    XMLWordPrintable

    Details

    • Type: Story
    • Status: To Do (View Workflow)
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Future
    • Component/s: openomci
    • Labels:
      None

      Description

      After gathering the default MIB of a new or unknown ONU type as defined by its unique characteristics (ONU Vendor/ONU Equipment ID/ONU Software Version), create a command line tool that will convert this default MIB instance into a template usable my the MIB Templating ONU discovery process.

      The overall design for MIB Templating can be found here: https://drive.google.com/open?id=1qAAKijnSXfFO2zLOJHLjmsUpBJBeSJfh7y8cupZfwwA

      Current Process

      Currently when an ONU does not have a template its newly Reset and MIBUploaded default MIB printed as a DEBUG log statement. If story VOL-2882 is finished, then this default MIB is retrievable from etcd. If the story is not finished extract this JSON from the log looking for event key "in-sync-device-db"

      After this JSON document is retrieved and exported to a file, the following steps must be done on this retrieved MIB instance to make it a template usable by other ONU's of this type. This consists of replacing specific instances of unique onu data with %TOKEN% replacements.

      The general process for converting a discovered ONU MIB instances into a template is as follows:

      1) Replace any instances of class id 6 (CircuitPack), serial_number field with token %SERIAL_NUMBER%

      2) Replace any instances of class id 134 (IpHostConfigData), mac_address field with token %MAC_ADDRESS%

      3) Replace any instances of class id 256 (OntG), serial_number field with token %SERIAL_NUMBER%

      4) Remove the following fields from each class instance:
      "created"
      "modified"
      These values are created by the library for actual onu MIB instances later.

      5) Remove the following attributes from the top level JSON object, if they exist:
      "device_id"
      "created"
      "last_mib_sync"
      "mib_data_sync"
      These values are onu instance specific and will be re-created later

      6) Add the following attributes to top level JSON object, above all classes:
      "template_name"
      "template_created"
      "version"

      "template_name" should be the portion of the etcd key path used to identify this template, in the form of "ONU Vendor/ONU Equipment ID/ONU Software Version"
      "template_created" is a JSON compatible timestamp string representing when this template was created.
      "version" is an incrementing integer for the version of this template, if it ever needs to change later.

      7) Save the JSON file as ONU Vendor-ONU Equipment ID-ONU Software Version.json, replacing the needed values as was actually discovered.

      Keep in mind as other ONU are supported by the templating system new %TOKEN% replacements may be needed.

      And example command line invocation of this tool could be:

      This template file can now be loaded into the key path as a template to be used later, in the template etcd path:

      ONU MIB Template Path Prefix:

      service/voltha/omci_mibs/templates/
      

      Example Template:

      service/voltha/omci_mibs/templates/ALCL/BVMGR00BRAXS020XA/3FE47059BFHB21
      

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            mjeanneret Matt Jeanneret
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes