Subject: [lmap] why do we have a configurable device-id in the information model?

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 10 Oct 2016 19:33:20 +0200

Hi,

while going through Martin's review comments for the YANG model, the
question came up why the device-id in the information model is
configurable. Would it not be sufficient if there is a read-only
device-id?

Right now, the information model have a device-id in both the
ma-preconfig-obj and the ma-config-obj. In addition, we have a
device-id in the ma-status-obj and it seems to me the having it only
in the ma-status-obj would be enough.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

---

From: "Carey, Timothy (Nokia - US)" <[email-masked]>
Date: Mon, 10 Oct 2016 17:52:33 +0000

Juergen,

I believe it was because the LMAP controller wanted to control the id assigned to the device in the setup of the agent. It went along with the group identifier and UUID of the measurement agent.

In the TR-069 we already have this attribute as part of the base TR-181 data model so removing it from the configuration aspect and leaving it for status is perfectly fine for us.

BR,
Tim

-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]] 
Sent: Monday, October 10, 2016 12:33 PM
To: [email-masked]
Subject: [lmap] why do we have a configurable device-id in the information model?

Hi,

while going through Martin's review comments for the YANG model, the question came up why the device-id in the information model is configurable. Would it not be sufficient if there is a read-only device-id?

Right now, the information model have a device-id in both the ma-preconfig-obj and the ma-config-obj. In addition, we have a device-id in the ma-status-obj and it seems to me the having it only in the ma-status-obj would be enough.

/js

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 10 Oct 2016 21:56:54 +0200

Tim,

I think the Controller is simply not in charge to define a device-id.
The playground for the Controller is the LMAP agent-id, not any global
device-ids. Or perhaps the device-id was not meant to be a global
device-id but rather an LMAP specific device-id. But then, what is the
use case for this, given that we have an agent-id?

So I am checking RFC 7594 and it mentions a device identifier as part
of the bootstrapping process:

   As a result of the Bootstrapping process, the MA learns the following
   information ([LMAP-INFO] defines the consequent list of information
   elements):

   o  its identifier, either its MA-ID or a device identifier such as
      one of its Media Access Control (MAC) addresses or both.

   o  (optionally) a Group-ID, shared by several MAs and could be useful
      for privacy reasons.  For instance, reporting the Group-ID and not
      the MA-ID could hinder tracking of a mobile device.

I did not find any other reference to a device identifier in RFC 7594.
So unless someone speaks up soon for keeping the device-id in the
ma-preconfig-obj and ma-config-obj, I will remove it from the
ma-preconfig-obj and ma-config-obj.

On Mon, Oct 10, 2016 at 05:52:33PM +0000, Carey, Timothy (Nokia - US) wrote:
> _______________________________________________
> lmap mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/lmap

---

From: "Carey, Timothy (Nokia - US)" <[email-masked]>
Date: Mon, 10 Oct 2016 20:18:15 +0000

Juergen,

You are correct this is used the MA preconfiguration where the device identifier is set.
So it really should be removed from the configuration object - I don't think you can set it after preconfiguration.
And if you want to change it - that should be outside the scope of LMAP.

BR,
Tim

-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]] 
Sent: Monday, October 10, 2016 2:57 PM
To: Carey, Timothy (Nokia - US) <[email-masked]>
Cc: [email-masked]
Subject: Re: [lmap] why do we have a configurable device-id in the information model?

Tim,

I think the Controller is simply not in charge to define a device-id.
The playground for the Controller is the LMAP agent-id, not any global device-ids. Or perhaps the device-id was not meant to be a global device-id but rather an LMAP specific device-id. But then, what is the use case for this, given that we have an agent-id?

So I am checking RFC 7594 and it mentions a device identifier as part of the bootstrapping process:

I did not find any other reference to a device identifier in RFC 7594.
So unless someone speaks up soon for keeping the device-id in the ma-preconfig-obj and ma-config-obj, I will remove it from the ma-preconfig-obj and ma-config-obj.

On Mon, Oct 10, 2016 at 05:52:33PM +0000, Carey, Timothy (Nokia - US) wrote:
> From: Juergen Schoenwaelder 
> [mailto:[email-masked]]

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 10 Oct 2016 22:27:27 +0200

Tim,

I would remove it also from the ma-preconfig-obj. I think that the
LMAP controller learns the device-id from the device during the
bootstrapping process, not the other way round. The LMAP controller is
in my view not the entity to configure or bootstrap device-ids.

I think this is actually a bug in RFC 7594. (Unless there is a very
special LMAP specific usage of this ID, which I did not manage to
find.)

/js

---

From: "Carey, Timothy (Nokia - US)" <[email-masked]>
Date: Mon, 10 Oct 2016 20:38:16 +0000

Juergen,

I wouldn't do that without bringing it to the group - the framework was clear about the need to convey the device-id among other things like the controller URI in the bootstrap (pre-config).
If it is a bug in the framework then fine - I would remove it if the group agrees.

I can say that in telecom  we do allow for device identifiers to be set in bootstrap sequences - think about it in the mobile setting - where you might set the device's external identifier to something that that provider understands... 

BR,
Tim

-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]] 
Sent: Monday, October 10, 2016 3:27 PM
To: Carey, Timothy (Nokia - US) <[email-masked]>
Cc: [email-masked]
Subject: Re: [lmap] why do we have a configurable device-id in the information model?

Tim,

I would remove it also from the ma-preconfig-obj. I think that the LMAP controller learns the device-id from the device during the bootstrapping process, not the other way round. The LMAP controller is in my view not the entity to configure or bootstrap device-ids.

I think this is actually a bug in RFC 7594. (Unless there is a very special LMAP specific usage of this ID, which I did not manage to
find.)

/js

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Fri, 14 Oct 2016 10:41:50 +0200

> I can say that in telecom  we do allow for device identifiers to be set in bootstrap sequences - think about it in the mobile setting - where you might set the device's external identifier to somet…

I claim that setting a device-id is not the function of an LMAP
controller. There are many things that one may want to bootstrap
and that are outside LMAP.

Chairs, can we get this resolved somehow? The document updates are
blocked on this.

/js

---

From: "Carey, Timothy (Nokia - US)" <[email-masked]>
Date: Fri, 14 Oct 2016 11:10:48 +0000

Well if we go that route - all the pre-config needs to be removed as the intent was that was used to config the MA for communication to the controller. So if you remove the device-id you need to remove the pre-config concept from the IM. Which I do not think was the intent. The IM wasn't simply between a Controller and MA but was used to support the Framework.

BR,
Tim

-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]] 
Sent: Friday, October 14, 2016 3:42 AM
To: Carey, Timothy (Nokia - US) <[email-masked]>
Cc: [email-masked]
Subject: Re: [lmap] why do we have a configurable device-id in the information model?

> I can say that in telecom  we do allow for device identifiers to be set in bootstrap sequences - think about it in the mobile setting - where you might set the device's external identifier to somet…

I claim that setting a device-id is not the function of an LMAP controller. There are many things that one may want to bootstrap and that are outside LMAP.

Chairs, can we get this resolved somehow? The document updates are blocked on this.

/js

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 31 Oct 2016 16:12:07 +0100

Tim,

the pre-configuration object provides the information necessary to
talk to the _LMAP controller_. This information is only redundant in
case the LMAP controller is the same entity controlling other aspects
of the device, which might be the case within BBF's framework but is
not generally assumed to be true.

I do not see why an LMAP controller would be in charge of configuring
the device id (or any other properties of a device that are not LMAP
specific).

/js

---

From: "Carey, Timothy (Nokia - US)" <[email-masked]>
Date: Mon, 31 Oct 2016 16:47:38 +0000

Juergen,

You are indeed correct - if you are modelling the MA to Controller information elements you do not need the preconfiguration information elements. 
That is between the "bootstrap" system and the MA. The information model provides the information elements of the Framework not just the MA to controller information flows...
Just as the first sentence in the Abstract says....
This Information Model applies to the Measurement Agent within a
Large-Scale Measurement Platform. As such it outlines the
information that is (pre-)configured on the Measurement Agent or
exists in communications with a Controller or Collector within an
LMAP framework.

All the pre-config does is outline what information is on the device - which of course the device ID is one element.

BR,
Tim
-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]] 
Sent: Monday, October 31, 2016 10:12 AM
To: Carey, Timothy (Nokia - US) <[email-masked]>
Cc: [email-masked]
Subject: Re: [lmap] why do we have a configurable device-id in the information model?

Tim,

the pre-configuration object provides the information necessary to talk to the _LMAP controller_. This information is only redundant in case the LMAP controller is the same entity controlling other aspects of the device, which might be the case within BBF's framework but is not generally assumed to be true.

I do not see why an LMAP controller would be in charge of configuring the device id (or any other properties of a device that are not LMAP specific).

/js

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 31 Oct 2016 18:02:44 +0100

> All the pre-config does is outline what information is on the device - which of course the device ID is one element.

I am raising a technical argument, you respond with a formal
argument. This does not help to resolve the issue. A device has lots
of information that is not in the pre-config, some is listed in
capability and status information.  Note that I have zero problem to
report ma-status-device-id in ma-status-obj.  All I question is that
the device-id is part of the LMAP ma-preconfig-obj and the LMAP
ma-config-obj.

Note that this discussion was triggered by a comment Martin made when
he was reviewing the YANG data model. The YANG data model has this
configurable device-id because the info model has it and the info
model has it because of this statement in the framework:

I believe this sentence is wrong or its interpretation is wrong. I do
think the LMAP controller is in charge of assigning the MA-ID, I do
not consider it in charge to assign a device identifier. The bootstrap
process may yield one but the device identifier seems out of scope for
the LMAP controller. Note that there is additional text:

   The details of the Bootstrapping process are device/access specific.
   For example, the information could be in the firmware, manually
   configured, or transferred via a protocol like that described in
   TR-069 [TR-069].  There may be a multi-stage process where the MA
   contacts a 'hard-coded' address, which replies with the Bootstrapping
   information.

Hence, I think we are not in any way violating the framework by not
having the device-id in ma-preconfig-obj or ma-config-obj in the LMAP
information model.

/js

---

From: "Carey, Timothy (Nokia - US)" <[email-masked]>
Date: Mon, 31 Oct 2016 20:53:01 +0000

Juergen,

As I understand it some SPs want to modify the device identifier to an identifier that they understand. This is done in certain domains - for example the devices serial number may not be what the SP uses to identify the device so they designate one.
So it does need to be part of the pre-config. It does not have to be part of the ma-config as the ma-config is between the controller and MA.

The Framework RFC does talk about the fact that what you discussed in section 5.1
   As a result of the Bootstrapping process, the MA learns the following
   information ([LMAP-INFO] defines the consequent list of information
   elements):

This is followed up in the IM RFC in section 3.1
The MA may be pre-configured with an MA ID, or may use a Device ID in
the first Controller contact before it is assigned an MA ID. The
Device ID may be a MAC address or some other device identifier
expressed as a URI. If the MA ID is not provided at this stage then
it must be provided by the Controller during Configuration.

So it looks like a bootstrap server may not configure the MA agent identifier but leave that to the controller.
The only way it can then know the MA on first contact is through the device ID which again the SP might need to configure.

BR,
Tim

-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]] 
Sent: Monday, October 31, 2016 12:03 PM
To: Carey, Timothy (Nokia - US) <[email-masked]>
Cc: [email-masked]
Subject: Re: [lmap] why do we have a configurable device-id in the information model?

On Mon, Oct 31, 2016 at 04:47:38PM +0000, Carey, Timothy (Nokia - US) wrote:
> Large-Scale Measurement Platform. As such it outlines the information 
> that is (pre-)configured on the Measurement Agent or exists in 
> communications with a Controller or Collector within an LMAP 
> framework.
> 

I am raising a technical argument, you respond with a formal argument. This does not help to resolve the issue. A device has lots of information that is not in the pre-config, some is listed in capability and status information.  Note that I have zero problem to report ma-status-device-id in ma-status-obj.  All I question is that the device-id is part of the LMAP ma-preconfig-obj and the LMAP ma-config-obj.

Note that this discussion was triggered by a comment Martin made when he was reviewing the YANG data model. The YANG data model has this configurable device-id because the info model has it and the info model has it because of this statement in the framework:

I believe this sentence is wrong or its interpretation is wrong. I do think the LMAP controller is in charge of assigning the MA-ID, I do not consider it in charge to assign a device identifier. The bootstrap process may yield one but the device identifier seems out of scope for the LMAP controller. Note that there is additional text:

Hence, I think we are not in any way violating the framework by not having the device-id in ma-preconfig-obj or ma-config-obj in the LMAP information model.

/js

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 31 Oct 2016 22:15:51 +0100

Tim,

so you agree to remvoe the device-id from the ma-preconfig-obj and the
ma-config-obj since the LMAP controller does not configure the
device-id?

Note that the device-id remains in ma-status-obj. The various status
and capability objects enable the controller to learn what an MA can
do, what kind of interfaces it has, etc. and all of this is not part
of ma-preconfig-obj. In other words, if an MA contacts an LMAP
controller for the first time, the controller likely will request the
capability and status information (and with it get the device-id).

/js

---

From: "Carey, Timothy (Nokia - US)" <[email-masked]>
Date: Mon, 31 Oct 2016 21:31:00 +0000

Not the preconfig; just the ma-config.

Again the pre-config doesn't come into play between the MA and controller interaction. Why do you want to remove it from the pre-config - that's between the bootstrap server and the ma.

BR,
Tim

-----Original Message-----
From: Juergen Schoenwaelder [mailto:[email-masked]] 
Sent: Monday, October 31, 2016 4:16 PM
To: Carey, Timothy (Nokia - US) <[email-masked]>
Cc: [email-masked]
Subject: Re: [lmap] why do we have a configurable device-id in the information model?

Tim,

so you agree to remvoe the device-id from the ma-preconfig-obj and the ma-config-obj since the LMAP controller does not configure the device-id?

Note that the device-id remains in ma-status-obj. The various status and capability objects enable the controller to learn what an MA can do, what kind of interfaces it has, etc. and all of this is not part of ma-preconfig-obj. In other words, if an MA contacts an LMAP controller for the first time, the controller likely will request the capability and status information (and with it get the device-id).

/js

On Mon, Oct 31, 2016 at 08:53:01PM +0000, Carey, Timothy (Nokia - US) wrote:
> This is followed up in the IM RFC in section 3.1 The MA may be 
> pre-configured with an MA ID, or may use a Device ID in the first 
> Controller contact before it is assigned an MA ID. The Device ID may 
> be a MAC address or some other device identifier expressed as a URI. 
> If the MA ID is not provided at this stage then it must be provided by 
> the Controller during Configuration.
>

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 31 Oct 2016 23:14:49 +0100

Tim,

there are many things to bootstrap which we do not talk about. I always
looked at the ma-preconfig-obj as the subset of the ma-config-obj that
needs to be present in order to connect to the LMAP controller.

   The ma-preconfig-obj is essentially a subset of the ma-config-obj
   described below.

/js