grossmj
630c2d811d
Add support for appliance format version 8
2026-04-04 20:04:42 +08:00
grossmj
ef546a46f9
Sync appliances
2026-04-04 19:55:13 +08:00
Jeremy Grossmann
9290b37292
Merge pull request #2654 from yueguobin/feature/extended-statistics
...
Feature/extended statistics
2026-04-03 21:43:50 +08:00
Guobin Yue
2a11ab6ba3
Merge branch '3.0' into feature/extended-statistics
2026-04-03 21:39:38 +08:00
Jeremy Grossmann
55fa7bb10c
Merge pull request #2658 from GNS3/convert-db-fields-to-json
...
Convert database template fields from PickleType to JSON
2026-04-03 21:06:29 +08:00
grossmj
1dc31127d9
Convert database template fields from PickleType to JSON
2026-04-03 20:59:57 +08:00
Jeremy Grossmann
d9f12366bc
Merge branch '3.0' into feature/extended-statistics
2026-04-01 12:54:54 +08:00
YueGuobin
050b7a80ab
docs: add Controller + Compute setup guide
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 02:08:18 +08:00
Jeremy Grossmann
c9f4f7983b
Merge pull request #2645 from cristian-ciobanu/telnetlib3
...
Enhancement: Re-write current Telnet server implementation using telnetlib3 library
2026-03-31 20:22:59 +08:00
grossmj
0b6f17cf8e
Add keepalive mechanism using the NOP command
2026-03-31 18:30:59 +08:00
grossmj
38ebaaa90a
Remove requests dependency from dev-requirements.txt
2026-03-31 17:30:41 +08:00
grossmj
9a06830f88
telnetlib3 is a shared dependency with AI Copilot
2026-03-31 17:22:34 +08:00
Jeremy Grossmann
bebf070e4d
Merge branch '3.0' into telnetlib3
2026-03-31 14:33:35 +08:00
Guobin Yue
02dc2b9a41
Merge branch '3.0' into feature/extended-statistics
2026-03-30 22:48:39 +08:00
Jeremy Grossmann
d40e292047
Merge pull request #2655 from yueguobin/fix/device-type-error-message
...
fix(copilot): improve device_type error message with tested types and…
2026-03-30 14:42:14 +08:00
YueGuobin
4cd74901a5
fix(copilot): improve device_type error message with tested types and config instructions
...
Add tested device types (cisco_ios_telnet, gns3_huawei_telnet_ce, gns3_ruijie_telnet)
to the error message and include Web UI configuration path.
2026-03-30 14:09:36 +08:00
YueGuobin
d64e4e28e3
docs: add future optimization for per-compute node statistics
2026-03-30 00:23:35 +08:00
YueGuobin
b379747aeb
docs: add statistics API documentation
...
Document the extended /statistics endpoint with complete
response schema and field descriptions.
2026-03-30 00:09:09 +08:00
YueGuobin
33fdfd65ba
feat(statistics): distinguish open vs closed project nodes
...
Closed project nodes don't have status info in topology JSON.
Add open_project_nodes and closed_project_nodes counts to
help clarify why by_status may be empty.
2026-03-30 00:06:50 +08:00
YueGuobin
b4caffe13b
fix(statistics): handle closed projects where nodes/links are dicts
...
Open projects store Node/Link objects, but closed projects store
dictionaries loaded from topology JSON. This fix checks the type
before accessing attributes.
2026-03-29 23:59:17 +08:00
YueGuobin
8b4c3a3517
feat(controller): extend /statistics API with project, node and link stats
...
Return aggregated statistics:
- computes: per-compute CPU/memory/disk stats (existing)
- projects: total, opened, closed counts
- nodes: total count with breakdown by type and status
- links: total count with capturing count
2026-03-29 23:49:36 +08:00
Jeremy Grossmann
3dbae9585c
Merge pull request #2652 from GNS3/fix/2651
...
Use FastAPI Lifespan Events
2026-03-28 10:02:41 +08:00
grossmj
46f77eb7d5
Remove old add_event_handler
2026-03-28 09:59:29 +08:00
grossmj
01a68fb23a
Use FastAPI Lifespan Events
2026-03-28 09:54:22 +08:00
Jeremy Grossmann
89d665f22b
Merge pull request #2650 from yueguobin/feature/control-offset
...
feat(link): add control_offset field to LinkStyle
2026-03-28 08:08:10 +08:00
YueGuobin
7f9416a070
feat(link): add control_offset field to LinkStyle
2026-03-28 02:11:30 +08:00
grossmj
b8764b29a5
Upgrade FastAPI to v0.135.2
2026-03-27 10:57:59 +08:00
Jeremy Grossmann
3b261ebbfc
Merge pull request #2646 from yueguobin/feature/symbol-delete-api
...
feat(symbols): add DELETE API for removing custom symbol files
2026-03-27 10:51:51 +08:00
YueGuobin
e651ad589b
feat(symbols): add DELETE API for removing custom symbol files
...
- Add DELETE /v3/symbols/{symbol_id:path} endpoint
- Prevent deletion of built-in symbols (:/ prefix or in resource directory)
- Clear symbol size cache after deletion
- Require Symbol.Allocate privilege
2026-03-27 02:28:27 +08:00
Cristi
7f3468dcd3
Improved exception handling and telnet client disconnect
2026-03-24 15:23:00 +02:00
Cristi
83558d4d9f
Enhancement: Re-write current Telnet server implementation using telnetlib3 library
2026-03-24 13:23:45 +02:00
Jeremy Grossmann
4701712a86
Merge pull request #2644 from GNS3/release/v2.2.57
...
Release v2.2.57
2026-03-24 10:10:22 +08:00
grossmj
e5ff9e7f00
Development on 2.2.58.dev1
2026-03-24 08:35:49 +08:00
grossmj
7adb0c5226
Release v2.2.57
v2.2.57
2026-03-23 09:45:46 +08:00
grossmj
667833dda5
Merge remote-tracking branch 'origin/master' into 2.2
2026-03-23 09:38:13 +08:00
grossmj
646ff00ade
Sync appliances
2026-03-23 09:37:15 +08:00
Jeremy Grossmann
77bea35298
Merge pull request #2641 from cristian-ciobanu/3.0
...
Enhancement Added link type support on the server side
2026-03-20 13:15:03 +08:00
Jeremy Grossmann
53051dd481
Merge pull request #2631 from yueguobin/feature/ai-copilot-bridge
...
feature/ai-copilot-bridge Branch Summary
2026-03-20 13:05:50 +08:00
YueGuobin
77a38cef03
docs: clarify system scope - baseline config with tool handoff
...
Clarify the positioning of the template-based system:
Scope (0 → 1):
- Topology provisioning (nodes + links)
- Baseline configuration (IP, routing protocols)
- Management access setup (SSH/HTTPS/NETCONF)
- Basic security configuration
Handoff to Production Tools (1 → N):
- Terraform (Infrastructure as Code)
- REST API (modern device management)
- NETCONF/YANG (standardized configuration)
- Network Controllers (SDN, APIC, etc.)
This clarifies that:
1. The system focuses on rapid environment preparation
2. It complements rather than replaces production tools
3. It's ideal for labs, testing, training, and initial setup
4. Advanced config management is handled by specialized tools
2026-03-20 10:00:23 +08:00
YueGuobin
76c84798dc
docs: refactor roadmap - reduce code, add comprehensive diagrams
...
Major documentation improvements:
Reduced Code Content (~60% reduction):
- Simplified Core Components section with concept-focused descriptions
- Condensed Large-Scale Topology section (kept concepts, removed implementation)
- Streamlined Node Creation Templates (kept workflows, removed tool code)
- Simplified Technical Considerations (kept diagrams, removed code)
- Streamlined Testing Strategy (kept test cases, removed test code)
Added Comprehensive Diagrams:
- System Architecture Overview (4-layer architecture)
- HITL State Transition Diagram (complete workflow with interrupts)
- REST API Endpoints (6 new endpoints with request/response formats)
- SSE Progress Stream (real-time event types)
- Data Flow Diagram (7-step process from user to results)
- Error Handling Flow (4 error types with recovery strategies)
- Template Lifecycle Management (5 stages from DRAFT to ARCHIVED)
- Automatic Layout Strategies (4 layout types with visual examples)
- Auto-Linking Strategies (4 link pattern types with diagrams)
- Security Considerations (3-layer validation approach)
- Error Categories (4 error types with recovery flows)
- Testing Strategy (unit, integration, E2E test scenarios)
Benefits:
- Easier to understand for non-technical stakeholders
- Focus on concepts and workflows rather than implementation
- Visual documentation aids comprehension
- Maintained all critical technical information
- Improved readability and structure
2026-03-20 09:54:58 +08:00
YueGuobin
382b2aefa9
docs: add link creation templates section to roadmap
...
Add comprehensive link creation templates documentation covering:
- Batch link creation workflow with HITL confirmations
- Link template schema with pattern-based connectivity
- Common topology patterns (Spine-Leaf, Ring, Mesh, Star, Three-tier)
- Intelligent port allocation strategies (round-robin, optimized)
- Performance benchmarks showing 99.9% token savings for large topologies
- Complete workflow example combining all three template systems
2026-03-20 09:44:03 +08:00
YueGuobin
3b4bc93e85
docs: add node creation templates section to roadmap
...
Added comprehensive node creation template system including:
- Batch node creation workflow (HITL with preview)
- Node template schema (groups, positioning, auto-linking)
- Automatic positioning algorithms (grid, spine-leaf, hierarchical)
- Auto-linking strategies (mesh, paired, linear)
- Batch parallel execution (20-50 concurrent)
- Performance benchmarks for 100-1000+ nodes
- Complete enterprise data center example (724 nodes, 4280 links)
Key benefits:
- 98% token savings for node creation (5000 → 100 tokens for 100 nodes)
- 90% time savings (10 min → 1 min for 100 nodes)
- Auto-linking eliminates manual connection setup
- Combined workflow: Create + configure 724 nodes in ~10 minutes
Updated implementation phases to include Phase 2.5 for node creation templates.
2026-03-20 09:35:45 +08:00
YueGuobin
a627d45ca6
docs: add large-scale topology support (1000+ nodes) to roadmap
...
Added comprehensive section on large-scale topology support including:
- Direct execution mode (skip AI, use rule engine)
- Batch parallel execution (50-100 concurrent)
- Intelligent parameter generation (0 token cost)
- Real-time progress streaming
- Configuration summary generation
- Performance benchmarks for 1000+ nodes
- Multiple addressing schemes (sequential, VLAN-based, hierarchical)
Key benefits:
- 99.5% token savings for 1000 devices (150K → 400 tokens)
- 88% time savings (50 min → 3-5 min)
- Enables rapid provisioning of training labs, CI/CD testing, disaster recovery drills
Updated implementation phases to reflect large-scale support priorities.
2026-03-20 09:26:45 +08:00
YueGuobin
5c42a59413
docs: add template-based configuration roadmap with HITL workflow
...
Add comprehensive roadmap for implementing Jinja2 template-based
configuration with Human-in-the-Loop confirmations.
Key features:
- Three-step HITL workflow (Template → Parameters → Execute)
- 70-80% token savings for multi-device configurations
- Enhanced safety through human review at each step
- Template reusability across projects
Implementation plan:
- Phase 1: Core MVP (3-5 days)
- Phase 2: UX Enhancement (2-3 days)
- Phase 3: Template Library (2-3 days)
- Phase 4: Advanced Features (3-4 days)
2026-03-20 01:18:56 +08:00
YueGuobin
1378e3b5ec
docs: add supported providers list and future enhancements
...
Add comprehensive documentation for LLM model providers:
- Provider list with default base URLs and requirements
- Examples for different providers (OpenAI, Anthropic, Ollama, Azure)
- Guidelines on when to specify base_url
- Future enhancements section for optional base_url field
2026-03-19 10:12:21 +08:00
YueGuobin
01d24403d3
feat: improve error handling for API configuration errors
...
Add error_handler utility to detect and format HTML error responses
from misconfigured API base URLs. When the API returns HTML (indicating
configuration issues), users now see a helpful message instead of raw
HTML content.
2026-03-19 00:46:49 +08:00
grossmj
c5325fdee4
Install ai-copilot in testing.yml
2026-03-18 16:17:07 +08:00
grossmj
333386ac8b
Use status.HTTP_501_NOT_IMPLEMENTED from FastAPI
2026-03-18 16:08:47 +08:00
YueGuobin
cd1d28729a
feat: make AI Copilot an optional dependency
...
This change makes AI Copilot features optional to reduce installation
size and support restricted environments.
Changes:
- Split AI dependencies into ai-requirements.txt
- Add ai-copilot optional dependency in pyproject.toml
- Add import protection in gns3server/agent/__init__.py
- Return 501 for AI endpoints when dependencies not installed
- Add gns3server-uninstall-ai-copilot command for cleanup
- Update README with installation and uninstallation instructions
Installation:
- Basic: pip install gns3-server
- With AI: pip install gns3-server[ai-copilot]
- Development: pip install gns3-server[ai-copilot,dev]
Uninstallation:
- gns3server-uninstall-ai-copilot
2026-03-18 15:21:23 +08:00
YueGuobin
0b741dd834
test: simplify class registration assertions in custom netmiko tests
...
Refactored test assertions for Huawei CE, Ruijie, and VPCS telnet drivers to compare only class names instead of full module paths. This change reduces test brittleness when classes are imported via different module paths while maintaining validation of correct class registration in CLASS_MAPPER and CLASS_MAPPER_BASE.
2026-03-17 22:45:02 +08:00