Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 1.4.2 RC - Findings #165

Closed
dsilhavy opened this issue Sep 26, 2024 · 2 comments · Fixed by #167
Closed

Version 1.4.2 RC - Findings #165

dsilhavy opened this issue Sep 26, 2024 · 2 comments · Fixed by #167
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@dsilhavy
Copy link
Contributor

dsilhavy commented Sep 26, 2024

RC-1

This issue will be updated if additional observations are made.

Installation

Findings and problems when doing a fresh installation of the Application Function v1.4.2 RC-1. The underlying OS:
Description: Ubuntu 22.04.4 LTS

Missing dependency libpcre2-dev

Run sudo apt install libpcre2-dev to solve this

Different meson versions

We need to make sure to install compatible meson versions for the sudo and the local user. Following our installation instructions leads to the installation of different meson versions:

dsi@dsi-ThinkPad-T460p:~/5gmag/rt-5gms-application-function$ meson -v
1.5.2
dsi@dsi-ThinkPad-T460p:~/5gmag/rt-5gms-application-function$ sudo meson -v
0.6.1

This seems to cause a modulenotfounderror no module named mesonbuild.options' error.

By running sudo python3 -m pip install meson the problem was solved.

Feature Tests

Reflect the enabled state of PolicyTemplate provisioning in the OPTIONS method

I can confirm that the Allow header provides only the Options value in case open5gs integration is not enabled
Related issue: #45

Bildschirmfoto 2024-09-26 um 10 36 09

TS26.512 v17.9.1 uplift

Error responses

I can confirm error responses include a invalidParams field now:

{
    "type": "/3gpp-m1/v2",
    "title": "Bad request.",
    "status": 400,
    "detail": "Bad MetricsReportingConfiguration for provisioning session [91236646-7be1-41ef-b025-735e6ac3a5f0]: Field \"samplePercentage\" value is less than 0.0 [range [0.0..100.0]]",
    "instance": "/provisioning-sessions/91236646-7be1-41ef-b025-735e6ac3a5f0/metrics-reporting-configurations",
    "invalidParams": [
        {
            "param": "samplePercentage",
            "reason": "Field \"samplePercentage\" value is less than 0.0 [range [0.0..100.0]]"
        }
    ]
}

MetricsReportingConfiguration.sliceScope

The sliceScope is part of the MetricsReportingConfiguration. It looks like an empty array can be provided alhtough minItems is set to 1. As an example:

TS26512_M1_MetricsReportingProvisioning

   sliceScope:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1

TS29571_CommonData

Snssai:
      type: object
      properties:
        sst:
          type: integer
          minimum: 0
          maximum: 255
          description: >
            Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. 
            It indicates the expected Network Slice behaviour in terms of features and services.
            Values 0 to 127 correspond to the standardized SST range. Values 128 to 255 correspond 
            to the Operator-specific range. See clause 28.4.2 of 3GPP TS 23.003.
            Standardized values are defined in clause 5.15.2.2 of 3GPP TS 23.501. 

        sd:
          type: string
          pattern: '^[A-Fa-f0-9]{6}$'
          description: >
            3-octet string, representing the Slice Differentiator, in hexadecimal representation.
            Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F"
            and shall represent 4 bits. The most significant character representing the 4 most
            significant bits of the SD shall appear first in the string, and the character
            representing the 4 least significant bit of the SD shall appear last in the string.
            This is an optional parameter that complements the Slice/Service type(s) to allow to 
            differentiate amongst multiple Network Slices of the same Slice/Service type. This IE
            shall be absent if no SD value is associated with the SST.
      description: >
        When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall
        be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits
        "sd".

      required:
        - sst

Create operation:

{
    "scheme": "",
    "dataNetworkName": "",
    "reportingInterval": 10,
    "samplePercentage": 100,
    "urlFilters": [],
    "samplingPeriod": 5,
    "metrics": ["urn:3GPP:ns:PSS:DASH:QM10#HTTPList", "urn:3GPP:ns:PSS:DASH:QM10#BufferLevel", "urn:3GPP:ns:PSS:DASH:QM10#RepSwitchList", "urn:3GPP:ns:PSS:DASH:QM10#MPDInformation"],
    "sliceScope": []
}

GET operation:

{
    "metricsReportingConfigurationId": "cc34da1e-7be4-41ef-b025-735e6ac3a5f0",
    "sliceScope": [],
    "scheme": "",
    "dataNetworkName": "",
    "reportingInterval": 10,
    "samplePercentage": 100,
    "urlFilters": [],
    "samplingPeriod": 5,
    "metrics": [
        "urn:3GPP:ns:PSS:DASH:QM10#HTTPList",
        "urn:3GPP:ns:PSS:DASH:QM10#BufferLevel",
        "urn:3GPP:ns:PSS:DASH:QM10#RepSwitchList",
        "urn:3GPP:ns:PSS:DASH:QM10#MPDInformation"
    ]
}
@davidjwbbc
Copy link
Contributor

davidjwbbc commented Sep 26, 2024

Array sizes are not checked by the OpenAPI templates at present... There is no issue open to address this, thought I'd already created one but appears I missed it, I'll raise one.

davidjwbbc added a commit to davidjwbbc/rt-5gms-application-function that referenced this issue Sep 26, 2024
Add installation of libpcre2-dev dependency and update of system meson via pip tool.
@davidjwbbc
Copy link
Contributor

I'll drop in a PR for a README change to address the missing dependency and meson version differences.

@davidjwbbc davidjwbbc self-assigned this Sep 26, 2024
@davidjwbbc davidjwbbc added documentation Improvements or additions to documentation enhancement New feature or request labels Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
2 participants