From f96435277e4c2b1e305f10f39206e281693f6232 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 14 Aug 2021 18:24:13 +0200 Subject: op-mode: combine two "show vpn" definitions --- op-mode-definitions/show-vpn.xml.in | 20 -------------------- op-mode-definitions/vpn-ipsec.xml.in | 6 ++++++ 2 files changed, 6 insertions(+), 20 deletions(-) delete mode 100644 op-mode-definitions/show-vpn.xml.in (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-vpn.xml.in b/op-mode-definitions/show-vpn.xml.in deleted file mode 100644 index 3fbc74ad1..000000000 --- a/op-mode-definitions/show-vpn.xml.in +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - Show active remote access Virtual Private Network (VPN) sessions - - - - - Show active VPN server sessions - - ${vyos_op_scripts_dir}/show_vpn_ra.py - - - - - - diff --git a/op-mode-definitions/vpn-ipsec.xml.in b/op-mode-definitions/vpn-ipsec.xml.in index 20f275e9b..18b72b87c 100644 --- a/op-mode-definitions/vpn-ipsec.xml.in +++ b/op-mode-definitions/vpn-ipsec.xml.in @@ -140,6 +140,12 @@ sudo ip xfrm policy list + + + Show active VPN server sessions + + ${vyos_op_scripts_dir}/show_vpn_ra.py + Show all active IPSec Security Associations (SA) -- cgit v1.2.3 From b4629d14d8ec5c780f665222205a396eb4dc3158 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 14 Aug 2021 18:24:54 +0200 Subject: op-mode: vpn: use over absolute path --- op-mode-definitions/vpn-ipsec.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/vpn-ipsec.xml.in b/op-mode-definitions/vpn-ipsec.xml.in index 18b72b87c..3d997c143 100644 --- a/op-mode-definitions/vpn-ipsec.xml.in +++ b/op-mode-definitions/vpn-ipsec.xml.in @@ -184,7 +184,7 @@ if pgrep charon >/dev/null ; then sudo /usr/sbin/ipsec statusall ; else echo "IPSec process not running" ; fi - if pgrep charon >/dev/null ; then sudo /usr/libexec/vyos/op_mode/show_ipsec_sa.py ; else echo "IPSec process not running" ; fi + if pgrep charon >/dev/null ; then sudo ${vyos_op_scripts_dir}/show_ipsec_sa.py ; else echo "IPSec process not running" ; fi -- cgit v1.2.3 From 0f498d782c8fc3645355184cc59e88a16d1b230d Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 17 Aug 2021 12:11:54 +0200 Subject: op-mode: T1513: bgp: xml: provide exact-match building block --- op-mode-definitions/include/bgp/afi-common.xml.i | 7 +------ op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i | 14 ++------------ op-mode-definitions/include/bgp/exact-match.xml.i | 8 ++++++++ 3 files changed, 11 insertions(+), 18 deletions(-) create mode 100644 op-mode-definitions/include/bgp/exact-match.xml.i (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/include/bgp/afi-common.xml.i b/op-mode-definitions/include/bgp/afi-common.xml.i index 7fc59f3b0..0edeb9f81 100644 --- a/op-mode-definitions/include/bgp/afi-common.xml.i +++ b/op-mode-definitions/include/bgp/afi-common.xml.i @@ -7,12 +7,7 @@ - - - Exact match of the communities - - ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ - + #include ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ diff --git a/op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i b/op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i index f1b699347..a51595b7f 100644 --- a/op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i +++ b/op-mode-definitions/include/bgp/afi-ipv4-ipv6-common.xml.i @@ -22,12 +22,7 @@ ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ - - - Exact match of the communities - - ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ - + #include Graceful shutdown (well-known community) @@ -105,12 +100,7 @@ - - - Show BGP routes exactly matching specified community list - - ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ - + #include ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ diff --git a/op-mode-definitions/include/bgp/exact-match.xml.i b/op-mode-definitions/include/bgp/exact-match.xml.i new file mode 100644 index 000000000..49026db9b --- /dev/null +++ b/op-mode-definitions/include/bgp/exact-match.xml.i @@ -0,0 +1,8 @@ + + + + Exact match of the communities + + ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ + + -- cgit v1.2.3 From 6c0044d12ecf762d9d362d6b09cdaa4c8227db58 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 17 Aug 2021 12:13:04 +0200 Subject: op-mode: T1513: bgp: add "show bgp large-community AA:BB:CC exat-match" --- op-mode-definitions/include/bgp/afi-common.xml.i | 3 +++ 1 file changed, 3 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/include/bgp/afi-common.xml.i b/op-mode-definitions/include/bgp/afi-common.xml.i index 0edeb9f81..ef6709ae8 100644 --- a/op-mode-definitions/include/bgp/afi-common.xml.i +++ b/op-mode-definitions/include/bgp/afi-common.xml.i @@ -19,6 +19,9 @@ ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ + + #include + -- cgit v1.2.3 From 6bb2f6e22706bb1c5874a58e74585160164011f6 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 17 Aug 2021 13:31:39 +0200 Subject: op-mode: xml: bgp: fix large-community help string --- op-mode-definitions/include/bgp/afi-common.xml.i | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/include/bgp/afi-common.xml.i b/op-mode-definitions/include/bgp/afi-common.xml.i index ef6709ae8..e28dfe5d7 100644 --- a/op-mode-definitions/include/bgp/afi-common.xml.i +++ b/op-mode-definitions/include/bgp/afi-common.xml.i @@ -13,7 +13,7 @@ - List of large-community numbers + Display routes matching the large-communities AA:BB:CC -- cgit v1.2.3 From 90f778fc04b322867f6fec023328330adc3fd85f Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 17 Aug 2021 13:32:21 +0200 Subject: op-mode: T1513: bgp: add "show bgp large-community-list" commnad --- op-mode-definitions/include/bgp/afi-common.xml.i | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/include/bgp/afi-common.xml.i b/op-mode-definitions/include/bgp/afi-common.xml.i index e28dfe5d7..4d5f56656 100644 --- a/op-mode-definitions/include/bgp/afi-common.xml.i +++ b/op-mode-definitions/include/bgp/afi-common.xml.i @@ -23,6 +23,18 @@ #include + + + Display routes matching the large-community-list + + policy large-community-list + + + ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ + + #include + + RIB advertisement statistics -- cgit v1.2.3 From a4e1a9235ff5e4aef29cc013239c6d842af5c1ae Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 19 Aug 2021 18:28:00 +0200 Subject: op-mode: bgp: T3759: add "show bgp ipv4|ipv6 vpn" commands --- .../include/bgp/afi-ipv4-ipv6-vpn.xml.i | 23 ++++++++++++++++++++++ .../include/bgp/show-bgp-common.xml.i | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 op-mode-definitions/include/bgp/afi-ipv4-ipv6-vpn.xml.i (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/include/bgp/afi-ipv4-ipv6-vpn.xml.i b/op-mode-definitions/include/bgp/afi-ipv4-ipv6-vpn.xml.i new file mode 100644 index 000000000..ba6edb256 --- /dev/null +++ b/op-mode-definitions/include/bgp/afi-ipv4-ipv6-vpn.xml.i @@ -0,0 +1,23 @@ + + + + Network in the BGP routing table to display + + <x.x.x.x> <x.x.x.x/x> <h:h:h:h:h:h:h:h> <h:h:h:h:h:h:h:h/x> + + + + #include + + ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ + + + + VPN Address Family modifier + + + #include + #include + + + diff --git a/op-mode-definitions/include/bgp/show-bgp-common.xml.i b/op-mode-definitions/include/bgp/show-bgp-common.xml.i index b86b09056..0664b11fc 100644 --- a/op-mode-definitions/include/bgp/show-bgp-common.xml.i +++ b/op-mode-definitions/include/bgp/show-bgp-common.xml.i @@ -20,6 +20,7 @@ #include #include + #include @@ -41,6 +42,7 @@ #include #include + #include -- cgit v1.2.3 From aa58d5c58edef40619192d11b0dcafc36b1e5d89 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 21 Aug 2021 08:25:15 +0200 Subject: op-mode: nhrp: T3599: check if process is running instead of checking PID file --- op-mode-definitions/nhrp.xml.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/nhrp.xml.in b/op-mode-definitions/nhrp.xml.in index 9e746cc35..89508e2be 100644 --- a/op-mode-definitions/nhrp.xml.in +++ b/op-mode-definitions/nhrp.xml.in @@ -50,13 +50,13 @@ Show NHRP interface connection information - if [ -f /var/run/opennhrp.pid ]; then sudo opennhrpctl interface show; else echo OpenNHRP is not running.; fi + if pgrep opennhrp >/dev/null; then sudo opennhrpctl interface show; else echo OpenNHRP is not running; fi Show NHRP tunnel connection information - if [ -f /var/run/opennhrp.pid ]; then sudo opennhrpctl show ; else echo OpenNHRP is not running.; fi + if pgrep opennhrp >/dev/null; then sudo opennhrpctl show ; else echo OpenNHRP is not running; fi -- cgit v1.2.3 From 9ca60f94bf16b5958967d786f479842e454767dc Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 12:01:22 +0200 Subject: ipsec: T1210: op-mode command for Windows has no "profile" option --- op-mode-definitions/generate-ipsec-profile.xml.in | 31 ----------------------- 1 file changed, 31 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/generate-ipsec-profile.xml.in b/op-mode-definitions/generate-ipsec-profile.xml.in index be9227971..8d1051b94 100644 --- a/op-mode-definitions/generate-ipsec-profile.xml.in +++ b/op-mode-definitions/generate-ipsec-profile.xml.in @@ -100,37 +100,6 @@ ${vyos_op_scripts_dir}/ikev2_profile_generator.py --os windows --connection "$5" --remote "$7" --name "$9" - - - - Profile name as seen under system profiles - - <name> - - - ${vyos_op_scripts_dir}/ikev2_profile_generator.py --os windows --connection "$5" --remote "$7" --name "$9" --profile "${11}" - - - - - - Profile name as seen under system profiles - - <name> - - - ${vyos_op_scripts_dir}/ikev2_profile_generator.py --os windows --connection "$5" --remote "$7" --profile "$9" - - - - Connection name as seen in the VPN application - - <name> - - - ${vyos_op_scripts_dir}/ikev2_profile_generator.py --os windows --connection "$5" --remote "$7" --profile "$9" --name "${11}" - - -- cgit v1.2.3 From a30d74f41647258d0c338c495ea7fea90dec3663 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 18:30:40 +0200 Subject: container: op-mode: T3765: add "connect container mysql-server" command --- op-mode-definitions/connect.xml.in | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/connect.xml.in b/op-mode-definitions/connect.xml.in index 8f19eac70..88f91ae32 100644 --- a/op-mode-definitions/connect.xml.in +++ b/op-mode-definitions/connect.xml.in @@ -24,6 +24,15 @@ sudo ${vyos_op_scripts_dir}/connect_disconnect.py --connect "$3" + + + Attach to a running container + + container name + + + echo "Use Ctrl+p and Ctrl+q to detach"; sudo podman attach "$3" + -- cgit v1.2.3 From 0e4b36f4c550baf151a1bbc68e4ed1bea8cd3c94 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 19:23:25 +0200 Subject: container: op-mode: T3765: move "connect container" command to container.xml.in file --- op-mode-definitions/connect.xml.in | 9 --------- op-mode-definitions/containers.xml.in | 13 +++++++++++++ 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/connect.xml.in b/op-mode-definitions/connect.xml.in index 88f91ae32..8f19eac70 100644 --- a/op-mode-definitions/connect.xml.in +++ b/op-mode-definitions/connect.xml.in @@ -24,15 +24,6 @@ sudo ${vyos_op_scripts_dir}/connect_disconnect.py --connect "$3" - - - Attach to a running container - - container name - - - echo "Use Ctrl+p and Ctrl+q to detach"; sudo podman attach "$3" - diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in index a22549dd9..4c95fa315 100644 --- a/op-mode-definitions/containers.xml.in +++ b/op-mode-definitions/containers.xml.in @@ -17,6 +17,19 @@ + + + + + Attach to a running container + + container name + + + echo "Use Ctrl+p and Ctrl+q to detach"; sudo podman attach "$3" + + + -- cgit v1.2.3 From deaa1e8b65bdaf89caa9855d659dd7da459cf415 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 19:23:34 +0200 Subject: container: op-mode: T3765: add "restart container" command --- op-mode-definitions/containers.xml.in | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in index 4c95fa315..94dd24369 100644 --- a/op-mode-definitions/containers.xml.in +++ b/op-mode-definitions/containers.xml.in @@ -71,4 +71,17 @@ + + + + + Restart a given container + + container name + + + sudo podman restart "$3" + + + -- cgit v1.2.3 From a1873a39f4fb9e8445b772b3fc1697f55314888a Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 20:35:46 +0200 Subject: container: op-mode: T3765: add "show log container" command --- op-mode-definitions/containers.xml.in | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in index 94dd24369..8cc30d3a8 100644 --- a/op-mode-definitions/containers.xml.in +++ b/op-mode-definitions/containers.xml.in @@ -69,6 +69,19 @@ + + + + + Show logs from a given container + + container name + + + sudo podman logs --names "$4" + + + -- cgit v1.2.3 From 536991d0c6f305256ce6ab5975d15116f027b7b6 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 20:41:11 +0200 Subject: xml: op-mode: remove multiple "Reset a service" help definitions That nasty workaround to always specify the same value for the node.def file as the help text is no longer necessary after commit 17b5ac14 ("T3165: op-mode: prevent override of populated node.def file with empty content". The redundant definitions are no longer necessary. --- op-mode-definitions/dns-forwarding.xml.in | 3 --- op-mode-definitions/ipv4-route.xml.in | 6 ------ op-mode-definitions/ipv6-route.xml.in | 6 ------ op-mode-definitions/openvpn.xml.in | 3 --- op-mode-definitions/pppoe-server.xml.in | 3 --- op-mode-definitions/reset-conntrack.xml.in | 3 --- op-mode-definitions/reset-vpn.xml.in | 3 --- op-mode-definitions/terminal.xml.in | 8 -------- 8 files changed, 35 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/dns-forwarding.xml.in b/op-mode-definitions/dns-forwarding.xml.in index 36fe6b5ef..6574f2319 100644 --- a/op-mode-definitions/dns-forwarding.xml.in +++ b/op-mode-definitions/dns-forwarding.xml.in @@ -59,9 +59,6 @@ - - Reset a service - diff --git a/op-mode-definitions/ipv4-route.xml.in b/op-mode-definitions/ipv4-route.xml.in index aab3df0f1..8f001d5bb 100644 --- a/op-mode-definitions/ipv4-route.xml.in +++ b/op-mode-definitions/ipv4-route.xml.in @@ -20,11 +20,7 @@ - - - Reset a service - @@ -56,7 +52,6 @@ - Reset IP route @@ -68,7 +63,6 @@ sudo ip route flush cache - Flush the kernel route cache for a given route diff --git a/op-mode-definitions/ipv6-route.xml.in b/op-mode-definitions/ipv6-route.xml.in index 7f188fdb2..5f20444d4 100644 --- a/op-mode-definitions/ipv6-route.xml.in +++ b/op-mode-definitions/ipv6-route.xml.in @@ -28,11 +28,7 @@ - - - Reset a service - @@ -64,7 +60,6 @@ - Reset IPv6 route @@ -76,7 +71,6 @@ sudo ip -f inet6 route flush cache - Flush the kernel IPv6 route cache for a given route diff --git a/op-mode-definitions/openvpn.xml.in b/op-mode-definitions/openvpn.xml.in index 781fbdc9d..8f7419545 100644 --- a/op-mode-definitions/openvpn.xml.in +++ b/op-mode-definitions/openvpn.xml.in @@ -1,9 +1,6 @@ - - Reset a service - diff --git a/op-mode-definitions/pppoe-server.xml.in b/op-mode-definitions/pppoe-server.xml.in index 6efdc5a48..835e03aab 100644 --- a/op-mode-definitions/pppoe-server.xml.in +++ b/op-mode-definitions/pppoe-server.xml.in @@ -40,9 +40,6 @@ - - Reset a service - diff --git a/op-mode-definitions/reset-conntrack.xml.in b/op-mode-definitions/reset-conntrack.xml.in index 827ba4af4..9c8265f77 100644 --- a/op-mode-definitions/reset-conntrack.xml.in +++ b/op-mode-definitions/reset-conntrack.xml.in @@ -1,9 +1,6 @@ - - Reset a service - diff --git a/op-mode-definitions/reset-vpn.xml.in b/op-mode-definitions/reset-vpn.xml.in index 71dbb4ed9..94ee1c7df 100644 --- a/op-mode-definitions/reset-vpn.xml.in +++ b/op-mode-definitions/reset-vpn.xml.in @@ -1,9 +1,6 @@ - - Reset a service - diff --git a/op-mode-definitions/terminal.xml.in b/op-mode-definitions/terminal.xml.in index 9c4e629cb..2a76de146 100644 --- a/op-mode-definitions/terminal.xml.in +++ b/op-mode-definitions/terminal.xml.in @@ -40,7 +40,6 @@ builtin $3 - Control console behaviors @@ -54,13 +53,11 @@ - Control terminal behaviors - Set key behaviors @@ -77,7 +74,6 @@ - Set terminal pager to default (less) @@ -93,7 +89,6 @@ VYATTA_PAGER=$4 - Set terminal to given number of rows (0 disables paging) @@ -103,7 +98,6 @@ if [ "$4" -eq 0 ]; then VYATTA_PAGER=cat; else VYATTA_PAGER=${_vyatta_default_pager}; stty rows $4; fi - Set terminal to given number of columns @@ -117,6 +111,4 @@ - - -- cgit v1.2.3 From d225f938b2250229621c7013c47ce52b839ae169 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 20:42:21 +0200 Subject: xml: op-mode: add missing help test for "monitor protocol ospf" commands --- op-mode-definitions/monitor-protocol.xml.in | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/monitor-protocol.xml.in b/op-mode-definitions/monitor-protocol.xml.in index 6a6bd50f3..f3af3575c 100644 --- a/op-mode-definitions/monitor-protocol.xml.in +++ b/op-mode-definitions/monitor-protocol.xml.in @@ -263,13 +263,14 @@ - Monitor the Open Shortest Path First (OSPF) protocol + Monitor Open Shortest Path First (OSPF) protocol #include - - + + Disable Open Shortest Path First (OSPF) debugging + @@ -458,6 +459,9 @@ + + Enable Open Shortest Path First (OSPF) debugging + -- cgit v1.2.3 From 68567d60626aa7ee5f990af792eb63f6887d93de Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 20:42:56 +0200 Subject: xml: op-mode: add missing help test for "reset openvpn" command --- op-mode-definitions/openvpn.xml.in | 3 +++ 1 file changed, 3 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/openvpn.xml.in b/op-mode-definitions/openvpn.xml.in index 8f7419545..73cbbe501 100644 --- a/op-mode-definitions/openvpn.xml.in +++ b/op-mode-definitions/openvpn.xml.in @@ -3,6 +3,9 @@ + + Reset OpenVPN client/server connections + -- cgit v1.2.3 From 1b0d7b9e027672a95535d18e550919aff7e41ee3 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 22 Aug 2021 20:51:34 +0200 Subject: log --- op-mode-definitions/containers.xml.in | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in index 8cc30d3a8..1ed569407 100644 --- a/op-mode-definitions/containers.xml.in +++ b/op-mode-definitions/containers.xml.in @@ -61,6 +61,15 @@ sudo ${vyos_op_scripts_dir}/containers_op.py --image + + + Show logs from a given container + + container name + + + sudo podman logs --names "$4" + Show available container networks -- cgit v1.2.3 From 461e3e1b47813d808bf22c9f8e2d8d8fb427fac2 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 23 Aug 2021 11:46:20 +0200 Subject: container: T2216: add completion helper for "delete container image" --- op-mode-definitions/containers.xml.in | 3 +++ 1 file changed, 3 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in index 1ed569407..e93487105 100644 --- a/op-mode-definitions/containers.xml.in +++ b/op-mode-definitions/containers.xml.in @@ -40,6 +40,9 @@ Delete container image + + + sudo ${vyos_op_scripts_dir}/containers_op.py --remove "${4}" -- cgit v1.2.3 From a1f82a06e1a1788164f52ef291a1275568912b9b Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 23 Aug 2021 14:42:54 +0200 Subject: container: T2216: op-mode now supports updating the image for a given container --- op-mode-definitions/containers.xml.in | 20 ++++++++++++++ src/op_mode/containers_op.py | 49 ++++++++++++++++++++++++----------- 2 files changed, 54 insertions(+), 15 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in index e93487105..efa72e1a4 100644 --- a/op-mode-definitions/containers.xml.in +++ b/op-mode-definitions/containers.xml.in @@ -109,4 +109,24 @@ + + + + + Update a container image + + + + + Delete container image + + container name + + + sudo ${vyos_op_scripts_dir}/containers_op.py --update "${4}" + + + + + diff --git a/src/op_mode/containers_op.py b/src/op_mode/containers_op.py index 1e3fc3a8f..bc317029c 100755 --- a/src/op_mode/containers_op.py +++ b/src/op_mode/containers_op.py @@ -15,10 +15,10 @@ # along with this program. If not, see . import argparse -from vyos.configquery import query_context, ConfigQueryError -from vyos.util import cmd -config, op = query_context() +from getpass import getuser +from vyos.configquery import ConfigTreeQuery +from vyos.util import cmd parser = argparse.ArgumentParser() parser.add_argument("-a", "--all", action="store_true", help="Show all containers") @@ -26,34 +26,53 @@ parser.add_argument("-i", "--image", action="store_true", help="Show container i parser.add_argument("-n", "--networks", action="store_true", help="Show container images") parser.add_argument("-p", "--pull", action="store", help="Pull image for container") parser.add_argument("-d", "--remove", action="store", help="Delete container image") +parser.add_argument("-u", "--update", action="store", help="Update given container image") -if not config.exists(['container']): +config = ConfigTreeQuery() +base = ['container'] +if not config.exists(base): print('Containers not configured') exit(0) +if getuser() != 'root': + raise OSError('This functions needs to be run as root to return correct results!') + if __name__ == '__main__': args = parser.parse_args() if args.all: print(cmd('podman ps --all')) - exit(0) - if args.image: + + elif args.image: print(cmd('podman image ls')) - exit(0) - if args.networks: + + elif args.networks: print(cmd('podman network ls')) - exit(0) - if args.pull: + + elif args.pull: image = args.pull try: - print(cmd(f'sudo podman image pull {image}')) + print(cmd(f'podman image pull {image}')) except: print(f'Can\'t find or download image "{image}"') - exit(0) - if args.remove: + + elif args.remove: image = args.remove try: - print(cmd(f'sudo podman image rm {image}')) + print(cmd(f'podman image rm {image}')) except: print(f'Can\'t delete image "{image}"') - exit(0) + + elif args.update: + tmp = config.get_config_dict(base + ['name', args.update], + key_mangling=('-', '_'), get_first_key=True) + try: + image = tmp['image'] + print(cmd(f'podman image pull {image}')) + except: + print(f'Can\'t find or download image "{image}"') + else: + parser.print_help() + exit(1) + + exit(0) -- cgit v1.2.3 From f3ff81f4f31cd3ecb5d648caff674663943db42f Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 23 Aug 2021 21:04:59 +0200 Subject: container: op-mode: T3765: "connect container" will now drop you to a shell Commit a30d74f4 (container: op-mode: T3765: add "connect container mysql-server") added a CLI op-mode command to attach to a container - users typically not want to attach and consume stdout (can be done via logs) but rather wan't to debug inside the container image. vyos@vyos:~$ connect container unifi USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 202 0.0 0.0 4640 828 pts/1 Ss 21:06 0:00 /bin/sh root 203 0.0 0.0 34416 2872 pts/1 R+ 21:06 0:00 \_ ps faux root 187 0.0 0.0 18388 3124 ? S 21:03 0:00 /bin/bash root 186 0.0 0.0 4640 788 ? S 21:03 0:00 /bin/sh root 185 0.0 0.0 4640 824 ? S 21:03 0:00 /bin/sh root 184 0.0 0.0 4640 836 ? S 21:03 0:00 /bin/sh root 1 0.0 0.0 18520 3228 pts/0 Ss+ 20:50 0:00 bash /usr/local/bin/docker-entrypoint.sh unifi root 12 4.8 14.2 3688080 572756 pts/0 Sl+ 20:50 0:48 java -Dunifi.datadir=/unifi/data -Dunifi.logdir=/unifi/log -Dunifi.rundir=/var/run/unifi - root 35 0.7 3.4 1102700 139752 pts/0 Sl+ 20:50 0:07 \_ bin/mongod --dbpath /usr/lib/unifi/data/db --port 27117 --unixSocketPrefix /usr/lib/un Linux 57c689f739ed 5.10.60-amd64-vyos #1 SMP Fri Aug 20 14:44:59 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux --- op-mode-definitions/containers.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/containers.xml.in b/op-mode-definitions/containers.xml.in index efa72e1a4..b2b318786 100644 --- a/op-mode-definitions/containers.xml.in +++ b/op-mode-definitions/containers.xml.in @@ -26,7 +26,7 @@ container name - echo "Use Ctrl+p and Ctrl+q to detach"; sudo podman attach "$3" + sudo podman exec --interactive --tty "$3" /bin/sh -- cgit v1.2.3 From 059307f924c604eb2bdeab19a2db8ce6d8e09f90 Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Tue, 24 Aug 2021 09:17:58 -0500 Subject: T3773: delete the original "show system integrity" command --- op-mode-definitions/show-system.xml.in | 6 --- src/op_mode/show_system_integrity.py | 70 ---------------------------------- 2 files changed, 76 deletions(-) delete mode 100755 src/op_mode/show_system_integrity.py (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-system.xml.in b/op-mode-definitions/show-system.xml.in index 5e9bf719e..18a28868d 100644 --- a/op-mode-definitions/show-system.xml.in +++ b/op-mode-definitions/show-system.xml.in @@ -55,12 +55,6 @@ ${vyos_op_scripts_dir}/show_cpu.py - - - Checks overall system integrity - - sudo ${vyos_op_scripts_dir}/show_system_integrity.py - Show messages in kernel ring buffer diff --git a/src/op_mode/show_system_integrity.py b/src/op_mode/show_system_integrity.py deleted file mode 100755 index c34d41e80..000000000 --- a/src/op_mode/show_system_integrity.py +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2020 VyOS maintainers and contributors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 or later as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# - -import sys -import os -import re -import json -from datetime import datetime, timedelta - -version_file = r'/usr/share/vyos/version.json' - - -def _get_sys_build_version(): - if not os.path.exists(version_file): - return None - buf = open(version_file, 'r').read() - j = json.loads(buf) - if not 'built_on' in j: - return None - return datetime.strptime(j['built_on'], '%a %d %b %Y %H:%M %Z') - - -def _check_pkgs(build_stamp): - pkg_diffs = { - 'buildtime': str(build_stamp), - 'pkg': {} - } - - pkg_info = os.listdir('/var/lib/dpkg/info/') - for file in pkg_info: - if re.search('\.list$', file): - fts = os.stat('/var/lib/dpkg/info/' + file).st_mtime - dt_str = (datetime.utcfromtimestamp( - fts).strftime('%Y-%m-%d %H:%M:%S')) - fdt = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S') - if fdt > build_stamp: - pkg_diffs['pkg'].update( - {str(re.sub('\.list', '', file)): str(fdt)}) - - if len(pkg_diffs['pkg']) != 0: - return pkg_diffs - else: - return None - - -if __name__ == '__main__': - built_date = _get_sys_build_version() - if not built_date: - sys.exit(1) - pkgs = _check_pkgs(built_date) - if pkgs: - print ( - "The following packages don\'t fit the image creation time\nbuild time:\t" + pkgs['buildtime']) - for k, v in pkgs['pkg'].items(): - print ("installed: " + v + '\t' + k) -- cgit v1.2.3 From 5b0fce20c2c5afd2ecfb7544e13eb623f3502443 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Wed, 25 Aug 2021 14:44:21 +0200 Subject: op-mode: T3776: drop "frr" level from "restart frr ospfd|bgpd|staticd" commands The current command to restart any of the FRR processes is: vyos@vyos:~$ restart frr Possible completions: Execute the current command bfdd Restart Bidirectional Forwarding Detection daemon bgpd Restart Border Gateway Protocol daemon ospf6d Restart OSPFv3 daemon ospfd Restart OSPFv2 daemon ripd Restart Routing Information Protocol daemon ripngd Restart RIPng daemon staticd Restart Static Route daemon zebra Restart IP routing manager daemon From a real-life example: Two engineers needed 5 minutes to figure it is under "restart frr" - that is why this commit drops the artificial "frr" level on the op-mode commands to restart routing protocol daemons. It's less intuitive to have "restart frr ospfd" or "restart frr bgpd" compared to "restart ospf" and "restart bgp" - we have the same for "restart ssh" or "restart snmp" and not "restart openssh sshd". This commit also drops the d (daemon) suffix of the op-mode comamands so the commands align with the VyOS CLI, else there would be a miss-understanding from ospf6d to ospfv3. (cherry picked from commit 8ad8b0d51bf21c583e6d687576cb1a61195e7215) --- op-mode-definitions/restart-frr.xml.in | 104 ++++++++++++++++----------------- 1 file changed, 51 insertions(+), 53 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/restart-frr.xml.in b/op-mode-definitions/restart-frr.xml.in index 96ad1a650..a5ba5b11f 100644 --- a/op-mode-definitions/restart-frr.xml.in +++ b/op-mode-definitions/restart-frr.xml.in @@ -2,62 +2,60 @@ - + - Restart FRRouting daemons + Restart all routing daemons sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart - - - - Restart Bidirectional Forwarding Detection daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon bfdd - - - - Restart Border Gateway Protocol daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon bgpd - - - - Restart OSPFv2 daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ospfd - - - - Restart OSPFv3 daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ospf6d - - - - Restart Routing Information Protocol daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ripd - - - - Restart RIPng daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ripngd - - - - Restart Static Route daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon staticd - - - - Restart IP routing manager daemon - - sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon zebra - - - + + + + Restart Bidirectional Forwarding Detection (BFD) daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon bfdd + + + + Restart Border Gateway Protocol (BGP) routing daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon bgpd + + + + Restart Open Shortest Path First (OSPF) routing daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ospfd + + + + Restart IPv6 Open Shortest Path First (OSPFv3) routing daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ospf6d + + + + Restart Routing Information Protocol (RIP) routing daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ripd + + + + Restart Routing Information Protocol NG (RIPng) routing daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon ripngd + + + + Restart static routing daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon staticd + + + + Restart Routing Information Base (RIB) manager daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon zebra + -- cgit v1.2.3 From 3cca26f6dcf74ae430cc557f67a4116adaec19fe Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Wed, 25 Aug 2021 14:55:10 +0200 Subject: op-mode: frr: T1514: add possibility to restart isis daemon (cherry picked from commit b4b2c91127289c7b62afb24304054d57357a48c5) --- op-mode-definitions/restart-frr.xml.in | 6 ++++++ src/op_mode/restart_frr.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/restart-frr.xml.in b/op-mode-definitions/restart-frr.xml.in index a5ba5b11f..475bd1ee8 100644 --- a/op-mode-definitions/restart-frr.xml.in +++ b/op-mode-definitions/restart-frr.xml.in @@ -20,6 +20,12 @@ sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon bgpd + + + Restart Intermediate System to Intermediate System (IS-IS) routing daemon + + sudo ${vyos_op_scripts_dir}/restart_frr.py --action restart --daemon isisd + Restart Open Shortest Path First (OSPF) routing daemon diff --git a/src/op_mode/restart_frr.py b/src/op_mode/restart_frr.py index d1b66b33f..0b2322478 100755 --- a/src/op_mode/restart_frr.py +++ b/src/op_mode/restart_frr.py @@ -155,7 +155,7 @@ def _check_args_daemon(daemons): # define program arguments cmd_args_parser = argparse.ArgumentParser(description='restart frr daemons') cmd_args_parser.add_argument('--action', choices=['restart'], required=True, help='action to frr daemons') -cmd_args_parser.add_argument('--daemon', choices=['bfdd', 'bgpd', 'ospfd', 'ospf6d', 'ripd', 'ripngd', 'staticd', 'zebra'], required=False, nargs='*', help='select single or multiple daemons') +cmd_args_parser.add_argument('--daemon', choices=['bfdd', 'bgpd', 'ospfd', 'ospf6d', 'isisd', 'ripd', 'ripngd', 'staticd', 'zebra'], required=False, nargs='*', help='select single or multiple daemons') # parse arguments cmd_args = cmd_args_parser.parse_args() -- cgit v1.2.3 From a086dc2c429aea9614ac7a9c735c6475c2d6da59 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 31 Aug 2021 12:22:36 +0200 Subject: vyos.ethtool: T3163: use long option names when calling the ethtool binray This makes understanding the code easier what is "really" called without opening the man page. --- op-mode-definitions/show-interfaces-ethernet.xml.in | 10 +++++----- python/vyos/ethtool.py | 2 +- python/vyos/ifconfig/ethernet.py | 7 +------ 3 files changed, 7 insertions(+), 12 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-interfaces-ethernet.xml.in b/op-mode-definitions/show-interfaces-ethernet.xml.in index fc79f44bf..6d50d6e90 100644 --- a/op-mode-definitions/show-interfaces-ethernet.xml.in +++ b/op-mode-definitions/show-interfaces-ethernet.xml.in @@ -23,19 +23,19 @@ Visually identify specified ethernet interface - echo "Blinking interface $4 for 30 seconds."; /sbin/ethtool --identify "$4" 30 + echo "Blinking interface $4 for 30 seconds."; ethtool --identify "$4" 30 Show physical device information for specified ethernet interface - /sbin/ethtool "$4"; /sbin/ethtool -i "$4" + ethtool "$4"; ethtool --driver "$4" Show physical device offloading capabilities - /sbin/ethtool -k "$4" | sed -e 1d -e '/fixed/d' -e 's/^\t*//g' -e 's/://' | column -t -s' ' + ethtool --show-features "$4" | sed -e 1d -e '/fixed/d' -e 's/^\t*//g' -e 's/://' | column -t -s' ' @@ -43,13 +43,13 @@ Show physical device statistics for specified ethernet interface - /sbin/ethtool -S "$4" + ethtool --statistics "$4" Show transceiver information from modules (e.g SFP+, QSFP) - /sbin/ethtool -m "$4" + ethtool --module-info "$4" diff --git a/python/vyos/ethtool.py b/python/vyos/ethtool.py index 5a5d84bed..7dcb68346 100644 --- a/python/vyos/ethtool.py +++ b/python/vyos/ethtool.py @@ -65,7 +65,7 @@ class Ethtool: self._speed_duplex[speed].update({ duplex : ''}) # Now populate features dictionaty - out, err = popen(f'ethtool -k {ifname}') + out, err = popen(f'ethtool --show-features {ifname}') # skip the first line, it only says: "Features for eth0": for line in out.splitlines()[1:]: if ":" in line: diff --git a/python/vyos/ifconfig/ethernet.py b/python/vyos/ifconfig/ethernet.py index 7d29da8fc..76ed3fd92 100644 --- a/python/vyos/ifconfig/ethernet.py +++ b/python/vyos/ifconfig/ethernet.py @@ -42,34 +42,29 @@ class EthernetIf(Interface): @staticmethod def feature(ifname, option, value): - run(f'ethtool -K {ifname} {option} {value}') + run(f'ethtool --features {ifname} {option} {value}') return False _command_set = {**Interface._command_set, **{ 'gro': { 'validate': lambda v: assert_list(v, ['on', 'off']), 'possible': lambda i, v: EthernetIf.feature(i, 'gro', v), - # 'shellcmd': 'ethtool -K {ifname} gro {value}', }, 'gso': { 'validate': lambda v: assert_list(v, ['on', 'off']), 'possible': lambda i, v: EthernetIf.feature(i, 'gso', v), - # 'shellcmd': 'ethtool -K {ifname} gso {value}', }, 'lro': { 'validate': lambda v: assert_list(v, ['on', 'off']), 'possible': lambda i, v: EthernetIf.feature(i, 'lro', v), - # 'shellcmd': 'ethtool -K {ifname} lro {value}', }, 'sg': { 'validate': lambda v: assert_list(v, ['on', 'off']), 'possible': lambda i, v: EthernetIf.feature(i, 'sg', v), - # 'shellcmd': 'ethtool -K {ifname} sg {value}', }, 'tso': { 'validate': lambda v: assert_list(v, ['on', 'off']), 'possible': lambda i, v: EthernetIf.feature(i, 'tso', v), - # 'shellcmd': 'ethtool -K {ifname} tso {value}', }, }} -- cgit v1.2.3 From 8834c22dc3f5758c1d2364579acc428cfc0fe650 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 31 Aug 2021 22:00:27 +0200 Subject: op-mode: "show interfaces ethernet eth0 physical" should display ring-buffers --- op-mode-definitions/show-interfaces-ethernet.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-interfaces-ethernet.xml.in b/op-mode-definitions/show-interfaces-ethernet.xml.in index 6d50d6e90..c42efd21f 100644 --- a/op-mode-definitions/show-interfaces-ethernet.xml.in +++ b/op-mode-definitions/show-interfaces-ethernet.xml.in @@ -29,7 +29,7 @@ Show physical device information for specified ethernet interface - ethtool "$4"; ethtool --driver "$4" + ethtool "$4"; ethtool --show-ring "$4"; ethtool --driver "$4" -- cgit v1.2.3 From b1ff7baaf3c52c8c364955632fcece2da7033b10 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 2 Sep 2021 14:05:33 +0200 Subject: op-mode: T1376: speed up tab-completion for DHCP pool listing Commit 9f20bee81c ("T1376: improve show_dhcp and show_dhcpv6") added the tab completion helper to list the availbale IP pools to query. This was done by calling a python script which then called cli-shell-api which resulted in a penalty by the Python interpreter startup. This can be solved by directly using the cli-shell-api wrapper available as in op-mode - as also seen for DHCPv6. --- op-mode-definitions/dhcp.xml.in | 4 ++-- src/op_mode/show_dhcp.py | 8 ++------ 2 files changed, 4 insertions(+), 8 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/dhcp.xml.in b/op-mode-definitions/dhcp.xml.in index 1dacbd5ba..6f0c25110 100644 --- a/op-mode-definitions/dhcp.xml.in +++ b/op-mode-definitions/dhcp.xml.in @@ -22,7 +22,7 @@ Show DHCP server leases for a specific pool - + service dhcp-server shared-network-name sudo ${vyos_op_scripts_dir}/show_dhcp.py --leases --pool $6 @@ -57,7 +57,7 @@ Show DHCP server statistics for a specific pool - + service dhcp-server shared-network-name sudo ${vyos_op_scripts_dir}/show_dhcp.py --statistics --pool $6 diff --git a/src/op_mode/show_dhcp.py b/src/op_mode/show_dhcp.py index 4df275e04..cd6e8ed43 100755 --- a/src/op_mode/show_dhcp.py +++ b/src/op_mode/show_dhcp.py @@ -177,7 +177,7 @@ if __name__ == '__main__': group = parser.add_mutually_exclusive_group() group.add_argument("-l", "--leases", action="store_true", help="Show DHCP leases") group.add_argument("-s", "--statistics", action="store_true", help="Show DHCP statistics") - group.add_argument("--allowed", type=str, choices=["pool", "sort", "state"], help="Show allowed values for argument") + group.add_argument("--allowed", type=str, choices=["sort", "state"], help="Show allowed values for argument") parser.add_argument("-p", "--pool", type=str, help="Show lease for specific pool") parser.add_argument("-S", "--sort", type=str, default='ip', help="Sort by") @@ -188,11 +188,7 @@ if __name__ == '__main__': conf = Config() - if args.allowed == 'pool': - if conf.exists_effective('service dhcp-server'): - print(' '.join(conf.list_effective_nodes("service dhcp-server shared-network-name"))) - exit(0) - elif args.allowed == 'sort': + if args.allowed == 'sort': print(' '.join(lease_display_fields.keys())) exit(0) elif args.allowed == 'state': -- cgit v1.2.3 From 10814c4d3360598262e991e4b20768dfcde91d75 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 6 Sep 2021 08:23:24 +0200 Subject: wwan: T3620: op-mode: not all commands supported by all modems - add info message --- op-mode-definitions/show-interfaces-wwan.xml.in | 4 ++-- src/op_mode/show_wwan.py | 18 +++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-interfaces-wwan.xml.in b/op-mode-definitions/show-interfaces-wwan.xml.in index d57e17a13..7e5f49ba6 100644 --- a/op-mode-definitions/show-interfaces-wwan.xml.in +++ b/op-mode-definitions/show-interfaces-wwan.xml.in @@ -68,9 +68,9 @@ sudo ${vyos_op_scripts_dir}/show_wwan.py --interface=$4 --sim - + - Show WWAN module information summary + Show WWAN module detailed information summary mmcli --modem ${4#wwan} diff --git a/src/op_mode/show_wwan.py b/src/op_mode/show_wwan.py index 249dda2a5..529b5bd0f 100755 --- a/src/op_mode/show_wwan.py +++ b/src/op_mode/show_wwan.py @@ -34,13 +34,17 @@ required = parser.add_argument_group('Required arguments') required.add_argument("--interface", help="WWAN interface name, e.g. wwan0", required=True) def qmi_cmd(device, command, silent=False): - tmp = cmd(f'qmicli --device={device} --device-open-proxy {command}') - tmp = tmp.replace(f'[{cdc}] ', '') - if not silent: - # skip first line as this only holds the info headline - for line in tmp.splitlines()[1:]: - print(line.lstrip()) - return tmp + try: + tmp = cmd(f'qmicli --device={device} --device-open-proxy {command}') + tmp = tmp.replace(f'[{cdc}] ', '') + if not silent: + # skip first line as this only holds the info headline + for line in tmp.splitlines()[1:]: + print(line.lstrip()) + return tmp + except: + print('Command not supported by Modem') + exit(1) if __name__ == '__main__': args = parser.parse_args() -- cgit v1.2.3 From bd2c79ebb8abbd844f4b0568110c7bcea0d8f4f1 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 7 Sep 2021 11:26:42 +0200 Subject: op-mode: xml: improve "show interfaces " help text --- op-mode-definitions/show-interfaces-bonding.xml.in | 4 +- op-mode-definitions/show-interfaces-bridge.xml.in | 4 +- op-mode-definitions/show-interfaces-dummy.xml.in | 4 +- .../show-interfaces-ethernet.xml.in | 4 +- op-mode-definitions/show-interfaces-input.xml.in | 4 +- op-mode-definitions/show-interfaces-l2tpv3.xml.in | 2 +- .../show-interfaces-loopback.xml.in | 4 +- op-mode-definitions/show-interfaces-pppoe.xml.in | 2 +- .../show-interfaces-pseudo-ethernet.xml.in | 4 +- op-mode-definitions/show-interfaces-tunnel.xml.in | 4 +- op-mode-definitions/show-interfaces-vti.xml.in | 4 +- op-mode-definitions/show-interfaces-vxlan.xml.in | 2 +- .../show-interfaces-wireguard.xml.in | 4 +- .../show-interfaces-wireless.xml.in | 82 ++++++++++++++++++++++ op-mode-definitions/show-interfaces-wwan.xml.in | 2 +- op-mode-definitions/wireless.xml.in | 79 --------------------- 16 files changed, 106 insertions(+), 103 deletions(-) create mode 100644 op-mode-definitions/show-interfaces-wireless.xml.in (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-interfaces-bonding.xml.in b/op-mode-definitions/show-interfaces-bonding.xml.in index 08ce78296..c5f82b70e 100644 --- a/op-mode-definitions/show-interfaces-bonding.xml.in +++ b/op-mode-definitions/show-interfaces-bonding.xml.in @@ -6,7 +6,7 @@ - Show bonding interface information + Show specified Bonding interface information interfaces bonding @@ -58,7 +58,7 @@ - Show bonding interface information + Show Bonding interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=bonding --action=show-brief diff --git a/op-mode-definitions/show-interfaces-bridge.xml.in b/op-mode-definitions/show-interfaces-bridge.xml.in index 85fde95b5..e1444bd84 100644 --- a/op-mode-definitions/show-interfaces-bridge.xml.in +++ b/op-mode-definitions/show-interfaces-bridge.xml.in @@ -6,7 +6,7 @@ - Show bridge interface information + Show specified Bridge interface information interfaces bridge @@ -23,7 +23,7 @@ - Show bridge interface information + Show Bridge interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=bridge --action=show-brief diff --git a/op-mode-definitions/show-interfaces-dummy.xml.in b/op-mode-definitions/show-interfaces-dummy.xml.in index 7c24c6921..52d2cc7ee 100644 --- a/op-mode-definitions/show-interfaces-dummy.xml.in +++ b/op-mode-definitions/show-interfaces-dummy.xml.in @@ -6,7 +6,7 @@ - Show dummy interface information + Show specified Dummy interface information interfaces dummy @@ -23,7 +23,7 @@ - Show dummy interface information + Show Dummy interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=dummy --action=show-brief diff --git a/op-mode-definitions/show-interfaces-ethernet.xml.in b/op-mode-definitions/show-interfaces-ethernet.xml.in index c42efd21f..f8d1c9395 100644 --- a/op-mode-definitions/show-interfaces-ethernet.xml.in +++ b/op-mode-definitions/show-interfaces-ethernet.xml.in @@ -6,7 +6,7 @@ - Show ethernet interface information + Show specified Ethernet interface information interfaces ethernet @@ -78,7 +78,7 @@ - Show ethernet interface information + Show Ethernet interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=ethernet --action=show-brief diff --git a/op-mode-definitions/show-interfaces-input.xml.in b/op-mode-definitions/show-interfaces-input.xml.in index 15e8203e5..9ae3828c8 100644 --- a/op-mode-definitions/show-interfaces-input.xml.in +++ b/op-mode-definitions/show-interfaces-input.xml.in @@ -6,7 +6,7 @@ - Show input interface information + Show specified Input interface information interfaces input @@ -23,7 +23,7 @@ - Show input interface information + Show Input (ifb) interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=input --action=show-brief diff --git a/op-mode-definitions/show-interfaces-l2tpv3.xml.in b/op-mode-definitions/show-interfaces-l2tpv3.xml.in index 60fee34a1..2a1d6a1c6 100644 --- a/op-mode-definitions/show-interfaces-l2tpv3.xml.in +++ b/op-mode-definitions/show-interfaces-l2tpv3.xml.in @@ -6,7 +6,7 @@ - Show L2TPv3 interface information + Show specified L2TPv3 interface information interfaces l2tpv3 diff --git a/op-mode-definitions/show-interfaces-loopback.xml.in b/op-mode-definitions/show-interfaces-loopback.xml.in index b30b57909..25a75ffff 100644 --- a/op-mode-definitions/show-interfaces-loopback.xml.in +++ b/op-mode-definitions/show-interfaces-loopback.xml.in @@ -6,7 +6,7 @@ - Show loopback interface information + Show specified Loopback interface information interfaces loopback @@ -23,7 +23,7 @@ - Show loopback interface information + Show Loopback interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=loopback --action=show-brief diff --git a/op-mode-definitions/show-interfaces-pppoe.xml.in b/op-mode-definitions/show-interfaces-pppoe.xml.in index 18697a275..767836abf 100644 --- a/op-mode-definitions/show-interfaces-pppoe.xml.in +++ b/op-mode-definitions/show-interfaces-pppoe.xml.in @@ -6,7 +6,7 @@ - Show PPPoE interface information + Show specified PPPoE interface information interfaces pppoe diff --git a/op-mode-definitions/show-interfaces-pseudo-ethernet.xml.in b/op-mode-definitions/show-interfaces-pseudo-ethernet.xml.in index 195944745..2ae4b5a9e 100644 --- a/op-mode-definitions/show-interfaces-pseudo-ethernet.xml.in +++ b/op-mode-definitions/show-interfaces-pseudo-ethernet.xml.in @@ -6,7 +6,7 @@ - Show pseudo-ethernet/MACvlan interface information + Show specified Pseudo-Ethernet/MACvlan interface information interfaces pseudo-ethernet @@ -23,7 +23,7 @@ - Show pseudo-ethernet/MACvlan interface information + Show Pseudo-Ethernet/MACvlan interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=pseudo-ethernet --action=show-brief diff --git a/op-mode-definitions/show-interfaces-tunnel.xml.in b/op-mode-definitions/show-interfaces-tunnel.xml.in index 416de0299..51b25efd9 100644 --- a/op-mode-definitions/show-interfaces-tunnel.xml.in +++ b/op-mode-definitions/show-interfaces-tunnel.xml.in @@ -6,7 +6,7 @@ - Show tunnel interface information + Show specified Tunnel interface information interfaces tunnel @@ -23,7 +23,7 @@ - Show tunnel interface information + Show Tunnel interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=tunnel --action=show-brief diff --git a/op-mode-definitions/show-interfaces-vti.xml.in b/op-mode-definitions/show-interfaces-vti.xml.in index f51be2d19..b436b8414 100644 --- a/op-mode-definitions/show-interfaces-vti.xml.in +++ b/op-mode-definitions/show-interfaces-vti.xml.in @@ -6,7 +6,7 @@ - Show vti interface information + Show specified VTI interface information interfaces vti @@ -23,7 +23,7 @@ - Show vti interface information + Show VTI interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=vti --action=show-brief diff --git a/op-mode-definitions/show-interfaces-vxlan.xml.in b/op-mode-definitions/show-interfaces-vxlan.xml.in index 4e3cb93cd..1befd428c 100644 --- a/op-mode-definitions/show-interfaces-vxlan.xml.in +++ b/op-mode-definitions/show-interfaces-vxlan.xml.in @@ -6,7 +6,7 @@ - Show VXLAN interface information + Show specified VXLAN interface information interfaces vxlan diff --git a/op-mode-definitions/show-interfaces-wireguard.xml.in b/op-mode-definitions/show-interfaces-wireguard.xml.in index 863357ef7..c9b754dcd 100644 --- a/op-mode-definitions/show-interfaces-wireguard.xml.in +++ b/op-mode-definitions/show-interfaces-wireguard.xml.in @@ -6,7 +6,7 @@ - Show Wireguard interface information + Show specified WireGuard interface information @@ -47,7 +47,7 @@ - Show Wireguard interface information + Show WireGuard interface information ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=wireguard --action=show-brief diff --git a/op-mode-definitions/show-interfaces-wireless.xml.in b/op-mode-definitions/show-interfaces-wireless.xml.in new file mode 100644 index 000000000..4a37417aa --- /dev/null +++ b/op-mode-definitions/show-interfaces-wireless.xml.in @@ -0,0 +1,82 @@ + + + + + + + + + Show Wireless (WLAN) interface information + + ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=wireless --action=show-brief + + + + Show detailed wireless interface information + + ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=wireless --action=show + + + + Show wireless interface configuration + + ${vyos_op_scripts_dir}/show_wireless.py --brief + + + + + + Show specified wireless interface information + + + + + ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4" + + + + Show summary of the specified wireless interface information + + ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4" --action=show-brief + + + + Show summary of the specified wireless interface information + + sudo ${vyos_op_scripts_dir}/show_wireless.py --scan "$4" + + + + Show detailed scan results + + sudo /sbin/iw dev "$4" scan ap-force + + + + + + Show specified Wireless interface information + + ${vyos_op_scripts_dir}/show_wireless.py --stations "$4" + + + + Show specified virtual network interface (vif) information + + ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4.$6" + + + + Show summary of specified virtual network interface (vif) information + + ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4.$6" --action=show-brief + + + + + + + + + + diff --git a/op-mode-definitions/show-interfaces-wwan.xml.in b/op-mode-definitions/show-interfaces-wwan.xml.in index 7e5f49ba6..3cd29b38a 100644 --- a/op-mode-definitions/show-interfaces-wwan.xml.in +++ b/op-mode-definitions/show-interfaces-wwan.xml.in @@ -6,7 +6,7 @@ - Show Wireless Wire Area Network (WWAN) interface information + Show specified Wireless Wire Area Network (WWAN) interface information interfaces wwan diff --git a/op-mode-definitions/wireless.xml.in b/op-mode-definitions/wireless.xml.in index a3a9d1f55..5d9db1544 100644 --- a/op-mode-definitions/wireless.xml.in +++ b/op-mode-definitions/wireless.xml.in @@ -37,83 +37,4 @@ - - - - - - - Show wireless interface information - - ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=wireless --action=show-brief - - - - Show detailed wireless interface information - - ${vyos_op_scripts_dir}/show_interfaces.py --intf-type=wireless --action=show - - - - Show wireless interface configuration - - ${vyos_op_scripts_dir}/show_wireless.py --brief - - - - - - Show specified wireless interface information - - - - - ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4" - - - - Show summary of the specified wireless interface information - - ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4" --action=show-brief - - - - Show summary of the specified wireless interface information - - sudo ${vyos_op_scripts_dir}/show_wireless.py --scan "$4" - - - - Show detailed scan results - - sudo /sbin/iw dev "$4" scan ap-force - - - - - - Show specified wireless interface information - - ${vyos_op_scripts_dir}/show_wireless.py --stations "$4" - - - - Show specified virtual network interface (vif) information - - ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4.$6" - - - - Show summary of specified virtual network interface (vif) information - - ${vyos_op_scripts_dir}/show_interfaces.py --intf="$4.$6" --action=show-brief - - - - - - - - - -- cgit v1.2.3 From a50095408e9e95afebce97bccc62a2d9a2563b3e Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 9 Sep 2021 23:16:13 +0200 Subject: wireguard: T3642: add deprecation notice to old commands for key generation --- op-mode-definitions/generate-wireguard.xml.in | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/generate-wireguard.xml.in b/op-mode-definitions/generate-wireguard.xml.in index 6557b463b..259c9a898 100644 --- a/op-mode-definitions/generate-wireguard.xml.in +++ b/op-mode-definitions/generate-wireguard.xml.in @@ -4,9 +4,27 @@ - Generate Wireguard keys + Generate WireGuard keys + + + generates the wireguard default-keypair + + echo "This command is deprecated. Please use: \"generate pki wireguard key-pair\"" + + + + generate a wireguard preshared key + + echo "This command is deprecated. Please use: \"generate pki wireguard pre-shared-key\"" + + + + Generates named wireguard keypairs + + echo "This command is deprecated. Please use: \"generate pki wireguard key-pair install wgN\"" + Generate Client config QR code @@ -59,12 +77,6 @@ - - - Generate Wireguard key pair for use with server or peer - - sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --key "noname" - -- cgit v1.2.3 From 310eb1b527047211ae236c6415fee51f15a0fa57 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Thu, 9 Sep 2021 23:16:45 +0200 Subject: wireguard: T3642: improve "set" commands for generated key-pairs --- op-mode-definitions/pki.xml.in | 82 ++++++++++++++++++++----------------- src/op_mode/pki.py | 92 ++++++++++++++++++++---------------------- 2 files changed, 87 insertions(+), 87 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/pki.xml.in b/op-mode-definitions/pki.xml.in index a11814c8a..6b9b0d3f6 100644 --- a/op-mode-definitions/pki.xml.in +++ b/op-mode-definitions/pki.xml.in @@ -282,60 +282,66 @@ - Generate Wireguard keys + Generate WireGuard keys - Generate Wireguard key pair for use with server or peer + Generate WireGuard public/private key-pair - + - Write generated Wireguard keys into the specified filename - - <filename> - + Generate CLI commands to install WireGuard key to configuration - sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --key "$6" --file - - - - Commands for installing generated Wireguard key into running configuration - - <interface> <peer> - - - sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --key "$6" --install - + + + + WireGuard Interface used in install command + + interfaces wireguard + + + sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --key --interface "$7" --install + + + - sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --key "noname" + sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --key - + - Generate pre-shared key for use with a Wireguard peer + Generate WireGuard pre-shared key - + - Write generated Wireguard PSK into the specified filename - - <filename> - + Generate CLI commands to install WireGuard key to configuration - sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --psk "$6" --file - - - - Commands for installing generated Wireguard PSK on specified peer into running configuration - - <peer> - - - sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --psk "$6" --install - + + + + WireGuard Interface used in install command + + interfaces wireguard + + + + + + Interface used for install command + + interfaces wireguard ${COMP_WORDS[COMP_CWORD-2]} peer + + + sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --psk --interface "$7" --peer "$9" --install + + + + + - sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --psk "noname" + sudo ${vyos_op_scripts_dir}/pki.py --action generate --wireguard --psk diff --git a/src/op_mode/pki.py b/src/op_mode/pki.py index 55330cbc2..d28cee5d0 100755 --- a/src/op_mode/pki.py +++ b/src/op_mode/pki.py @@ -202,30 +202,31 @@ def install_keypair(name, key_type, private_key=None, public_key=None, passphras if install_private_key: install_private_pem = "".join(private_key_pem.strip().split("\n")[1:-1]) - print("set pki key-pair %s private key '%s'" % (name, install_private_pem)) + print(f"set pki key-pair {name} private key '{install_private_pem}'") if passphrase: - print("set pki key-pair %s private password-protected" % (name,)) + print(f"set pki key-pair {name} private password-protected") else: print("Private key:") print(private_key_pem) -def install_wireguard_key(name, private_key, public_key): +def install_wireguard_key(interface, private_key, public_key): # Show conf commands for installing wireguard key pairs - is_interface = re.match(r'^wg[\d]+$', name) - - print("Configure mode commands to install key:") - if is_interface: - print("set interfaces wireguard %s private-key '%s'" % (name, private_key)) - print("") - print("Public key for use on peer configuration: " + public_key) - else: - print("set interfaces wireguard [INTERFACE] peer %s public-key '%s'" % (name, public_key)) - print("") - print("Private key for use on peer configuration: " + private_key) - -def install_wireguard_psk(name, psk): + from vyos.ifconfig import Section + if Section.section(interface) != 'wireguard': + print(f'"{interface}" is not a WireGuard interface name!') + exit(1) + + print("Configure mode commands to install key:", end="\n\n") + print(f"set interfaces wireguard {interface} private-key '{private_key}'", end="\n\n") + print(f"Public key to use on peer system: '{public_key}'") + +def install_wireguard_psk(interface, peer, psk): + from vyos.ifconfig import Section + if Section.section(interface) != 'wireguard': + print(f'"{interface}" is not a WireGuard interface name!') + exit(1) # Show conf commands for installing wireguard psk - print("set interfaces wireguard [INTERFACE] peer %s preshared-key '%s'" % (name, psk)) + print(f"set interfaces wireguard {interface} peer {peer} preshared-key '{psk}'") def ask_passphrase(): passphrase = None @@ -632,48 +633,37 @@ def generate_openvpn_key(name, install=False, file=False): key_data = "".join(key_lines[1:-1]) # Remove wrapper tags and line endings key_version = '1' + import re version_search = re.search(r'BEGIN OpenVPN Static key V(\d+)', result) # Future-proofing (hopefully) if version_search: key_version = version_search[1] + base = f"set pki openvpn shared-secret {name}" print("Configure mode commands to install OpenVPN key:") - print("set pki openvpn shared-secret %s key '%s'" % (name, key_data)) - print("set pki openvpn shared-secret %s version '%s'" % (name, key_version)) + print(f"{base} key '{key_data}'") + print(f"{base} version '{key_version}'") if file: write_file(f'{name}.key', result) -def generate_wireguard_key(name, install=False, file=False): +def generate_wireguard_key(interface=None, install=False): private_key = cmd('wg genkey') public_key = cmd('wg pubkey', input=private_key) - if not install: - print("Private key: " + private_key) - print("Public key: " + public_key) - - if install: - install_wireguard_key(name, private_key, public_key) - - if file: - write_file(f'{name}_public.key', public_key) - write_file(f'{name}_private.key', private_key) + if interface and install: + install_wireguard_key(interface, private_key, public_key) + else: + print(f'Private key: {private_key}') + print(f'Public key: {public_key}', end='\n\n') -def generate_wireguard_psk(name, install=False, file=False): +def generate_wireguard_psk(interface=None, peer=None, install=False): psk = cmd('wg genpsk') - - if not install and not file: - print("Pre-shared key:") - print(psk) - return None - - if install: - install_wireguard_psk(name, psk) - - if file: - write_file(f'{name}.key', psk) + if interface and peer and install: + install_wireguard_psk(interface, peer, psk) + else: + print(f'Pre-shared key: {psk}') # Show functions - def show_certificate_authority(name=None): headers = ['Name', 'Subject', 'Issuer CN', 'Issued', 'Expiry', 'Private Key', 'Parent'] data = [] @@ -790,10 +780,13 @@ if __name__ == '__main__': # OpenVPN parser.add_argument('--openvpn', help='OpenVPN TLS key', required=False) - # Wireguard + # WireGuard parser.add_argument('--wireguard', help='Wireguard', action='store_true') - parser.add_argument('--key', help='Wireguard key pair', required=False) - parser.add_argument('--psk', help='Wireguard pre shared key', required=False) + group = parser.add_mutually_exclusive_group() + group.add_argument('--key', help='Wireguard key pair', action='store_true', required=False) + group.add_argument('--psk', help='Wireguard pre shared key', action='store_true', required=False) + parser.add_argument('--interface', help='Install generated keys into running-config for named interface', action='store') + parser.add_argument('--peer', help='Install generated keys into running-config for peer', action='store') # Global parser.add_argument('--file', help='Write generated keys into specified filename', action='store_true') @@ -833,9 +826,10 @@ if __name__ == '__main__': elif args.wireguard: if args.key: - generate_wireguard_key(args.key, install=args.install, file=args.file) - elif args.psk: - generate_wireguard_psk(args.psk, install=args.install, file=args.file) + generate_wireguard_key(args.interface, install=args.install) + if args.psk: + generate_wireguard_psk(args.interface, peer=args.peer, install=args.install) + elif args.action == 'show': if args.ca: show_certificate_authority(None if args.ca == 'all' else args.ca) -- cgit v1.2.3 From ebf89e0535cf8362a077c07a9cfa2dbd8eeecbb4 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 12 Sep 2021 18:30:09 +0200 Subject: pki: T3642: show only requested CA in op-mode --- op-mode-definitions/pki.xml.in | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/pki.xml.in b/op-mode-definitions/pki.xml.in index 6b9b0d3f6..70154f881 100644 --- a/op-mode-definitions/pki.xml.in +++ b/op-mode-definitions/pki.xml.in @@ -356,23 +356,21 @@ Show PKI certificates - + Show CA certificates - - - - Show CA certificate by name - - pki ca - - - sudo ${vyos_op_scripts_dir}/pki.py --action show --ca "$5" - - sudo ${vyos_op_scripts_dir}/pki.py --action show --ca "all" - + + + + Show CA certificate by name + + pki ca + + + sudo ${vyos_op_scripts_dir}/pki.py --action show --ca "$4" + Show certificates -- cgit v1.2.3 From e092ea4321510c690a51b87a9f7b3eff1fc6ed72 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 12 Sep 2021 20:12:58 +0200 Subject: pki: T3642: show only requested certificate in op-mode --- op-mode-definitions/pki.xml.in | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/pki.xml.in b/op-mode-definitions/pki.xml.in index 70154f881..75ef92d19 100644 --- a/op-mode-definitions/pki.xml.in +++ b/op-mode-definitions/pki.xml.in @@ -353,41 +353,39 @@ - Show PKI certificates + Show PKI x509 certificates - Show CA certificates + Show x509 CA certificates sudo ${vyos_op_scripts_dir}/pki.py --action show --ca "all" - Show CA certificate by name + Show x509 CA certificate by name pki ca sudo ${vyos_op_scripts_dir}/pki.py --action show --ca "$4" - + - Show certificates + Show x509 certificates - - - - Show certificate by name - - pki certificate - - - sudo ${vyos_op_scripts_dir}/pki.py --action show --certificate "$5" - - sudo ${vyos_op_scripts_dir}/pki.py --action show --certificate "all" - + + + + Show x509 certificate by name + + pki certificate + + + sudo ${vyos_op_scripts_dir}/pki.py --action show --certificate "all" + Show certificate revocation lists -- cgit v1.2.3 From 42f675bb1c160fa6b1115e2b3f26afbdfa26e734 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 12 Sep 2021 20:12:58 +0200 Subject: pki: T3642: show only requested certificate in op-mode --- op-mode-definitions/pki.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/pki.xml.in b/op-mode-definitions/pki.xml.in index 75ef92d19..9aaf2a571 100644 --- a/op-mode-definitions/pki.xml.in +++ b/op-mode-definitions/pki.xml.in @@ -384,7 +384,7 @@ pki certificate - sudo ${vyos_op_scripts_dir}/pki.py --action show --certificate "all" + sudo ${vyos_op_scripts_dir}/pki.py --action show --certificate "$4" -- cgit v1.2.3 From f86b7314d025fd0cf11c2d91638ed3cc7c4fa507 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 12 Sep 2021 20:23:45 +0200 Subject: pki: T3642: listing all CRLs show be doen using a leafNode --- op-mode-definitions/pki.xml.in | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/pki.xml.in b/op-mode-definitions/pki.xml.in index 9aaf2a571..a1c55dcf4 100644 --- a/op-mode-definitions/pki.xml.in +++ b/op-mode-definitions/pki.xml.in @@ -386,23 +386,12 @@ sudo ${vyos_op_scripts_dir}/pki.py --action show --certificate "$4" - + - Show certificate revocation lists + Show x509 certificate revocation lists - - - - Show certificate revocation lists from specified CA - - pki ca - - - sudo ${vyos_op_scripts_dir}/pki.py --action show --crl "$5" - - sudo ${vyos_op_scripts_dir}/pki.py --action show --crl "all" - + sudo ${vyos_op_scripts_dir}/pki.py --action show -- cgit v1.2.3 From 41807725cad3266bf426a9de411bb693b914395e Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 19 Sep 2021 09:17:00 +0200 Subject: dhcp: op-mode: xml: fix duplicate help string --- op-mode-definitions/dhcp.xml.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/dhcp.xml.in b/op-mode-definitions/dhcp.xml.in index 6f0c25110..9b21cb9af 100644 --- a/op-mode-definitions/dhcp.xml.in +++ b/op-mode-definitions/dhcp.xml.in @@ -128,13 +128,13 @@ - Restart the DHCP server process + Restart DHCP server process sudo systemctl restart isc-dhcp-server.service - Restart the DHCP server process + Restart DHCP relay agent sudo ${vyos_op_scripts_dir}/restart_dhcp_relay.py --ipv4 -- cgit v1.2.3 From 83f9d4b8bac6b5d401dfea19d4f9d61b7e638a47 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 19 Sep 2021 09:17:36 +0200 Subject: dhcp: op-mode: xml: error out if DHCP service not configured --- op-mode-definitions/dhcp.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/dhcp.xml.in b/op-mode-definitions/dhcp.xml.in index 9b21cb9af..4e7568ab6 100644 --- a/op-mode-definitions/dhcp.xml.in +++ b/op-mode-definitions/dhcp.xml.in @@ -130,7 +130,7 @@ Restart DHCP server process - sudo systemctl restart isc-dhcp-server.service + if cli-shell-api existsActive service dhcp-server; then sudo systemctl restart isc-dhcp-server.service; else echo "DHCP server not configured"; fi -- cgit v1.2.3 From 5d4c75d7fdecc56a8864a3ef76ead3f6121a0cff Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 19 Sep 2021 09:21:00 +0200 Subject: dhcpv6: op-mode: xml: fix duplicate help strings --- op-mode-definitions/dhcp.xml.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/dhcp.xml.in b/op-mode-definitions/dhcp.xml.in index 4e7568ab6..7f4bdb990 100644 --- a/op-mode-definitions/dhcp.xml.in +++ b/op-mode-definitions/dhcp.xml.in @@ -123,18 +123,18 @@ - Restart DHCP server processes + Restart DHCP processes - Restart DHCP server process + Restart DHCP server if cli-shell-api existsActive service dhcp-server; then sudo systemctl restart isc-dhcp-server.service; else echo "DHCP server not configured"; fi - Restart DHCP relay agent + Restart DHCP relay-agent sudo ${vyos_op_scripts_dir}/restart_dhcp_relay.py --ipv4 @@ -142,18 +142,18 @@ - Restart DHCPv6 server processes + Restart DHCPv6 processes - Restart the DHCPv6 server process + Restart DHCPv6 server sudo systemctl restart isc-dhcp-server6.service - Restart the DHCP server process + Restart DHCPv6 relay-agent sudo ${vyos_op_scripts_dir}/restart_dhcp_relay.py --ipv6 -- cgit v1.2.3 From 224f0b8042f439b8dcc0eb32730da669e8b163af Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 19 Sep 2021 09:21:25 +0200 Subject: dhcpv6: op-mode: xml: error out if DHCPv6 service not configured Restarting DHCPv6 server should not be possible when service is not configured on the CLI. --- op-mode-definitions/dhcp.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/dhcp.xml.in b/op-mode-definitions/dhcp.xml.in index 7f4bdb990..241cca0ce 100644 --- a/op-mode-definitions/dhcp.xml.in +++ b/op-mode-definitions/dhcp.xml.in @@ -149,7 +149,7 @@ Restart DHCPv6 server - sudo systemctl restart isc-dhcp-server6.service + if cli-shell-api existsActive service dhcpv6-server; then sudo systemctl restart isc-dhcp-server6.service; else echo "DHCPv6 server not configured"; fi -- cgit v1.2.3 From 801123eff1bf232ca1e5202ceb0989c2fba34c86 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 25 Sep 2021 16:34:52 +0200 Subject: op-mode: bgp: "show bgp ipv4|ipv6" should display routing table The node was missed out when adding the XML definitions. --- op-mode-definitions/include/bgp/show-bgp-common.xml.i | 2 ++ 1 file changed, 2 insertions(+) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/include/bgp/show-bgp-common.xml.i b/op-mode-definitions/include/bgp/show-bgp-common.xml.i index 0664b11fc..e81b26b3e 100644 --- a/op-mode-definitions/include/bgp/show-bgp-common.xml.i +++ b/op-mode-definitions/include/bgp/show-bgp-common.xml.i @@ -22,6 +22,7 @@ #include #include + ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ @@ -44,6 +45,7 @@ #include #include + ${vyos_op_scripts_dir}/vtysh_wrapper.sh $@ -- cgit v1.2.3 From f43e02715d92d59da937454d6b9dfeb0e725bed4 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 4 Oct 2021 19:45:22 +0200 Subject: op-mode: T3889: migrate to journalctl when reading daemon logs (cherry picked from commit 3b2523b816556aa911459097c2476a2da4542151) --- op-mode-definitions/show-log.xml.in | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-log.xml.in b/op-mode-definitions/show-log.xml.in index 92c1cf016..f31c85245 100644 --- a/op-mode-definitions/show-log.xml.in +++ b/op-mode-definitions/show-log.xml.in @@ -6,7 +6,7 @@ Show contents of current master log file - /bin/journalctl + journalctl --boot @@ -18,7 +18,7 @@ Show listing of authorization attempts - /bin/journalctl --quiet SYSLOG_FACILITY=10 SYSLOG_FACILITY=4 + journalctl --boot --quiet SYSLOG_FACILITY=10 SYSLOG_FACILITY=4 @@ -30,7 +30,7 @@ Show log for Conntrack-sync - cat $(printf "%s\n" /var/log/messages* | sort -nr ) | grep -e conntrackd + journalctl --boot --unit conntrackd.service @@ -89,7 +89,7 @@ Show log for HTTPs - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e nginx + journalctl --boot --unit nginx.service @@ -133,7 +133,7 @@ Show log for LLDP - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e lldpd + journalctl --boot --unit lldpd.service @@ -141,17 +141,28 @@ egrep -i "kernel:.*\[NAT-[A-Z]{3,}-[0-9]+(-MASQ)?\]" $(find /var/log -maxdepth 1 -type f -name messages\* | sort -t. -k2nr) - + Show log for OpenVPN - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e openvpn - + journalctl --boot --unit openvpn@*.service + + + + Show OpenVPN log on specific interface + + interfaces openvpn + + + journalctl --boot --unit openvpn@$5.service + + + Show log for Simple Network Monitoring Protocol (SNMP) - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e snmpd + journalctl --boot --unit snmpd.service @@ -195,13 +206,13 @@ Show log for PPTP - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e accel-pptp -e ppp + journalctl --boot --unit accel-ppp@pptp.service Show log for SSTP - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e accel-sstp -e ppp + journalctl --boot --unit accel-ppp@sstp.service @@ -209,13 +220,13 @@ Show log for Virtual Router Redundancy Protocol (VRRP) - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e Keepalived_vrrp + journalctl --boot --unit keepalived.service Show log for Webproxy - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep -e "squid" + journalctl --boot --unit squid.service -- cgit v1.2.3 From b7189cd1df327621a304ca65626a517223db6432 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 4 Oct 2021 19:49:07 +0200 Subject: op-mode: dhcpv(v6): T3890: retrieve both server and client logfiles * rename: "show log dhcp" will become "show log dhcp server" * add: "show log dhcp client" to display logs from ALL DHCP client processes * add: "show log dhcp client interface " to display logs from individual DHCP client processes * add: "show log dhcpv6 server" to display infos about running DHCPv6 server * add: "show log dhcpv6 client" to display logs from ALL DHCPv6 client processes * add: "show log dhcpv6 client interface " to display logs from individual DHCPv6 client processes (cherry picked from commit ffd73958e42c20f69ded64393491966e0c9230c6) --- op-mode-definitions/show-log.xml.in | 60 +++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 3 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-log.xml.in b/op-mode-definitions/show-log.xml.in index f31c85245..3156d822a 100644 --- a/op-mode-definitions/show-log.xml.in +++ b/op-mode-definitions/show-log.xml.in @@ -32,12 +32,66 @@ journalctl --boot --unit conntrackd.service - + Show log for Dynamic Host Control Protocol (DHCP) - cat $(printf "%s\n" /var/log/messages* | sort -nr) | grep dhcpd - + + + + Show log for DHCP server + + journalctl --boot --unit isc-dhcp-server.service + + + + Show DHCP client logs + + journalctl --boot --unit "dhclient@*.service" + + + + Show DHCP client log on specific interface + + + + + journalctl --boot --unit "dhclient@$6.service" + + + + + + + + Show log for Dynamic Host Control Protocol IPv6 (DHCPv6) + + + + + Show log for DHCPv6 server + + journalctl --boot --unit isc-dhcp-server6.service + + + + Show DHCPv6 client logs + + journalctl --boot --unit "dhcp6c@*.service" + + + + Show DHCPv6 client log on specific interface + + + + + journalctl --boot --unit "dhcp6c@$6.service" + + + + + Show log for Firewall -- cgit v1.2.3 From adc7ef387d40e92bd7163ee6b401e99e554394a3 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 5 Oct 2021 19:43:08 +0200 Subject: op-mode: T3889: do not display redundant hostname when reading logs (cherry picked from commit 30cf3bc79e2253a004fcbbf76c9f99c52e7bc216) --- op-mode-definitions/show-log.xml.in | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'op-mode-definitions') diff --git a/op-mode-definitions/show-log.xml.in b/op-mode-definitions/show-log.xml.in index 3156d822a..4c0a7913b 100644 --- a/op-mode-definitions/show-log.xml.in +++ b/op-mode-definitions/show-log.xml.in @@ -6,7 +6,7 @@ Show contents of current master log file - journalctl --boot + journalctl --no-hostname --boot @@ -18,7 +18,7 @@ Show listing of authorization attempts - journalctl --boot --quiet SYSLOG_FACILITY=10 SYSLOG_FACILITY=4 + journalctl --no-hostname --boot --quiet SYSLOG_FACILITY=10 SYSLOG_FACILITY=4 @@ -30,7 +30,7 @@ Show log for Conntrack-sync - journalctl --boot --unit conntrackd.service + journalctl --no-hostname --boot --unit conntrackd.service @@ -41,13 +41,13 @@ Show log for DHCP server - journalctl --boot --unit isc-dhcp-server.service + journalctl --no-hostname --boot --unit isc-dhcp-server.service Show DHCP client logs - journalctl --boot --unit "dhclient@*.service" + journalctl --no-hostname --boot --unit "dhclient@*.service" @@ -56,7 +56,7 @@ - journalctl --boot --unit "dhclient@$6.service" + journalctl --no-hostname --boot --unit "dhclient@$6.service" @@ -71,13 +71,13 @@ Show log for DHCPv6 server - journalctl --boot --unit isc-dhcp-server6.service + journalctl --no-hostname --boot --unit isc-dhcp-server6.service Show DHCPv6 client logs - journalctl --boot --unit "dhcp6c@*.service" + journalctl --no-hostname --boot --unit "dhcp6c@*.service" @@ -86,7 +86,7 @@ - journalctl --boot --unit "dhcp6c@$6.service" + journalctl --no-hostname --boot --unit "dhcp6c@$6.service" @@ -143,7 +143,7 @@ Show log for HTTPs - journalctl --boot --unit nginx.service + journalctl --no-hostname --boot --unit nginx.service @@ -173,7 +173,7 @@ <NUMBER> - tail -n "$6" /lib/live/mount/persistence/boot/$4/rw/var/log/messages | ${VYATTA_PAGER:-cat} + tail -n "$6" /lib/live/mount/persistence/boot/$4/rw/var/log/messages | ${VYATTA_PAGER:-cat} @@ -187,7 +187,7 @@ Show log for LLDP - journalctl --boot --unit lldpd.service + journalctl --no-hostname --boot --unit lldpd.service @@ -199,7 +199,7 @@ Show log for OpenVPN - journalctl --boot --unit openvpn@*.service + journalctl --no-hostname --boot --unit openvpn@*.service @@ -208,7 +208,7 @@ interfaces openvpn - journalctl --boot --unit openvpn@$5.service + journalctl --no-hostname --boot --unit openvpn@$5.service @@ -216,7 +216,7 @@ Show log for Simple Network Monitoring Protocol (SNMP) - journalctl --boot --unit snmpd.service + journalctl --no-hostname --boot --unit snmpd.service @@ -260,13 +260,13 @@ Show log for PPTP - journalctl --boot --unit accel-ppp@pptp.service + journalctl --no-hostname --boot --unit accel-ppp@pptp.service Show log for SSTP - journalctl --boot --unit accel-ppp@sstp.service + journalctl --no-hostname --boot --unit accel-ppp@sstp.service @@ -274,13 +274,13 @@ Show log for Virtual Router Redundancy Protocol (VRRP) - journalctl --boot --unit keepalived.service + journalctl --no-hostname --boot --unit keepalived.service Show log for Webproxy - journalctl --boot --unit squid.service + journalctl --no-hostname --boot --unit squid.service -- cgit v1.2.3