Re: [Anima] Intent "beginning to end"

John Strassner <strazpdj@gmail.com> Thu, 21 April 2016 20:46 UTC

Return-Path: <strazpdj@gmail.com>
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 82FF512E4A7 for <anima@ietfa.amsl.com>; Thu, 21 Apr 2016 13:46:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 OMHM-7Bno_Q0 for <anima@ietfa.amsl.com>; Thu, 21 Apr 2016 13:46:43 -0700 (PDT)
Received: from mail-lb0-x22a.google.com (mail-lb0-x22a.google.com [IPv6:2a00:1450:4010:c04::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0DDF212E45D for <anima@ietf.org>; Thu, 21 Apr 2016 13:46:42 -0700 (PDT)
Received: by mail-lb0-x22a.google.com with SMTP id ys16so33602848lbb.3 for <anima@ietf.org>; Thu, 21 Apr 2016 13:46:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=VaPat9Lc1bRekRz7pfctcqWxSWcCjJlq3pJCajWjEZs=; b=jc7JWNVwYuS1OmIBiFq8dsHx43KyHkWgERet/Bn3yil9cRywNkRxXi16tWgeOiCTy6 AnUWzzLporjFjRw5z7EoTKay06u1zI3Z1WmxVAxUKZTnu1HlCETcVCim6SRvywaVWkIW CUGjuR0Zo4nnbe9LaXkWj8pCM1deNjJIl/eilk8LPL8tKW0iRKcIkfOYoW8j1+HIIbNu S2B4yEqfo8SCes0+P9Wx/eSZBpqtboPh88gvj5txQ/Ymx8DpjgXZifjPj78YC/9xR/AG EHHwph9hGO9fmNLouWRw0vyu9lmp3PJ2b3avy+aR6IhO+CFJ0Z5EDHj5vc/lVvsACV3e qiyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=VaPat9Lc1bRekRz7pfctcqWxSWcCjJlq3pJCajWjEZs=; b=XVvNQQF6zcnpsMIxrFRaWqA37U5lPXN5jgHbAfqjwSZjxbbc0+EhZVpsDOQWAiikdW fw/HON3wS4jpSpw1S3jcH3k7ByFh5ocQebVQw3TSz3i9svpzI1t1AKlnf9NXKL2u2x0o /Y8qgLV1wxZ4Qr1xaRH1sPbexlN4QBTu0M5EIUemnSOtlK7ZRIIR0NJTrkvvn6RBo0G0 W5VEbjTarfSwx4RHqaFDnsfdp88W0TztvzqhWzc88InNPvowGItBFNh7dx4KZU1D9ACM ShbHnoyHUx2SUIO/O1wBcuN83yHxKv5EP0xL06EbXEAWrwBApLQkQq1JJD8qAEeT0vGx 5z3g==
X-Gm-Message-State: AOPr4FUJGDPkZkCaE3927+Mz2lrWbNgLfdoCJ5/Iurn8xPkn8Zi2QO3vn3Cu7n7gPi/qlz4vh/nV0QwobVRpDw==
MIME-Version: 1.0
X-Received: by 10.112.84.202 with SMTP id b10mr7052886lbz.41.1461271600204; Thu, 21 Apr 2016 13:46:40 -0700 (PDT)
Received: by 10.25.21.105 with HTTP; Thu, 21 Apr 2016 13:46:40 -0700 (PDT)
In-Reply-To: <57178F54.5030406@joelhalpern.com>
References: <74b2701c9b10416cbd2c8043e33596f1@XCH-RCD-006.cisco.com> <57178F54.5030406@joelhalpern.com>
Date: Thu, 21 Apr 2016 13:46:40 -0700
Message-ID: <CAJwYUrGajo3exEQZiJjgkJDOQx8CH9asK2dZR3dSZc9znx8wHA@mail.gmail.com>
From: John Strassner <strazpdj@gmail.com>
To: "Joel M. Halpern" <jmh@joelhalpern.com>, John Strassner <strazpdj@gmail.com>
Content-Type: multipart/alternative; boundary="001a1135ea06a6906d053104ce93"
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima/fyVSX8M1JXhH5JUYNRd9IceoHGQ>
Cc: Anima WG <anima@ietf.org>, "Michael Behringer (mbehring)" <mbehring@cisco.com>
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:46:45 -0000

+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>
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
>> https://www.ietf.org/mailman/listinfo/anima
>>
>>
> _______________________________________________
> Anima mailing list
> Anima@ietf.org
> https://www.ietf.org/mailman/listinfo/anima
>



-- 
regards,
John