summaryrefslogtreecommitdiff
path: root/smoketest
AgeCommit message (Collapse)Author
2024-07-30pbr: T6430: Allow forwarding into VRFs by name as well as route table IDsAndrew Topp
* PBR can only target table IDs up to 200 and the previous PR to extend the range was rejected * PBR with this PR can now also target VRFs directly by name, working around targeting problems for VRF table IDs outside the overlapping 100-200 range * Validation ensures rules can't target both a table ID and a VRF name (internally they are handled the same) * Added a simple accessor (get_vrf_table_id) for runtime mapping a VRF name to table ID, based on vyos.ifconfig.interface._set_vrf_ct_zone(). It does not replace that usage, as it deliberately does not handle non-VRF interface lookups (would fail with a KeyError). * Added route table ID lookup dict, global route table and VRF table defs to vyos.defaults. Table ID references have been updated in code touched by this PR. * Added a simple smoketest to validate 'set vrf' usage in PBR rules
2024-07-29Merge pull request #3804 from HollyGurza/T6362Daniil Baturin
T6362: Create conntrack logger daemon
2024-07-29Merge pull request #3823 from srividya0208/T6571Daniil Baturin
OpenVPN CLI-option: T6571: rename ncp-ciphers with data-ciphers
2024-07-28Merge pull request #3874 from c-po/unused-importChristian Breunig
smoketest: T6592: remove unused "import os"
2024-07-28Merge pull request #3888 from c-po/op-mode-smoketestChristian Breunig
smoketest: T6614: initial support for op-mode command testing
2024-07-28Merge pull request #3889 from c-po/syslog-smoketestChristian Breunig
smoketest: T5705: use locally connected remote syslog servers
2024-07-28firewall: T4694: Adding rt ipsec exists/missing match to firewall configs ↵talmakion
(#3616) * Change ipsec match-ipsec/none to match-ipsec-in and match-none-in for fw rules * Add ipsec match-ipsec-out and match-none-out * Change all the points where the match-ipsec.xml.i include was used before, making sure the new includes (match-ipsec-in/out.xml.i) are used appropriately. There were a handful of spots where match-ipsec.xml.i had snuck back in for output hooked chains already (the common-rule-* includes) * Add the -out generators to rendered templates * Heavy modification to firewall config validators: * I needed to check for ipsec-in matches no matter how deeply nested under an output-hook chain(via jump-target) - this always generates an error. * Ended up retrofitting the jump-targets validator from root chains and for named custom chains. It checks for recursive loops and improper IPsec matches. * Added "test_ipsec_metadata_match" and "test_cyclic_jump_validation" smoketests
2024-07-28smoketest: T5705: use locally connected remote syslog serversChristian Breunig
As there has been no route to the configured syslog servers, smoketests produced: rsyslogd: omfwd: socket 8: error 101 sending via udp: Network is unreachable Rather use some fake syslog servers from 127.0.0.0/8 which are directly connected and we do not need to look up a route, which will suppress the above error message.
2024-07-27smoketest: T6614: initial support for op-mode command testingChristian Breunig
2024-07-25OpenVPN CLI-option: T6571: rename ncp-ciphers with data-cipherssrividya0208
2024-07-25smoketest: T6592: remove unused "import os"Christian Breunig
2024-07-25Merge pull request #3857 from c-po/vrf-interface-part-2Christian Breunig
interface: T6592: remove interface from conntrack ct_iface_map on deletion
2024-07-24smoketest: T6592: verify no interface stalls in conntrack ct_iface_map on ↵Christian Breunig
deletion Now that interfaces are deleted from ct_iface_map during deletion it's time to also add a smoketest ensuring there is no entry in the ct_iface_map once an interface was deleted from the CLI.
2024-07-23vrf: T6602: verify supplied VRF name on all interface typesChristian Breunig
Only some (e.g. ethernet or wireguard) interfaces validate if the supplied VRF actually exists. If this is not validated, one can pass an invalid VRF to the system which generates an OSError exception. To reproduce set interfaces vxlan vxlan1 vni 1000 set interfaces vxlan vxlan1 remote 1.2.3.4 set interfaces vxlan vxlan1 vrf smoketest results in OSError: [Errno 255] failed to run command: ip link set dev vxlan1 master smoketest_mgmt This commit adds the missing verify_vrf() call to the missing interface types and an appropriate smoketest for all interfaces supporting VRF assignment.
2024-07-23interface: T6592: remove interface from conntrack ct_iface_map on deletionChristian Breunig
We always have had stale interface entries in the ct_iface_map of nftables/ conntrack for any interface that once belonged to a VRF. This commit will always clean the nftables interface map when the interface is deleted from the system.
2024-07-22Merge pull request #3827 from HollyGurza/T6525Christian Breunig
T6525: Add default dir for ext-scripts without absolute path
2024-07-22Merge pull request #3833 from c-po/wifi-fixChristian Breunig
wireless: T6597: improve hostapd startup and corresponding smoketests
2024-07-22Merge pull request #3841 from lucasec/t6599Christian Breunig
T6599: ipsec: support disabling rekey of CHILD_SA, converge and fix defaults
2024-07-22T6599: ipsec: fix incorect default behavior for dead-peer-detectionLucas Christian
2024-07-22T6599: ipsec: support disabling rekey of CHILD_SA.Lucas Christian
Also adds support for life_bytes, life_packets, and DPD for remote-access connections. Changes behavior of remote-access esp-group lifetime setting to have parity with site-to-site connections.
2024-07-21smoketest: T6600: ospf: enable MPLS LDP on dummy interfacesChristian Breunig
2024-07-20utils: migrate to new get_vrf_tableid() helperChristian Breunig
Commit 452068ce7 ("interfaces: T6592: moving an interface between VRF instances failed") introduced a new helper to retrieve the VRF table ID from the Kernel. This commit migrates the old code path where the individual fields got queried to the new helper vyos.utils.network.get_vrf_tableid().
2024-07-20interfaces: T6592: moving an interface between VRF instances failedChristian Breunig
To reproduce: set vrf name mgmt table '150' set vrf name no-mgmt table '151' set interfaces ethernet eth2 vrf 'mgmt' commit set interfaces ethernet eth2 vrf no-mgmt commit This resulted in an error while interacting with nftables: [Errno 1] failed to run command: nft add element inet vrf_zones ct_iface_map { "eth2" : 151 } The reason is that the old mapping entry still exists and was not removed. This commit adds a new utility function get_vrf_tableid() and compares the current and new VRF table IDs assigned to an interface. If the IDs do not match, the nftables ct_iface_map entry is removed before the new entry is added.
2024-07-20wireless: T6597: improve hostapd startup and corresponding smoketestsChristian Breunig
This was found during smoketesting as thoase started to repeadingly fail in the last weeks File "/usr/libexec/vyos/tests/smoke/cli/test_interfaces_wireless.py", line 534, in test_wireless_security_station_address self.assertTrue(process_named_running('hostapd')) AssertionError: None is not true Digging into this revealed that this is NOT related to the smoketest coding but to hostapd/systemd instead. With a configured WIFI interface and calling: "sudo systemctl reload-or-restart hostapd@wlan1" multiple times in a short period caused systemd to report: "Jul 18 16:15:32 systemd[1]: hostapd@wlan1.service: Deactivated successfully." According to the internal systemd logic used in our version this is explained by: /* If there's a stop job queued before we enter the DEAD state, we shouldn't act on Restart=, in order to not * undo what has already been enqueued. */ if (unit_stop_pending(UNIT(s))) allow_restart = false; if (s->result == SERVICE_SUCCESS) s->result = f; if (s->result == SERVICE_SUCCESS) { unit_log_success(UNIT(s)); end_state = SERVICE_DEAD;` Where unit_log_success() generates the log message in question. Improve the restart login in the wireless interface script and an upgrade to hostapd solved the issue.
2024-07-19T6525: Add default dir for ext-scripts without absolute pathkhramshinr
2024-07-19smoketest: T6406: use check_kmod() helper over native call()Christian Breunig
2024-07-19smoketest: T6597: add "commit" debug informationChristian Breunig
2024-07-19T6362: Create conntrack logger daemonkhramshinr
2024-07-15configdep: T6559: add smoketest of dependency script errorJohn Estabrook
2024-07-08vxlan: T6505: Support VXLAN VLAN-VNI range mapping in CLI (#3756)Nataliia S
2024-07-05smoketest: T6539: remove explicit test for non existing global log entryChristian Breunig
Commit dd5908eac ("T6539: add logging options to load-balancer reverse-proxy") added CLI commands to add custom log entries for frontend and backend servers as well as a global log directive. Remove explicit test code for no longer always present "global log" directive.
2024-07-03T6539: add logging options to load-balancer reverse-proxyJonathan Voss
2024-07-02Merge pull request #3721 from HollyGurza/T5878Daniil Baturin
ssh: T5878: Allow changing the PubkeyAcceptedAlgorithms option
2024-06-28Merge pull request #3720 from sever-sever/T6477Christian Breunig
T6477: Add telegraf loki output plugin
2024-06-28Merge pull request #3730 from natali-rs1985/T5710-currentChristian Breunig
pppoe-server: T5710: Add option permit any-login
2024-06-28T6477: Add telegraf loki output pluginViacheslav Hletenko
Add Loki plugin to telegraf set service monitoring telegraf loki url xxx
2024-06-28pppoe-server: T5710: Add option permit any-loginNataliia Solomko
2024-06-28ssh: T5878: Allow changing the PubkeyAcceptedAlgorithms optionkhramshinr
2024-06-27wireless: T6320: add 802.11ax at 6GHzAlain Lamar
Authored-By: Alain Lamar <alain_lamar@yahoo.de>
2024-06-26smoketest: T6510: make test_configd_inspect.py a build time testChristian Breunig
Rather then waiting for a fully assembled ISO image to validate if there is no incompatibility with vyos-configd - like more then one instance of Config(), make this a build time test case for "make test"
2024-06-26smoketest: T6510: add missing config-test verification stepsChristian Breunig
Validate if the migrators performed correctly by comparing it to a known good result file containing all the required `set` commands
2024-06-26smoketest: T6510: make verification of migrated configurations mandatoryChristian Breunig
For every configuration that is tested from smoketest/configs, there must be a matching smoketest/config-tests file that has all the `set` commands after the migration. Example of missing testcases: vyos@vyos:~$ /usr/bin/vyos-configtest Generating tests Loaded migration result test for config "basic-api-service" Loaded migration result test for config "basic-vyos" Missing migration result test for config "bgp-azure-ipsec-gateway" ... aborted
2024-06-24Merge pull request #3588 from HollyGurza/T5735Christian Breunig
T5735: Stunnel CLI and configuration
2024-06-24T5735: Stunnel CLI and configurationkhramshinr
Add CLI commands Add config Add conf_mode Add systemd config Add stunnel smoketests Add log level config
2024-06-24smoketest: T6510: ensure one cannot delete the current user in "system login"Christian Breunig
2024-06-19macsec: T5447: fix error message syntax - there is no tx and rx key, only keyChristian Breunig
2024-06-18wireless: T6425: adjust to latest country-code changesChristian Breunig
Commit 9e22ab6b2a ("wireless: T6318: move country-code to a system wide configuration") removed the per wifi interface setting for a country-code. This commit adjust the smoketests to the new design.
2024-06-18wireless: T6425: Add smoketests for VHT beamformingAlain Lamar
2024-06-17wireless: T6318: add quotes for console speed in config-testsChristian Breunig
2024-06-17Merge pull request #3656 from c-po/wireless-regdomainDaniil Baturin
wireless: T6318: move country-code to a system wide configuration