Re: [netmod] LL comments on draft-rwilton-netmod-yang-packages-00

Robert Wilton <rwilton@cisco.com> Wed, 30 January 2019 18:12 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 601FE131305 for <netmod@ietfa.amsl.com>; Wed, 30 Jan 2019 10:12:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.643
X-Spam-Level:
X-Spam-Status: No, score=-14.643 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AbnT_r98l_om for <netmod@ietfa.amsl.com>; Wed, 30 Jan 2019 10:12:04 -0800 (PST)
Received: from aer-iport-1.cisco.com (aer-iport-1.cisco.com [173.38.203.51]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 35D2D130ECE for <netmod@ietf.org>; Wed, 30 Jan 2019 10:12:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3512; q=dns/txt; s=iport; t=1548871924; x=1550081524; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=aD56lK9Tc5tvOJjjn3um8bNTUlw+4lWKk0u2ATmrl78=; b=UEW7NRk0mHiBRrUaomOOz2NZ8yvw7Ig3e+gMQoXYXWyHSBruItCUv4qA PFBjvPAiYrW0SDJJpF2nYhA9OmBR300EEknnx8Ki1qjSZG+m+HnbtCy0o ErUurPr7tgOYYg7kqIiXxjQpupjk8rogUOwo4E/x0ZvYnv9lb6xj/UDI2 E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0A/AADA51Fc/xbLJq1lGwEBAQEDAQEBBwMBAQGBVAMBAQELAYFVgWYgEoQqiHmNIZoIDYRsAoMpNwYNAQMBAQIBAQJtKIVKAQEBAQIBIw8BBVELGAICJgICVxMIAQEXgweBegisOoEvhUOEcoELi0yBQD+BOIJrhGuDH4JXAoohmDcJkiwGGIo5h3qUSocYgVwigVYzGggbFTuCbYImF44ePwOQNwEB
X-IronPort-AV: E=Sophos;i="5.56,541,1539648000"; d="scan'208";a="9768341"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jan 2019 18:12:02 +0000
Received: from [10.63.23.64] (dhcp-ensft1-uk-vla370-10-63-23-64.cisco.com [10.63.23.64]) by aer-core-4.cisco.com (8.15.2/8.15.2) with ESMTP id x0UIC2iM020572 for <netmod@ietf.org>; Wed, 30 Jan 2019 18:12:02 GMT
To: netmod@ietf.org
References: <877eemjj2g.fsf@nic.cz>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <b6b679bb-9f79-7f47-1bce-91ea54f790de@cisco.com>
Date: Wed, 30 Jan 2019 18:12:02 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0
MIME-Version: 1.0
In-Reply-To: <877eemjj2g.fsf@nic.cz>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-Outbound-SMTP-Client: 10.63.23.64, dhcp-ensft1-uk-vla370-10-63-23-64.cisco.com
X-Outbound-Node: aer-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/0DuuXpORmF63xeRJZIo-6quyUrg>
Subject: Re: [netmod] LL comments on draft-rwilton-netmod-yang-packages-00
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Jan 2019 18:12:06 -0000

Hi Lada,

Thanks for the review and comments ...

I've added some thoughts inline ...

On 30/01/2019 14:50, Ladislav Lhotka wrote:
> Hi,
>
> I think it is a good start, here are my comments (some of them were
> already raised by Jason):
>
> - I like the fact that this work doesn't require any changes to YANG,
>    except perhaps semver.

RW: OK.


>
> - I think the augments to YANG library is a separate problem that should
>    perhaps be addressed in a different document. Servers supporting
>    multiple package revisions may not be that common.

RW:

I completely agree that servers supporting multiple package revisions 
may not be that common, and I agree that any specification on how a 
server could support multiple packages, and perform package selection 
should be in a separate draft.

But the YANG library augmentations aren't there only to support this use 
case.  My intention is to make it easier for devices to advertise a 
package representing what each datastore schema is rather than having to 
fetch the full contents of YANG library.

E.g. a server might implement 900+ modules/sub-modules for a given 
release.  Different hardware will mostly implement the same modules, but 
there might be some differences.  If bugs have been patched then there 
might be some differences.  I'm aiming for a solution where a client 
doesn't have to fetch the full list of YANG modules for each server to 
figure out the schema for the device, which is probably the same as 
another 1000 devices in the network.

Instead, I would like the vendor to publish a package for that 
particular release, with variants depending on the hardware.  The device 
can then advertise that it uses that base package, along with the small 
set of differences (e.g. due to bug fixes).


>
> - I was expecting that a package could specify a range of revisions for
>    some modules that may be used together with teh others. This doesn't
>    seem to be the case. If so, it would be somewhat unwieldy because every
>    combination of module revisions would require a separate package
>    revision.

RW:

Yes, this is an interesting point.

My intention is that there is a roughly linear history of package 
versions.  E.g. if there was a package of all IETF modules, then every 
time a new version of an IETF module is published, the package 
definition would be updated to a new version that includes the new 
published module revision. I think that we need to try and somewhat 
constraint the versions of modules that can sensibly be used together.


>
> - As Jason pointed out, there seems to be no use for the package
>    namespace, as packages don't define any names on their own.

Yes, I will remove the text about namespaces.  Globally unique package 
names should be sufficient.


>
> - I would also prefer mandatory-features to be bundled with each module.
>
> - This draft nicely shows that there is really no need for any
>    "yang-data" extensions. But I also don't see any benefit from using
>    ietf-yang-instance-data in this case. It would IMO be perfectly fine
>    to get rid of two levels of data hierarchy:
>
>    { "ietf-yang-package:yang-package": {
>        ...
>      }
>    }

That's an interesting point.  My thought is that all at rest YANG data 
would be encoded in YANG instance data documents to make them more 
easily machine parse-able.

Thanks,
Rob


>
> Thanks, Lada
>
>