YueGuobin
e2e2e23cf7
feat(copilot): add VPCS Telnet driver with Netmiko and ANSI code stripping
...
Implement custom VPCS driver and unified tool architecture:
- Add VPCSTelnet custom driver (vpcs_telnet.py)
- No authentication (direct console access like VPCS behavior)
- Simple prompt pattern matching (PC\d+>)
- Automatic ANSI escape code stripping for clean output
- Config mode methods return empty (VPCS has no config modes)
- Replace vpcs_tools_telnetlib3.py with vpcs_tools_netmiko.py
- Migrate from telnetlib3 to Netmiko + Nornir architecture
- Unified tool architecture matching config/display tools
- Improved code consistency and maintainability
- Add comprehensive test coverage (test_vpcs_telnet.py)
- 30 unit tests covering all VPCS driver functionality
- Tests for ANSI code stripping, telnet_login, send_command
- Tests for device registration and initialization
- Update VPCS built-in template (services/templates.py)
- Add platform:vpcs and device_type:gns3_vpcs_telnet tags
- Automatic driver selection without manual configuration
- Update documentation (docs/)
- multi-vendor-device-support.md: VPCS driver documentation
- netmiko_devices.md: Add VPCS to supported devices list
- README.md: Update multi-vendor support description
2026-03-14 14:25:37 +08:00
YueGuobin
c05f667f3d
feat(templates): safely access settings dict keys
...
Use dict.get() method to safely access 'image' and 'path' keys in settings dictionary to avoid KeyError exceptions when these keys are missing. This improves error handling and prevents server crashes when creating templates with incomplete settings.
2026-02-23 01:02:32 +08:00
grossmj
efb84b3063
Add back ValidationError
2024-12-30 15:59:01 +07:00
grossmj
9d6cea665a
Replace python-jose library by joserfc
2024-12-30 15:25:24 +07:00
grossmj
4b1068e02f
Replace deprecated method datetime.utcnow()
2024-05-18 23:33:26 +07:00
grossmj
644e659729
Use NAT symbol for builtin NAT template
2024-04-22 19:11:58 +07:00
grossmj
fa41d9ba75
Use bcrypt directly instead of passlib
2024-03-07 18:17:17 +01:00
grossmj
9c456532d0
Pydantic v2 migration
2023-08-04 18:20:06 +10:00
grossmj
bfbac2e93a
Use generic symbol names
2022-07-25 12:33:40 +02:00
grossmj
410f062721
Fix config option to disable built-in templates.
2022-06-21 17:17:44 +02:00
grossmj
10fdd8fcf4
Add connect endpoint for computes
...
Param to connect to compute after creation
Report compute unauthorized HTTP errors to client
2021-12-24 13:05:39 +10:30
grossmj
16fcf6141e
Fix tests
2021-12-08 00:43:54 +10:30
grossmj
05d2579907
Do not automatically install appliance after uploading image
2021-12-08 00:01:25 +10:30
grossmj
38388f7ae5
Secure controller to compute communication using HTTP basic authentication
2021-11-18 18:37:10 +10:30
grossmj
7ce5e19a6e
Fix issue when updating a template
2021-10-23 16:23:19 +10:30
grossmj
04934691df
Appliance management refactoring:
...
* Install an appliance based on selected version
* Each template have unique name and version
* Allow to download an appliance file
2021-10-18 18:04:30 +10:30
grossmj
bc36d95060
Finalize image management refactoring and auto install appliance if possible
2021-10-10 17:35:11 +10:30
grossmj
d606553e20
Allow images to be stored in subdirs and used by templates.
2021-08-30 16:53:41 +09:30
grossmj
332fa47b50
Option to prune images when deleting template.
2021-08-23 10:27:10 +09:30
grossmj
bf9a3aee20
Associate images when creating or updating a template.
2021-08-22 15:16:02 +09:30
grossmj
9c850e0f2b
Move schemas between compute and controller subpackages
2021-04-15 18:12:08 +09:30
grossmj
c021e21309
Use black with -l 120 param.
2021-04-13 18:46:50 +09:30
grossmj
f928738bd5
Use pyupgrade with --py36-plus param.
2021-04-13 18:37:58 +09:30
grossmj
1b5a5de4bc
Generate new config for each test. Fixes tests.
2021-04-12 19:37:59 +09:30
grossmj
30ebae207f
Use Pydantic to validate the server config file.
2021-04-12 17:02:23 +09:30
grossmj
170e83e589
Fix tests and update requirements
2021-04-05 17:43:35 +09:30
grossmj
566e326b57
Save computes to database
2021-04-05 14:21:41 +09:30
grossmj
91920e5a5b
Fix issue with tests + some cleaning.
2021-03-31 09:58:52 +10:30
grossmj
0fea3f969e
Use aiosqlite and add service for templates
2021-03-28 21:17:29 +10:30
grossmj
58c1b01439
Add default JWT secret key and fix tests.
2020-12-18 16:51:54 +10:30
grossmj
bde706d19a
Generate JWT secret key if none is configured in the config file.
...
Change location of the database.
2020-12-16 18:24:21 +10:30
grossmj
d47dcb0d6f
User authentication with tests.
2020-12-07 16:52:36 +10:30
grossmj
bf7cf862af
Refactor tests and start work on database integration.
2020-12-02 18:39:08 +10:30