Subject: Re: [netmod] I-D Action: draft-ietf-netmod-system-mgmt-01.txt

From: Martin Bjorklund <[email-masked]>
Date: Wed, 01 Aug 2012 15:02:07 -0700 (PDT)

Hi Jeff,

"Lange, Jeffrey K (GE Energy)" <[email-masked]> wrote:
> Looking over the most recent version of the system-mgmt model I was wondering
> if it would make sense to pull the configuration-source identity definition
> out into a more generic model?

This was discussed in the NETMOD session yesterday, and the general
feeling was that this should indeed be done.  So we propose to add a
new module ietf-config-source.yang to draft-ietf-netmod-system-mgmt,
with the following content:

  identity config-source {
    description
      "Base for all configuration sources.";
  }

  identity local-config {
    base config-source;
    description
      "Local configuration source.";
  }

  grouping config-source {
    leaf-list config-source {
      type identityref {
        base config-source;
      }
      ordered-by user;
      description
        "Indicates the ordered list of configuration source(s)
         that the server should use for the service.";
    }
  }

The ietf-system module will then import this module.

Note also the the dhcp config source is gone.  This was also discussed
in the session, and it was suggested that we do a new document with a
new (minimal) dhcp client module.  This new module will define the
"dhcp-config" identity.

/martin

---

From: Martin Bjorklund <[email-masked]>
Date: Thu, 02 Aug 2012 16:15:06 -0700 (PDT)

Hi,

I wonder if the config-source is such a good idea.  There are a bunch
of DHCP options, and as soon as we define an object that also can be
set using DHCP, we'd have to have a config-source equivalent.

For example, in the ip-model we have:

    leaf ip-forwarding { ... }
    list address { ... }

Now, you can of course get the ip address over dhcp, so we could do:

    leaf ip-forwarding { ... }
    list address { ... }
    uses config-source; // possibly set ip address from dhcp

But RFC 2132 also specifies an DHCP option to control ip forwarding.
So we'd have to do:

    container ip-forwarding {
      leaf enabled { ... }
      uses config-source;
    }
    container addresses {
      list address { ... }
      uses config-source;
    }

Not very pretty.

There's also an Interface MTU option (hmm).

For the routing draft there's an option for static routes.

Further, for the system draft, there are options in RFC 4833 to set
the timezone using dhcp.  So we have to add it in one more place.

These are the alternatives I see:

  1.  For each parameter that can be set over dhcp, make sure to
      include a config-source.

    - This does not really work since the set of DHCP options really
      is open ended.

  2.  Drop the config-source idea and configure which dhcp options to
      use in the upcoming dhcp client module.

  3.  A mix of 1 & 2 - use config-source only for some "common"
      objects (dns, ip address, ntp), but use 2 for other options.

    - Inconsistent, and difficult to define what "common" means.

So I propose solution 2 - drop the idea of a configuration source leaf
(i.e. remove it from the system draft), and leave it to a dhcp client
model (or whatever) to introduce proper enable/disable toggles and to
clarify how it interacts with local config (e.g., enabling DHCP
overwrites the usage of local config if DHCP is successful).

/martin

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Fri, 3 Aug 2012 01:29:57 +0200

> overwrites the usage of local config if DHCP is successful).

I agree.

/js (speaking as contributor)

-- 
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/>