[Libguestfs] [PATCH] Adding ibm-powerkvm distro detection (the right one)

Pino Toscano ptoscano at redhat.com
Fri Apr 3 08:15:56 UTC 2015


On Thursday 02 April 2015 19:10:39 Daniel Henrique Barboza wrote:
> 
> On 04/02/2015 01:20 PM, Daniel Henrique Barboza wrote:
> >
> >
> > On 04/02/2015 11:47 AM, Pino Toscano wrote:
> >> On Thursday 02 April 2015 11:15:07 Daniel Henrique Barboza wrote:
> >>> Hi Pino,
> >>>
> >>> On 04/02/2015 09:51 AM, Pino Toscano wrote:
> >>>> Hi Daniel,
> >>>>
> >>>> On Thursday 02 April 2015 09:34:17 Daniel Henrique Barboza wrote:
> >>>>> On 04/02/2015 05:23 AM, Pino Toscano wrote:
> >>>>>> Hi Daniel,
> >>>>>>
> >>>>>> On Wednesday 01 April 2015 16:37:26 Daniel Henrique Barboza wrote:
> >>>>>>> The one that got upstream does not work in ibm-powerkvm due to the
> >>>>>>> rpm_is_avaiable verification
> >>>>>>> in the detection (I've attached the wrong version in bugzilla).
> >>>>>> the new version of the patch is somehow confusing. supermin >= 
> >>>>>> 5.1.12
> >>>>>> uses librpm to query for rpm dependencies, file listing, 
> >>>>>> provides, etc.
> >>>>>> If rpm_is_available returns false, that means you built without 
> >>>>>> librpm,
> >>>>>> and that supermin will not really work. Did you tried running the 
> >>>>>> test
> >>>>>> suite (`make check`)?
> >>>>>>
> >>>>> These are the results of make check in the system I've used to 
> >>>>> test the
> >>>>> patch. The system is
> >>>>> in an internal isolated network, thus I believe some failures were
> >>>>> expected to happen.
> >>>>>
> >>>>>
> >>>>> PASS: test-basic.sh
> >>>>> PASS: test-execstack.sh
> >>>>> FAIL: test-build-bash.sh
> >>>>> FAIL: test-binaries-exist.sh
> >>>>> SKIP: test-harder.sh
> >>>>> FAIL: test-build-bash-network.sh
> >>>>> FAIL: test-binaries-exist-network.sh
> >>>>> SKIP: test-harder-network.sh
> >>>>> make[4]: Entering directory `/root/supermin/tests'
> >>>>> make[4]: Nothing to be done for `all'.
> >>>>> make[4]: Leaving directory `/root/supermin/tests'
> >>>>> ============================================================================ 
> >>>>>
> >>>>> Testsuite summary for supermin 5.1.12
> >>>>> ============================================================================ 
> >>>>>
> >>>>> # TOTAL: 8
> >>>>> # PASS:  2
> >>>>> # SKIP:  2
> >>>>> # XFAIL: 0
> >>>>> # FAIL:  4
> >>>>> # XPASS: 0
> >>>>> # ERROR: 0
> >>>>>
> >>>>> I've run the non-related network tests to see the failure cause. 
> >>>>> It is
> >>>>> worth saying that supermin
> >>>>> upstream code builds and runs fine as far as I can tell, thus I 
> >>>>> couldn't
> >>>>> figure it out much reading
> >>>>> these errors:
> >>>>>
> >>>>> # ./test-build-bash.sh
> >>>>> ./test-build-bash.sh: line 34: 83872 Aborted ../src/supermin -v
> >>>>> --prepare $USE_INSTALLED bash -o $d1
> >>>>> # ./test-binaries-exist.sh
> >>>>> ./test-binaries-exist.sh: line 29: 83886 Aborted ../src/supermin -v
> >>>>> --prepare $USE_INSTALLED bash coreutils -o $d1
> >>>> These errors tells me exactly what I was talking about: you are
> >>>> building supermin on a rpm-based distribution without librpm support,
> >>>> meaning that supermin is basically non-functional.
> >>>>
> >>>> The abort() come from src/librpm-c.c, in the else part of the
> >>>> #ifdef HAVE_LIBRPM.
> >>>>
> >>>>> I will be honest and say that I didn't dig further understanding 
> >>>>> why the
> >>>>> rpm_is_available
> >>>>> check fails in ibm-powerkvm. The patch I sent is similar to an 
> >>>>> internal
> >>>>> patch we used to add
> >>>>> temporary support to the distro on a older version of supermin (the
> >>>>> version shipped
> >>>>> with RHEL 7.1 GA).
> >>>>>
> >>>>> I assumed that rpm_is_available failed because ibm-powerkvm does not
> >>>>> have all the rpm features
> >>>>> fedora and rhel have, although it uses rpm/yum. Perhaps in a later
> >>>>> release of the OS, using
> >>>>> a newer version of supermin, we should review this code and 
> >>>>> enhance it.
> >>>> As I said, I'm pretty sure it's because you are building without
> >>>> librpm, and you should have got in configure's output something like:
> >>>>
> >>>>     checking for LIBRPM... no
> >>>>
> >>>> Please try the following:
> >>>> - install rpm-devel (being a Fedora-based distro, you should have it)
> >>>> - get supermin 5.1.12
> >>>> - apply your ibm-powerkvm patch
> >>>> - readd the rpm_is_available check (basically reverting [1])
> >>>> - run ./configure and check that you have "LIBRPM... yes"
> >>>> - build and run the test suite
> >>>>
> >>>> If things work, you should get 6 tests passing and 2 skipped (we can
> >>>> make these 2 working as well later).
> >>>>
> >>>> [1] 
> >>>> https://github.com/libguestfs/supermin/commit/b2b0f29efb537161df0286f4a9d5cfe94206be18
> >>> You are right. I've executed all the steps you mentioned and make check
> >>> now passes
> >>> (6 pass 2 skipped) and the original patch now detects ibm-powerkvm 
> >>> as well.
> >> Nice to hear that. I've just reverted upstream the aforementioned
> >> patch, following your confirmation.
> >>
> >> Regarding the skipped test (the two occurrence are the same test, just
> >> run in local-only and network mode): would it be possible to extend it
> >> to recognize the ibm-powerkvm distro?
> > I'll try it for sure. I am having problems accessing the system at this
> > moment (lab downtime/maintenance) but as soon as I am able I'll try
> > to follow your checklist and see if I can make the skipped test work
> > with ibm-powerkvm too.
> >
> > I'll update this thread when I have news about it.
> 
> I've changed tests/test-harder.sh and now make checks passes it 8/8 in my
> ibm_powerkvm test system:
> 
> ==========================================
> Testsuite summary for supermin 5.1.12
> ==========================================
> # TOTAL: 8
> # PASS:  8
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  0
> # XPASS: 0
> # ERROR: 0
> ==========================================
> 
> I've double checked 'supermin --list-drivers' to see if the detection 
> was working as
> intended and it is.
> 
> The patch that adds ibm-powerkvm in test-harder.sh is attached in this 
> email.

Looks good to me, pushed.

Thanks,
-- 
Pino Toscano




More information about the Libguestfs mailing list