[lxc-devel] [PATCH] add lxc.network.script(.pre|.post|) configuration hooks
Daniel Lezcano
daniel.lezcano at free.fr
Fri Oct 8 15:45:17 UTC 2010
On 10/08/2010 05:13 PM, Michael Tokarev wrote:
> Stefan Tomanek wrote:
>
>> Dies schrieb Daniel Lezcano (daniel.lezcano at free.fr):
>>
>>
>>> Are we sure, we want to add these hooks (pre and post) ? I am not
>>> against adding them, but IMO it is more sane to add them if needed
>>> rather than adding something which may not be used.
>>>
>> Well, until now, there was not a single hook, although I desperately
>> needed one. And there are probably people out there who might use
>> these hooks and are not able to add them for themselves.
>>
>>
>>> Wouldn't preferable to have these two hooks:
>>>
>>> lxc.network.script.up
>>> lxc.network.script.down
>>>
>>> (script parameter will need 'name', 'conf section' 'up' | 'down' ...
>>>
>> I still advise to split the hooks into generic ones and those specific
>> to the network type. The parameters passed to a script configuring a veth
>> device will be completely different than those passed to a macvlan device;
>> generic commands can then be placed in a different script, while special
>> commands can be handled in specific scripts.
>>
> Note that the script may receive other parameters, depending on the
> type of the network device, just the first 3 are fixed. THere's also
> $ENVIRONMENT $VARIABLES for us.
>
>
>> I'd at least propose to use two hooks for setting up the interface, on being called
>> in instanciate_* (.up?), passing the arguments suitable to that network type, as well as
>> one generic (.post-up?)
>>
> If there's a need, the "specific" script may call some common
> code/script by its own, or the reverse. There's no need to do
> that in lxc. Of if we do, how about adding a _set_ of scripts
> for each "stage" ? :)
>
>
>>> If there is a need for a pre or post hook, we can easily add later:
>>>
>> Sure, _we_ probably can, but not the person who might need the patch. There are quite
>> many sysadmins who are masters at shell scripting, but are unable to add such a hook
>> to a C codebase. Not being able to extend the system in an easy fashion would be a huge
>> show stopper for them, just as the lack of scripting was to me.
>>
I am not a sysadmin, may be you are right, having the hooks available is
good, but I am still not convinced they are needed. I am heavily using
kvm, and with the two scripts qemu-ifup and qemu-ifdown I am quite happy :)
Anything to be done before or after falls in /etc/network/interfaces.
> There IS a trivial way to extend system already (when
> just ONE hook is implemented) - chain your scripts.
> There's no need to re-implement shell in lxc.
>
Michael, I am not sure I get the idea. Can you elaborate a bit ?
In our case, we need the veth name which is available in
instanciate_veth, no ?
More information about the lxc-devel
mailing list