Menu

#1906 clm: add support for long DN

5.1.FC
fixed
None
enhancement
clm
-
major
2016-09-12
2016-07-04
No

Ticket [#191] introduces support for long DN.
This ticket adds the support for long RDN to CLM.

Today, there is no any reason for the support for long DN in CLM.
The main reason for adding support for long DN is to support long RDN. In SaClmNode class, safNode attribute may have a hostname which can be up to 63 bytes. Together with prefix "safNode=", RDN exceedes RDN limitation of 64 bytes.

Limit of 255 bytes for DN will still remain after applying the patch. Only long RDN will be supported.

The same limitation applies to PLM entities in CLM.

Related

Tickets: #1906
Tickets: #191
Tickets: #1981
Wiki: NEWS-5.1.0

Discussion

  • Zoran Milinkovic

    • status: unassigned --> accepted
     
  • Mathi Naickan

    Mathi Naickan - 2016-07-04

    Hi Zoran,

    I think this has now become the 'usually' asked question on this topic of long DN.
    It is amusing to me that we are supporting long DNs for anything else other than AMF, LOG, NTF, SMF, IMM.

    So, perhaps you could share the motivation/usecase behind configuring node names of such size!?
    Iam just trying to avoid unwanted changes!
    Also, before you start working on the ticket please let me know how you are planning to go about making the changes.

    Thanks,
    Mathi.

     
    • Zoran Milinkovic

      Hi Mathi,

      The main use case for adding support for long DN in CLM is Section 7.4 in the 3GPP document (ftp://www.3gpp.org/TSG_SA/WG5_TM/TSGS5_76/_specs_for_checking/32300-a00.doc).

      SaNameT type is not used much in API.
      Only two places where SaNameT can be found are SaClmClusterTrackCallbackT and SaClmClusterNodeT_4.
      saClmClusterNodeGet_4, saClmClusterNotificationFree_4, SaClmClusterNodeGetCallbackT_4 and SaClmClusterNotificationT_4 struct are indirectly affected by using SaClmClusterNodeT_4 struct.

      Length of the node name member in SaClmClusterNodeT_4 cannot exceed 255 characters. Max allowed length for domain name is 255 (RFC 1035). But we still can add support for long DN (even node name is not DN :) ), and check that the name cannot exceed 255 characters.
      Other two places where DN is used are for DN for PLM (EE) and rootCauseEntity (DN of PLM entity).

      It's very unlikely, but someone can set node name or cluster name long enough that DN of SaClmCluster or SaClmNode exceed 255 characters.
      In this case CLM will have a problem with IMM callbacks.

      These are more-less main reasons for implementing support for long DN in CLM.

      Thanks,
      Zoran

      -----Original Message-----
      From: Mathi Naickan [mailto:mathi-naickan@users.sf.net]
      Sent: den 4 juli 2016 16:21
      To: [opensaf:tickets]
      Subject: [opensaf:tickets] #1906 clm: add support for long DN

      Hi Zoran,

      I think this has now become the 'usually' asked question on this topic of long DN.
      It is amusing to me that we are supporting long DNs for anything else other than AMF, LOG, NTF, SMF, IMM.

      So, perhaps you could share the motivation/usecase behind configuring node names of such size!?
      Iam just trying to avoid unwanted changes!
      Also, before you start working on the ticket please let me know how you are planning to go about making the changes.

      Thanks,
      Mathi.


      [tickets:#1906] clm: add support for long DN

      Status: accepted
      Milestone: 5.1.FC
      Created: Mon Jul 04, 2016 01:10 PM UTC by Zoran Milinkovic Last Updated: Mon Jul 04, 2016 01:37 PM UTC
      Owner: Zoran Milinkovic

      Ticket [#191] introduces support for long DN.
      This ticket adds the support for long DN to CLM.


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/opensaf/tickets/1906/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       

      Related

      Tickets: #1906
      Tickets: #191

  • Hans Nordebäck

    Hans Nordebäck - 2016-07-06

    you can refactor clmsv to:
    1) compile with c++
    2) replace SaNameT with std::string
    3) replace Patricia tree with stl::map or reuse AmfDb

    /Thanks Hans

     
  • Mathi Naickan

    Mathi Naickan - 2016-07-07
     
  • Mathi Naickan

    Mathi Naickan - 2016-07-07

    Hi Zoran.

    Thanks for the response. But, based the details you shared iam still to visualize a practical use-case. I think for the user who configures big names, documentation can exist(s) that these are not supported.
    Please don't plan to work on this, i see this is a waste of time!

    Thanks,
    Mathi.

     
  • Zoran Milinkovic

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,2 +1,11 @@
     Ticket [#191] introduces support for long DN.
    -This ticket adds the support for long DN to CLM.
    +This ticket adds the support for long RDN to CLM.
    +
    +Today, there is no any reason for the support for long DN in CLM.
    +The main reason for adding support for long DN is to support long RDN. In SaClmNode class, safNode attribute may have a hostname which can be up to 63 bytes. Together with prefix "safNode=", RDN exceedes RDN limitation of 64 bytes.
    +
    +Limit of 255 bytes for DN will still remain after applying the patch. Only long RDN will be supported.
    +
    +The same limitation applies to PLM entities in CLM.
    +
    +
    
     

    Related

    Tickets: #191

  • Zoran Milinkovic

    • status: accepted --> review
     
  • Mathi Naickan

    Mathi Naickan - 2016-08-15
     
  • Mathi Naickan

    Mathi Naickan - 2016-08-15

    Pushed the first stab of the patch

    changeset: 7855:bc669776cf7f
    tag: tip
    user: Zoran Milinkovic zoran.milinkovic@ericsson.com
    date: Mon Aug 15 09:38:00 2016 +0530
    summary: clm: add support for long RDN [#1906]

    Keeping the ticket open, pending the following
    - testing backward compatibility
    - evaluate changes to CLMNA

     

    Related

    Tickets: #1906

  • Zoran Milinkovic

    changeset: 7859:722ce031a07b
    user: Zoran Milinkovic zoran.milinkovic@ericsson.com
    date: Tue Aug 16 09:57:11 2016 +0200
    summary: clm: fix decoding for SaNameT type [#1906]

    changeset: 7860:59d114fc4636
    tag: tip
    user: Zoran Milinkovic zoran.milinkovic@ericsson.com
    date: Tue Aug 16 11:28:24 2016 +0200
    summary: clm: fix string format for size_t type [#1906]

     

    Related

    Tickets: #1906

  • Ritu Raj

    Ritu Raj - 2016-08-24

    Hi Zoran,

    I observed crash with the patch #7855,
    Following testing steps followed:

                  1.saClmInitialize_4
                  2.saClmClusterTrack_4 with SA_TRACK_LOCAL and SA_TRACK_CHANGES
                  3.Change the attribute to get the callback
                  4.saClmDispatch()
                  5.saClmFinalize()
    

    Following message also observed:
    "osaf_extended_name.c:139: osaf_extended_name_length: Assertion 'length < SA_MAX_UNEXTENDED_NAME_LENGTH' failed"

    Below is the bt:
    0 0x00007f39b30d2b55 in raise () from /lib64/libc.so.6
    1 0x00007f39b30d4131 in abort () from /lib64/libc.so.6
    2 0x00007f39b1f3801e in osafassert_fail () from /usr/lib64/libopensaf_core.so.0
    3 0x00007f39b1f347ed in osaf_extended_name_length () from /usr/lib64/libopensaf_core.so.0
    4 0x00007f39b15c6aa0 in clmaclustertrack () at clma_api.c:183
    5 0x00007f39b15c7e04 in saClmClusterTrack_4 () from /usr/lib64/libSaClm.so.0
    6 0x00007f39b17e181f in _wrap_saClmClusterTrack_4 () from /opt/pyopensaf/lib64/_saClm.so**

    Trace file is attached
    Note: longDn disabled

     

    Last edit: Ritu Raj 2016-08-24
  • Zoran Milinkovic

    Hi Ritu,

    It seems that executionEnvironment in SaClmClusterNotificationBufferT_4 struct has a value length longer than 255 characters.

    Can you check how long is executionEnvironment ?

     
  • Ritu Raj

    Ritu Raj - 2016-08-26

    Hi Zoran,

    We did't added any clm node or changes any configuration, the default one is used.
    Also, the test case are not related to longDn.

     
  • Zoran Milinkovic

    Hi Ritu,

    Can you check your test case that executionEnvironment is using value longer than 255 characters ?

    I'm asking you this because before the patch, CLM allowed to use SaNameT value up to 256 characters. But in this case CLM removed the last 256th character and set \0. So SaNameT value is not the same before and after sending to CLM.
    After applying the patch, it's allowed to use SaNameT values up to 255 characters like in IMM. Frankly, I have no idea how CLM stored this values in IMM earlier.

     
  • Zoran Milinkovic

    New tests in clmtest:

    changeset: 7978:3909b5da523b
    tag: tip
    user: Zoran Milinkovic zoran.milinkovic@ericsson.com
    date: Fri Aug 26 16:05:37 2016 +0200
    summary: clm: add clm tests for testing long RDN support in clm [#1906]

     

    Related

    Tickets: #1906

  • Mathi Naickan

    Mathi Naickan - 2016-08-29
    • status: review --> fixed
     
  • A V Mahesh (AVM)

    changeset: 7989:4d6caf6903cd
    tag: tip
    user: A V Mahesh mahesh.valla@oracle.com
    date: Tue Aug 30 11:05:31 2016 +0530
    summary: clm: test code build fix [#1906]

     

    Related

    Tickets: #1906

  • Mathi Naickan

    Mathi Naickan - 2016-09-12

    changeset: 187:ce165392b313
    tag: tip
    user: mathi.naickan@oracle.com
    date: Mon Sep 12 15:47:47 2016 +0530
    summary: clm: doc update for long RDN support in 5.1 [#1906]

     

    Related

    Tickets: #1906


Log in to post a comment.