[Users] ovirt-node on Gentoo

Hi, after few hours of playing around with ovirt-node and following http://www.ovirt.org/wiki/Ovirt_Quickstart guide, I've managed to get all the way to installing vdsm on gentoo server. At this point, it is not even the issue of creating the ebuild file for vdsm, the blocker for me was the following: - after compiling vdsm and installing it, order of files and install locations are clearly following redhat system - when starting vdsm by startup script (which is in /etc/rc.d/init.d, which, in turn, does not exists in Gentoo), from errors thrown at me I see that it is redhat startup script So, I will look through the code, when time allows, but if someone could help out by some info or advice, it would be appreciated... So far, I would start by porting /etc/init.d/functions from fedora and then continue to solve the problem with conf files being on different locations. Any thoughts on this? Is this the wa to go, in the first place? Dimitrije

I noticed the same things when installing on ArchLinux. I also noticed that vdsm is doing things like re-configuring the network configuration, but it clearly uses redhat-specific methods (like modifying the files in /etc/sysconfig/network-scripts/). I see two possible solutions: 1. Create different support scripts for different distros (not a great solution, clearly). 2. Make the scripts as generic as possible, and use in-script logic to determine the currently-running distro (take a look at VirtualBox's vboxweb start-up script, for example; it has quite a bit of this type of logic). For the network configuration issue, would it be realistic to rely on a network abstraction layer, such as NetworkManager or Wicd, since they operate across multiple distros? Jared On Sun, Nov 20, 2011 at 5:47 PM, Dimitrije Zivkovic <dimitrije.ziv@gmail.com
wrote:
Hi,
after few hours of playing around with ovirt-node and following http://www.ovirt.org/wiki/Ovirt_Quickstart guide, I've managed to get all the way to installing vdsm on gentoo server. At this point, it is not even the issue of creating the ebuild file for vdsm, the blocker for me was the following:
- after compiling vdsm and installing it, order of files and install locations are clearly following redhat system - when starting vdsm by startup script (which is in /etc/rc.d/init.d, which, in turn, does not exists in Gentoo), from errors thrown at me I see that it is redhat startup script
So, I will look through the code, when time allows, but if someone could help out by some info or advice, it would be appreciated... So far, I would start by porting /etc/init.d/functions from fedora and then continue to solve the problem with conf files being on different locations. Any thoughts on this? Is this the wa to go, in the first place?
Dimitrije
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

Hi Guys, Well, it looks like we've hit our first distro-diversion. First of all, let's define the issues, and then see how we solve each one; 1. Dimitrije is referring to vdsm's init script (including vdsm-reg). 2. What Jared is referring to is relevant to: - Host installation process (AKA bootstrapping and registration) - vdsm operations on host networking I agree it will be better if we solve each issue using the same code for all distro's. Having said that, we need to see if it's an achievable task. Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script. As for Jared's networking issues, I believe there's more room here to make the relevant code more flexible, by testing the needed files, and using what we find. Thus, we'll have all in the same codebase. You can start by taking a look at vdsm/netinfo.py in vdsm's git. On Monday 21 November 2011 06:40:04 Jared Sutton wrote:
I noticed the same things when installing on ArchLinux. I also noticed that vdsm is doing things like re-configuring the network configuration, but it clearly uses redhat-specific methods (like modifying the files in /etc/sysconfig/network-scripts/). I see two possible solutions:
1. Create different support scripts for different distros (not a great solution, clearly). 2. Make the scripts as generic as possible, and use in-script logic to determine the currently-running distro (take a look at VirtualBox's vboxweb start-up script, for example; it has quite a bit of this type of logic).
For the network configuration issue, would it be realistic to rely on a network abstraction layer, such as NetworkManager or Wicd, since they operate across multiple distros?
Jared
On Sun, Nov 20, 2011 at 5:47 PM, Dimitrije Zivkovic <dimitrije.ziv@gmail.com
wrote:
Hi,
after few hours of playing around with ovirt-node and following http://www.ovirt.org/wiki/Ovirt_Quickstart guide, I've managed to get all the way to installing vdsm on gentoo server. At this point, it is not even the issue of creating the ebuild file for vdsm, the blocker for me was the following:
- after compiling vdsm and installing it, order of files and install locations are clearly following redhat system - when starting vdsm by startup script (which is in /etc/rc.d/init.d, which, in turn, does not exists in Gentoo), from errors thrown at me I see that it is redhat startup script
So, I will look through the code, when time allows, but if someone could help out by some info or advice, it would be appreciated... So far, I would start by porting /etc/init.d/functions from fedora and then continue to solve the problem with conf files being on different locations. Any thoughts on this? Is this the wa to go, in the first place?
Dimitrije
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
-- /d "This message is made with 100% recycled electrons. No new atoms were destroyed in the making of this message."

Hi, so, since I'm also migrating my system from OpenRC to systemd - pure systemd, no OpenRC compatibility, would it be any help to set the condition that ovirt-node requires systemd? I mean, the question here is ( and I think it is worth asking it ) is it worth the time and effort to keep parallel scripts and stuff? If using systemd means that, for now, init standards are no longer an issue, maybe that should be the way to go? Setup ovirt-node under systemd for now and solve init scripts problems later? Is systemd mature enough to inherit SysV or OpenRC completly? Or am I somehow wrong? My system is working with systemd quite nice, no obvious problems so far... PS. Maybe someone could point out what is the minimal set of services needed to run on ovirt-node system/computer? So just to check if systemd has needed scripts already... On Mon, Nov 21, 2011 at 11:58 AM, Doron Fediuck <dfediuck@redhat.com> wrote:
Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.

Adding vdsm-devel, which is where such changes should be considered. It looks like in the future this may be a good choice, but we'll still need to support existing implementations, as well as colleague distro's who still do not have a proper systemd implementation. BTW, Gentoo is using ~29-r1 which is still unstable in portage tree. Any input from vdsm dev's on systemd scripts? On Monday 21 November 2011 13:23:05 Dimitrije Zivkovic wrote:
Hi,
so, since I'm also migrating my system from OpenRC to systemd - pure systemd, no OpenRC compatibility, would it be any help to set the condition that ovirt-node requires systemd? I mean, the question here is ( and I think it is worth asking it ) is it worth the time and effort to keep parallel scripts and stuff? If using systemd means that, for now, init standards are no longer an issue, maybe that should be the way to go? Setup ovirt-node under systemd for now and solve init scripts problems later? Is systemd mature enough to inherit SysV or OpenRC completly? Or am I somehow wrong? My system is working with systemd quite nice, no obvious problems so far...
PS. Maybe someone could point out what is the minimal set of services needed to run on ovirt-node system/computer? So just to check if systemd has needed scripts already...
On Mon, Nov 21, 2011 at 11:58 AM, Doron Fediuck <dfediuck@redhat.com> wrote:
Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.
-- /d “Funny,” he intoned funereally, “how just when you think life can't possibly get any worse it suddenly does.” --Douglas Adams, The Hitchhiker's Guide to the Galaxy

On Mon, Nov 21, 2011 at 02:36:03PM +0200, Doron Fediuck wrote:
Adding vdsm-devel, which is where such changes should be considered.
It looks like in the future this may be a good choice, but we'll still need to support existing implementations, as well as colleague distro's who still do not have a proper systemd implementation. BTW, Gentoo is using ~29-r1 which is still unstable in portage tree.
Any input from vdsm dev's on systemd scripts?
Recently, Federico suggested a systemd script for Vdsm http://gerrit.ovirt.org/263 We may end up with a prolifiration of services (SysV for RHEL, systemd for Fedora, upstart for Debian, and OpenRC for Gentoo) but that's Life, I guess.

On Mon, 2011-11-21 at 12:23 +0100, Dimitrije Zivkovic wrote:
Hi,
so, since I'm also migrating my system from OpenRC to systemd - pure systemd, no OpenRC compatibility, would it be any help to set the condition that ovirt-node requires systemd? I mean, the question here is ( and I think it is worth asking it ) is it worth the time and effort to keep parallel scripts and stuff? If using systemd means that, for now, init standards are no longer an issue, maybe that should be the way to go? Setup ovirt-node under systemd for now and solve init scripts problems later? Is systemd mature enough to inherit SysV or OpenRC completly? Or am I somehow wrong? My system is working with systemd quite nice, no obvious problems so far...
PS. Maybe someone could point out what is the minimal set of services needed to run on ovirt-node system/computer? So just to check if systemd has needed scripts already...
I just want to clarify terms here. oVirt Node is a complete livecd based image. You don't install ovirt-node on a running system, you build an image with it installed and then run that image. With that said, ovirt-node does have similar problems w.r.t. networking configuration, etc. It directly manipulates /etc/sysconfig/network-scripts/* and probably has other stuff as well that is Fedora specific. Adding a dependency on systemd is not really applicable in this case, since it's a pre-built image. You sounds like you're interesting in vdsm directly, not ovirt-node. Mike
On Mon, Nov 21, 2011 at 11:58 AM, Doron Fediuck <dfediuck@redhat.com> wrote: Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On Mon, Nov 21, 2011 at 12:58:29PM +0200, Doron Fediuck wrote:
Hi Guys, Well, it looks like we've hit our first distro-diversion.
First of all, let's define the issues, and then see how we solve each one;
1. Dimitrije is referring to vdsm's init script (including vdsm-reg).
2. What Jared is referring to is relevant to: - Host installation process (AKA bootstrapping and registration) - vdsm operations on host networking
I agree it will be better if we solve each issue using the same code for all distro's. Having said that, we need to see if it's an achievable task.
Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.
As for Jared's networking issues, I believe there's more room here to make the relevant code more flexible, by testing the needed files, and using what we find. Thus, we'll have all in the same codebase. You can start by taking a look at vdsm/netinfo.py in vdsm's git.
And, as mentioned by Daniel Berrange, Vdsm should probably be changed to be using netcf to configure host networking. I'm not sure if Gentoo has netcf back-end, though. I'm sure that there are plenty of other Fedoraisms lurking in Vdsm. We would have to take them down one by one. Dan.

----- Original Message -----
On Mon, Nov 21, 2011 at 12:58:29PM +0200, Doron Fediuck wrote:
Hi Guys, Well, it looks like we've hit our first distro-diversion.
First of all, let's define the issues, and then see how we solve each one;
1. Dimitrije is referring to vdsm's init script (including vdsm-reg).
2. What Jared is referring to is relevant to: - Host installation process (AKA bootstrapping and registration) - vdsm operations on host networking
I agree it will be better if we solve each issue using the same code for all distro's. Having said that, we need to see if it's an achievable task.
Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.
As for Jared's networking issues, I believe there's more room here to make the relevant code more flexible, by testing the needed files, and using what we find. Thus, we'll have all in the same codebase. You can start by taking a look at vdsm/netinfo.py in vdsm's git.
And, as mentioned by Daniel Berrange, Vdsm should probably be changed to be using netcf to configure host networking. I'm not sure if Gentoo has netcf back-end, though.
Actually we're thinking about NetworkManager, not netcf.
I'm sure that there are plenty of other Fedoraisms lurking in Vdsm. We would have to take them down one by one.
Dan. _______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On Mon, 2011-11-21 at 07:42 -0500, Ayal Baron wrote:
----- Original Message -----
On Mon, Nov 21, 2011 at 12:58:29PM +0200, Doron Fediuck wrote:
Hi Guys, Well, it looks like we've hit our first distro-diversion.
First of all, let's define the issues, and then see how we solve each one;
1. Dimitrije is referring to vdsm's init script (including vdsm-reg).
2. What Jared is referring to is relevant to: - Host installation process (AKA bootstrapping and registration) - vdsm operations on host networking
I agree it will be better if we solve each issue using the same code for all distro's. Having said that, we need to see if it's an achievable task.
Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.
As for Jared's networking issues, I believe there's more room here to make the relevant code more flexible, by testing the needed files, and using what we find. Thus, we'll have all in the same codebase. You can start by taking a look at vdsm/netinfo.py in vdsm's git.
And, as mentioned by Daniel Berrange, Vdsm should probably be changed to be using netcf to configure host networking. I'm not sure if Gentoo has netcf back-end, though.
Actually we're thinking about NetworkManager, not netcf.
Does NetworkManager have an api or library level package that doesn't pull in all the UI bits? ovirt-node does not currently include NetworkManager packages at all and we don't want to pull anything that is going to pull in X or another UI. Mike
I'm sure that there are plenty of other Fedoraisms lurking in Vdsm. We would have to take them down one by one.
Dan. _______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On Monday 21 November 2011 14:49:43 Mike Burns wrote:
On Mon, 2011-11-21 at 07:42 -0500, Ayal Baron wrote:
----- Original Message -----
On Mon, Nov 21, 2011 at 12:58:29PM +0200, Doron Fediuck wrote:
Hi Guys, Well, it looks like we've hit our first distro-diversion.
First of all, let's define the issues, and then see how we solve each one;
1. Dimitrije is referring to vdsm's init script (including vdsm-reg).
2. What Jared is referring to is relevant to: - Host installation process (AKA bootstrapping and registration) - vdsm operations on host networking
I agree it will be better if we solve each issue using the same code for all distro's. Having said that, we need to see if it's an achievable task.
Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.
As for Jared's networking issues, I believe there's more room here to make the relevant code more flexible, by testing the needed files, and using what we find. Thus, we'll have all in the same codebase. You can start by taking a look at vdsm/netinfo.py in vdsm's git.
And, as mentioned by Daniel Berrange, Vdsm should probably be changed to be using netcf to configure host networking. I'm not sure if Gentoo has netcf back-end, though.
Actually we're thinking about NetworkManager, not netcf.
Does NetworkManager have an api or library level package that doesn't pull in all the UI bits? ovirt-node does not currently include NetworkManager packages at all and we don't want to pull anything that is going to pull in X or another UI.
Mike
+1 NetworkManager pulls in gnome, while it's net being used in many cases, especially in servers. As for netcf in Gentoo, there's not substantial support which will make it easy to work with.
I'm sure that there are plenty of other Fedoraisms lurking in Vdsm. We would have to take them down one by one.
Dan.
-- /d "Do not look into laser with remaining eye." --On a laser pointer user-manual

On Monday 21 November 2011 16:00:26 Doron Fediuck wrote:
On Monday 21 November 2011 14:49:43 Mike Burns wrote:
On Mon, 2011-11-21 at 07:42 -0500, Ayal Baron wrote:
----- Original Message -----
On Mon, Nov 21, 2011 at 12:58:29PM +0200, Doron Fediuck wrote:
Hi Guys, Well, it looks like we've hit our first distro-diversion.
First of all, let's define the issues, and then see how we solve each one;
1. Dimitrije is referring to vdsm's init script (including vdsm-reg).
2. What Jared is referring to is relevant to: - Host installation process (AKA bootstrapping and registration) - vdsm operations on host networking
I agree it will be better if we solve each issue using the same code for all distro's. Having said that, we need to see if it's an achievable task.
Taking Dimitrije's issue as an example, we hit the first conflict; Gentoo is using OpenRC by default (and has some BSD-style leftovers), while RedHat and Fedora are using their SysV-style implementation, which confirms to LSB. Also, some Fedora services are moving to systemd implementation. Obviously these implementations are not trivial to bridge. So where Fedora's script will have "Required-Start:" Gentoo will use a depend() function (see vixie-cron as a sample). So unless we find a magical bridge for init standards, we'll have to have several init scripts, and each distro will use it's own script. We can try and generalize it, to make sure distor's with similar implementations use the same script.
As for Jared's networking issues, I believe there's more room here to make the relevant code more flexible, by testing the needed files, and using what we find. Thus, we'll have all in the same codebase. You can start by taking a look at vdsm/netinfo.py in vdsm's git.
And, as mentioned by Daniel Berrange, Vdsm should probably be changed to be using netcf to configure host networking. I'm not sure if Gentoo has netcf back-end, though.
Actually we're thinking about NetworkManager, not netcf.
Does NetworkManager have an api or library level package that doesn't pull in all the UI bits? ovirt-node does not currently include NetworkManager packages at all and we don't want to pull anything that is going to pull in X or another UI.
Mike
+1 NetworkManager pulls in gnome, while it's net being used in many cases, especially in servers. As for netcf in Gentoo, there's not substantial support which will make it easy to work with.
Clarifying my cryptic typos- netcf has no proper support in Gentoo. It will be helpful if vdsm takes a more generic approach. -- /d "2B | !2B = FF"

Actually we're thinking about NetworkManager, not netcf.
Also note that NetworkManager doesn't currently support bridge creation which I thought was something we needed to do (and I assumed was why we were manually interacting with the 'old' network configuration method in the first place). -Steve

On 11/21/2011 10:18 AM, Steve Gordon wrote:
Actually we're thinking about NetworkManager, not netcf.
Also note that NetworkManager doesn't currently support bridge creation which I thought was something we needed to do (and I assumed was why we were manually interacting with the 'old' network configuration method in the first place).
That is true, but my understanding is that the NM folks are working to close those gaps. I've cc'd dcbw onto this thread to see if he has any comments Dan, the thread starter is: http://lists.ovirt.org/pipermail/users/2011-November/000066.html In case you want the history here. But in short, what we're discussing is whether or not to use NM or netcf directly for network manipulation, and my take is that NM is the way to go, but there are some gaps that need to be closed before we can get there like: * bridge creation * better subpackaging for NM packages so that things like mobile provider data and wpa_supplicant aren't pulled in by default (mburns is filing a bug on this shortly) What's the current status wrt NM on other distros? How prevalent is it and can we just standardize on it for things like Ubuntu, SLES, Debian, Gentoo, etc? Perry
participants (8)
-
Ayal Baron
-
Dan Kenigsberg
-
Dimitrije Zivkovic
-
Doron Fediuck
-
Jared Sutton
-
Mike Burns
-
Perry Myers
-
Steve Gordon