summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-26Merge branch 'main' into fix/icmp-parse-attr-bugfix/icmp-parse-attr-bugomnom62
2026-06-26T2295: vyos_user: quote plaintext-password in generated set commands (#480)Stavros Kroustouris
* vyos_user: quote plaintext-password in generated set commands VyOS requires quoted values for passwords with special characters. Align with encrypted-password and integration test conventions. Co-authored-by: Cursor <cursoragent@cursor.com> * T2295: escape plaintext-password values in vyos_user set commands Quote passwords for VyOS special-character handling and escape embedded single quotes. Update RETURN sample, add unit tests, refresh changelog. Co-authored-by: Cursor <cursoragent@cursor.com> * T2295: shorten changelog fragment for ansible-lint line-length Co-authored-by: Cursor <cursoragent@cursor.com> * T2295: use shlex.quote() for plaintext-password values Replace custom _quote_config_value() with stdlib shlex.quote() per review feedback; update unit tests and RETURN sample accordingly. Co-authored-by: Cursor <cursoragent@cursor.com> * T2295: add complex plaintext-password quoting unit test Cover spaces, shell metacharacters, embedded quotes, and backslashes in one password; assert command output matches shlex.quote(). Co-authored-by: Cursor <cursoragent@cursor.com> * T2295: assert explicit quoting in complex password unit test Replace shlex.quote()-derived expectation with a fixed command string, matching the other password quoting tests. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix RETURN doc sample, add docstrings and workflow permissions - RETURN sample was missing the username token in the example command - Add docstrings to all undocumented module-level functions to bring docstring coverage above the 80% threshold - Add explicit permissions: contents: read to codecoverage.yml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Revert "Fix RETURN doc sample, add docstrings and workflow permissions" This reverts commit 827809ee49cf472a8bf30ec0b24d347a75fcb083. --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19rm_templates: T8609: fix slow parse() from group-quantifier patterns (#470)Robert Navarro
* rm_templates: T8609: fix slow parse() from group-quantifier patterns Running an Ansible playbook that manages BGP route-maps on my VyOS 1.4 edge routers, the vyos.vyos.vyos_route_maps task (state=gathered or state=merged) takes ~50 seconds per host, sometimes 100s+, against devices with only a handful of route-maps configured. The persistent connection times out before the module finishes and the failure surfaces as a misleading "socket path does not exist". Three related quantifier shapes in nine rm_templates files cause O(2^n) regex backtracking on inputs that share a parser's prefix but don't match overall. parse() time on a representative 12-line route-map config drops from ~50s to <1ms post-fix. * Trailing form (188 sites): `(?P<X>\S+)\n *$"""` -> `(?P<X>\S+)\s*$"""`. Under re.VERBOSE the literal newline+indent between `\S+` and `*$` is stripped at compile time, so the source compiled to `(\S+)*$` with the `*` quantifying the named group. * Mid-pattern `(group containing \S+)*` (22 sites in snmp_server.py with a couple in bgp_global*.py): e.g. `(?P<protocol>protocol\s\S+)*` -> `(?P<protocol>protocol\s\S+)?`. Different position from the trailing form, but the same shape underneath (a group whose content includes \S+, quantified with `*`), so the same O(2^n) backtracking on prefix-sharing inputs. * Mid-pattern `(literal-only group)*` (14 sites in snmp_server.py, bgp_address_family*.py, bgp_global*.py): e.g. `(?P<as_set>as-set)*` -> `(?P<as_set>as-set)?`. No \S+ inside the quantified group, so the backtracking exposure is much smaller. On the inputs these patterns actually receive (no device line carries duplicate flags) `*` and `?` accept identical input sets, so changing to `?` is behavior-preserving. The first draft of this fix made set_comm_list_delete's `(?P<delete>\S+)` group required. The parser's setval emits `set comm-list delete` with no token after `delete`, so the parser stopped matching its own output (no existing fixture covered this case, which is why the regression initially shipped). CodeRabbit caught it during review. Replaced `delete(?P<delete>\S+)\s*$` with `\s(?P<delete>delete)\s*$` so the named group captures the literal word `delete`; the result template `{{True if delete is defined}}` continues to evaluate True. Affects: route_maps[/_14], bgp_global[/_14], bgp_address_family[/_14], snmp_server, ospf_interfaces[/_14]. Adds tests/unit/modules/network/vyos/test_rm_templates_perf.py with a 1-second budget against fixture inputs that have realistic-length identifiers, plus a round-trip test asserting set_comm_list_delete matches its own setval-generated line, plus a Bgp_address_familyTemplate14 budget test for symmetry with the other "hot" template families. * Fix regex backtracking issues in parse() method Fix slow parse() to prevent regex backtracking on prefix-sharing inputs across multiple files. Add unit test for the bugfixes. * Refactor bug fixes for regex backtracking improvements Updated bug fixes to include details on regex backtracking issues in multiple files. * Fix typo in bugfixes section of changelog * Update bugfixes for regex backtracking issues * rm_templates: T8609: route_maps.py: fix remaining trailing `*$` patterns Five sites in route_maps.py still had the `(?P<name>...)\n *$` shape that collapses to `(?P<name>...)*$` under `re.VERBOSE`, parsers `sequence`, `on_match_next`, `set_atomic_aggregate`, `set_extcommunity_bandwidth_non_transitive`, and `match_community_exact_match`. Collapsed each to `\s*$` on the same line as the named group, matching the rest of the PR. * rm_templates: T8609: route_maps.py: split overlong getval to satisfy E501 Line 517 was 161 chars (`set_extcommunity_bandwidth_non_transitive` parser) and tripped pycodestyle's E501 sanity test in CI. Split the regex source across two lines at the `\d+)` boundary; under `re.VERBOSE` the literal newline and indent between regex tokens are stripped at compile time, so the engine sees the same pattern. `\s*$` stays on the same line as the closing capture group, so the group-quantifier shape this PR fixes elsewhere isn't reintroduced. --------- Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-06-12Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-06-11Merge pull request #484 from ↡Viacheslav Hletenko
vyos/dependabot/github_actions/codecov/codecov-action-7 Bump codecov/codecov-action from 6 to 7
2026-06-08Bump codecov/codecov-action from 6 to 7dependabot/github_actions/codecov/codecov-action-7dependabot[bot]
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6 to 7. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v6...v7) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08T8966: add legacy-label escape to invalid-task-id rule (commit check exempt) ↡Yuriy Andamasov
(#483) The per-repo T-ID rule flagged every commit's first line, but on repos that squash-merge AND block force-push (vyos.vyos enforces non_fast_forward on ~ALL branches, zero bypass) authors cannot rewrite history to make existing commits conform. The label became unclearable. Keep the title check (always fixable), and exempt the per-commit check when a maintainer applies the new `legacy` label. New PRs are still nudged toward the convention. πŸ€– Generated by [robots](https://vyos.io)
2026-06-06ci: T8966: exempt bots from product T-ID (invalid-task-id) gate (#482)Yuriy Andamasov
2026-06-06ci: T8966: add product T-ID title/commit check (opt-in relocation) (#481)Yuriy Andamasov
2026-06-02Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-06-01docs: AGENTS.md: reflect rollout 1c default-branch rename (#478)Yuriy Andamasov
2026-05-31Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-05-30ci: T8943: sweep HIGH-producer pins to renamed branches (rollout 1c) (#477)Yuriy Andamasov
Rewrites uses: pins to the three HIGH-fanout producers (vyos/.github, vyos/vyos-cla-signatures, VyOS-Networks/vyos-reusable-workflows) from their old default branch to the new production compat branch staged in Task 1. No functional change; pin-ref rewrite only. Tracking: T8943
2026-05-29Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-05-28T8615: add Mergify config (extends: mergify central template) (#476)Yuriy Andamasov
* T8615: add Mergify config (extends: mergify central template) Adds the org-local central-config inheritance file per the T8615 sweep (re-scoped 2026-05-28). 4-line minimum: extends: mergify resolves to vyos/mergify which provides commands_restrictions (9 slash commands x 4-sender allowlist), conflict labeler, PR-title T-ID format check, opt-in auto-update, and the backport-conflict merge protection. merge_protections_settings: reporting_method: check-runs declared explicitly per-repo because only defaults and commands_restrictions are documented as merging across extends: -- pin to current behavior pre the 2026-07-31 default flip per data/github.md Mergify gotchas table. Phase 0 CR: 0 finding(s). Known false positive: CR flags extends: mergify as 'not a documented built-in preset' but Mergify documents the org-local form at https://docs.mergify.com/configuration/sharing/. Refs: T8615 (re-scoped 2026-05-28), IS-421 Generated by robots https://vyos.io * T8615: switch yaml-language-server schema URL to JSON-schema Replaces the human-docs file-format URL (which serves HTML and cannot drive editor validation) with the machine-readable JSON-schema URL that yaml-language-server actually resolves for autocomplete and schema validation. Old: https://docs.mergify.com/configuration/file-format/ New: https://docs.mergify.com/mergify-configuration-schema.json Phase 0 CR: 0 0 finding(s). Refs: T8615 (re-scoped 2026-05-28), IS-421 Generated by robots https://vyos.io
2026-05-27Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-05-27T8514: fix typo in meta/runtime.yml snmp_server redirect (#457)Yuriy Andamasov
Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-05-27Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-05-26T8519: add changelog fragment vyos_vlan (#462)Yuriy Andamasov
* T8519: add changelog fragment for new unit tests * Update missing unit tests entry in changelog Removed mention of unit tests for vyos_l3_interfaces and vyos_lldp_interfaces. --------- Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-05-26Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-05-25coderabbit: T8851: add .coderabbit.yaml for central-config inheritance (#475)Yuriy Andamasov
* ci: switch .coderabbit.yaml to centralized inheritance (T8851) * ci: T8851: add changelog fragment for CodeRabbit centralization --------- Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-05-25T6818: Add argument to vyos_config for controlling password filtering (#466)stronkbyte
This commit adds the argument `allow_password_change` in order to control whether any configuration lines which would make changes to user passwords should be filtered out or not. Co-authored-by: Daniil Baturin <daniil@baturin.org> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-05-23Merge branch 'main' into fix/icmp-parse-attr-bugomnom62
2026-05-16T8518: add unit tests for vyos_vlan module (#471)Yuriy Andamasov
Adds 7 unit tests for vyos_vlan covering present, present_no_change, absent, absent_no_change, aggregate, purge, and address scenarios. Fixture data moved to dedicated .cfg files under fixtures/. πŸ€– Generated by [robots](https://vyos.io) Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com> Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-05-13T8515: remove pre-1.3 deprecated code artifacts from vyos_bgp_global (#461)Yuriy Andamasov
* T8515: remove commented-out pre-1.3 parameter artifacts from vyos_bgp_global docs * T8515: remove stale vrf.old backup file * T8515: add changelog fragment for deprecated code cleanup * T8515: fix grammar in ebgp_multihop description Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-05-08general: T8595: add AGENTS.md (#472)Yuriy Andamasov
* general: T8595: add AGENTS.md * general: T8595: clean leaked internal references * general: T8595: restore eaten spaces in shell command examples * general: T8595: correct CI scope (no integration in CI yet) and version-matrix attribution * general: T8595: add changelog fragment + refine CI scope (unit-galaxy/unit-source) * general: T8595: address Copilot review threads on test command and commit convention - Line 15: add `ansible-test units` alongside the existing pytest command; the two correspond to the unit-galaxy and unit-source CI jobs respectively, so documenting both gives contributors accurate options for each CI path. - Line 30: change "Commit / PR title" to "Commit headline". No workflow in this repo enforces PR title format; the PR template checklist confirms only commit headlines must carry a Phorge task ID. πŸ€– Generated by [robots](https://vyos.io)
2026-05-01Bump ansible/team-devtools/.github/workflows/ah_token_refresh.yml (#468)dependabot[bot]
Bumps [ansible/team-devtools/.github/workflows/ah_token_refresh.yml](https://github.com/ansible/team-devtools) from 26.2.0 to 26.4.0. - [Release notes](https://github.com/ansible/team-devtools/releases) - [Commits](https://github.com/ansible/team-devtools/compare/v26.2.0...v26.4.0) --- updated-dependencies: - dependency-name: ansible/team-devtools/.github/workflows/ah_token_refresh.yml dependency-version: 26.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-05-01T8520: fix vlan purge generating invalid commands for bare interfaces (#463)Yuriy Andamasov
Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-04-27T8512: fix isort import ordering violations (#454)Yuriy Andamasov
* T8512: fix isort import ordering violations * T8512: add changelog fragment Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26Bump ansible/team-devtools/.github/workflows/ah_token_refresh.yml (#448)dependabot[bot]
Bumps [ansible/team-devtools/.github/workflows/ah_token_refresh.yml](https://github.com/ansible/team-devtools) from 26.1.0 to 26.2.0. - [Release notes](https://github.com/ansible/team-devtools/releases) - [Commits](https://github.com/ansible/team-devtools/compare/v26.1.0...v26.2.0) --- updated-dependencies: - dependency-name: ansible/team-devtools/.github/workflows/ah_token_refresh.yml dependency-version: 26.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Daniil Baturin <daniil@baturin.org> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com> Co-authored-by: Yuriy Andamasov <yuriy@vyos.io>
2026-04-26T8584: add CodeRabbit review configuration (#467)Yuriy Andamasov
* T8584: add CodeRabbit review configuration Add .coderabbit.yaml with path-specific guidelines for automated code review, docstring generation, and unit test generation covering all module types (resource and legacy), plugin layers, and test infrastructure. πŸ€– Generated by [robots](https://vyos.io) * T8584: fix changelog glob, valid keys, and vyos_vrf classification - Expand changelog fragment glob to *.{yaml,yml} (18 of 19 fragments use .yml) - Add known_issues and release_summary to valid changelog keys per changelogs/config.yaml - Remove vyos_vrf from legacy module list β€” it has resource module infrastructure (argspec, config, facts) πŸ€– Generated by [robots](https://vyos.io) * T8584: add ansible/ansible and ansible.netcommon as linked repositories CodeRabbit will reference core Ansible framework and netcommon base classes when reviewing this collection modules, plugins, and test patterns. πŸ€– Generated by [robots](https://vyos.io)
2026-04-17T8523: add Copilot custom review instructions (#465)Yuriy Andamasov
* Add easy-wins improvement spec for vyos.vyos collection Covers five phases: formatting compliance, runtime.yml redirect fix, deprecated feature cleanup, missing unit tests, and template deduplication. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add implementation plan for easy-wins improvements 15 tasks across 5 phases: formatting compliance, runtime.yml bugfix, deprecated code cleanup, missing unit tests, template deduplication. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Update spec and plan with architect review corrections Key changes: - Defer Phase 5 (template deduplication) to v7.0.0: route_maps are not identical, BGP dedup blocked by Python module-level scoping, OSPF has fundamentally different command paradigms - Add .git-blame-ignore-revs step to Phase 1 - Add missing test cases: overridden/rendered for resource modules, aggregate/purge/with_address for vyos_vlan - Fix incorrect claim that version.py LooseVersion is unused - Add sequential merge requirement to preamble Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: add .worktrees/ and .claude/ to .gitignore * T8523: add Copilot custom review instructions Add .github/copilot-instructions.md and path-specific instruction files under .github/instructions/ to teach Copilot project conventions: copyright attribution, changelog fragment key selection, test mocking patterns, required state coverage for resource modules, and module option description standards. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * T8523: remove copyright instructions from Copilot config Copyright attribution rules are internal guidance kept in Claude config, not in Copilot review instructions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * T8523: remove docs/superpowers files inadvertently included These spec/plan files came from local main commits that were pulled in during rebase. They are unrelated to this PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * T8523: fix inaccuracies flagged by Copilot review - CLI quoting: clarify that boolean flags and bare keywords are unquoted; only string/address values use single quotes - Test mocking: describe get_device_data / execute_show_command as the primary resource module pattern (used by most existing tests); note get_resource_connection_facts approach as an alternative - modules.instructions.md: broaden applyTo to include meta/runtime.yml so redirect guidance fires when that file is edited Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * T8523: fix legacy module mocking guidance in tests.instructions.md Existing legacy tests use side_effect for run_commands, not return_value. Updated to describe side_effect as the standard approach, note return_value as also acceptable for fixed responses, and clarify that the patched helper varies by module (run_commands for command/facts/ping, load_config/get_config for vyos_config). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * T8523: fix four more inaccuracies flagged by Copilot review - CLI quoting: address values in firewall groups are unquoted in fixtures; instruct reviewers to align with surrounding fixture style rather than flagging all unquoted addresses - Resource module mocking: add .start()/.stop() calls to the snippet so it matches the actual setUp/tearDown pattern in existing tests - terminal plugin versions: reference README.md instead of hardcoding a version list that diverges from README - changelog fragment: remove stale "copyright headers" claim (that section was dropped from the instruction files) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16T8522: add parsed test for legacy type/code ICMP formatYuriy Andamasov
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16T8522: remove unrelated planning docs and gitignore changesYuriy Andamasov
These files were included from local main branch commits unrelated to this bugfix. This commit removes them to keep the PR scoped. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16T8522: fix parse_icmp_attr() split delimiter and UnboundLocalErrorYuriy Andamasov
- Use val.split("/") instead of val.split(".") when parsing type/code pairs - In the numeric-only branch, use int(val) instead of the undefined type_no variable - Cast both type and code to int for consistent typing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16chore: add .worktrees/ and .claude/ to .gitignoreYuriy Andamasov
2026-04-16Update spec and plan with architect review correctionsYuriy Andamasov
Key changes: - Defer Phase 5 (template deduplication) to v7.0.0: route_maps are not identical, BGP dedup blocked by Python module-level scoping, OSPF has fundamentally different command paradigms - Add .git-blame-ignore-revs step to Phase 1 - Add missing test cases: overridden/rendered for resource modules, aggregate/purge/with_address for vyos_vlan - Fix incorrect claim that version.py LooseVersion is unused - Add sequential merge requirement to preamble Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16Add implementation plan for easy-wins improvementsYuriy Andamasov
15 tasks across 5 phases: formatting compliance, runtime.yml bugfix, deprecated code cleanup, missing unit tests, template deduplication. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16Add easy-wins improvement spec for vyos.vyos collectionYuriy Andamasov
Covers five phases: formatting compliance, runtime.yml redirect fix, deprecated feature cleanup, missing unit tests, and template deduplication. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15Bump codecov/codecov-action from 5 to 6 (#452)dependabot[bot]
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5 to 6. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v5...v6) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-04-14Ignore file 2.22 sanity fixes (#453)omnom62
* sanity tests 2.22 ignore * Ignore 2.22 for sanity
2026-04-07 T8205 Ensure the vyos_user module works when user properties are defined ↡gideon-kuijt-northwave
in… (#445) * Ensure the vyos_user module works when user properties are defined in aggregate Ensure the vyos_user module works when user properties are defined in aggregate. Previously the value variable is not filled when a property is configured as a property of a user. This gives a python error when the value variable is called. * Add unit test for aggregate vyos_user module * Create vyos_user_aggregate_fix.yml Create changelog for vyos_user aggregate bugfix * Rename vyos_user_aggregate_fix.yml to T8205_vyos_user_aggregate_fix.yml * Rename T8205_vyos_user_aggregate_fix.yml to T8205_vyos_user_aggregate_fix.yml Remove unintended whitespace in changelog fragment: T8205_vyos_user_aggregate_fix.yml --------- Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com> Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-04-03CI tests fixes (ADE related) (#450)omnom62
* Init for the fixes related to ADE * testing new tox.ini * tox ade fixes * test tox * test tox * testing tox * test tox * test tox * testing tox * testing fix * testing a fix * testing tox * testing fix * bindep.txt test * test with tox
2026-03-08T8104: Add static routes multiple next-hop targets (#444)omnom62
* Mid fixes * Ready for testing * Fixing SR interface * Fix is ready * changelog * Integration tests for static_routes interface next-hop v.1.4+ WIP * branching 1.3- and 1.4+ * Integration tests for T8104 complete * Comments are resolved * Comments are resolved
2026-03-04T6836 VRF module (#408)omnom62
* t6836 vfr module init * argspec facts module for VRF * T6834 static_route module to support interface_route (#398) * t6834 init * facts fixes, WIP * T6834 - facts updates * static_routes 1.3- config, facts, args and sanit and unit tests * changelog * changelog updates * static_routes 1.4+ * static_routes v1.4 unit tests * comment removed * T6829 (area interfaces in OSPFv3 1.3-1.5) re-init (#399) * T6829 re-init * re-init T6829 ospfv3 area interface for 1.3- * changelog * changelog fix * Doc is updated * adding 1.4+ support * ospfv3 area interfaces for 1.4+ * fixed ospfv3 facts and added area interface unit test for 1.4 * ospfv3 clean-up * doc updates * Resolve merge conflicts * vrf parsers set_table * more vrf paresers added * vrf facts main code * vrf data structures * simple vrf config push * simple vrf config push * some work on vrf * basic facts done * vrf instance parsers wif * ongoing parser testing * vrf dev work * testing with paresers * all basic settings * merged for vrf * more states for VRF * vrf deleted, overriden * overriden * sanity * rst for vrf * changelog * fix changelog * doc fix * vrf delete idempotent * deleted and overridden for VFR * overriden * overriden vrf idempotency * asdvanced vrf settings * afi for VRF facts * VRF AFI config * VRF AFI tests * vrf dev work * afi dev work * afi and deep_merge fixes for VRF * afi basic provisioning * changelog * vrf sanity fixes * VRF AFI protocols and route-maps * vrf parsed, gathered, rendered fixes * docstrings VRF * docstrings VRF * docstring VRF * module doc update * vrf module examples * VRF doc examples * linter * VRF unit tests init * VRF unit tests init * VRF unit tests updates * fixed VRF overridden and deleted unit test cases * VRF integration tests init * VRF int tests rtt, merged, replaced * VRF int testt gathered, rendered * VRF int tests deleted, rendered, overridden and empty_config * linter * VRF int test misc fixes * VRF global idepmotency * fixing py3.13 runner deps * fixing lint * fixing sanity * reverting previous fixes * VRF protocols load_module and provisioning flow * fixes to bgp VRF protocol methods * VRF protocol facts init * VRF protocol load_module works * reworked VRF load_module routine * vrf protocl static fixed * Fixed static and ospf VRF protocol provisioning * Fixed static and ospf VRF protocol provisioning * VRF doc update * VRF docs update * VRF doc updates * unit tests for VRF protocols * VRF BGP protcol sanity check * VRF protocol fixed sanity checks (DOCUMENTATION) * sanity and doc for VRF fixed * VRF unit tests mock * VRF protocol integration parsed, rtt and merged init * VRF protocols - rendered, overridden * VRF protocols replaced * fix accidental changes to test_vyos_config.py * PR description * fix image * README fix * Fixing linter * Mid-result UAT overriden VRF * Mid-result for VRF UAT * VRF uat * VRF obsolete features removed
2026-02-23add commit-confirm options to vyos_config (#229)lucaelin
* added vyos_config confirm options * fix: update commit comment to match main * fix: documentation example for automatic confirm * fix: add tests for commit confirm and confirm_timeout options * fix: add config_confirm changelog fragment * fix: lint missing diff parameter for edit_config * fix: add commit confirm integration test --------- Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2026-01-25Bump ansible/team-devtools/.github/workflows/ah_token_refresh.yml (#446)dependabot[bot]
Bumps [ansible/team-devtools/.github/workflows/ah_token_refresh.yml](https://github.com/ansible/team-devtools) from 25.12.8 to 26.1.0. - [Release notes](https://github.com/ansible/team-devtools/releases) - [Commits](https://github.com/ansible/team-devtools/compare/v25.12.8...v26.1.0) --- updated-dependencies: - dependency-name: ansible/team-devtools/.github/workflows/ah_token_refresh.yml dependency-version: 26.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-05Bump ansible/team-devtools/.github/workflows/ah_token_refresh.yml (#442)dependabot[bot]
Bumps [ansible/team-devtools/.github/workflows/ah_token_refresh.yml](https://github.com/ansible/team-devtools) from 25.7.0 to 25.12.8. - [Release notes](https://github.com/ansible/team-devtools/releases) - [Commits](https://github.com/ansible/team-devtools/compare/v25.7.0...v25.12.8) --- updated-dependencies: - dependency-name: ansible/team-devtools/.github/workflows/ah_token_refresh.yml dependency-version: 25.12.8 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-28T7933 bugfix - 'offload' action (#440)omnom62
* Init T7933 bugfix * offload-target * Argspsec fixed * Documentation fixes * fw_rules config fpor offload_target * fact fixes * offload unit test merge * offload unit tests for v1.3- overriden, replaced * Offload unit test v13 complete * v14+ offload unit tests * v1.4.+ unit tests for offload
2025-11-27T7621 vyos_firewall_global features (#432)omnom62
* t7621 vyos_firewall_global diff mode * vyos_firewall_global integration test for diff * enhanced integration tests with diff * diff integration tests * merged diff test * 1.3- specific changes to integration tests * data/config separated --------- Co-authored-by: Gaige B Paulsen <gaige@cluetrust.com>