Unify custom dnsmasq invocations to a single step
As of now, we have quite a number of various custom per-scenario dnsmasq invocations all around the repo. Some of them are half-unified to @*dnsmasq*
tags, some others are used by freely calling Run child
steps with some boilerplate prone to errors when creating new similar scenarios (e.g. forgetting to tell dnsmasq not to background itself so that pexpect
can kill it later).
I'd like to unify these to a set of steps that'd be backed by a common implementation that'd take care of the boilerplate and plumbing which would allow to configure only just the listening and serving parts in the step for current Run child "[ip netns exec NS ]dnsmasq"
steps, for example:
* Run dnsmasq in namespace "{ns}" with args "{args}"
* Run dnsmasq with args "{args}"
and replace @*dns*
tags with an equivalent step, which could look like:
* Run dnsmasq with "{preset}" configuration
with preset being a choice of e.g. dns
, ip4
etc. presets taken from current @dns_dnsmasq
, @kill_dnsmasq_ip4
etc. tags.