[Engine-devel] Separating engine-setup from ovirt-engine

In our days, ovirt-engine-setup is a part of the big ovirt-engine rpm. This means that each time you need to build yourself a new ovirt-engine-setup rpm, you need to compile all the engine. I've started to think about separating it into another git (similar to ovirt-iso-uploader), so we will be able to build this rpm separately. This change is really easy to implement (actually, I have already done it locally), and sounds to me like it's the right thing to do. Thought? Ofer.

On 07/03/2012 03:43 PM, Ofer Schreiber wrote:
In our days, ovirt-engine-setup is a part of the big ovirt-engine rpm. This means that each time you need to build yourself a new ovirt-engine-setup rpm, you need to compile all the engine.
I've started to think about separating it into another git (similar to ovirt-iso-uploader), so we will be able to build this rpm separately.
This change is really easy to implement (actually, I have already done it locally), and sounds to me like it's the right thing to do.
Thought? Ofer.
I agree that is the right thing to do. Take into account that this also means that ovirt-engine-setup will no longer be a subpackage of ovirt-engine, so you will have to submit a new package request to have it included in Fedora. -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.

On Jul 3, 2012, at 16:53 , Juan Hernandez wrote: > On 07/03/2012 03:43 PM, Ofer Schreiber wrote: >> In our days, ovirt-engine-setup is a part of the big ovirt-engine rpm. >> This means that each time you need to build yourself a new ovirt-engine-setup rpm, you need to compile all the engine. >> >> I've started to think about separating it into another git (similar to ovirt-iso-uploader), so we will be able to build this rpm separately. >> >> This change is really easy to implement (actually, I have already done it locally), and sounds to me like it's the right thing to do. >> >> Thought? >> Ofer. > > I agree that is the right thing to do. Take into account that this also > means that ovirt-engine-setup will no longer be a subpackage of > ovirt-engine, so you will have to submit a new package request to have > it included in Fedora. not quite sure having 10+ packages is a win… - why do you have to have a separate git? - why do you have to recompile when there's a change elsewhere? isn't that a matter of compilation scripts only? (though understand size of the rpm might be an issue…) I personally do not see a point in separating of something inseparable…but that's just me perhaps:) in other words, if you would kindly explain me the benefits please, I'll shut up:-) > > -- > Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta > 3ºD, 28016 Madrid, Spain > Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L. > > > _______________________________________________ > Engine-devel mailing list > Engine-devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/engine-devel

On Tue, Jul 03, 2012 at 06:20:43PM +0300, Michal Skrivanek wrote: > On Jul 3, 2012, at 16:53 , Juan Hernandez wrote: > > > On 07/03/2012 03:43 PM, Ofer Schreiber wrote: > >> In our days, ovirt-engine-setup is a part of the big ovirt-engine rpm. > >> This means that each time you need to build yourself a new ovirt-engine-setup rpm, you need to compile all the engine. Could this possibly be avoided by an optional flag to the build script? > >> > >> I've started to think about separating it into another git (similar to ovirt-iso-uploader), so we will be able to build this rpm separately. > >> > >> This change is really easy to implement (actually, I have already done it locally), and sounds to me like it's the right thing to do. > >> > >> Thought? > >> Ofer. > > > > I agree that is the right thing to do. Take into account that this also > > means that ovirt-engine-setup will no longer be a subpackage of > > ovirt-engine, so you will have to submit a new package request to have > > it included in Fedora. > not quite sure having 10+ packages is a win… > - why do you have to have a separate git? > - why do you have to recompile when there's a change elsewhere? isn't that a matter of compilation scripts only? (though understand size of the rpm might be an issue…) > I personally do not see a point in separating of something inseparable…but that's just me perhaps:) > > in other words, if you would kindly explain me the benefits please, I'll shut up:-) indeed - having another package, with its own release cycle and versioning scheme is quite costy. and isn't ovirt-engine-setup quite tightly coupled with Engine's db scheme? (I really do not know, I should probably shut up, too).

On 07/03/2012 10:23 PM, Dan Kenigsberg wrote:
On Tue, Jul 03, 2012 at 06:20:43PM +0300, Michal Skrivanek wrote:
On Jul 3, 2012, at 16:53 , Juan Hernandez wrote:
On 07/03/2012 03:43 PM, Ofer Schreiber wrote:
In our days, ovirt-engine-setup is a part of the big ovirt-engine rpm. This means that each time you need to build yourself a new ovirt-engine-setup rpm, you need to compile all the engine.
Could this possibly be avoided by an optional flag to the build script?
indeed. or make rpm after 'cd packaging' would only build the packaging, or configure script on what to build, etc.

----- Original Message -----
On 07/03/2012 10:23 PM, Dan Kenigsberg wrote:
On Tue, Jul 03, 2012 at 06:20:43PM +0300, Michal Skrivanek wrote:
On Jul 3, 2012, at 16:53 , Juan Hernandez wrote:
On 07/03/2012 03:43 PM, Ofer Schreiber wrote:
In our days, ovirt-engine-setup is a part of the big ovirt-engine rpm. This means that each time you need to build yourself a new ovirt-engine-setup rpm, you need to compile all the engine.
Could this possibly be avoided by an optional flag to the build script?
indeed. or make rpm after 'cd packaging' would only build the packaging, or configure script on what to build, etc.
1. the "cd packaging" option is possible, but it means we will have another Makefile and spec file inside the packaging dir, just for engine-setup. This will actually separate engine-setup rpm from the ovirt-engine base rpm, and will require the same release-cycle/versioning/etc as Dan stated. Doing this will just save us the external git, as it will have to be a separate package, just inside the same git 2. configure script is fine, but as long as we're a sub-package of ovirt-engine, we will have to build the engine every time we want to build the setup.
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message ----- > On Tue, Jul 03, 2012 at 06:20:43PM +0300, Michal Skrivanek wrote: > > On Jul 3, 2012, at 16:53 , Juan Hernandez wrote: > > > > > On 07/03/2012 03:43 PM, Ofer Schreiber wrote: > > >> In our days, ovirt-engine-setup is a part of the big > > >> ovirt-engine rpm. > > >> This means that each time you need to build yourself a new > > >> ovirt-engine-setup rpm, you need to compile all the engine. > > Could this possibly be avoided by an optional flag to the build > script? It's problematic, as ovirt-engine-setup is a sub rpm of ovirt-engine. I have no idea how can we just build the setup without the engine, which is compiled in a temporary directory (and removed straight after the build) > > > >> > > >> I've started to think about separating it into another git > > >> (similar to ovirt-iso-uploader), so we will be able to build > > >> this rpm separately. > > >> > > >> This change is really easy to implement (actually, I have > > >> already done it locally), and sounds to me like it's the right > > >> thing to do. > > >> > > >> Thought? > > >> Ofer. > > > > > > I agree that is the right thing to do. Take into account that > > > this also > > > means that ovirt-engine-setup will no longer be a subpackage of > > > ovirt-engine, so you will have to submit a new package request to > > > have > > > it included in Fedora. > > not quite sure having 10+ packages is a win… > > - why do you have to have a separate git? > > - why do you have to recompile when there's a change elsewhere? > > isn't that a matter of compilation scripts only? (though > > understand size of the rpm might be an issue…) > > I personally do not see a point in separating of something > > inseparable…but that's just me perhaps:) > > > > in other words, if you would kindly explain me the benefits please, > > I'll shut up:-) > > indeed - having another package, with its own release cycle and > versioning scheme is quite costy. and isn't ovirt-engine-setup quite > tightly coupled with Engine's db scheme? (I really do not know, I > should > probably shut up, too). Quite costly? why? engine-setup is not tightly coupled with the db-scripts, we just execute the createDB script. >

On Wed, Jul 04, 2012 at 03:16:17AM -0400, Ofer Schreiber wrote: > > > ----- Original Message ----- > > On Tue, Jul 03, 2012 at 06:20:43PM +0300, Michal Skrivanek wrote: > > > On Jul 3, 2012, at 16:53 , Juan Hernandez wrote: > > > > > > > On 07/03/2012 03:43 PM, Ofer Schreiber wrote: > > > >> In our days, ovirt-engine-setup is a part of the big > > > >> ovirt-engine rpm. > > > >> This means that each time you need to build yourself a new > > > >> ovirt-engine-setup rpm, you need to compile all the engine. > > > > Could this possibly be avoided by an optional flag to the build > > script? > > It's problematic, as ovirt-engine-setup is a sub rpm of ovirt-engine. > I have no idea how can we just build the setup without the engine, which is compiled in a temporary directory (and removed straight after the build) > > > > > > >> > > > >> I've started to think about separating it into another git > > > >> (similar to ovirt-iso-uploader), so we will be able to build > > > >> this rpm separately. > > > >> > > > >> This change is really easy to implement (actually, I have > > > >> already done it locally), and sounds to me like it's the right > > > >> thing to do. > > > >> > > > >> Thought? > > > >> Ofer. > > > > > > > > I agree that is the right thing to do. Take into account that > > > > this also > > > > means that ovirt-engine-setup will no longer be a subpackage of > > > > ovirt-engine, so you will have to submit a new package request to > > > > have > > > > it included in Fedora. > > > not quite sure having 10+ packages is a win… > > > - why do you have to have a separate git? > > > - why do you have to recompile when there's a change elsewhere? > > > isn't that a matter of compilation scripts only? (though > > > understand size of the rpm might be an issue…) > > > I personally do not see a point in separating of something > > > inseparable…but that's just me perhaps:) > > > > > > in other words, if you would kindly explain me the benefits please, > > > I'll shut up:-) > > > > indeed - having another package, with its own release cycle and > > versioning scheme is quite costy. and isn't ovirt-engine-setup quite > > tightly coupled with Engine's db scheme? (I really do not know, I > > should > > probably shut up, too). > > Quite costly? why? It is another package to release, that requires its own errata process and inter-package dependencies. If you envisage a user that would like to use ovirt-engine-setup of one version, with an ovirt-setup of another one, then go ahead. I simply do not see the use case for this, only the complications. > > engine-setup is not tightly coupled with the db-scripts, we just execute the createDB script. > > >

On Jul 4, 2012, at 12:11 , Dan Kenigsberg wrote: > On Wed, Jul 04, 2012 at 03:16:17AM -0400, Ofer Schreiber wrote: >> >> >> ----- Original Message ----- >>> On Tue, Jul 03, 2012 at 06:20:43PM +0300, Michal Skrivanek wrote: >>>> On Jul 3, 2012, at 16:53 , Juan Hernandez wrote: >>>> >>>>> On 07/03/2012 03:43 PM, Ofer Schreiber wrote: >>>>>> In our days, ovirt-engine-setup is a part of the big >>>>>> ovirt-engine rpm. >>>>>> This means that each time you need to build yourself a new >>>>>> ovirt-engine-setup rpm, you need to compile all the engine I'd expect that when you need a proper rpm then you have to go through all the pain and build everything from scratch to make it perfect. If you want to test something and debug, etc, you'd not build a full blown rpm anyway, would you? Well, either way, if you'd have 15 minutes for me I'd appreciate you show me how it's being done today…. thanks, michal >>> Could this possibly be avoided by an optional flag to the build >>> script? >> >> It's problematic, as ovirt-engine-setup is a sub rpm of ovirt-engine. >> I have no idea how can we just build the setup without the engine, which is compiled in a temporary directory (and removed straight after the build) >> >>> >>>>>> >>>>>> I've started to think about separating it into another git >>>>>> (similar to ovirt-iso-uploader), so we will be able to build >>>>>> this rpm separately. >>>>>> >>>>>> This change is really easy to implement (actually, I have >>>>>> already done it locally), and sounds to me like it's the right >>>>>> thing to do. >>>>>> >>>>>> Thought? >>>>>> Ofer. >>>>> >>>>> I agree that is the right thing to do. Take into account that >>>>> this also >>>>> means that ovirt-engine-setup will no longer be a subpackage of >>>>> ovirt-engine, so you will have to submit a new package request to >>>>> have >>>>> it included in Fedora. >>>> not quite sure having 10+ packages is a win… >>>> - why do you have to have a separate git? >>>> - why do you have to recompile when there's a change elsewhere? >>>> isn't that a matter of compilation scripts only? (though >>>> understand size of the rpm might be an issue…) >>>> I personally do not see a point in separating of something >>>> inseparable…but that's just me perhaps:) >>>> >>>> in other words, if you would kindly explain me the benefits please, >>>> I'll shut up:-) >>> >>> indeed - having another package, with its own release cycle and >>> versioning scheme is quite costy. and isn't ovirt-engine-setup quite >>> tightly coupled with Engine's db scheme? (I really do not know, I >>> should >>> probably shut up, too). >> >> Quite costly? why? > > It is another package to release, that requires its own errata process > and inter-package dependencies. > > If you envisage a user that would like to use ovirt-engine-setup of one > version, with an ovirt-setup of another one, then go ahead. I simply do > not see the use case for this, only the complications. >> >> engine-setup is not tightly coupled with the db-scripts, we just execute the createDB script. >> >>>

----- Original Message ----- > On Jul 3, 2012, at 16:53 , Juan Hernandez wrote: > > > On 07/03/2012 03:43 PM, Ofer Schreiber wrote: > >> In our days, ovirt-engine-setup is a part of the big ovirt-engine > >> rpm. > >> This means that each time you need to build yourself a new > >> ovirt-engine-setup rpm, you need to compile all the engine. > >> > >> I've started to think about separating it into another git > >> (similar to ovirt-iso-uploader), so we will be able to build this > >> rpm separately. > >> > >> This change is really easy to implement (actually, I have already > >> done it locally), and sounds to me like it's the right thing to > >> do. > >> > >> Thought? > >> Ofer. > > > > I agree that is the right thing to do. Take into account that this > > also > > means that ovirt-engine-setup will no longer be a subpackage of > > ovirt-engine, so you will have to submit a new package request to > > have > > it included in Fedora. > not quite sure having 10+ packages is a win… > - why do you have to have a separate git? I don't, we can do it in the same one. still, it will be a separate package... > - why do you have to recompile when there's a change elsewhere? isn't > that a matter of compilation scripts only? (though understand size > of the rpm might be an issue…) Well, the it's not just a "build script", we're doing this inside RPM. The process is as follows: 1. create tarball from the git 2. build srpm with the spec and the tarball 3. build the rpm from the srpm, which means: - open the tarball in a temp director - compile everything in the same temp dir - put the compiled binaries in the right directory (some sort of chroot env, like /home/ofer/rpmbuild/BUILDROOT/usr/share/ovirt-engine) - create the actual rpm AFAIK, this is the rpm-build way, I don't really have control over these steps. > I personally do not see a point in separating of something > inseparable…but that's just me perhaps:) > > in other words, if you would kindly explain me the benefits please, > I'll shut up:-) Benefits: 1. 10 seconds to build the setup rpm (this can be done also in the same git, but separating the spec/makefile) 2. No need to rebuild the entire engine for a small TEXT change in the setup (same) 3. No need to rebuild (and re-test) the setup with every change to the engine. (same) The only argument I have in favor of creating a separate git is that it sounds to me better than having two separate rpm spec/make in the same git. > > > > > > -- > > Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, > > planta > > 3ºD, 28016 Madrid, Spain > > Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red > > Hat S.L. > > > > > > _______________________________________________ > > Engine-devel mailing list > > Engine-devel@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/engine-devel > >

On 07/04/2012 09:36 AM, Ofer Schreiber wrote: > > > ----- Original Message ----- >> On Jul 3, 2012, at 16:53 , Juan Hernandez wrote: >> >>> On 07/03/2012 03:43 PM, Ofer Schreiber wrote: >>>> In our days, ovirt-engine-setup is a part of the big ovirt-engine >>>> rpm. >>>> This means that each time you need to build yourself a new >>>> ovirt-engine-setup rpm, you need to compile all the engine. >>>> >>>> I've started to think about separating it into another git >>>> (similar to ovirt-iso-uploader), so we will be able to build this >>>> rpm separately. >>>> >>>> This change is really easy to implement (actually, I have already >>>> done it locally), and sounds to me like it's the right thing to >>>> do. >>>> >>>> Thought? >>>> Ofer. >>> >>> I agree that is the right thing to do. Take into account that this >>> also >>> means that ovirt-engine-setup will no longer be a subpackage of >>> ovirt-engine, so you will have to submit a new package request to >>> have >>> it included in Fedora. >> not quite sure having 10+ packages is a win… >> - why do you have to have a separate git? > > I don't, we can do it in the same one. still, it will be a separate package... > >> - why do you have to recompile when there's a change elsewhere? isn't >> that a matter of compilation scripts only? (though understand size >> of the rpm might be an issue…) > > Well, the it's not just a "build script", we're doing this inside RPM. > The process is as follows: > 1. create tarball from the git > 2. build srpm with the spec and the tarball > 3. build the rpm from the srpm, which means: > - open the tarball in a temp director > - compile everything in the same temp dir > - put the compiled binaries in the right directory (some sort of chroot env, like /home/ofer/rpmbuild/BUILDROOT/usr/share/ovirt-engine) > - create the actual rpm > > AFAIK, this is the rpm-build way, I don't really have control over these steps. Correct, that is how the RPM build process works. It is not impossible to make it work in a different way, but then it becomes impossible to maintain very quickly. >> I personally do not see a point in separating of something >> inseparable…but that's just me perhaps:) >> >> in other words, if you would kindly explain me the benefits please, >> I'll shut up:-) > > Benefits: > 1. 10 seconds to build the setup rpm (this can be done also in the same git, but separating the spec/makefile) > 2. No need to rebuild the entire engine for a small TEXT change in the setup (same) > 3. No need to rebuild (and re-test) the setup with every change to the engine. (same) > > The only argument I have in favor of creating a separate git is that it sounds to me better than having two separate rpm spec/make in the same git. -- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
participants (5)
-
Dan Kenigsberg
-
Itamar Heim
-
Juan Hernandez
-
Michal Skrivanek
-
Ofer Schreiber