Skip to content

NITA — Network Implementation & Test Automation

Version 23.12 · Open Source · MIT License · By Juniper Networks


What is NITA?

NITA (Network Implementation and Test Automation) is an open-source platform purpose-built for automating the deployment and testing of complex networks. Originally developed by the Professional Services team at Juniper Networks in 2015, NITA has evolved into a battle-tested toolbox that enables network engineers to:

  • Automate configuration deployment across multi-vendor network fabrics
  • Execute automated tests to validate network state and correctness
  • Orchestrate complex workflows spanning build, test, and Day-2 operations
  • Leverage containerized tools for portable, reproducible automation

NITA is vendor-neutral and can be used to build and test networks from any vendor in the market.


Key Technologies

NITA brings together best-in-class automation tools into a single, cohesive platform:

Technology Role in NITA
Ansible Configuration change management & device provisioning
Jenkins Automation engine, job orchestration & pipeline control
Robot Framework Automated network testing & validation
Kubernetes Container orchestration & platform infrastructure
MariaDB Persistent data storage for projects & networks
NITA Webapp Web UI for managing network types, networks & actions
Nginx Reverse proxy with TLS termination

How It Works

graph LR
    A[📋 Define Network<br/>Types & Hosts] --> B[📊 Load Configuration<br/>Data via Excel]
    B --> C[🔨 Trigger Build<br/>via Webapp or CLI]
    C --> D[⚙️ Jenkins Orchestrates<br/>Ansible Playbooks]
    D --> E[🖧 Devices Are<br/>Configured]
    E --> F[🧪 Trigger Tests<br/>via Robot Framework]
    F --> G[📈 Review Results<br/>in Jenkins / Webapp]
  1. Define your network topology and device inventory
  2. Upload configuration data using Excel spreadsheets
  3. Build — Jenkins orchestrates Ansible playbooks to push configurations to devices
  4. Test — Robot Framework executes automated validation tests
  5. Review results through the NITA Webapp or Jenkins dashboards

Platform Architecture at a Glance

graph TB
    subgraph "Kubernetes Cluster (nita namespace)"
        PROXY["🛡️ Nginx Proxy<br/>:443"]
        WEBAPP["🌐 NITA Webapp<br/>:8000"]
        JENKINS["⚙️ Jenkins<br/>:8443 / :8080"]
        DB["🗄️ MariaDB<br/>:3306"]
        ANSIBLE["📦 Ansible<br/>(ephemeral)"]
        ROBOT["🧪 Robot<br/>(ephemeral)"]
    end

    USER["👤 User / Browser"] -->|HTTPS| PROXY
    PROXY --> WEBAPP
    PROXY --> JENKINS
    WEBAPP --> DB
    JENKINS --> ANSIBLE
    JENKINS --> ROBOT
    ANSIBLE -->|Netconf / SSH| DEVICES["🖧 Network Devices"]
    ROBOT -->|SSH / Netconf| DEVICES

Example Projects

NITA ships with ready-to-use example projects to get you started:

Example Description
EVPN VXLAN DC Build and test an EVPN VXLAN data centre fabric using Juniper QFX devices, with 14 Robot tests
eBGP WAN Build and test a DC WAN topology based on IPCLOS and eBGP, with 13 Robot tests
ChatGPT Integration Send failed test case descriptions to ChatGPT for AI-powered troubleshooting suggestions


System Requirements

Requirement Minimum
Operating System Ubuntu 22.04 LTS or AlmaLinux 9.3 Server
Memory 8 GB free
Storage 20 GB free
Architecture x86_64
Access Root or sudo privileges

Community & Support


Open Source

NITA is released under the MIT License. You are free to use, modify, and distribute it. Contributions are welcome — see our Contributing Guide.