Internet-Draft NMA Lifecycle Management YANG Data Model October 2026
Sun, et al. Expires 30 April 2027 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-sun-ainetops-nma-lifecycle-yang-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
Q. Sun
China Telecom
X. Song
China Telecom
Y. Fu
China Telecom
R. Luo
China Telecom

NMA Lifecycle Management YANG Data Model

Abstract

Network Management Agents (NMAs) deployed in production networks require a consistent representation of lifecycle information for admission, operation, version replacement, and retirement. This document defines the ietf-nma-lifecycle YANG data model, covering basic NMA information and configuration, lifecycle state, and event notifications. The model provides a consistent lifecycle data structure for NMAs from different vendors.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 30 April 2027.

▲

Table of Contents

1. Introduction

Network Management Agents (NMAs) are increasingly being used for network fault analysis, path optimization, change recommendations, and other network management scenarios. NMAs from different vendors represent lifecycle states and version information differently, making unified management more difficult.

This document defines a minimal YANG data model for NMA lifecycle management. It provides a consistent representation of instance information, lifecycle state, version state, and associated event notifications. The model can be implemented by an NMA itself or by a management adapter. Initiating and executing lifecycle operations, the internal implementation of an agent, and agent discovery protocols are outside the scope of this document.

1.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2. Terminology and Conventions

This document uses the YANG 1.1 terminology defined in [RFC7950]. Configuration and operational state data follow the concepts described in [RFC8342], and the YANG tree diagram uses the notation specified in [RFC8340].

3. Relationship to Existing Work

3.1. RFC 9222: ASA Life Cycle

Section 7 of [RFC9222], developed in the ANIMA Working Group, describes the life cycle of an Autonomic Service Agent (ASA) in terms of stages including Installation, Instantiation, Operation, and Removal.

The NMA lifecycle states proposed in this document draw on the staged progression described in [RFC9222], with adjustments to address the operational control requirements for AI agents in production networks. Installation and pre-production validation are grouped into a production admission (admission) state; version replacement is explicitly represented by a changing state; and final removal is represented by an offboarded state. Furthermore, whereas [RFC9222] focuses on lifecycle management primitives and operational procedures, this document represents these stages only as YANG state enumeration values and does not define control commands that trigger state transitions.

3.2. DAWN: Agent Discovery Information

The DAWN Minimal Discovery Information (MDI) draft [I-D.cui-dawn-mdi-model] addresses the discovery of general-purpose agents on networks. It defines discovery attributes such as an Entity Identifier, entity type, and communication endpoints.

This document assumes that NMA instances are already known to the management system through an external discovery mechanism. Accordingly, the model uses only agent-id as a unique lookup key within the management domain. It does not redefine discovery attributes, specify a mapping between agent-id and a DAWN Entity Identifier, or define any discovery-layer protocol.

4. NMA Lifecycle Management Framework

In operator network management workflows, an NMA instance typically passes through four key management stages between introduction and retirement from production. Rather than directly issuing commands to control these stages, the ietf-nma-lifecycle model serves as a management-plane state record that captures essential configuration and operational state information at each stage:

  1. Production Admission: After an NMA instance has been deployed and connected to the network management system, its lifecycle state is admission. At this stage, operators can use the configuration container to preconfigure the instance's operating mode (for example, initially selecting the shadow mode for passive testing and validation), permitted network scope (allowed-scope), and maximum operation risk level (max-risk-level). The instance can enter production after the external admission process has been completed successfully.

  2. Runtime Management: An admitted NMA enters the active state. During operation, the management system can adjust its configuration policies at any time. For example, during a period of frequent faults, the NMA can be changed from autonomous to recommendation-only mode so that it presents proposed actions to on-duty operators for confirmation. The management system can also retrieve instance health and current version information through operational-state/health-status and version-state/current-version.

  3. Version Change and Rollback: When an NMA undergoes a version upgrade or a rollback following a failure, its lifecycle state changes to changing. To avoid ambiguity during the transition, current-version continues to indicate the previous production version until the replacement has completed. When the external upgrade or rollback operation finishes, the instance reports the target version and final execution result (success or failed) through a version-change-result notification.

  4. Planned Offboarding: When an NMA instance is no longer needed and an external process has completed its shutdown, its lifecycle-state transitions to offboarded. A lifecycle-state-change notification is also generated to support management-system archiving and auditing.

5. Design of the NMA Lifecycle YANG Model

5.1. Model Structure Overview

The ietf-nma-lifecycle module uses a top-level agents container as its entry point. Within this container, NMA instances are represented by a list keyed by agent-id. The tree structure is shown below:

module: ietf-nma-lifecycle
  +--rw agents
     +--rw agent* [agent-id]
        +--rw agent-id                       string
        +--rw name?                          string
        +--rw vendor?                        string
        +--rw description?                   string
        +--ro lifecycle-state?               lifecycle-state-type
        +--rw configuration
        |  +--rw operating-mode?             operating-mode-type
        |  +--rw max-risk-level?             risk-level-type
        |  +--rw allowed-scope?              string
        +--ro operational-state
        |  +--ro health-status?              health-status-type
        +--ro version-state
        |  +--ro current-version?            string
        +---n health-status-change
        |  +--ro new-status                   health-status-type
        +---n lifecycle-state-change
        |  +--ro new-state                   lifecycle-state-type
        +---n version-change-result
           +--ro version                     string
           +--ro result                      enumeration

5.2. Description of Key Data Nodes

Each agent instance comprises three categories of data nodes and three types of notifications:

Instance Identification and Lifecycle State: The agent-id, name, vendor, and description nodes identify an NMA within the network management system and record its vendor and functional responsibilities. The read-only lifecycle-state node indicates the current lifecycle stage of the instance (admission, active, changing, or offboarded).

Management Configuration (configuration container): This container defines policies that constrain an NMA during admission and operation:

  • operating-mode determines how the agent operates, with four progressively more autonomous modes:

    • shadow (default): Processes live inputs in the background for testing or evaluation only. Inference outputs are recorded only in validation logs; they do not enter production work-order workflows or trigger network changes.

    • recommendation-only: Participates in actual production operations by sending actionable recommendations to on-duty operators or a supervisory system, but does not execute operations without explicit confirmation.

    • hybrid: Allows some operations to execute autonomously and requires explicit approval for others, depending on operation risk and management policies.

    • autonomous: Independently executes network management operations within the configured risk limit and permitted scope.

  • max-risk-level defines six risk tiers from R0 through R5 (default: R0) to express the highest operation risk level the NMA is permitted to handle. This field expresses management intent only and does not replace actual access control and operation authorization mechanisms enforced by network elements or controller interfaces.

  • allowed-scope declares, as a string, the service domains, sites, or VPNs within which the NMA may operate. The deployment environment's policy engine determines how this string is parsed and how the scope boundaries are enforced.

Operational and Version State (operational-state and version-state containers): These two read-only containers expose the NMA's current health status and version information, respectively. In addition to the conventional up, degraded, and down values, health-status introduces a rate-limited enumeration value. This value indicates that NMA processing is impeded by rate limits on an underlying large language model inference API or by exhausted quotas for external tool invocations. The current-version node records the version of the current instance.

Lifecycle Event Notifications: To allow the management system to detect state changes driven by external processes, the model defines three YANG 1.1 notifications under each agent instance. lifecycle-state-change reports the new state whenever a lifecycle transition occurs. version-change-result reports the target version and whether an upgrade or rollback succeeded when the operation completes. health-status-change reports the new health status when that status changes.

6. YANG Module

The module structure is defined in accordance with [RFC7950].

module ietf-nma-lifecycle {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-nma-lifecycle";
  prefix nma-lifecycle;
  organization
    "IETF";
  contact
    "For inquiries, contact the authors of this document.";
  description
    "A YANG data model for NMA lifecycle identification,
     management configuration, lifecycle and version state,
     and associated notifications.
     Lifecycle actions and discovery protocols are outside
     the scope of this module.";
  revision 2026-10-26 {
    description
      "Initial revision.";
  }
  typedef operating-mode-type {
    type enumeration {
      enum shadow {
        description
          "Processes live inputs in parallel for testing
           or evaluation purposes only; outputs are logged
           for verification and do not enter active
           operational workflows or trigger network changes.";
      }
      enum recommendation-only {
        description
          "Participates in active operational workflows by
           presenting actionable recommendations to operators
           or supervising systems, waiting for explicit
           confirmation before any execution.";
      }
      enum hybrid {
       description
        "Combines autonomous execution and recommendation-based
         operation. The NMA may autonomously execute permitted
         operations according to configured policies, while
         other operations require explicit approval
         before execution.";
     }
      enum autonomous {
        description
          "Autonomously executes operations within configured
           risk and scope boundaries under applicable
           authorization policies.";
      }
    }
    description
      "Configured operating mode of an NMA.";
  }
  typedef risk-level-type {
    type enumeration {
      enum R0 {
        description "Proposed lowest risk tier.";
      }
      enum R1 {
        description "Proposed risk tier R1.";
      }
      enum R2 {
        description "Proposed risk tier R2.";
      }
      enum R3 {
        description "Proposed risk tier R3.";
      }
      enum R4 {
        description "Proposed risk tier R4.";
      }
      enum R5 {
        description "Proposed highest risk tier.";
      }
    }
    description
      "Proposed risk tiers ordered from R0 to R5. The detailed
       classification of network operations is outside
       this module.
       A configured risk tier does not grant operation
       permission.";
  }
  typedef health-status-type {
    type enumeration {
      enum up {
        description
          "The NMA is available and operating normally.";
      }
      enum degraded {
        description
          "Some NMA functions or tool bindings are impaired.";
      }
      enum rate-limited {
        description
          "NMA processing is throttled by rate limiting.";
      }
      enum down {
        description "The NMA is unavailable.";
      }
    }
    description
      "Current health status of an NMA instance.";
  }
  typedef lifecycle-state-type {
    type enumeration {
      enum admission {
        description
          "Installation, instantiation, or admission processing
           is pending completion for production use.";
      }
      enum active {
        description
          "The admitted NMA instance is serving in production.";
      }
      enum changing {
        description
          "Planned version replacement or rollback is underway.";
      }
      enum offboarded {
        description
          "The NMA has completed retirement from production.";
      }
    }
    description
      "Lifecycle state of an NMA.";
  }
  container agents {
    description
      "Top-level container for NMAs managed by the system.";
    list agent {
      key "agent-id";
      description
        "A managed NMA instance.";
      leaf agent-id {
        type string;
        description
          "Unique identifier for an NMA instance within the
           management system.";
      }
      leaf name {
        type string;
        description
          "Human-readable name of the NMA.";
      }
      leaf vendor {
        type string;
        description
          "Name of the NMA vendor or provider organization.";
      }
      leaf description {
        type string;
        description
          "Description of the NMA's purpose and function.";
      }
      leaf lifecycle-state {
        type lifecycle-state-type;
        config false;
        description
          "Current lifecycle state of this NMA instance.";
      }
      container configuration {
        description
          "Lifecycle-related management configuration.";
        leaf operating-mode {
          type operating-mode-type;
          default "shadow";
          description
            "Configured operating mode of the NMA.";
        }
        leaf max-risk-level {
          type risk-level-type;
          default "R0";
          description
            "Configured upper risk tier for operations;
             this does not replace independent operation
             authorization.";
        }
        leaf allowed-scope {
          type string;
          description
            "Configured network domain, site, or service scope
             associated with the NMA. Interpretation and
             enforcement are determined by deployment policy.";
        }
      }
      container operational-state {
        config false;
        description
          "Runtime state of the NMA instance.";
        leaf health-status {
          type health-status-type;
          description
            "Current health status of the NMA.";
        }
      }
      container version-state {
        config false;
        description
          "Version information of the NMA instance.";
        leaf current-version {
          type string;
          description
            "Version of the NMA instance currently serving
             production. During a version replacement, the value
             remains the active version until replacement
             completes.";
        }
      }
     notification health-status-change {
       description
         "Notification of an NMA health status change.";
       leaf new-status {
         type health-status-type;
         mandatory true;
         description
           "New health status of the NMA.";
      }
    }
      notification lifecycle-state-change {
        description
          "Notification of an NMA lifecycle state transition.";
        leaf new-state {
          type lifecycle-state-type;
          mandatory true;
          description
            "New lifecycle state.";
        }
      }
      notification version-change-result {
        description
          "Result of a version change or rollback.";
        leaf version {
          type string;
          mandatory true;
          description
            "Target version of the operation.";
        }
        leaf result {
          type enumeration {
            enum success {
              description "The version operation succeeded.";
            }
            enum failed {
              description "The version operation failed.";
            }
          }
          mandatory true;
          description
            "Final result of the version operation.";
        }
      }
    }
  }
}

7. Security Considerations

The YANG model defined in this document is accessed through network management interfaces such as NETCONF [RFC6242] or RESTCONF [RFC8040]. The underlying transport MUST use a secure transport protocol, such as NETCONF over SSH [RFC6242] or RESTCONF over TLS [RFC9846]. Deployments SHOULD also enable the Network Configuration Access Control Model (NACM) [RFC8341] to restrict unauthorized access.

The following writable data nodes in the ietf-nma-lifecycle module are particularly security-sensitive:

Furthermore, unauthorized access to read-only data nodes in the module (such as /agents/agent/lifecycle-state, operational-state, and version-state) or to its three notification types could reveal the distribution of software versions and lifecycle states of NMAs in a production network. An attacker could use this information to mount targeted attacks.

8. IANA Considerations

This document requests that IANA register the following namespace in the IETF XML Registry:

This document also requests the following registration in the YANG Module Names registry:

9. Future Work

In future revisions, the authors intend to explore the following extensions based on feedback from production deployments:

  1. Composite Version Description: An NMA's actual behavior depends not only on its software code version, but also on the versions of the underlying foundation model, prompt templates, and external toolsets (such as MCP tools). Future work will evaluate whether version-state should be extended to represent fine-grained component versions and the baseline version used for rollback.

  2. Structured References for Risk Levels and Permitted Scope: Future work will investigate linking allowed-scope to standard network topology models (such as ietf-network) and refining the relationship between risk tiers R0-R5 and approval policies.

10. References

10.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC6242]
Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, , <https://www.rfc-editor.org/rfc/rfc6242>.
[RFC7950]
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, , <https://www.rfc-editor.org/rfc/rfc7950>.
[RFC8040]
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, , <https://www.rfc-editor.org/rfc/rfc8040>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8341]
Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, , <https://www.rfc-editor.org/rfc/rfc8341>.
[RFC8342]
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10.17487/RFC8342, , <https://www.rfc-editor.org/rfc/rfc8342>.
[RFC9846]
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 9846, DOI 10.17487/RFC9846, , <https://www.rfc-editor.org/rfc/rfc9846>.

10.2. Informative References

[I-D.cui-dawn-mdi-model]
Cui, Y., "An Information Model for Minimum Discoverable Information (MDI)", Work in Progress, Internet-Draft, draft-cui-dawn-mdi-model-00, , <https://datatracker.ietf.org/doc/html/draft-cui-dawn-mdi-model-00>.
[RFC8340]
Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, , <https://www.rfc-editor.org/rfc/rfc8340>.
[RFC9222]
Carpenter, B., Ciavaglia, L., Jiang, S., and P. Peloso, "Guidelines for Autonomic Service Agents", RFC 9222, DOI 10.17487/RFC9222, , <https://www.rfc-editor.org/rfc/rfc9222>.

Authors' Addresses

Qiong Sun
China Telecom
Xin Song
China Telecom
Yu Fu
China Telecom
RunZe Luo
China Telecom