Uploaded image for project: 'Data Collection, Analytics, and Events'
  1. Data Collection, Analytics, and Events
  2. DCAEGEN2-3024

Support of values with 'oneOf' types.

XMLWordPrintable

      Greetings from O-RAN-SC OAM.

      Story:

      We could validate and use successfully the VES collector version 1.10.1 for domain 'stndDefined'. In agreement with ONAP 5G SON use case team an OpenAPI3 yaml file was created as 'stndDefined' enhancement for [VES-PM-Streaming|https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/oas3/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml;hb=refs/heads/master] .

      Basically we would like to transport a list of key/value pairs for Performance Measurement values. Due to the different nature of the PM-counter-values, the type of the 'value' can be one of several:

      Please see line 140ff of the yaml file above:

      [...]
      value:
       oneOf:
       - type: boolean
         description: A boolean value for the measurement.
       - type: integer
         description: A integer value for the measurement.
       - type: number
         description: A number value for the measurement.
       - type: string
         description: A string value for the measurement.
       description: 'The value of the measurement type for its period. '
      [...]
      

      Finding:

      When sending a corresponding VES message the VES-Collector 1.10.1 reports in its logs:

      docker logs -f ves-collector 
      
      [...]
      2021-12-17 12:11:49.760 ERROR 29 [io-8443-exec-10] o.o.d.s.s.s.e.s.m.s.StndDefinedValidator : Validation error(s) :
      StndDefinedSchemaValidator.measurements.0.value: More than 1 schema is valid. (code: 1023)
      From: StndDefinedSchemaValidator.</opt/app/VESCollector/./etc/externalRepo/o-ran-sc/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml#/components/schemas/performance-measurement-job>.measurements.<#/components/schemas/measurements>.0.<items>.<#/components/schemas/measurement>.value.<oneOf>
      2021-12-17 12:11:49.763 ERROR 29 [io-8443-exec-10] o.o.d.r.VesRestController                : null
      
      

      Current workaround:

      We modified the schema - all works fine, when the 'value' is of type 'integer' only.

              value:
                # oneOf:
                #   - type: boolean
                #     description: A boolean value for the measurement.
                type: integer
                description: A integer value for the measurement.
                  # - type: number
                  #   description: A number value for the measurement.
                  # - type: string
                  #   description: A string value for the measurement.
                # description: 'The value of the measurement type for its period.  
      

      Such modification is used in O-RAN-SC E-Release for VES-Collector [configuration|https://gerrit.o-ran-sc.org/r/gitweb?p=oam.git;a=blob_plain;f=solution/integration/smo/oam/ves-collector/externalRepo/o-ran-sc/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml;hb=refs/heads/e-release] .

      Request:

      Please support 'values' with 'oneOf' types. 

      Attached a VES json used by O-RAN-SC E-Release -> ves-pm-stream.json

       

            vv770d vv770d
            demx8as6 demx8as6
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: