summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
3 daysBump actions/setup-python from 6 to 7dependabot/github_actions/actions/setup-python-7dependabot[bot]
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
9 daysci: T9082: onboard CodeQL scanning (#488)HEADmainYuriy Andamasov
* ci: T9082: onboard CodeQL scanning via central reusable workflow πŸ€– Generated by [robots](https://vyos.io) * ci: T9082: add trivial changelog fragment for the CodeQL workflow πŸ€– Generated by [robots](https://vyos.io)
2026-07-01T8513: add .git-blame-ignore-revs to exclude bulk formatting commits (#455)Yuriy Andamasov
* T8513: add .git-blame-ignore-revs to exclude bulk formatting commits * T8513: fix changelog fragment - use trivial section and correct 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-06-30T8522: fix parse_icmp_attr() split delimiter and UnboundLocalError (#464)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 * T8522: fix parse_icmp_attr() split delimiter and UnboundLocalError - 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> * T8522: remove unrelated planning docs and gitignore changes 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> * T8522: add parsed test for legacy type/code ICMP format Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
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-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-01docs: AGENTS.md: reflect rollout 1c default-branch rename (#478)Yuriy Andamasov
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-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-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-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-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-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-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>
2025-11-26T6823: correctly set the IPv6 autoconf option (#433)omnom62
* T6823 init fix * slaac and integration tests * reaplced integration test * WIP integration tests * changelog and tweaks * rendered, gathered, parsed, integration tests for SLAAC * l3_interfaces gathered, emty, deleted * deleted integration test * vif processing * vif tests * vir related integration test cases * ignore ansible-bad-import-from * ansible-bad-import-from ingore * ignore ansible-bad-import-from for all * test ansible-bad-import-from skip * ingore file * Fix bugs with configuration remove * Delete testcase fixed * SLAAC integration tests * Sanity check fixes * remove_config formatted * l3 slaac eth0 removed from SIT * Remove ignore 2.20 * ignore2.20 recovered * Remove residue
2025-11-20Bump ansible/team-devtools from 22.5.0 to 25.7.0 (#431)dependabot[bot]
Bumps [ansible/team-devtools](https://github.com/ansible/team-devtools) from 22.5.0 to 25.7.0. - [Release notes](https://github.com/ansible/team-devtools/releases) - [Commits](https://github.com/ansible/team-devtools/compare/v22.5.0...v25.7.0) --- updated-dependencies: - dependency-name: ansible/team-devtools dependency-version: 25.7.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> Co-authored-by: Daniil Baturin <daniil@baturin.org> Co-authored-by: Gaige B Paulsen <gaige@cluetrust.com> Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
2025-11-03T7964 - Fix edgecase with empty `commands` array. (#439)Ruben van Dijk
* T7964 - Add failing test. * T7964 - Fix "IndexError: list index out of range".
2025-10-26T7496 Fix disabling src route (#420)Ruben van Dijk
* T7496 Fix disabling src route (failing tests) * T7496 Fix disabling src route (bugfix) * T7496 Fix disabling src route (Changelog) --------- Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com> Co-authored-by: Gaige B Paulsen <gaige@cluetrust.com>
2025-10-26[T7856] Fix confusion between firewall zone name and group name. (#436)Ruben van Dijk
Co-authored-by: Gaige B Paulsen <gaige@cluetrust.com>
2025-10-20Bump actions/setup-python from 5 to 6 (#434)dependabot[bot]
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-python 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: Daniil Baturin <daniil@baturin.org> Co-authored-by: Gaige B Paulsen <gaige@cluetrust.com>
2025-10-20fix: T7943 fix sanity checks (#437)Gaige B Paulsen
* fix: T7943 fix sanity checks * ci: update changelog
2025-10-19Fixes for sanity checks broken by upstream (#435)omnom62
* init for upstream sanity checks * PY3 removed * procenv.py PY3 fix * changelog * Bulk commit of linter changes * Clean-up
2025-09-15Fixes to T7221 and greedy matching (#430)omnom62
* Fixes to T7221 and greedy matching
2025-08-04Sanity devel and milestone doc fix (#428)omnom62
* sanity doc fix * changelog * testing fix --------- Co-authored-by: evgmol-wbio <evgeny.molotkov@whalebone.io>
2025-07-23T7579: added workflow for CLA (#427)lemeshovich
* T7579: added workflow for CLA * T7579: fix of the run trigger for CLA * added a new line * added the changelog fragment * fix a new line character at the end of file * fixed new line issues (#427) - https://github.com/vyos/vyos.vyos/pull/427 * removed blank lines (#427) --------- Co-authored-by: Yevhen Bondarenko <evgeniy.bondarenko@sentrium.io>
2025-07-01Fix typing_extensions requirement (#426)omnom62
* Fix typing_extensions requirement * linter fix