[libvirt] Release of libvirt-0.8.7

The New Year gift just arrived :-) As expected I made the release this morning, it is available as usual at: ftp://libvirt.org/libvirt/libvirt-0.8.7.tar.gz Due to specific condition (without my workstation and networking troubles) the release was made a bit differently than usual, but hopefully that won't lead to troubles, the only thing noticeable should be that the rpm are not signed and I didn't push a tag for the release commit, maybe Eric or Dan can push a git tag for it with their key. The release include among other things new hypervisors support, and a lot of bugs fixes: Features: - Initial support for VirtualBox 4.0 (Matthias Bolte) - IPv6 support (Laine Stump) - Add VMware Workstation and Player driver (Jean-Baptiste Rouault) - add network disk support (MORITA Kazutaka and Josh Durgin) Documentation: - esx: Fix "occurence" typo (again) (Matthias Bolte) - update docs for network disks (MORITA Kazutaka) - docs: Make VMware Workstation / Player page appear in the menu (Matthias Bolte) - Add info about VMware driver to the libvirt website (Jean-Baptiste Rouault) - docs: fixed typo, added table of contents (Justin Clift) - docs: added compiling page and significantly expanded windows page (Justin Clift) - docs: Add additional indentation to level 3 menu items (Matthias Bolte) - maint: doc fix (Eric Blake) - Update documentation of watchdog dump option and add test data for it (Hu Tao) - virsh: fix a typo in the memtune help description (Justin Clift) - docs: updated virsh command reference download links to new version (Justin Clift) - Moved the nodeinfo command to the 'host' help keyword group (Justin Clift) - man pages: update the description for the virsh help command (Justin Clift) - virsh: move two commands from domain group to storage pool group (Osier Yang) - virCommand: docs for usage of new command APIs (Daniel P. Berrange) - virsh: update help for "virsh help help" (Osier Yang) - virsh: remove a badly placed line break in virsh -h output (Justin Clift) - virsh: Categorize commands into groups for virsh help (Osier Yang) Portability: - vbox: Handle different IID representation in Version 2.2 on Windows (Matthias Bolte) - build: make building on cygwin easier (Eric Blake) - build: improve testsuite results with older automake (Eric Blake) - build: allow older libselinux again (Eric Blake) - build: allow autoconf 2.59 again (Eric Blake) - build: allow mingw compilation with virCommand (Eric Blake) - build: quote AC_LANG_PROGRAM to avoid warnings with autoconf 2.68 (Diego Elio Pettenò) - build: properly handle ./configure --with-libpcap (Diego Elio Pettenò) - build: avoid shadowing devname() on BSD systems (Eric Blake) - Fix undefined symbol errors when macvtap support is disabled (Matthias Bolte) - Fix warning when macvtap support is disabled (Jean-Baptiste Rouault) Bug fixes: - virExec: fix logic bug (Eric Blake) - Set broadcast address for IPv4 addresses on virtual network bridges (Laine Stump) - Fix misuse of VIR_ERR_INVALID_DOMAIN (Matthias Bolte) - build: fix building error when building without libvirtd (Wen Congyang) - spec: Enable ESX driver on RHEL (Jiri Denemark) - bridge: Fix uninitialized variable (Jiri Denemark) - make the <dhcp> element optional in network.rng (Laine Stump) - fix syntax error in configure.ac (Wen Congyang) - qemu: Reparent children when deleting a snapshot (Matthias Bolte) - Set bitmap size when allocating a bitmap (Jim Fehlig) - qemu: Return SPICE ports on domain shutdown (Jiri Denemark) - virterror: avoid API breakage with vmware (Eric Blake) - Fix memory leak in virsh (Hu Tao) - Distribute libvirt_vmx.syms (Matthias Bolte) - vmware: Fix undefine symbol with loadable drivers enabled (Matthias Bolte) - esx: Fix cluster resource lookup when connecting to a vCenter (Matthias Bolte) - command: avoid hanging on daemon processes (Eric Blake) - storage: Ignore dangling symbolic link for filesystem pool (Osier Yang) - Skip file-based security checks for network disks (Josh Durgin) - tests: avoid data race (Eric Blake) - bridge_driver: avoid double call to VIR_FREE (Paweł Krześniak) - vbox: Don't leak domain names in vboxListDefinedDomains (Matthias Bolte) - vbox: Don't leak arrays from XPCOM (Matthias Bolte) - build: fix typo that broke 'make dist' (Eric Blake) - util: Fix logical error in virReportSystemErrorFull (Jiri Denemark) - util: Fix error message in __virExec (Jiri Denemark) - daemon: Change CWD to / before daemonizing (Jiri Denemark) - daemon, threads: plug a memory leak (Eric Blake) - daemon: plug a memory leak (Eric Blake) - conf: plug memory leaks (Eric Blake) - tests: plug memory leaks (Eric Blake) - virExec: avoid undefined behavior (Eric Blake) - command: plug memory leak (Eric Blake) - build: distribute commandtest files (Eric Blake) - spec: do not start libvirt-guests if that service is off (Dan Kenigsberg) - correct the signal's name (Wen Congyang) - command: avoid memory leak (Eric Blake) - qemu: call drive_del in DetachPciDiskDevice (Ryan Harper) - qemu: call drive_unplug in DetachPciDiskDevice (Ryan Harper) - qemud: fix memory leak in io error events (Anthony Liguori) - qemu: Enable disabled debug messages (Jiri Denemark) - qemu: Use -vga none only if it is supported (Jiri Denemark) - openvz: avoid potential buffer overflow (Eric Blake) - tests: fix leaks in commandtest (Eric Blake) - uuid: require smbios uuid and domain uuid to match (Eric Blake) - qemu: avoid adding "" in smbios arguments (Eric Blake) - Fix funny off-by-one error in clock-variable (Dan Kenigsberg) - syntax error "Bad fd number" when stopping libvirt-guests (Laurent Léonard) - util: Fix bug which will cause libvirtd crash (Osier Yang) - qemu: Fix a possible deadlock in p2p migration (Jiri Denemark) - qemu: Don't try to set input FD to -1 (Matthias Bolte) - Fix memory leak in logging setup (Daniel P. Berrange) - schemas: Fix cpu element schema (Jiri Denemark) - virsh: Remove using phy as default disk driver in cmdAttachDisk (Osier Yang) - OpenVZ: drop fd leackage (Guido Günther) - qemu: plug memory leak (Eric Blake) - libvirtd: avoid memory leak on shutdown (Eric Blake) - Fix flaw in thread creation APIs (Daniel P. Berrange) Improvements: - build: avoid compilation warnings (Eric Blake) - Improve virSocketAddrMask[ByPrefix] API (Laine Stump) - Utility functions to produce an IPv4 broadcast address (Laine Stump) - qemu: add -incoming fd:n capability checking (Eric Blake) - spec: Automatically turn on cgconfig service (Daniel P. Berrange) - Replace setuid/setgid/initgroups with virSetUIDGID() (Laine Stump) - new virSetUIDGID() utility function (Laine Stump) - Preserve errno across calls to error reporting functions & VIR_FREE (Laine Stump) - Run radvd for virtual networks with IPv6 addresses (Laine Stump) - Turn on IPv6 support in the bridge_driver.c virtual network driver (Laine Stump) - Update iptables.c to also support ip6tables. (Laine Stump) - Support multiple IP addresses on one network in bridge_driver.c (Laine Stump) - Change virtual network XML parsing/formatting to support IPv6 (Laine Stump) - Replace brSetInetAddress/brSetInetNetmask with brAddInetAddress (Laine Stump) - Make virtual network netmasks optional (Laine Stump) - Pass prefix rather than netmask into iptables functions (Laine Stump) - Consistently return 0 on success, -1 on failure in bridge_driver.c (Laine Stump) - Fix logging of failed iptables commands (Laine Stump) - New virNetworkDef utility functions (Laine Stump) - New virSocketAddr utility functions (Laine Stump) - virsh: Add --force option to update-device (Jiri Denemark) - esx: Add support for storage volume wiping (Matthias Bolte) - esx: Add support for storage volume deletion (Matthias Bolte) - maint: avoid space-tab (Eric Blake) - build: skip vmware driver when building for RHEL (Eric Blake) - tests: avoid spurious failure of nodeinfotest (Eric Blake) - libvirt-guests: avoid sourcing failure (Eric Blake) - vbox: Handle different array representations of XPCOM and MSCOM (Matthias Bolte) - vbox: Add glue layer for MSCOM on Windows (Matthias Bolte) - vbox: Match struct layout of the MSCOM implementation on Windows (Matthias Bolte) - vbox: Use stdcall convention for all COM methods on Windows (Matthias Bolte) - maint: improve tests distribution (Eric Blake) - Update QEMU test cases for new file locations & API renames (Daniel P. Berrange) - Move QEMU hotplug helper code out of the QEMU driver (Daniel P. Berrange) - Move QEMU domain lock / job helper code to separate file (Daniel P. Berrange) - Move QEMU driver lock helpers to a separate file (Daniel P. Berrange) - Move QEMU hostdev helper code out of the QEMU driver (Daniel P. Berrange) - Move QEMU cgroup helper code out of the QEMU driver (Daniel P. Berrange) - Move QEMU audit helper code out of the QEMU driver (Daniel P. Berrange) - Move QEMU private data & namespace code into separate file (Daniel P. Berrange) - Move QEMU command line management into a separate file (Daniel P. Berrange) - Move QEMU capabilities management into a separate file (Daniel P. Berrange) - Add a new function doStartCPUs (Hu Tao) - Add a new function doStopCPUs (Hu Tao) - Add a macro timeval_to_ms to compute micro seconds from timeval (Hu Tao) - cpu: Unify CPUID data structures (Jiri Denemark) - esx: Add support for storage volume cloning (Matthias Bolte) - selinux: avoid memory overhead of matchpathcon (Eric Blake) - tests: test Fedora 14 qemu-kvm -help parsing (Eric Blake) - tests: test RHEL 6.0 qemu-kvm -help parsing (Eric Blake) - sysinfo: convert to virCommand (Eric Blake) - build: update gnulib for pipe on mingw (Eric Blake) - test: fix commandtest under autobuild.sh (Eric Blake) - qemu: Introduce two new job types (Osier Yang) - qemu: Add RBD support and some network disk fixes (Josh Durgin) - Missing "Default-Stop" field in LSB comment in libvirt-guests (Laurent Léonard) - 802.1Qbh: Add support for IFLA_VF_MAC (Roopa Prabhu) - command: ease use with virBuffer, and fix qemu leak (Eric Blake) - Convert dhcpStartDhcpDaemon from virRun to virCommand (Laine Stump) - esx: Refactor storage pool type lookup into a function (Matthias Bolte) - esx: Improve error reporting for failed tasks (Matthias Bolte) - tests: Add tests for network disks (Josh Durgin) - Add a watchdog action `dump' (Hu Tao) - Add a new function doCoreDump (Hu Tao) - threadpool impl (Hu Tao) - qemu: Distinguish between domain shutdown and crash (Jiri Denemark) - qemu: Only build devstr when needs (attach PCI controller) (Osier Yang) - configure: improve misleading libnl missing error message (Justin Clift) - maint: update to latest gnulib (Eric Blake) - openvz: convert popen to virCommand (Eric Blake) - command: improve behavior on no output (Eric Blake) - command: enforce fd vs. buffer considerations (Eric Blake) - tests: Fix commandtest in VPATH build (Jiri Denemark) - command: improve allocation failure reporting (Eric Blake) - tests: Fix detection of expected error (Jiri Denemark) - tests: Fix code formating in commandtest (Jiri Denemark) - smbios: allow () in smbios strings (Eric Blake) - smbios: support system family (Eric Blake) - threads: add virThreadID for debugging use (Eric Blake) - tests: Don't ignore return value of getcwd() (Jiri Denemark) - build: Fix internal docs generation in VPATH builds (Jiri Denemark) - Change return value of VIR_DRV_SUPPORTS_FEATURE to bool (Jiri Denemark) - Implement virVMOperationType{To|From}String independent from WITH_MACVTAP (Matthias Bolte) - Create file in virFileWriteStr() if it doesn't exist (Jean-Baptiste Rouault) - Remove bogus includes (Daniel P. Berrange) - uml: convert to virCommand (Daniel P. Berrange) - qemu: convert to virCommand (Eric Blake) - Port hooks and iptables code to new command execution APIs (Daniel P. Berrange) - Introduce new APIs for spawning processes (Daniel P. Berrange) - util: add virVasprintf (Eric Blake) - util: fix saferead type (Eric Blake) - Tweak daemon event debug to include errno (Daniel P. Berrange) - tests: Add tests for CPU selection in qemu driver (Jiri Denemark) - tests: Support for faking emulator in qemuxml2argv (Jiri Denemark) - maint: update .gitignore (Eric Blake) - qemu: Use macro for max and min vnc port instead of number (Osier Yang) - tests: Add unit tests for internal CPU APIs (Jiri Denemark) - cpu: Add support for overriding path to CPU map XML file (Jiri Denemark) - Fall back to QEMUD_SAVE_FORMAT_RAW if compression method fails. (Hu Tao) Cleanups: - esx: Move VMX handling code out of the driver directory (Matthias Bolte) - qemu: use virAsprintf instead of PATH_MAX (Eric Blake) - build: fix typo that broke 'make dist' (Wen Congyang) - sysinfo: formatting cleanups (Eric Blake) - virsh: Remove redundant commands in group domain (Osier Yang) - virsh: Remove redundant optional option for cmdHelp (Osier Yang) - qemu: Fix typo in qemuTeardownDiskPathDeny (Osier Yang) - maint: allow 'make syntax-check' to run again (Eric Blake) thanks everybody who helped for this release, with ideas, patches report or documentation ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

On 04/01/2011, at 2:32 PM, Daniel Veillard wrote:
The New Year gift just arrived :-)
As expected I made the release this morning, it is available as usual at: ftp://libvirt.org/libvirt/libvirt-0.8.7.tar.gz
Cool. :)
Due to specific condition (without my workstation and networking troubles) the release was made a bit differently than usual, but hopefully that won't lead to troubles, the only thing noticeable should be that the rpm are not signed and I didn't push a tag for the release commit, maybe Eric or Dan can push a git tag for it with their key.
Yeah, having the git tag in place has turned out to be important on occasion, like when I was working out which version of libvirt each virsh command became available from.

On 01/03/2011 08:32 PM, Daniel Veillard wrote:
The New Year gift just arrived :-)
As expected I made the release this morning, it is available as usual at: ftp://libvirt.org/libvirt/libvirt-0.8.7.tar.gz
Due to specific condition (without my workstation and networking troubles) the release was made a bit differently than usual, but hopefully that won't lead to troubles, the only thing noticeable should be that the rpm are not signed and I didn't push a tag for the release commit, maybe Eric or Dan can push a git tag for it with their key.
The v0.8.7 tag is now pushed using my key. Since this is my first time signing a libvirt release, you might not have my key in your keyring yet; it can be obtained from: http://people.redhat.com/eblake/eblake.gpg with key id 2527436A. (If you're really paranoid, feel free to contact me off-list to ask for my key's fingerprint). -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 01/04/11 18:44, Justin Clift wrote:
On 04/01/2011, at 2:32 PM, Daniel Veillard wrote:
The New Year gift just arrived :-)
As expected I made the release this morning, it is available as usual at: ftp://libvirt.org/libvirt/libvirt-0.8.7.tar.gz
0.8.7 is now available through Homebrew on MacOS X too.
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Should I post link for Slackware package as well? Not like there are any Slackware users around here, except me of course, but- Zdenek - -- Zdenek Styblik Net/Linux admin OS TurnovFree.net email: stybla@turnovfree.net jabber: stybla@jabber.turnovfree.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0jZLEACgkQ8MreUbSH7imLpwCgpThNj7j2CyeqBK1xofNWXtgm oNwAoIekEhUtVejCObYsORxk0sYEiplr =4xaT -----END PGP SIGNATURE-----

On 05/01/2011, at 5:19 AM, Zdenek Styblik wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 01/04/11 18:44, Justin Clift wrote:
On 04/01/2011, at 2:32 PM, Daniel Veillard wrote:
The New Year gift just arrived :-)
As expected I made the release this morning, it is available as usual at: ftp://libvirt.org/libvirt/libvirt-0.8.7.tar.gz
0.8.7 is now available through Homebrew on MacOS X too.
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Should I post link for Slackware package as well? Not like there are any Slackware users around here, except me of course, but-
Yeah, not a bad idea at all. :)

On 01/04/2011 07:37 PM, Justin Clift wrote: [...]
0.8.7 is now available through Homebrew on MacOS X too.
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Should I post link for Slackware package as well? Not like there are any Slackware users around here, except me of course, but-
Yeah, not a bad idea at all. :)
https://www.turnovfree.net/pub/linux/slackware/slackware64-13.1/slackware64/... https://www.turnovfree.net/pub/linux/slackware/slackware64-13.1/slackware64/... But I haven't put them into "production" yet. I can provide SlackBuild scripts for these; I'm going to make them public very soon anyway, yet it's a bit complicated(= lack of time atm). They are going to be available at http://www.zeratul.org/git/ later on. Z. -- Zdenek Styblik Net/Linux admin OS TurnovFree.net email: stybla@turnovfree.net jabber: stybla@jabber.turnovfree.net

On 05/01/2011, at 9:30 PM, Zdenek Styblik wrote: <snip>
https://www.turnovfree.net/pub/linux/slackware/slackware64-13.1/slackware64/...
https://www.turnovfree.net/pub/linux/slackware/slackware64-13.1/slackware64/...
But I haven't put them into "production" yet. I can provide SlackBuild scripts for these; I'm going to make them public very soon anyway, yet it's a bit complicated(= lack of time atm). They are going to be available at http://www.zeratul.org/git/ later on.
Cool. I'm thinking we should these to the Downloads page in some way that makes sense. Not sure of the best approach. Will need to think about it (open to suggestions too of course). :)

On 01/05/2011 11:40 AM, Justin Clift wrote: [...]
Cool. I'm thinking we should these to the Downloads page in some way that makes sense.
Not sure of the best approach. Will need to think about it (open to suggestions too of course). :)
Yes, you can. Although Slackware is a bit "complicated" from my point of view. As an example - Debian. You have PHP split into N packages each adding feature as *SQL support, XML support etc. In Slackware, it's whatever has been compiled into package. SlackBuild is just script for ease of building package - other GNU/Linux distributions have these, so I don't think I have to explain it. Anyway, I think these might have the biggest value, if any, in case somebody wants to modify build options/supported features. What I'm trying to say is I'm not using everything from libvirt, but only what I actually need. Thus eg. iSCSI and NetCF support is disabled atm, although I wanted to look into NetCF. On the other hand I can say I'm pleased to see Slackware pkg at web site of any application if I want to try something fast(and curse man whom build package for dependencies I could do without :]). Yes, it sure could be a nice "bonus". If there are any requirements for package on what libvirt should have support for, let me know and I'll see what I can do about it. But I have no idea how Debian does it with splitting everything up, nor I'm sure I want to :) As for 'Downloads' page ~ since this is only package, I'm not sure if it is worth of bother at all ;) Links(information) can be found in mailing list archives(via search engines). Dunno. Z. -- Zdenek Styblik Net/Linux admin OS TurnovFree.net email: stybla@turnovfree.net jabber: stybla@jabber.turnovfree.net

On 01/05/2011 06:12 AM, Zdenek Styblik wrote:
What I'm trying to say is I'm not using everything from libvirt, but only what I actually need. Thus eg. iSCSI and NetCF support is disabled atm, although I wanted to look into NetCF.
Zdenek - I'd be very happy to have a Slackware port of netcf, and would be willing to help out getting it in (as long as you'd be willing to help me setup a Slackware guest so I could test your patches ;-) There have been 4 other people who started netcf ports (debian, arch linux, suse, and (believe it or not, MS Windows)), but so far none has followed through to actually pushing something into the main netcf git. The main page to netcf is: https://fedorahosted.org/netcf The first step would be to subscribe to the netcf-devel mailing list: https://fedorahosted.org/mailman/listinfo/netcf-devel It's *very* low traffic, so it won't add much to your daily mail culling. I can help you out figuring out which bits need replacing for a different platform (although I'm afraid I probably can't be much help with what they should be replaced with :-)
On the other hand I can say I'm pleased to see Slackware pkg at web site of any application if I want to try something fast(and curse man whom build package for dependencies I could do without :]). Yes, it sure could be a nice "bonus".
If there are any requirements for package on what libvirt should have support for, let me know and I'll see what I can do about it.
Speaking of that, I don't know if you noticed, but support for IPv6 virtual networks was added in this release. However, in order for it to all work properly, you need to have the following binaries installed on the build machine (autoconfigure finds them and etches their paths into the libvirtd binary): command package ------- ------- ip (iproute) ip6tables (iptables-ipv6) radvd (radvd) and of course a couple that were already required: iptables (iptables) dnsmasq (dnsmasq) ip, iptables, and dnsmasq are required (on the build machine as well as the target) for IPv4 virtual network support, and all 5 are required for IPv6.
As for 'Downloads' page ~ since this is only package, I'm not sure if it is worth of bother at all ;) Links(information) can be found in mailing list archives(via search engines). Dunno.
Searching sometimes leads to lots of useless junk that you have to sift through to find what you're looking for, and the source of any links is often (at least should be considered!) questionable. Putting a link on the Downloads page of the official project site gives it an extra bit of legitimacy that will give people a warm fuzzy feeling when they install :-) But of course, the link needs to always have something at its other end. So if those links are there to stay, then I'd say add them to the Downloads page for libvirt (assuming we can trust you to not put a trojan in the binary! :-)

A bit of split as these are two topics. On 01/05/2011 04:43 PM, Laine Stump wrote: [...]
As for 'Downloads' page ~ since this is only package, I'm not sure if it is worth of bother at all ;) Links(information) can be found in mailing list archives(via search engines). Dunno.
Searching sometimes leads to lots of useless junk that you have to sift through to find what you're looking for, and the source of any links is often (at least should be considered!) questionable. Putting a link on the Downloads page of the official project site gives it an extra bit of legitimacy that will give people a warm fuzzy feeling when they install :-) But of course, the link needs to always have something at its other end. So if those links are there to stay, then I'd say add them to the Downloads page for libvirt (assuming we can trust you to not put a trojan in the binary! :-)
Thank you for responding. I had second thoughts and I wanted to reply (again to Justin), but forgot. I also wanted to reply in the morning/during the day(both topics), but work got into it and... I agree on question ability, yet even links/packages/sources at some page can't be trusted. But that's really philosophical talk. What got into my mind is, downloads page resp. links and their updates should depend upon community itself. I mean community around each distro, of course. That means package maintainer or even users themselves. Why should be reasonable enough. Because libvirt devs can't track N distros for changes nor they should do so. Here is blunt, straight and simple process. I had sentences before, but this should be better to understand than my gibberish. * new package is built * package maintainer/user whom found out/whoever sends an e-mail to libvirt list like: "Hey, new pkg version for distro XYZ can be found at http://somewhere.tld/foo Could you, please, update your page?" * libvirt dev checks the link - probably some repo browser/tracker - and updates the downloads page And that should be it. I think it could be possible to script some automatic tracking and updating and what not, but - really? No. Regards, Zdenek -- Zdenek Styblik Net/Linux admin OS TurnovFree.net email: stybla@turnovfree.net jabber: stybla@jabber.turnovfree.net

On 01/06/2011 06:00 PM, Zdenek Styblik wrote: [...] Please, send eventual replies to stybla /at/ turnovfree.net. Thank you, Thunderbird for switching 'From:' e-mail without letting me know! :( Grh! I hate when this happens. Z. -- Zdenek Styblik Net/Linux admin OS TurnovFree.net email: stybla@turnovfree.net jabber: stybla@jabber.turnovfree.net

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, On 01/05/2011 04:43 PM, Laine Stump wrote:
On 01/05/2011 06:12 AM, Zdenek Styblik wrote:
Zdenek - I'd be very happy to have a Slackware port of netcf, and would be willing to help out getting it in (as long as you'd be willing to help me setup a Slackware guest so I could test your patches ;-) There have been 4 other people who started netcf ports (debian, arch linux, suse, and (believe it or not, MS Windows)), but so far none has followed through to actually pushing something into the main netcf git.
just wait a second; did you actually say "patches"? :) What is the original platform/distro of NetCF? It shouldn't matter if they've pushed changes or not as long as those are public somewhere. Anyway, I gave it # ./configure; go and found out 'augeas', whatever that is, is "missing". And I expect more to come. I can give it look over the weekend(no, I don't expect it to be done over the weekend - look :]). Slackware guest shouldn't be a problem. It's just like any other GNU/Linux. Setup partition, run setup, key stroke, key stroke, Install everything? [Yes], done :D j/k [...]
The first step would be to subscribe to the netcf-devel mailing list:
Done.
I can help you out figuring out which bits need replacing for a different platform (although I'm afraid I probably can't be much help with what they should be replaced with :-)
Sounds great. I probably should note I'm more like # ./configure && make && ... && makepkg; and some hack-n-slash person. It doesn't mean anything else than just making things clear(so much for expectations) :)
If there are any requirements for package on what libvirt should have support for, let me know and I'll see what I can do about it.
Meant really like build options eg. must have netcf/iSCSI/... support.
Speaking of that, I don't know if you noticed, but support for IPv6 virtual networks was added in this release. However, in order for it to all work properly, you need to have the following binaries installed on the build machine (autoconfigure finds them and etches their paths into the libvirtd binary):
No, I haven't. I pay very little attention to an IPv6, because of many things and many excuses(it doesn't mean I wouldn't like to). So it's likely - no.
command package ------- ------- ip (iproute) check ip6tables (iptables-ipv6) check radvd (radvd) fail ... what the hell is that? :) Rhetorical question, I can find out by myself ;)
and of course a couple that were already required:
iptables (iptables) check dnsmasq (dnsmasq) check
I know about these two already(I made post regarding dnsmasq some time ago) :) Have a nice day, Zdenek - -- Zdenek Styblik Net/Linux admin OS TurnovFree.net email: stybla@turnovfree.net jabber: stybla@jabber.turnovfree.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0mEhEACgkQ8MreUbSH7inj1gCgoxrjZ6gNZxy9yFPF7PXWy9HJ 56IAoI7h9pV2FGfjVZ0uA6UEFgjJYgeQ =FhNI -----END PGP SIGNATURE-----

On 01/06/2011 02:03 PM, Zdenek Styblik wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello,
On 01/05/2011 04:43 PM, Laine Stump wrote:
On 01/05/2011 06:12 AM, Zdenek Styblik wrote:
Zdenek - I'd be very happy to have a Slackware port of netcf, and would be willing to help out getting it in (as long as you'd be willing to help me setup a Slackware guest so I could test your patches ;-) There have been 4 other people who started netcf ports (debian, arch linux, suse, and (believe it or not, MS Windows)), but so far none has followed through to actually pushing something into the main netcf git.
just wait a second; did you actually say "patches"? :) What is the original platform/distro of NetCF?
It was originally developed for Fedora and RHEL (RHEL5.x up to a point, but now only RHEL6 support is up-to-date due to libnl version incompatibilities on 5.x). Because the network config files differ for different distros, there are a couple of files that need to be different for each (or in some cases where two distros are very close, maybe they can share the same source files, with a few #ifdefs). The files defining the API, and implementing the toplevel functions of the API should be common to all platforms, and there is also a file of utility functions that should be useful on all Linux platforms (but not on Windows). As far as I know, the SuSE port was actually complete at one time, and was included in a released product (not sure what the product is), but I don't know where the source is (aside from earlier versions posted to the list and available in the archives), and the developers haven't had the resources available to clean it up and submit it back to the upstream project. The debian and Windows ports have had patches posted that were at the RFC level, but nothing committable yet. If I recall correctly, the Arch Linux port was at the level of someone asking for recommendations on how to proceed, but there haven't been any patches yet.
It shouldn't matter if they've pushed changes or not as long as those are public somewhere.
Well, there is stuff in the mailing list archives, but it's all out of date, because a couple months ago, based on problems revealed by the Windows patches, I did some re-organizing of the files to better separate the platform-specific stuff from the common stuff.
Anyway, I gave it # ./configure; go and found out 'augeas', whatever that is, is "missing". And I expect more to come.
It's possible to make a netcf port that doesn't use augeas. The Fedora/RHEL port uses it to parse all the separate /etc/sysconfig/network-scripts/ifcfg-* files into something regular, then convert that into the API-defined XML format, and to write changes back to the ifcfg-* files (while maintaining the stuff in those files that isn't affected by the changes). The Fedora/RHEL port also uses libxslt2, and it would be possible to make a port without that as well, although you likely will end up wanting it, since it will make creating and parsing the XML required by the API much simpler. On Slackware, it looks like all the network config for all devices is in a single file, */etc/rc.d/rc.inet1.conf <http://www.slackware.com/config/network.php#rc.inet1>. To create a Slackware port of netcf, you would want to write a drv_slackware.c that implemented all the drv_*() functions declared in *internal.h (using drv_initscripts.c as an example); if you don't want/need augeas to do that, you won't need to link it in. Of course there are some kinks - for example, I just noticed that, although the intent is for the functions in util_linux.c to be useful on all Linux platforms, there are several in there that are only useful if you're using augeas (which maybe should be put into a new util_augeas.c), and I also see that dutil.c (which was intended to be useful on *all* platforms) #includes augeas.h, although it doesn't seem to actually use any augeas functions (this is a leftover from old code, and can likely just be removed).
I can give it look over the weekend(no, I don't expect it to be done over the weekend - look :]).
Don't worry, I wouldn't expect that either - it's going to require writing code that will transform the .INI file style info into XML, and from XML back to the .INI style. Even with libxlt2, that isn't exactly trivial (augeas can very likely help, though - it's very good at grabbing a single value from a file and modifying it without screwing up the rest of the file; so it's very likely you *will* want augeas, you'll just use it differently).
Slackware guest shouldn't be a problem. It's just like any other GNU/Linux. Setup partition, run setup, key stroke, key stroke, Install everything? [Yes], done :D j/k
[...]
The first step would be to subscribe to the netcf-devel mailing list: Done.
I can help you out figuring out which bits need replacing for a different platform (although I'm afraid I probably can't be much help with what they should be replaced with :-) Sounds great. I probably should note I'm more like # ./configure&& make && ...&& makepkg; and some hack-n-slash person. It doesn't mean anything else than just making things clear(so much for expectations) :)

Laine Stump wrote:
On 01/06/2011 02:03 PM, Zdenek Styblik wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello,
On 01/05/2011 04:43 PM, Laine Stump wrote:
On 01/05/2011 06:12 AM, Zdenek Styblik wrote:
Zdenek - I'd be very happy to have a Slackware port of netcf, and would be willing to help out getting it in (as long as you'd be willing to help me setup a Slackware guest so I could test your patches ;-) There have been 4 other people who started netcf ports (debian, arch linux, suse, and (believe it or not, MS Windows)), but so far none has followed through to actually pushing something into the main netcf git.
just wait a second; did you actually say "patches"? :) What is the original platform/distro of NetCF?
It was originally developed for Fedora and RHEL (RHEL5.x up to a point, but now only RHEL6 support is up-to-date due to libnl version incompatibilities on 5.x).
Because the network config files differ for different distros, there are a couple of files that need to be different for each (or in some cases where two distros are very close, maybe they can share the same source files, with a few #ifdefs). The files defining the API, and implementing the toplevel functions of the API should be common to all platforms, and there is also a file of utility functions that should be useful on all Linux platforms (but not on Windows).
As far as I know, the SuSE port was actually complete at one time, and was included in a released product (not sure what the product is),
It hasn't been included in a product yet, but might be in upcoming openSUSE 11.4.
but I don't know where the source is (aside from earlier versions posted to the list and available in the archives),
It currently resides in network:utilities project in openSUSE Build Service https://build.opensuse.org/package/show?package=netcf&project=network%3Autilities
and the developers haven't had the resources available to clean it up and submit it back to the upstream project.
My only involvement was enabling netcf support in libvirt, so I can't say much about the work or any progress to upstream it. I've cc'd Patrick - he was involved and perhaps could provide an update. Regards, Jim
participants (7)
-
Daniel Veillard
-
Eric Blake
-
Jim Fehlig
-
Justin Clift
-
Laine Stump
-
Zdenek Styblik
-
Zdenek Styblik