Re: [Anima] Intent "beginning to end"

"Natale, Bob" <RNATALE@mitre.org> Thu, 21 April 2016 20:53 UTC

Return-Path: <RNATALE@mitre.org>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A5C4E12E2E5 for <anima@ietfa.amsl.com>; Thu, 21 Apr 2016 13:53:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.195
X-Spam-Level:
X-Spam-Status: No, score=-5.195 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.996] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mitre.onmicrosoft.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 pbGZF-yOP-PH for <anima@ietfa.amsl.com>; Thu, 21 Apr 2016 13:53:48 -0700 (PDT)
Received: from smtpvmsrv1.mitre.org (smtpvmsrv1.mitre.org [192.52.194.136]) by ietfa.amsl.com (Postfix) with ESMTP id 9527F12E2AF for <anima@ietf.org>; Thu, 21 Apr 2016 13:53:48 -0700 (PDT)
Received: from smtpvmsrv1.mitre.org (localhost.localdomain [127.0.0.1]) by localhost (Postfix) with SMTP id E49BC6C04E4; Thu, 21 Apr 2016 16:53:47 -0400 (EDT)
Received: from imshyb01.MITRE.ORG (imshyb01.mitre.org [129.83.29.2]) by smtpvmsrv1.mitre.org (Postfix) with ESMTP id CE5C06C04AE; Thu, 21 Apr 2016 16:53:47 -0400 (EDT)
Received: from imshyb01.MITRE.ORG (129.83.29.2) by imshyb01.MITRE.ORG (129.83.29.2) with Microsoft SMTP Server (TLS) id 15.0.1130.7; Thu, 21 Apr 2016 16:53:47 -0400
Received: from gcc01-CY1-obe.outbound.protection.outlook.com (10.140.19.249) by imshyb01.MITRE.ORG (129.83.29.2) with Microsoft SMTP Server (TLS) id 15.0.1130.7 via Frontend Transport; Thu, 21 Apr 2016 16:53:47 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mitre.onmicrosoft.com; s=selector1-mitre-org; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=u84TAqEUjuGSr8bPEYbKgYTLj7jUJfP13Zk+gKTYSXE=; b=NyMPosJ2JxPzXEeW6dOCqWw+xuykGInW8MLgnGWSfPgW3XSAlapeNxvzx3lnMrsU8/6DFwbFrvp7VgE/MUGBFfrttffnhfuz83737VTkZhm9/+coGy7wUy8L4KPEeWqkKdAAGGTJEeKyEIaymQVfpEJOCHwpmQ7yV2BqQqvdsik=
Received: from CY1PR09MB0922.namprd09.prod.outlook.com (10.163.89.140) by CY1PR09MB0924.namprd09.prod.outlook.com (10.163.89.142) with Microsoft SMTP Server (TLS) id 15.1.466.19; Thu, 21 Apr 2016 20:53:46 +0000
Received: from CY1PR09MB0922.namprd09.prod.outlook.com ([10.163.89.140]) by CY1PR09MB0922.namprd09.prod.outlook.com ([10.163.89.140]) with mapi id 15.01.0466.023; Thu, 21 Apr 2016 20:53:46 +0000
From: "Natale, Bob" <RNATALE@mitre.org>
To: John Strassner <strazpdj@gmail.com>, "Joel M. Halpern" <jmh@joelhalpern.com>
Thread-Topic: [Anima] Intent "beginning to end"
Thread-Index: AdGbAEYKborLOcNBR7qt3zbaOPev0gBDr0LpAAAc86A=
Date: Thu, 21 Apr 2016 20:53:46 +0000
Message-ID: <CY1PR09MB0922439B22444A6B0304EEC8A86E0@CY1PR09MB0922.namprd09.prod.outlook.com>
References: <74b2701c9b10416cbd2c8043e33596f1@XCH-RCD-006.cisco.com> <57178F54.5030406@joelhalpern.com> <CAJwYUrGajo3exEQZiJjgkJDOQx8CH9asK2dZR3dSZc9znx8wHA@mail.gmail.com>
In-Reply-To: <CAJwYUrGajo3exEQZiJjgkJDOQx8CH9asK2dZR3dSZc9znx8wHA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=mitre.org;
x-originating-ip: [128.29.234.229]
x-ms-office365-filtering-correlation-id: 7452430f-6afe-40ec-6a43-08d36a270832
x-microsoft-exchange-diagnostics: 1; CY1PR09MB0924; 5:KxUrt+hkjGw0+XYN1FvbqJt+I8oAdvTlHH0IWGrcmryAARfeAALSYHcPvSw7P+jOhoWkmxAQRIcgMLhlU3TW62hsMjLgmeTADnrSucXK67bLpjaGfAS+7U/TjOSu5ucssq/UHcTGN9blrwc3Jr3HtKSHG8NBnjnBt9isi/fK4zN7p/Fz+5Js7sEJlTgU0Ay5; 24:5MXNUqePX8VnwrWaQKEp0ENW3OGpQMJ5sfavRs7eR/+aO036iYnAuKenHGLQm2hd9H6U/psUP4+LbFt4g6wz/HrxdZtQg0n77o/UI41gVsU=; 7:vkLVKLjlqIQJxyaeKLaKFnqKYOxW+5peFvFvg68L6GkwHDbRyLIlAOMIXJcz/t9tdtOWXfO8VgUjYip8mH5T53aicQXP3+4kNFf/XcRj14JbO2av+5IpYu/dFP3GCM87uUPvijjF3TIumcQRf46RMPDVUv9BAaM81JwWqZWn+g/Cx1S1fEoqpPK4NI1NBx7wwY8aEUdttmYWy51w21yJTfO0F7wC4cBzqbVi3R6Dg6U=
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR09MB0924;
x-microsoft-antispam-prvs: <CY1PR09MB092426CFCAD61EB8E939820BA86E0@CY1PR09MB0924.namprd09.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(95692535739014);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(9101521026)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:CY1PR09MB0924; BCL:0; PCL:0; RULEID:; SRVR:CY1PR09MB0924;
x-forefront-prvs: 091949432C
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(377454003)(69234005)(24454002)(6116002)(790700001)(189998001)(31430400001)(86362001)(19609705001)(19617315012)(586003)(102836003)(87936001)(5004730100002)(3660700001)(15975445007)(33656002)(3280700002)(76176999)(54356999)(50986999)(5001770100001)(76576001)(77096005)(81166005)(19625215002)(10400500002)(11100500001)(99286002)(2950100001)(9686002)(122556002)(66066001)(5008740100001)(4326007)(16236675004)(19300405004)(19580405001)(5003600100002)(74316001)(5002640100001)(19580395003)(92566002)(2900100001)(1220700001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR09MB0924; H:CY1PR09MB0922.namprd09.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_CY1PR09MB0922439B22444A6B0304EEC8A86E0CY1PR09MB0922namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2016 20:53:46.0193 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c620dc48-1d50-4952-8b39-df4d54d74d82
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR09MB0924
X-OriginatorOrg: mitre.org
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima/0PQReotpN9AdYUTUoVkaMtN-_dU>
Cc: "Michael Behringer (mbehring)" <mbehring@cisco.com>, Anima WG <anima@ietf.org>
Subject: Re: [Anima] Intent "beginning to end"
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Apr 2016 20:53:52 -0000

Make that +2.

(As far as I can tell and from an operations perspective, you cannot do Intent-based policy management without the Policy Continuum, or an equivalent conceptual construct).

Avanti,
BobN

From: Anima [mailto:anima-bounces@ietf.org] On Behalf Of John Strassner
Sent: Thursday, April 21, 2016 4:47 PM
To: Joel M. Halpern <jmh@joelhalpern.com>; John Strassner <strazpdj@gmail.com>
Cc: Anima WG <anima@ietf.org>; Michael Behringer (mbehring) <mbehring@cisco.com>
Subject: Re: [Anima] Intent "beginning to end"

+1.

In particular, doing this has a number of advantages:

   1) The Policy Continuum was built to mimic the flow of abstract
       policies being translated into different forms that were
       applicable to each user. Business intent will need several
       such translations from experience.
   2) Context can be taken into account in a uniform way (as opposed
       to having each individual node report context)
   3) I believe that interpreting/compiling intent will be HARD, and
       that understanding intent will be MUCH HARDER. Why does
       every autonomic node need to do that?

I do think that ASAs should be used to do the interpreting/compiling
and understanding tasks.


regards,
John

On Wed, Apr 20, 2016 at 7:16 AM, Joel M. Halpern <jmh@joelhalpern.com<mailto:jmh@joelhalpern.com>> wrote:
It seems to me that for many kinds of business intentions, as translated into "intents", there will need to be an intelligent processing step that determines how this intent relates to the network state, and how the network needs to respond to this.  While there are cases where this can be done at each AN, there are also many cases where this needs intermediate work.

As I understand it, those intermediaries are AN, which produce results usable by other AN.  While they will produce parameters for the AN, they will also, I expect produce refined intents.

Yours,
Joel

On 4/20/16 8:49 AM, Michael Behringer (mbehring) wrote:
After the IETF discussions it is clear that we still don't have the same model in our head when we're discussing how Intent is handled. Let's see whether we can get some naming agreement.

draft-du-anima-an-intent describes some of the content below (e.g., distribution, interpretation), but there is no "beginning to end" flow on how Intent "flows" through the network. It would help the discussion I think if we formalised the entire flow. For example, in the below flow it is clear that parameters you exchange as a result of interpreting Intent are not called Intent. (I think this was one point we don't have agreement on).

Let me try to write down this "flow", as I see it, as a starting point for discussion.

1. Business goals: The network owner wants the network to follow some business goals.
    (These goals are initially not formalised, in a computer science sense. )
    - these goals are formalised in a language -->
2. Intent: is the formalisation of business goals so that computer can deal with them.
    (encoded as a file; or several files)
    - this file must be "given to the network" -->
3. Ingestion: The Intent file(s) get instantiated on an autonomic node
    On a particular node, an intent file is "ingested".
    - Now it needs to be distributed -->
4. Intent Distribution: Intent is flooded to all nodes in a network;
    Every node has a copy of the original "Intent" file(s), without modification.
    Each node re-distributes the original Intent files, without modification.
    Therefore, Intent is optional and transitive in nature.
    - the Intent files must now be interpreted by each node -->
5. Intent splitting (on each node):
    Intent is split into sections, one for the ANI itself, others for specific Autonomic Functions
    ASAs are notified if there is new Intent for them.
    Some intent sections may not apply to a particular  node
    Now each component of a node (ANI, all ASAs) know their respective Intent.
6. Intent Interpretation (on each node, by each function):
    The ANI as well as all ASAs on a node interpret their respective Intent.
    It gets translated into a "target configuration", taking into account local state.
    For this translation, it may be necessary for ASAs to communicate with ASAs on other nodes,
    to pass on resources (IP addresses), to negotiate, etc.
    All such communications may be triggered by Intent, but the communications themselves
    are NOT Intent.
    (NB: This interpretation could also be done centrally, and the resulting configs distributed;
     This is of course an option, but for that we don't need ANIMA. Therefore I suggest for the
     ANIMA work to focus on interpreting Intent locally on each node)
    Result: target configlet (not applied yet!!).
7. Conflict Resolution with non-autonomic management (on each node):
    The target configlet resulting from Intent has the lowest prio; any other management
    method (CLI, NETCONF, etc) overrides Intent.
8. Conflict Resolution between autonomic components (on each node):
    Each autonomic function needs to register with a "conflict resolution function"
    which parameters it modifies; in case of conflict the conflict resolution function
    takes a decision and feeds that back to the autonomic functions. This may modify
    the target configlet.
9. Applying the target configlet
    A type of "commit" of the configlet.
10. Feedback loops to NOC: The NOC needs to know about certain conditions:
    Conflicts with non-autonomic management (FYI)
    Not all conflicts can be resolved automatically. (may require NOC actions)
    Undesirable states (deviations from expected default behaviour) may have to be communicated;
    To some extent, Intent itself can specify which conditions should trigger feedback
    loops to the NOC.
    Feedback loops may happen at other phases as well (ex: 8)

I'm conscious that there are different views in the team; like I believe in point 6 we're not yet aligned. Please take this list just as a basis for discussion, nothing more.

When we have consensus, I believe such a flow should be documented in draft-du-anima-an-intent in its entirety, to give a full picture.

Feedback?
Michael

_______________________________________________
Anima mailing list
Anima@ietf.org<mailto:Anima@ietf.org>
https://www.ietf.org/mailman/listinfo/anima

_______________________________________________
Anima mailing list
Anima@ietf.org<mailto:Anima@ietf.org>
https://www.ietf.org/mailman/listinfo/anima



--
regards,
John