[Bug 511246] New: Review Request: Pacemaker - cman/rgmanager replacement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.

Summary: Review Request: Pacemaker - cman/rgmanager replacement

https://bugzilla.redhat.com/show_bug.cgi?id=511246

           Summary: Review Request: Pacemaker - cman/rgmanager replacement
           Product: Fedora
           Version: rawhide
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: medium
          Priority: low
         Component: Package Review
        AssignedTo: nobody@xxxxxxxxxxxxxxxxx
        ReportedBy: andrew@xxxxxxxxxxx
         QAContact: extras-qa@xxxxxxxxxxxxxxxxx
                CC: notting@xxxxxxxxxx, fedora-package-review@xxxxxxxxxx
   Estimated Hours: 0.0
    Classification: Fedora


Spec URL: http://oss.clusterlabs.org/~beekhof/fedora/pacemaker.spec

SRPM URL:
http://oss.clusterlabs.org/~beekhof/fedora/pacemaker-1.0.4-1.fc11.src.rpm

Description: Advanced High Availability cluster manager.

Pacemaker is an advanced, scalable High-Availability cluster resource
manager for Linux-HA (Heartbeat) and/or OpenAIS.

It supports "n-node" clusters with significant capabilities for
managing resources and dependencies.

It will run scripts at initialization, when machines go up or down,
when related resources fail and can be configured to periodically check
resource health.

Background:  I've recently been hired by RedHat in order to work on Pacemaker.
We'd like to include it in F12 so that we can offer it as a tech preview in
RHEL6. 

This package requires cluster-glue and the current version of corosync from the
upstream SVN in order to build.

Please note, along with cluster-glue, this is my first package so I am looking
for a sponsor.

I. rpmlint output:

[beekhof@f11 pacemaker]$ rpmlint x86_64/* pacemaker.spec
pacemaker-1.0.4-1.fc11.src.rpm 
libpacemaker3.x86_64: W: no-documentation
libpacemaker3.x86_64: W: shared-lib-calls-exit /usr/lib64/libcib.so.1.0.1
exit@xxxxxxxxxxx
libpacemaker3.x86_64: W: shared-lib-calls-exit
/usr/lib64/libcrmcluster.so.1.0.0 exit@xxxxxxxxxxx
libpacemaker3.x86_64: W: shared-lib-calls-exit /usr/lib64/libpengine.so.3.0.0
exit@xxxxxxxxxxx
libpacemaker-devel.x86_64: W: no-dependency-on
libpacemaker/libpacemaker-libs/liblibpacemaker
libpacemaker-devel.x86_64: W: no-documentation
pacemaker.spec:191: E: hardcoded-library-path in /usr/lib/ocf
pacemaker.spec:192: E: hardcoded-library-path in /usr/lib/ocf/resource.d
pacemaker.spec:193: E: hardcoded-library-path in
/usr/lib/ocf/resource.d/pacemaker
pacemaker.src:191: E: hardcoded-library-path in /usr/lib/ocf
pacemaker.src:192: E: hardcoded-library-path in /usr/lib/ocf/resource.d
pacemaker.src:193: E: hardcoded-library-path in
/usr/lib/ocf/resource.d/pacemaker
pacemaker.x86_64: E: non-standard-dir-perm /var/lib/heartbeat/crm 0750
pacemaker.x86_64: E: non-standard-dir-perm /var/lib/pengine 0750
pacemaker.x86_64: E: non-standard-dir-perm /var/run/crm 0750
pacemaker.x86_64: E: script-without-shebang
/usr/share/pacemaker/constraints-1.0.rng
pacemaker.x86_64: E: script-without-shebang /usr/share/pacemaker/crm.dtd
pacemaker.x86_64: E: script-without-shebang
/usr/share/pacemaker/crm-transitional.dtd
pacemaker.x86_64: E: script-without-shebang /usr/share/pacemaker/nvset-1.0.rng
pacemaker.x86_64: E: script-without-shebang
/usr/share/pacemaker/pacemaker-1.0.rng
pacemaker.x86_64: E: script-without-shebang /usr/share/pacemaker/pacemaker.rng
pacemaker.x86_64: E: script-without-shebang
/usr/share/pacemaker/resources-1.0.rng
pacemaker.x86_64: E: script-without-shebang /usr/share/pacemaker/rule-1.0.rng
pacemaker.x86_64: E: script-without-shebang /usr/share/pacemaker/score.rng
pacemaker.x86_64: E: script-without-shebang /usr/share/pacemaker/upgrade06.xsl
pacemaker.x86_64: E: wrong-script-interpreter
/usr/share/pacemaker/cts/CTSlab.py "env"
pacemaker.x86_64: E: wrong-script-interpreter
/usr/share/pacemaker/cts/extracttests.py "env"
pacemaker.x86_64: E: wrong-script-interpreter
/usr/share/pacemaker/cts/OCFIPraTest.py "env"
5 packages and 1 specfiles checked; 22 errors, 6 warnings.

II. Errors

a. There are many script-without-shebang errors which appears to be an rpmlint
bug.
These files are XML related, not scripts, and should not include a shebang.

b. There are three instances of wrong-script-interpreter, which I also believe
to be an rpmlint problem.
The use of 'env' redirection allows us to execute with the version of python
preferred by the user.

c. The instances of non-standard-dir-perm would also appear to be incorrect, it
is not intended that users other than daemon should be allowed to write to
these locations.

d. The most controversial errors are probably the hardcoded-library-path ones,
which I also believe to be a bug in rpmlint.  
Rpmlint expects %{_libdir}, which is generally the right thing to do.  However,
the OCF RA API specifies the use of /usr/lib/ocf:

http://www.opencf.org/cgi-bin/viewcvs.cgi/specs/ra/resource-agent-api.txt?rev=1.10&content-type=text/vnd.viewcvs-markup

Despite being unconventional from a Fedora perspective, this is not a violation
of the LSB nor the FHS:

http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLIBLIBRARIESFORPROGRAMMINGANDPA

There is nothing which states that packages on x86_64 must use /usr/lib64 and
so forth, and using %{_libdir} in this case would violate OCF standards.  
This could, in turn, break third-party OCF resource agents installed in
/usr/lib/ocf as per the OCF standard.

III. Warnings

a. I believe the no-documentation warnings should be ignored as the
documentation is included in the main package.

b. The no-dependency-on appears to be an rpmlint bug as the subpackage is
libpacemaker3 and the -devel package does indeed have a dependancy on it. 

c. The shared-lib-calls-exit are legitimate.
They result from the way the library handles OOM conditions.
The library was initially a private one and as such took the easy way out by
calling exit().

If this is a particularly offensive warning, I can investigate options for
conditionally disabling it.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
Fedora-package-review mailing list
Fedora-package-review@xxxxxxxxxx
http://www.redhat.com/mailman/listinfo/fedora-package-review

[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]