The ability to just deactivate certain parts of the entire config, without having to remove it completely, is very benefical + supportive in my opinion. (Such as the "deactivate"-command from JUNOS..)
For example, sometimes there is no simple 'disable'-option or it isn't very fitting in the specific situation. Also often times, there already is some kind of configuration in progress, but not enough time (or info etc.) to finish it (be able to commit) and also no (good) way to save the current state / delta.
The "deactivate"-command would then just comment-out the (sometimes unfinished) configuration parts without error checking it etc.
Same (simple) syntax as in JUNOS for example:
"deactivate interfaces openvpn vtun0"
OUTPUT:
interfaces { openvpn { /* ##DEACTIVATED by user vyos at DD/MM/YY HH:MM## vtun0 { mode server local-port 1194 persistent-tunnel protocol udp } */ } }
or even:
"deactivate interfaces openvpn vtun0 comment 'Config Errors, to be reviewd by person xy'"
OUTPUT:
interfaces { openvpn { /* ##DEACTIVATED by user vyos at DD/MM/YY HH:MM Reason: Config Errors, to be reviewd by person xy## vtun0 { mode server local-port 1194 persistent-tunnel protocol udp } */ } }
The "activate" command (eg. "activate interfaces openvpn vtun0") then deletes the comment(s) and just leaves the configuration.
ps: is the default tag (VyOS 1.4 Sagitta) when creating tasks still correct? Shouldn't it be 1.5 by now?