Skip to end of metadata
Go to start of metadata

 | 2am PST | 5am EST | 09:00 UTC | 10:00 BST | 11:00 CEST | 12:00 EEST | 14:30 IST | 17:00 CST | 18:00 JST |

Web Conference: 


(please feel free to correct and update your names (wink) Thank you very much!!!) 

Discussion items

00:00Chair topic 
no update 



2022-06-22: Thorsten Heinze , Alex Stancu 

2022-06-29: Martin Skorupski 

2022-06-08: Martin Skorupski

2022-06-15: Martin Skorupski

Info: DIMP tomorrow is cancelled. 


'required-instance false' and its contradiction by a must-statement

Michael Binder 


leaf transmission-mode-min {
  type leafref {
    path ... pointing to read-only capabilities ...
       require-instance false;
   must 'deref(.) = current()';
   description  ...

> We have seen the problem for transmission-mode-min and transmission-mode-max, but we will likely have the same problem for transmission-mode (we just have not implemented that attribute yet).
[sko] I also assume a more general issue. So we may even see it in other conditional packages.

> The problem occurs during startup of the node.
[sko] yep - we use in the yang model 'require-instance false' but make it 'required' by a must statement.
So in fact we it is the same as 'required-instance true'. Just that now pyang does not complain.

> The configuration is loaded before any operational state data is available, which means that when the transmission-mode-min and transmission-mode-max is being populated, the transmission-mode-list does not exist. The must statement therefor gives a run-time error and causes libyang to crash.
[sko] yes.

> Our understanding of NETCONF is that it is expected that configuration data exist before operational state data. Extract from NETCONF 1.1:  
>     configuration datastore: The datastore holding the complete set of
>       configuration data that is required to get a device from its
>       initial default state into a desired operational state.

[sko] your problem is that the data which is referenced is static data and independent form the configuration. Therefor, one could argue that it is not 'operational data'. Not sure if such argumentation would guide us in a right direction.

> The YANG RFC has the following rule that allows configuration data to refer to operational state data only if require-instance is false:
>    If the referring node represents configuration data and the
>    "require-instance" property (Section 9.9.3) is "true", the referred
>    node MUST also represent configuration.
> The must statement seems to be a contradiction to this rule and for our node it causes a problem during startup.
[sko] that is a correct analysis and was the intention of the must statement.

> The node has a validation in the backend to check that the configured value is correct and supported by the specific modem and radio combination and this validation works both in the startup phase and during normal operation. We don’t see that it is necessary to have the validation in the YANG model itself.

Next step (2022-06-15):

  • issue creation in "air-interface-2-0" Please see :
  • include Prathiba
  • working assumption: remove 'must 'deref(.) = current()';' from yang models 
  • once agreed - this change will apply to other conditional packages too. 

Affected yang modules:

  • air-interface-2-0
  • core-model-1-4
  • ethernet-container-2-0
  • hybrid-mw-structure-2-0
  • tdm-container-2-0
  • wire-interface-2-0

raw data:

└─ $ ▶ grep -anri "deref" *.yang
air-interface-2-0.yang:557:      must 'deref(.) = current()';
air-interface-2-0.yang:566:      must 'deref(.) = current()';
air-interface-2-0.yang:1402:      must 'deref(.) = current()';
core-model-1-4.yang:1188:      must 'deref(.) = current()';
core-model-1-4.yang:1199:      must 'deref(.) = current()';
core-model-1-4.yang:1297:      must 'deref(.) = current()';
core-model-1-4.yang:1306:      must 'deref(.) = current()';
core-model-1-4.yang:1484:      must 'deref(.) = current()';
core-model-1-4.yang:1786:      must 'deref(.) = current()';
ethernet-container-2-0.yang:597:      must 'deref(.) = current()';
hybrid-mw-structure-2-0.yang:362:      must 'deref(.) = current()';
tdm-container-2-0.yang:297:      must 'deref(.) = current()';
wire-interface-2-0.yang:577:      must 'deref(.) = current()';
wire-interface-2-0.yang:586:      must 'deref(.) = current()';



Adding new layer-protocol discussion

00:00Backup and Restore@Sentival 

Requirements from TEF:

Comments could be addressed by adding issues in GitHub.

  • Backup and Restore Operations

    • backup configuration to FTP server
    • restore configuration from FTP server AND activate
    • abord operation individual for backup and restore
    • rollback to previous configuration stored in the device
    • applyRestoreOperation
  • Note: Mediator Instance Manager backup-and-restore functions are covered by app and cloud functions

  • status

    • backupOperationStatus
    • restoreOperationStatus

Action items