Re: [netmod] How to handle configuration node being effective after system-restart?

"Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> Mon, 25 July 2022 22:46 UTC

Return-Path: <jason.sterne@nokia.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 C792EC13CCE8 for <netmod@ietfa.amsl.com>; Mon, 25 Jul 2022 15:46:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.491
X-Spam-Level:
X-Spam-Status: No, score=-2.491 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.582, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fxK43KThO3-K for <netmod@ietfa.amsl.com>; Mon, 25 Jul 2022 15:46:54 -0700 (PDT)
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2102.outbound.protection.outlook.com [40.107.237.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0AF7CC13CCC7 for <netmod@ietf.org>; Mon, 25 Jul 2022 15:46:53 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eat4mMVO1i91rRsE3W1OLkwBqho0dXL5582DYSxvsiW7oKsACw70MFO78ZmzSGyoOrVbOORDkIDe6fRVoXOl+m7yYy7J6IeQEdwCLmF0u+Rx6FlJssOoKIJjazShpxivpwC1rJvRsGSvpSHzz/xuK7CYNNnMb3HQ6xBtCKKF3UyVQQYW+22JFtgzrUyMds29pYzz8/ehdfeOcXJvm1azogADcH+yQbPnNIu0Edvoyl8atv/FZNngpzsNmPgfuVzLZ1LCuNMZ+xJHBiWOv48L6x9v+GaH8m/Db/a6kYI5pR4baA0jtP+Nhzb0QtwQTXhFl7/NEBRe6+6iTCQCfP+E/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bfPjqFwONHGTiXWSwQ+WA4Poc6MZvI56Bzz+tbkJzr4=; b=Q7QiPZkBAIvD4vJq0hO/IGEbjbDYZoL0sPwp3uMMUVgiwsVR5WErKD5VG95QUxPTnpZqgfxwUtgKEwnBBly/taQxKBPIQ+KGSkYUlrxne73BjX2W3CGiF0VSKQh5LrEJlXSqOCnp+VHmKfdFAV7l2Q+c994BC9BxdJzdyMxfcQK7TpsmbhmZ1HCuoUzgAdtX2wVDTGP39TFs4N2VwEuo8cgp+2hZW/RgVwgKCB/eb6vA44QSue/4wv5b4KFLoqfy/HGrmH1NmUlQKMTxqT38R3WBaVNzT576nrHnNtaOcKLAdelQEPohk8Akjs/zdwudLfRvsetSdt2MGO/aCrl/Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bfPjqFwONHGTiXWSwQ+WA4Poc6MZvI56Bzz+tbkJzr4=; b=jgh6RAYi+cOeekxFkC5z66Fw5bbalwZAAKLzBTgwfe5ve2pRs1kxDdivCfS5/yXvafWYQVePUruoZCPJOseZ8uUJjUYr1ajHk3skAmFy0gQ2JeXY+yOrsq4QGoCDlAgln0/nAkEmibAb/kAu3Sh+d4DFfbFgZMa1ikAyRDI/dY4=
Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by DM6PR08MB4441.namprd08.prod.outlook.com (2603:10b6:5:a0::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.21; Mon, 25 Jul 2022 22:46:49 +0000
Received: from DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::4ce6:fc7c:2d7b:884e]) by DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::4ce6:fc7c:2d7b:884e%4]) with mapi id 15.20.5458.021; Mon, 25 Jul 2022 22:46:49 +0000
From: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
To: "Hauck Wolfgang (ETAS-DAP/XPC-Fe6)" <wolfgang.hauck=40etas.com@dmarc.ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] How to handle configuration node being effective after system-restart?
Thread-Index: AdicSjR5DcsQfYigSkaHfkDJqxPVkgEKddmg
Date: Mon, 25 Jul 2022 22:46:49 +0000
Message-ID: <DM6PR08MB5084B7223956A7AC378F79889B959@DM6PR08MB5084.namprd08.prod.outlook.com>
References: <AS4SPRMB0034D5CB348D7DE1351CB39CF18E9@AS4SPRMB0034.EURPRD10.PROD.OUTLOOK.COM>
In-Reply-To: <AS4SPRMB0034D5CB348D7DE1351CB39CF18E9@AS4SPRMB0034.EURPRD10.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d86a0a99-d190-4c4a-4ac8-08da6e8f8fa8
x-ms-traffictypediagnostic: DM6PR08MB4441:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: zmNmeOn4MhKMN3QlqDqCCnx7Paxs3dgMJyZvthIbKlUCumrnVdc8w+ptaLCahyV3Uc2L894U7xKoGBw9mpGX6E76dFPEBrGu6CiJ6rrB+A8Ph/JwioVVzA9j7OKZjL/YtuVLL+pkKmZdGu16FhvBqMz12PmLOA/kVOLe40W1SFJtCiSKnWLE031u64idc8mO5WSWZflGfRWFn0NYKTboedlbiq3eaMmFv5LfVSZn8jcPr80DBfnPDPBruXNq50sy6dVc6zr6dlMy1HV9hEkSWJ+VIopXBHgdIfXnUsxw9P3+WlrA7SJIz0OIy+uRW5ck6WMPhpSOClsLJu9EqHFwrwtCddUl/jj/cQ1QVtU9eXc32d63mxQcVmSogr73tSxpfVywuTzrzE8Roup7lGEmMjZcOeHflEbS8ONQkBp/eIgIPQhzralix0Seha99z/Bi7QgT3UR0hKQpjfxg8zonY2Hd3Y2SB5r46g4TXoTEBDD1s9hzjHPZH+xdoKC4XBSMhdoXjCYwqTb1ek9ixbuLwU8txRrDMBIm7Vah8M+dkG1FWw726UIdxfAYmXZQyuo0vwrq5gXPvD/JtTTG0/K6Q3oin2abMyKsOCPd+Hh/wm6MFyZfDv/StmBP+cIeS1JO8dIi63+Zghdy9dgm+ddR0Hggi560xp7CKKO2996zMaZeaH7Cxbc6OQ2GWYsloCHRKtWmVhVC9S68RNkDkVREwc7Awi186m0Q5mGRhOndDERtZg+xajqRhsK5JtQwexRQaN1Uv/53IjmfztqNVm2Bybd1fKyWHrynP+dIdVRvNFjVkCTj9djKJn4GyZ+YXd2vaLyQ9IpzSw3mXYFeHJucfA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR08MB5084.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(396003)(136003)(346002)(376002)(39860400002)(15974865002)(966005)(52536014)(33656002)(478600001)(7696005)(53546011)(6506007)(9686003)(41300700001)(26005)(64756008)(5660300002)(38100700002)(86362001)(122000001)(38070700005)(82960400001)(8936002)(71200400001)(66446008)(83380400001)(66574015)(186003)(66556008)(55016003)(66476007)(66946007)(8676002)(110136005)(2906002)(316002)(76116006); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: OVoBiEPYefhnTXsWBjWuqwuaAGiaSM3ZpBynS3P+JDrdRDmQccTDzJesVVI1az63N1gFD5Qxg0xNfK/2iiC6Pv4hExUATmKHPmceSjZvJOc199FGDGlBKjXSioz7Nd+Odu3INuynrlIJAILaA8Ska/hOUWg6PvWKZGl0aMEYpSlHAb+B3GPH2AvQKjZClM1KRhfnlIeNz3J1wV1/bPu8mMcXL+IQZoXGFvfV9rty9kbdpLbzm2hrAt+9mShayB9gW6+oMWY7QaboVaCEjQGvwt6JS3KqzvC7ZfInJBNe9CBUsV2gwitLX554IrrIpQWoMWjkAq9m+CXdAFXct28Kwyn1vWuOEaNvMV+0q088OzNGHsMoOULKspM2JNay3UXLYsxO1jbbtFAs5BW+8R+tZ/dyw2xOc5raEaYpbMzuJKcf/H6g64VcRfkgujoaZ7HQ0ILfkouf2TjTfOH+opnj134LzXLtV70KdiJfGimQIYKeeQXZU/cUgTisHIecSz5Pv2YuNc+NXULBebdVwDEWtocNr291dyMKm4AV2/IIPnjY7BV5x6tvxusGnYavVCJiMd3MsBS1bPkkAQlz0FIRusNXwTje/wTX+JilExvcV2prafifYYBQDa+KvPnnE5wdvbBrb73xLSPfPWMMpF/0Mi1iLfTg7bbQQfN+e199+Ap86HMGztnFT/ANStwQH252y8l+A/BkUYFHVoQRil5FlBcZJtTbj2aGM9gYYIxWbGqjVYlZXfkONdn6KSs9pJKa1UKa6NJ4XjEX+p5QUrh1opLPAGV7ZVY+Wp+r4abNpoq9K6Tq9Ex+WUEX/HO8rl1LxolzfQ1yvwxXgEmJriAdHlzTnhyvVvWsBw7pvZxbAGzWU/gGWUPpDSFFDisrye4+38ZoP44iORMjGff+7d5vyOM6QpWo1gFo0FTsDzLa3la1kYS9KHmqvnDKjMlb3NLHumKn7cyowBfex4pVTJfhqnXUFRuv65vM/lS24UvyvNDq8XPFTXLBpGhy912wUk0MvCj2mgdu93EgTf3sAoJMxvwevZsPlk6ePtPNwbYiK2z3iDaAvepWRQoYQGgg5D7pZstT+GZc4FhFgl5FqZpi5EZm63D+aZHGG4qIdxxxjOIkYy1qmFRKVSpCGGHeL744+oFUOetBDrGjpI0cnNexpz0vKTdgkhaCzyXoYgC5JYjBXwGNib6YOqVhR8dJflO+fuLHJbUHgoGxyrPDpvbS5otXcNuuEAyixiQUm6/O0fPyMkXkylyX2LRzJi9JIML98ziGt2nrSBd2vQYv73aLuO1/4+h/7pQFhIGWOzJEnBnTqzfKz9lfjPCBL8SU+AuTrbszoVTNi6gH90s28u2zdW2UHyYlQpx3irUdqTfmcZj/ur9P21f16bbGAPdGHESl7xCXkgM+tJlaUvKoSDcmIL0zWcvEREDq8YkyZjgjdnCVWsAvwtE3dNW1WiqRf9ytQ7PzurarqYek23YEfQ0fW7YYLyu5lyoJRKv9zZQdZU2C8NngjMTvwtzh986s0mtKms3M0n2F8mm3zhLsDZCE9IyO+0mlte+tEiTBTqG+X+DKgz/k7LEH+ofUDfmxAiPF
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR08MB5084.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d86a0a99-d190-4c4a-4ac8-08da6e8f8fa8
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jul 2022 22:46:49.5271 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: BSDjZhay1dDKAw+EWgQHqRBQYY6E4M32cmswqtqp0SwZqmBZbqhN6V7dfTji19micdUIWKht5l72z+jqwMcJoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR08MB4441
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/BTYL9ArdViS7HRtUfwEZ06TG-Xc>
Subject: Re: [netmod] How to handle configuration node being effective after system-restart?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 25 Jul 2022 22:46:57 -0000

Hello Wolfgang,

I don't see any clear right answer here.

You're talking about a condition that must be met for a configuration change to take operational effect. In this case it is a restart. But there could be other types of similar conditions. E.g. other nodes that need:
- an admin-state to be disabled and then enabled (i.e. toggle/kick a protocol)
- some other magic before it takes effect

*Maybe* there are a set of somewhat common conditions across many types of systems that could be standardized in a YANG extension (and tag those nodes).  Or using a new standardized YANG model to list "needs restart" nodes (or nodes with other standard conditions).  These solutions are along the lines of your option 2 (although I'd lean more towards the extension route).

Using a leaf to indicate "needs restart" is possible but I think that would be a proprietary-only approach. Would you then also have some state information that says which list of nodes are waiting on a restart ?  Or maybe in your case it is "good enough" to just know you need a restart. But a client app would have to be specifically programmed with knowledge of that "needs restart" leaf.

I'm not sure I understand your approach #3.

Note that it is probably useful here to talk about the "applied config" concept for this node. Let's pretend node 'foo' was configured with value 5 and a system restart occurred after that. Then the user configures value 23 but does not restart the system:
A) IETF NMDA would say that reading node 'foo' in the operational datastore should return 5   (but reading node 'foo' in the running DS would return 23)
B) Another approach might be to have another leaf (config false) called 'oper-foo' that always reflects the current operational value (e.g. 5 in this case)
C) OpenConfig would have a "state" copy of node foo and reading that would return 5 (a bit like B above, although with a 'well known convention')

A client could diff the running config vs the applied config and at least know there is a difference (but then there isn't anything standard to know a restart is needed to bring them into sync).

Jason

> -----Original Message-----
> From: netmod <netmod-bounces@ietf.org> On Behalf Of Hauck Wolfgang
> (ETAS-DAP/XPC-Fe6)
> Sent: Wednesday, July 20, 2022 11:34 AM
> To: netmod@ietf.org
> Subject: [netmod] How to handle configuration node being effective after
> system-restart?
> 
> Hi all!
> 
> The use case I think about is as follows:
> 
> A configuration node  in a YANG model is effective only after a system-
> restart (i.e. not only a restart of the NETCONF server). Now I would like to
> see from a YANG model if a system-restart actually has to be carried out for
> that node. E.g. as system operator I would like to know from the model only
> if I have to wait and poll for the operational state resulting from the
> configuration, or if I have to actively restart the system. At the end, I would
> like to publish a YANG model such that the model's user is able to derive his
> or her actions only from that model without further studying any
> documentation.
> 
> Modelling how to perform a system-restart is easy, as I have seen in the
> draft "Factory default Setting". Recognising its necessity is the difficulty here.
> 
> What would be the best practice here?
> 
> I can think about three options:
> 
> 1) Explicitly modelling the property "system-restart needed", e.g. by a leaf
> next to the configuration node.
> 
> 2) Providing a YANG module listing all configuration nodes requiring a system-
> restart.
> 
> 3) Using the startup datastore. However, as the conventional configuration
> datastores have all the same datastore schema, there seems to be no
> possibility to see the property "system-start needed". Otherwise, it could
> have been modelled by a configuration node in the startup datastore, and as
> status node in all other datastores.
> 
> I highly appreciate any hints. - Thanks.
> 
> Regards,
> Wolfgang
> 
> ---
> 
> Dr. Wolfgang Hauck
> Engineering Data Acquisition and Processing - Lead Architect
> 
> ETAS GmbH, ETAS-DAP/XPC-Fe6
> Borsigstraße 24, 70469 Stuttgart, Germany
> www.etas.com
> 
> ETAS - Empowering Tomorrow's Automotive Software
> 
> Managing Directors: Christoph Hartung, Günter Gromeier, Götz Nigge
> Chairman of the Supervisory Board: Dr. Walter Schirm
> Registered Office: Stuttgart, Registration Court: Amtsgericht Stuttgart, HRB:
> 19033
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod