On Tue, Oct 22, 2013 at 04:15:37PM +0530, Nehal J Wani wrote:
Q1. The --dhcp-script option will require libvirt to provide a
script
or executable file to be run. Now as the man page says, this file is
executed "Whenever a new DHCP ease is created, or an old one
destroyed". Life was easy with the script, as it used the command sed
to remove the destroyed lease. eblake had suggested me to use a C
program instead. So I wanted to finalize whether to go with C or
continue with shell script.
Libvirt aims to avoid shell code whereever possible, since it is really
a very bad language from terms of reliability and security. eg quoting
rules are easy to get wrong, error handling is awful, portability is
non-trivial.
Q2. The above executable file will be writing the custom formatted
lease parameters to a file "dnsmasq-ip-mac.status" (suggestion open
for name). This newly created/updated file will be parsed by the API.
We need to decide the format for the file. Do we continue with space
separated parameters as before?
Ideally do not invent any new format - use a format that we already
have a parser for - eg the src/util/virconf.h or src/util/virkeyfile.h
APIs for loading configs.
Q3. What should be the location of the above two files? Is there any
example that I can follow in libvirt for deploying custom-script
files/C programs which are not to be linked?
We aim to put such state in /var/lib/libvirt/network/ if it needs
to survive reboots, or /var/run/libvirt/network if it does not
need to survive reboots
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|