[ovirt-devel] Introduce new package decencies in vdsm

Yaniv Bronheim ybronhei at redhat.com
Wed Nov 16 16:37:44 UTC 2016


On Wed, Nov 16, 2016 at 4:56 PM, Nir Soffer <nsoffer at redhat.com> wrote:

> On Wed, Nov 16, 2016 at 9:35 AM, Yaniv Bronheim <ybronhei at redhat.com>
> wrote:
> > Hi
> >
> > After merging
> > https://gerrit.ovirt.org/#/q/status:open+project:vdsm+
> branch:master+topic:cross-imports
>
> This is not related to this patch, we had to keep correct spec,
> automation and dockerfile
> before this patch. This patch keeps us honest, preventing wrong code
> from sneaking in.
>
yes.. but now we see how annoying it is :)


> On the first run, it found that python-requests was missing (fixed now)
> and that vdsm.rpc modules are doing wrong import from /usr/share/vdsm.
> These imports work by accident. This was not discovered in the review
> of the patch moving rpc to lib/vdsm.
>
> This patch is fixing the old crossImports check that was totally broken,
> checking imports is not a new concept, it simply works now.
>
> > we need now for any new requirement to add a line in:
> > check-patch.packages.el7
> > check-patch.packages.fc24
> > check-merged.packages.el7
> > check-merged.packages.fc24
>
> You forgot build-artifacts.packages.* - total of 6 files to update in
> automation/
>
> I suggested David Caro in the past to support reading multiple packages
> files,
> so you can have a check-patch.packages file, *and* check-patch.packages.el7
> and the ci will merge the list of packages, so you don't have to duplicate
> the
> packages 6 times in every project.
>
>
they can use the spec as well with builddep. don't see any problem with
that.

> vdsm.spec.in
> > Dockerfile.centos
> > Dockerfile.fedora
> >
> > seems like we can add it once to the spec with section for fedora and
> centos
> > and the rest of the places will use yum-builddep. sounds more reasonable
> to
> > me and probably the right way to work with rpms dependencies. no?
>
> The issue is we have different kind of requirements:
> - runtime packages
> - runtime packages needed during tests (smaller set, since not all
> code is tested)
> - build packages (needed only for building rpms)
> - check-merged packages (lago and friends?)
>
> with you check we require everything we import even if we don't have test
for that. so basically now all of the above requires the same list


> So we can use the spec as the source, and generate all the other files
> during make, but this means the spec and all the *packages files will
>

why generating? what's wrong with rpm commands to install deps?

include all the packages for the worst case, making the build even slower.
>

can you give an example of such package that we don't need in check-patch
and built-artifacts but we need in runtime? we should test all :)


>
> But note that the dockerfiles must be correct regardless where you build
> vdsm - you have to get different list of packages for fedora and centos
>

you can do that in the spec as well

so you can build the docker image on any system. I'm not sure keeping
> stuff in the spec will make it easy to extract for crating other files,
> keeping
> the files in a json / yaml file and generating the spec during configure
> may
> be easier.
>
> I think it worth the effort if we avoid updating 9 files when adding
> requirements.
>
> Nir
>



-- 
*Yaniv Bronhaim.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/devel/attachments/20161116/6a221d9b/attachment-0001.html>


More information about the Devel mailing list